HDL
INTRODUCTION
        Course: Embedded systems (CS60087)
          Prepared By: Vidya Govindan (TA)
2016                   CS60087
       Building Digital Systems
            Problem statement
               Behavioral
               Description
             Boolean Logic and
                   State
               Hardware
             Implementation
2016               CS60087
       Building Digital Systems with HDLs
                  Problem statement
                     Behavioral
                     Description
                   HDL Description
                     Hardware
                   Implementation
2016                   CS60087
Motivation for HDLs
      A specification is an engineering contract that lists all the goals for a project:
         Goals include area, power, throughput latency, functionality, test coverage, costs(NREs costs) etc.
             Helps you figure out when youre done and how to make engineering tradeoffs. Later on goals
             help remind everyone (especially management) what was agreed to at the outset!
         Top down design: partition the project into modules with well defined interfaces so that each
             module can be worked on by a separate team.
             for eg. well defined ISA
      A behavioral model serves as an executable functional specification that documents the exact behavior
       of all the individual modules and their interfaces. Since one can run tests , this model can be refined
       and finally verified through simulation.
       We need a way to talk about what hardware should do without actually designing the hardware itself,
       i.e., we need to separate behavior from implementation. We need a
                              Hardware Description Language
      If we were then able to synthesize an implementation directly from the behavioral model, wed be in
       good shape!
2016                                               CS60087
Advantages of using HDLs
      Designs can be described at various levels of abstractions
         Addresses the current digital system complexity and makes design of larger systems easier.
         Describe what you need the hardware to do, tools then design the hardware for you.
      Functional Simulation Early in the Design Flow
         Allow modeling and simulating the functional behavior and timing of digital hardware.
         Simplified & faster design process.
      Automatic Conversion of HDL Code to Gates
         Synthesis tools take an HDL description and generate a technology-specific netlist.
         Lessen the time spent debugging the design
         Design errors still possible, but in fewer places generally easier to find and fix.
      Early Testing of Various Design Implementations
         Due to fast synthesis, there is a scope for trying different implementations.
      Design Reuse
         Dont manually change all transistors for rule change.
         Technology independence, standardization, portability, ease of maintenance.
2016                                               CS60087
A Tale of Two HDLs
                    VHDL                                                        Verilog
 Initially created for ASIC synthesis                      Initially an interpreted language for gate-level
                                                             simulation.
 ADA-like verbose syntax, strongly and richly              C-like concise syntax, weakly and limited typed
  typed language                                             language.
 Strong support for package management                     No special extensions for large designs.
  and large designs.
 Design is composed of entities each of                    Design is composed of modules.
  which can have multiple architectures. A
  configuration chooses what architecture is
  used for a given instance of an entity.
 Behavioral, structural, logic-level modeling              Behavioral, structural, logic-level modeling
 Synthesizable subsets                                     Synthesizable subsets
 Harder to learn and use, lacks language                   Easy to learn and use, fast simulation.
  defined simulation commands.
2016                                             CS60087
     Synthesis of HDLs
      So, we have an executable functional specification that
         documents exact behavior of all the modules and their interfaces
         can be tested & refined until it does what we want.
      An HDL description is the first step in a mostly automated process to build an
       implementation directly from the behavioral model.
   HDL                   Logic              Gate Level                                    FPGA
Description            Synthesis                                 Place & Route            ASIC
                                             Netlist
                   HDL-> logic                               create floor plan blocks
                   Map to target library   Functional        place cells in block        Physical
                   Optimize speed, area      Design          route interconnect           Design
                                            (Front End)       optimize (iterate!)        (Back End)
     2016                                     CS60087
HDL Implementation Cycle
2016            CS60087
References
 Slide source
 Comparision of HDLs
2016                    CS60087