eda toolsunit i

Upload: rajesh-kumar

Post on 03-Jun-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/12/2019 EDA ToolsUnit I

    1/34

    Synthesis and Simulationusing HDLs

    EDA Tools

  • 8/12/2019 EDA ToolsUnit I

    2/34

    Logic Synthesis

    Logic Synthesis provides a link between a HDL and a netlist

    Verilog was designed as a simulation language

    VHDL was designed as a documentation and description language.

    Both Verilog and VHDL were developed in the early 1980s

    Logic synthesis tools were developed later

    Graphic or text design entry methods are used to create a HDL behavioral

    State diagrams, Graphical datapath descriptions, Truth tables, RAM/ROMtemplates and gate level schematics may also be used

  • 8/12/2019 EDA ToolsUnit I

    3/34

    Logic Synthesis

    After HDL description Logic synthesizer and a cell library are necess

    proceed

    Most synthesis software companies produce only software

    Most ASIC vendors produce only cell libraries

  • 8/12/2019 EDA ToolsUnit I

    4/34

    Logic Synthesis

    Behavioral model is simulated to check the design meets the requirem

    Logic synthesizer is used to generate a netlist, a structural model

    Which contains only references to logic cells

    Following logic synthesis the design is simulated again

    Results are compared

    Layout generation from the structural model produced by logic synth

  • 8/12/2019 EDA ToolsUnit I

    5/34

    Inside a Logic Synthesizer

    The logic synthesizer parses HDL description and builds an internal data structure

    Logic minimization tries to minimize the structure

    Logic optimization used a series of factoring, substitution, and elimination steps to simequations

    Logic optimization attempts to minimize area and speed also.

    The technology-decomposition step builds a generic network from the optimized logic

    The generic network is in a technology-independent form

    Next, The technology mapping

    While performing logic mapping, the algorithms attempt to minimize area

  • 8/12/2019 EDA ToolsUnit I

    6/34

    Verilog and Logic Synthesis

    Verilog logic description starts with the keyword module

    MODULE mychip_asic();

    ------

    (Code to model ASIC I/O)

    ------

    ENDMODULE

    Top down approach

  • 8/12/2019 EDA ToolsUnit I

    7/34

    Top down approach

  • 8/12/2019 EDA ToolsUnit I

    8/34

    Verilog Modeling

    MODULE mux (sel,a,b,z);

    INPUT sel,a,b;

    OUTPUT z;

    REG z;

    ALWAYS @ (sel,a,b)BEGIN

    IF(sel) z

  • 8/12/2019 EDA ToolsUnit I

    9/34

    Delays in Verilog

    Synthesis tools ignore delay values

  • 8/12/2019 EDA ToolsUnit I

    10/34

    Blocking and Non-blocking Assignme

    Blocking assignment

    Non-Blocking assignment

  • 8/12/2019 EDA ToolsUnit I

    11/34

    Combinational Logic in Verilog

  • 8/12/2019 EDA ToolsUnit I

    12/34

    Multiplexers in Verilog

  • 8/12/2019 EDA ToolsUnit I

    13/34

    Verilog Case Statement

  • 8/12/2019 EDA ToolsUnit I

    14/34

    Decoders in Verilog

  • 8/12/2019 EDA ToolsUnit I

    15/34

    Priority Encoder in Verilog

  • 8/12/2019 EDA ToolsUnit I

    16/34

    Arithmetic in Verilog

  • 8/12/2019 EDA ToolsUnit I

    17/34

    Sequential Logic in Verilog

    D-Flip Flop

    ALWAYS@ (POSEDGE clock) Q= D;

    D- Latch

    ALWAYS @ (clock or D) if(clock) Q=D;

  • 8/12/2019 EDA ToolsUnit I

    18/34

    Component Instantiation in Verilog

  • 8/12/2019 EDA ToolsUnit I

    19/34

    VHDL and Logic Synthesis

    IEEE VHDL nine valued system

  • 8/12/2019 EDA ToolsUnit I

    20/34

    Combinational Logic Synthesis in VH

  • 8/12/2019 EDA ToolsUnit I

    21/34

    Multiplexers in VHDL

  • 8/12/2019 EDA ToolsUnit I

    22/34

    Decoders in VHDL

  • 8/12/2019 EDA ToolsUnit I

    23/34

    Adders in VHDL

  • 8/12/2019 EDA ToolsUnit I

    24/34

    Sequential Logic in VHDLWith a sensitivity list with and a EVENT plus a specific level

  • 8/12/2019 EDA ToolsUnit I

    25/34

    Sequential Logic in VHDL

    No sensitivity list with a wait until statement

  • 8/12/2019 EDA ToolsUnit I

    26/34

    Component Instantiation in VHDL

  • 8/12/2019 EDA ToolsUnit I

    27/34

    Performance Driven Synthesis

    Many logic synthesizers allow the use of directives.

    These directives become complex when we need to describe complex timinconstraints

    Suppose if we want to improve timing performance of a Mux, First we depathcluster.

    Next, we specify the required time for a signal to reach the output nodes

    Finally, we specify the arrival time of the signal at all the inputs as 0ns

    The logic optimization step will specify the logic network and then map it tlibrary while attempting to meet the timing constraints

  • 8/12/2019 EDA ToolsUnit I

    28/34

    FSM Synthesis

    There are three ways to synthesize FSMs

    Omit any special synthesis directives and let the logic synthesizer operate on t

    machine as though it were random logic

    Use directives to guide the logic synthesis tool to improve or modify state ass

    Use a special state machine compiler, separate from the logic synthesizer, to othe state machine

  • 8/12/2019 EDA ToolsUnit I

    29/34

    Memory Synthesis

    There are several approaches to memory synthesis:

    Random logic using Flipflops and Latches

    Register files in datapaths

    RAM standard components

    RAM compilers

  • 8/12/2019 EDA ToolsUnit I

    30/34

    Simulation

    Engineers used to prototype system to check their designs

    Breadboarding was feasible when it was possible to construct system

    few off-the-self TTL parts

    It is impractical for prototyping an ASIC

  • 8/12/2019 EDA ToolsUnit I

    31/34

    Types of Simulation

    Behavioral Simulation

    Functional Simulation

    Static Timing Simulation

    Gate-Level Simulation Switch-Level Simulation

    Transistor-Level or Circuit Level Simulation

  • 8/12/2019 EDA ToolsUnit I

    32/34

    Formal Verification

    Logic synthesizer translate Behavioral model to a structural model

    Formal verification can prove in the mathematical sense that two

    representations are equivalent

    If they are not, the software tell why and how the two representation

  • 8/12/2019 EDA ToolsUnit I

    33/34

    Transistor Level Simulation

    Sometimes we need to simulate circuits more accurate than switch le

    simulation

    We turn to simulators that can solve circuit equations exactly, given m

    for the nonlinear transistors, and predict the analog behavior

    This type of Transistor level simulation is costly

    If is impossible to simulate more than a hundred logic cells using a c

    level simulation

  • 8/12/2019 EDA ToolsUnit I

    34/34

    QueriesEDA Tools