SlideShare une entreprise Scribd logo
1  sur  93
VLSI Design
      Methodologies
 EE116B (Winter 2001): Lecture # 4




Mani Srivastava
UCLA - EE Department
mbs@ ee.ucla.edu
2                                 Copyright 2001 © Mani Srivastava



        Reading for this Lecture

    Chapter 11 of Rabaey’s book
3                          Copyright 2001 © Mani Srivastava



         Four Phases in Creating a Chip

     This                                       Future
    Lecture                                     Lecture




    Previous
     Lecture
4                                                    Copyright 2001 © Mani Srivastava



             The Design Problem




                                                                    Source: sematech97

    A growing gap between design complexity and design productivity
                           [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
5                                                      Copyright 2001 © Mani Srivastava


    Profound Impact on the way VLSI
              is Designed
     The old way: manual transistor twiddling
           expert “layout designers”
           entire chip hand-crafted
           okay for small chips… but cannot design billion
           transistor chips in this fashion
     The new way: using CAD tools at high level
           tools do the grunge work…
           high levels of abstractions
                – synthesis from a description of the behavior
           libraries of reusable cores, modules, and cells

    Chip design increasingly like object-oriented software design!
                             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
6                                   Copyright 2001 © Mani Srivastava



               Designing a VLSI

    Economic viability affected by design time
    Design time affected by the efficiency of
         concept → requirements → architecture
         → logic/memory → circuit → layout
    Continuous trade-off between
         performance (speed, area, power)
         size of die (hence cost of die and packaging)
         time of design (hence cost of engineering & schedule)
         ease of test generation and testability
7                                         Copyright 2001 © Mani Srivastava


            VLSI-design Tools &
              Methodologies
    Goal is to reduce complexity, increase productivity,
    and increase chances of a working chip
    Key is the use of Constraints and Abstractions
         Constraints
              – help automate the procedure by simplifying the problem
         Abstractions
              – collapse detail and arrive at a simpler problem to deal
                with
    Different design methodologies
         different types of constraints and trade-offs
         choice driven by economics!
8                                    Copyright 2001 © Mani Srivastava



                 Design Domains

    Behavioral
         what a system does


    Structural
         how entities are connected together to perform the
         behavior


    Physical (geometrical)
         how to build a structure that has the required
         connectivity to implement the prescribed behavior
9                                  Copyright 2001 © Mani Srivastava


    Levels of Design Abstractions for
          Each Design Domain
      Architectural
      Algorithmic
      Module or functional block
      Logical
      Switch
      Circuit
      Device
    etc.
10                                       Copyright 2001 © Mani Srivastava



     Design Abstraction Levels
                                                                SYSTEM




                                                               MODULE
           +

                                                                   GATE


                                                               CIRCUIT



                                                                DEVICE
                                                           G
                                             S                           D
                                              n+                    n+


               [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
11                               Copyright 2001 © Mani Srivastava



            Design Methodology




     Design process traverses iteratively between
        behavior, structure, and geometry abstractions
     CAD tools providing more and more automation
12                 Copyright 2001 © Mani Srivastava



     A More Simplified Flow
13                      Copyright 2001 © Mani Srivastava


     Principles of Structured Design
               Techniques
     Hierarchy

     Regularity

     Modularity

     Locality
14                                     Copyright 2001 © Mani Srivastava



                       Hierarchy

     Divide and conquer
          compose system from simpler widgets
     Analogy with software
          break large programs into threads and subroutines
     Hierarchy can be there in all domains
          behavior, structural, physical
     The hierarchy in different domains may not
     correspond
          e.g. a structural hierarchy may not map well to
          physical
15                      Copyright 2001 © Mani Srivastava



     Example of Structural Hierarchy
16                     Copyright 2001 © Mani Srivastava



     Example of Physical Hierarchy
17                      Copyright 2001 © Mani Srivastava



     Example of Structural Hierarchy
18                     Copyright 2001 © Mani Srivastava



     Example of Physical Hierarchy
19                        Copyright 2001 © Mani Srivastava


     Repartitioning Structural Hierarchy
         to Fit Physical Hierarchy
20                                             Copyright 2001 © Mani Srivastava



                         Regularity

     Hierarchy breaks a system into submodules
          but this may not solve the complexity problem
          there may not be any regularity in the subdivision
                – we just end up with a large # of different submodules


     Regularity as a guide
          subdivide into a set of similar building blocks
                – e.g. RAM composed of identical cells


     Regularity means that the hierarchical decomposition of a
     large system should result in not only simple, but also
     similar blocks, as much as possible
21                                      Copyright 2001 © Mani Srivastava



               Regularity (contd.)

     Regularity can be at all levels
          circuit: use identically sized transistors
          gate: similar gate structures
          higher level: architectures with identical processors


     Regularity helps in many ways
          correct by construction
          reuse of design
          simplify verification of correctness
22                      Copyright 2001 © Mani Srivastava



     Circuit-level Regularity Example

                         A 2-1 Mux
                         D-type edge triggered
                         flipflop
                         One-bit full add

                         All designed using
                         inverter and tristate
                         buffer
23                                           Copyright 2001 © Mani Srivastava



                        Modularity

     Condition that submodules have “well-defined”
     functions and interfaces
          in addition to regularity and hierarchy
     ‘Well-formed” modules allow their interaction with
     others to be “well-characterized”
     Depends on the situation
          e.g. in s/w a subroutine has a well-defined interface
               – argument list with typed variables
          e.g. in IC a well-defined physical, structural, and
          behavioral interface
               – pin position, layer, size, signal type, electrical
                 characteristics, logic function
24                                       Copyright 2001 © Mani Srivastava



               Why Modularity?

     Allows the design of system to be broken up
     with confidence that the system will work as
     specified when the parts are combined
     Allows team design by a number of designers
     Examples:
         bad use: use of transmission gates as inputs
              – internal signals now depend on source impedance
         bad use: use dynamic CMOS logic but fail to latch
         or register the inputs
              – timing of each module will have to be checked
25                   Copyright 2001 © Mani Srivastava



     Example of Poor Modularity
26                                                Copyright 2001 © Mani Srivastava



                              Locality
     Modularity provided “well-characterized” interfaces
          internals of modules unimportant to exterior interface
            • internal details remain at the local level
          a form of “information hiding”
            • reduces apparent complexity of the module
     Locality ensures that connections are between neighboring
     modules, avoiding long-distance connections
          Example: timing locality so that time critical operations are local
            • clock generation and distribution network
            • entire clock cycle for global signals to traverse chip
            • placement so that global wiring is minimized
          Analogy with software
            • global variables are to be avoided
27                                    Copyright 2001 © Mani Srivastava


      Parallels between H/W & S/W
                 Design
     Strong parallels in the way VLSIs are designed
     and the way complex software is
     HDLs used to describe hardware systems in
     essence merge these two disciplines
          software methods used to define hardware
     Hardware-software Co-design
     But, can’t ignore hardware aspects entirely
          important since a physical chip is the end product
28                              Copyright 2001 © Mani Srivastava

     Typical VLSI Design Flow
29                               Copyright 2001 © Mani Srivastava



                 Types of Tools

     Analysis and verification

     Implementation and synthesis

     Testability techniques
30                                                   Copyright 2001 © Mani Srivastava



     Design Analysis and Verification

     Accounts for largest fraction of design time
     More efficient when done at higher levels of
     abstraction
          select of correct analysis level can reduce
          verification time by orders of magnitude
     Two approaches:
          simulation: depends on choice of excitation
          verification: extracts desired results directly from
          circuit description
                           [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
31                                          Copyright 2001 © Mani Srivastava



          Simulation Approaches

     Key distinction is how are data & time represented?
          Circuit-level simulation (e.g. Spice)
          Switch-level simulation (e.g. IRSIM)
               – transistors as switches with resistance
          Gate-level (logic) simulation
               – now obsolete due to logic synthesis
          Functional simulation (e.g. VHDL, Verilog)
               – primitives of arbitrary complexity
          Behavioral simulation (e.g. VHDL)
               – only mimic I/O functionality
               – hardware delay loses its meaning
32                                                                         Copyright 2001 © Mani Srivastava



      Digital Data as Analog Signals
                          VD D

                    Sp
                                                                                     Vin                Vou t
                                                             5.0

                           Bp



                                                             3.0




                                                Vo ut (V)
          Gn ,p
     In           Dn,p           Out                                   t pHL



                                                             1.0

                           Bn



                   Sn
                                                            –1.0
                                                                   0           0.5         1     1.5            2
                                                                                      t (nsec)

                                  Circuit Simulation
                       Both Time and Data treated as Analog Quantities
                     Also complicated by presence of non-linear elements
                  (relaxed in timing simulation). Impractical for large circuits
                                       [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
33                                                                  Copyright 2001 © Mani Srivastava


          Representing Data as Discrete
                     Entity
      V    0                1                0                                         V   DD


     VM                                                                                         R   p




                    t1               t2            t
                                                                                                        CL

                 Discretizing the data using
                    switching threshold                                                         R   n
               {0,1,X} representation of data

                                                                          The linear switch model
                                                                          of the inverter

                                          [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
34                                         Copyright 2001 © Mani Srivastava



                Discretizing Time

     Evaluate circuits only at “interesting” times
     Event-driven simulation
          evaluate gates only at a future time of interest
               – current time + gate delay
               – for more accuracy
                       gate delay = function of load
          still, events can happen at any time
     Further simplification: unit-delay model
          events only at multiples of a unit time
     Even further simplification: zero-delay model
          events at clock
          a.k.a. clock or cycle based simulation
35                                                      Copyright 2001 © Mani Srivastava


                      Circuit vs. Switch Level
                             Simulation
            5.0

                                      CIN                           OUT[2]
            3.0
Circuit




                                                                   OUT[3]
            1.0

           –1.0
                  0       5              10                         15                         20
                                                                              time (nsec)
  Switch




                              [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
36                                                                                  Copyright 2001 © Mani Srivastava


             Structural Description of
                   Accumulator
     entity accumulator is
         port ( -- definition of input and output terminals
             DI: in bit_vector(15 downto 0) -- a vector of 16 bit wide
             DO: inout bit_vector(15 downto 0);
             CLK: in bit
         );
     end accumulator;

     architecture structure of accumulator is
         component reg -- definition of register ports
             port (
                 DI : in bit_vector(15 downto 0);
                                                                         Design defined as composition of
                 DO : out bit_vector(15 downto 0);                       register and full-adder cells (“netlist”)
                 CLK : in bit
             );

                                                                         Data represented as {0,1,Z}
         end component;
         component add -- definition of adder ports
             port (
                 IN0 : in bit_vector(15 downto 0);
                 IN1 : in bit_vector(15 downto 0);
                 OUT0 : out bit_vector(15 downto 0)
                                                                         Time discretized and progresses with
             );                                                          unit steps
         end component;
     -- definition of accumulator structure
     signal X : bit_vector(15 downto 0);
     begin
         add1 : add                                                       Description language: VHDL
             port map (DI, DO, X); -- defines port connectivity
         reg1 : reg                                                       Other options: schematics, Verilog
             port map (X, DO, CLK);
     end structure;

                                                          [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
37                                                                                Copyright 2001 © Mani Srivastava


                 Behavioral Description of
                      Accumulator
     entity accumulator is
         port (
             DI : in integer;
             DO : inout integer := 0;
             CLK : in bit
         );
     end accumulator;
                                                                   Design described as set of input-output
                                                                   relations, regardless of chosen
     architecture behavior of accumulator is
     begin
                                                                   implementation
        process(CLK)
        variable X : integer := 0; -- intermediate variable
        begin
            if CLK = '1' then                                      Data described at higher abstraction
                X < = DO + D1;
                DO <= X;                                           level (“integer”)
            end if;
        end process;
     end behavior;




                                                        [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
38                                          Copyright 2001 © Mani Srivastava


     Behavioral Simulation of
         Accumulator
          Discrete time




                    Integer data




                                     (Synopsys Waves display tool)

                  [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
39                                   Copyright 2001 © Mani Srivastava



     Timing Verification

                                     Critical path




                                       Enumerates and rank
                                       orders critical timing paths

                                       No simulation needed!




                                  (Synopsys-Epic Pathmill)

           [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
40                                            Copyright 2001 © Mani Srivastava



     Issues in Timing Verification

        In
                4 - b it a d d e r
                                                                 O ut




                                                      M U X
                                                              bypass
              False Timing Paths



                    [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
41                                           Copyright 2001 © Mani Srivastava



               Design Verification

     Simulation only tells how circuit reacted to input
     excitation that was specified
     Verification tools analyze design and find problems
     Example:
          electrical verification
               – transistor sizing for rise/fall time constraints
          timing verification
               – find critical path
          functional (formal) verification
               – compare circuit behavior against designer’s specification
               – proof that the two are “equivalent”, i.e. proof that the
                 circuit will work
               – e.g. prove that two state machines are equivalent
42                                                     Copyright 2001 © Mani Srivastava



     Implementation Methodologies
          Digital Circuit Implementation Approaches




       Custom                               Semi-custom


                      Cell-Based                                     Array-Based



            Standard Cells    Macro Cells                 Pre-diffused             Pre-wired
            Compiled Cells                               (Gate Arrays)             (FPGA)



                             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
43                                           Copyright 2001 © Mani Srivastava



     Economics of Implementation

     Decision depends on
         Non-recurring engineering cost
              – engineering design cost (personnel, support etc.)
              – prototype manufacturing cost
         Production cost (Recurring cost)
              – wafer cost, processing cost
              – die per wafer
              – die yield per wafer, packaging yield, final test yield
         Fixed costs
              – data sheets, cost of sales
     Important to estimate design time and design cost
         guide to select the design method
44                                                 Copyright 2001 © Mani Srivastava



              Choosing a Design Style


                          Custom      Cell-based     Prediffused   Prewired
     Density              Very High   High           High          Medium-Low
     Performance          Very High   High           High          Medium-Low
     Flexibility          Very High   High           Medium        Low
     Design Time          Very long   Short          Short         Very Short
     Manufacturing Time   Medium      Medium         Short         Very Short
     Cost – low volume    Very High   High           High          Low
     Cost – high volume   Low         Low            Low           High
45                                           Copyright 2001 © Mani Srivastava



          Custom Circuit Design

     When performance & design density important
     High cost and long time-to-market
         justified only if
               – high volumes
               – design will be reused (e.g. library cell)
               – cost no concern
         due to CAD tools, custom design is minimal
46                                    Copyright 2001 © Mani Srivastava



         Tools for Custom Design

     Layout editor (e.g. Virtuoso)
     Symbolic layout
          relative positioning followed by compactor
     Design rule checking
          technology file, hierarchical DRC
     Circuit extraction
          schematic from layout
          transistors, caps, resistances, inductances
     Netlist comparison and netlist isomorphism
     Back annotation from layout to schematic
47                                        Copyright 2001 © Mani Srivastava



     Custom Design - Layout Editor




                                                    Magic Layout Editor
                                                    (UC Berkeley)
                [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
48                                                     Copyright 2001 © Mani Srivastava



                  Symbolic Layout
     V    D D           3

     In                       O ut
                                            • Dimensionless layout entities
                                            • Only topology is important
                        1                   • Final layout generated by
                                              “compaction” program

         G N D


          Stick diagram of inverter
                             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
49                                        Copyright 2001 © Mani Srivastava



     Cell-based Design Methodology

     Why? Shorter design time!
          but, larger penalty
     Array-based design (later) cuts process steps
     and reduces time even further…
     Standard cell
          library of logic gate (nand, and, or etc.)
          design as a schematic or netlist of cells from
          library
          layout is generated automatically in rows
          design and composition of library is the main issue
               – what fanout to design for?
50                                            Copyright 2001 © Mani Srivastava



            Standard Cell Libraries
     Typically contain a few hundred cells
           inverters, NAND gates, NOR gates, complex AOI, OAI gates, D-
           latches, and flip-flops
     Each gate type can have multiple implementations to
     provide adequate driving capability for different fanouts
           e.g the inverter gate can have standard size transistors, double
           size transistors, and quadruple size transistors
           the chip designer can choose the proper size to achieve high
           circuit speed and layout density
     Cells characterized for various metrics, such as
           delay time vs. load capacitance
           Circuit, timing, and fault simulation models
           cell data for place-and-route
           mask data
     Cells designed such that they can be abutted to form rows
51                                                                 Copyright 2001 © Mani Srivastava



                     Standard Cell Based Design
                                           Logic Cell
                      Feedthrough Cell




                                                                           Routing
                                                                           Channel
     Rows of Cells




                                                                                Routing channel
                                                                                requirements are
                                                                                reduced by presence
                                               Functional                       of more interconnect
                                               Module                           layers
                                               (RAM,
                                               multiplier, …)




                                         [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
52                                     Copyright 2001 © Mani Srivastava



     Standard Cell - Example




                                                   [Brodersen92]

             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
53                                     Copyright 2001 © Mani Srivastava



     Standard Cell - Example




                            3-input NAND cell
                            (from Mississippi State Library)
                            characterized for fanout of 4 and
                            for three different technologies


             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
54                                      Copyright 2001 © Mani Srivastava


     Automatic Cell Generation
         (Compiled Cells)




                                                         Random-logic layout
                                                         generated by CLEO
                                                         cell compiler (Digital)

              [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
55                                        Copyright 2001 © Mani Srivastava



              Module Generators

     Logic gate okay for random logic
     But, inefficient for regular structures
          e.g. carry chain capacitance in N-bit adder
     Standard cells do not exploit regularity
     Structured custom design
          macrocell generators, e.g. memories, multipliers
               – interconnects by abutment in both dimensions
          datapath compilers
               – abutment in one dimension, routing in the other
          usually “parameterizable”
56                                                      Copyright 2001 © Mani Srivastava


     Datapath Compilers: Linear
             Placement

      bus0




                                                                                 buffer
                                                       adder
      bus2
             mux


                     reg0


      bus1                      reg1


               routing area              feed-through                bit-slice



        Advantages: One-dimensional placement/routing problem


                              [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
57              Copyright 2001 © Mani Srivastava



     Datapath Layout
58                                                Copyright 2001 © Mani Srivastava



       Macrocell Design Methodology
                                                                           Macrocell

Floorplan:                                                               Interconnect Bus
Defines overall
topology of design,
relative placement of
modules, and global
routes of busses,                                                          Routing Channel
supplies, and clocks




                        [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
59              Copyright 2001 © Mani Srivastava



     Channel Routing
60                                                     Copyright 2001 © Mani Srivastava



     Macrocell-based Design Example

                                  SRAM


         SRAM   Routing Channel                               Data paths




                                                             Standard cells

                                                                Video-encoder chip
                                                                [Brodersen92]

                             [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
61                                        Copyright 2001 © Mani Srivastava



            Array-based Design

     Cuts process steps and reduces time even
     further…
     Several types:
         Mask programmable arrays
             –   pre-diffused so that several masks are eliminated
             –   typically, only top metalization needs to be done
             –   standard packages to keep packaging cost low
             –   e.g. gate array, sea of gates
         Pre-wired arrays
             – avoid detailed manufacturing totally
             – analogy with memory
62                     Copyright 2001 © Mani Srivastava


     Processing Steps in Gate Array
           Implementations
63                                          Copyright 2001 © Mani Srivastava



     Gate Array - Sea-of-gates
                                                                   polysilicon

                                     VD D

                                                                     metal
            rows of                                                              Uncommited
            uncommitted                                              possible
            cells                   GND                              contact
                                                                                 Cell


                                              In 1 In2   In3 In4


            routing
            channel
                                                                                 Committed
                                                                                 Cell
                                                                                 (4-input NOR)
                                                                     Out




                [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
64                                                                       Copyright 2001 © Mani Srivastava



       Sea-of-gate Primitive Cells
                 O x id e - i s o l a t io n

                                                                                                      PM O S

     PMOS


                                                                                                      NM OS



     NM OS
                                                                                                      NM OS




             Using oxide-isolation                                Using gate-isolation


                                               [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
65                                        Copyright 2001 © Mani Srivastava



             Sea-of-gates
                                                               Random Logic




 Memory
 Subsystem

                                                              LSI Logic LEA300K
                                                              (0.6 µm CMOS)

                [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
66                                                Copyright 2001 © Mani Srivastava



                Pre-wired Arrays

     Categories of pre-wired arrays (or, field
     programmable gate arrays)
          fuse based (program once)
          non-volatile EPROM or EEROM based
          RAM based




                        [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
67                                       Copyright 2001 © Mani Srivastava



     Programmable Logic Devices




     PLA             PROM                                          PAL

               [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
68                                                    Copyright 2001 © Mani Srivastava



                      EPLD Block Diagram
     Primary inputs                                                        Macrocell




                                                                         Courtesy Altera Corp.

                            [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
69                                  Copyright 2001 © Mani Srivastava



                        Antifuse

     Normally high resistance
     (> 100 MΩ)
         on application of
         appropriate voltage, the
         antifuse is changed
         permanently to a low
         resistance structure
         (200-500Ω)
70                                                                                                            Copyright 2001 © Mani Srivastava



                       Antifuse-based Actel FPGAs
                                                                           I/O B u ffe r s


                                                             P r o g r a m / T e s t / D ia g n o s t i c s
                                                           V e r ti c a l ro u te s



                                                                                                                                      Standard-cell like
                                                                                                                                      floorplan
                                         I/O B u ffe r s




                                                                                                                     I/O B u ffe rs
     R o w s o f lo g i c m o d u le s
            R o u tin g c h a n n e ls




                                                                           I/O B u ffe r s




                                                                       [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
71                                                                                           Copyright 2001 © Mani Srivastava



                               Detailed Interconnect
                                       P r o g r a m m e d in t e r c o n n e c t io n                              I n p u t/o u tp u t p in



                    C e ll
     A n tifu s e

                                                                                                                                     H o r iz o n ta l
                                                                                                                                     tr a c k s




                             V e r t ic a l t r a c k s
                                                                    Programming interconnect using anti-fuses

                                                                   [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
72                   Copyright 2001 © Mani Srivastava



     Basic Block in Actel FPGA
73                                                             Copyright 2001 © Mani Srivastava



                  RAM-based FPGAs

                              CLB                                CLB

                                                                             switching matrix
     Horizontal
     routing
     channel
                                                                            Interconnect point

                              CLB                                CLB




                  Vertical routing channel



                                     [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
74                                                                                 Copyright 2001 © Mani Srivastava


     Basic Block (CLB) in RAM-based
                  FPGAs
                        C o m b in a tio n a l lo g ic                             S to ra g e e l e m e n ts



                                                                      R
               A                                                    D in                            R
                   Any function of up to
     B /Q 1 /Q 2        4 variables
                                                                             F                  D       Q 1
                                                                F
     C /Q 1 /Q 2                                                             G
                                                                                                    CE              F
              D


              A
                   Any function of up to
     B /Q 1 /Q 2        4 variables
                                                                                                    R
                                                                G
                                                                             F                  D       Q 2
     C /Q 1 /Q 2
                                                                            G
              D                                                                                                 G
                                                                                                    CE
              E                                                 C lo c k


                                                                    C E




                                                                                                                    Courtesy of Xilinx

                                                         [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
75                                 Copyright 2001 © Mani Srivastava



     RAM-based FPGA




                                               Xilinx XC4025

         [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
76                      Copyright 2001 © Mani Srivastava


     General Architecture of Xilinx
               FPGAs
77                    Copyright 2001 © Mani Srivastava


            Switch Matrices &
     Interconnection between CLBs
78                     Copyright 2001 © Mani Srivastava



     XC2000 CLB of the Xilinx FPGA
79                     Copyright 2001 © Mani Srivastava



     Overview of VLSI Design Styles
80                Copyright 2001 © Mani Srivastava



       Design synthesis



     Behavior → Structure
81                                                                                                                                  Copyright 2001 © Mani Srivastava



     Taxonomy of Synthesis Tasks
                                   A rc h it e c t u r a l L e v e l                       L o g ic L e ve l                                 C irc u it L e v e l



                                                                                                              s t a te
                                                                                                                                             a
      B e h a v i o ra l V ie w




                                   ( i: 1 ..1 6 ) ::                                                  0
                                                                                                                                             b
                                     sum = su m *z–1 +
                                                                                              2                  1
                                     c o e ff[i]* In * z – 1                                                                                                  c        x
                                                                                                      3                                              tp


                                                            A r c h i t e c tu r e                                       L o g ic                                 C irc u it
                                                            S y n t h e s is                                             S y n t h e s is                         S y n t h e s is
      S t r u c t u r a l V ie w




                                                                                          a                                                                   4
                                        mem                                               b
                                                     fs m                                                                    x
                                                                                                          c                                      a        2
                                         *                                                                                                                    1    c
                                                                                                                                                 b        2
                                                                                                  D




                                                                                     [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
82                                        Copyright 2001 © Mani Srivastava



                Circuit Synthesis

     Logic equations → transistor schematics
          selection of circuit style
               – complementary static, pass-transistor, dynamic etc.
          construction of logic network
               – e.g. Euler path techniques
     Transistor sizing
          to meet performance constraints
               – major impact on area, power, timing
          subtle process… sensitive to parasitics
               – usually circuit modeled by equivalent RC circuit
               – detailed knowledge of subsequent layout process
                 needed for estimation of parasitic capacitances
83                                       Copyright 2001 © Mani Srivastava



          RTL or Logic Synthesis

     Generate structural view of a logic level network
     Many ways of specifying:
          FSMs, schematics, boolean equations, HDL etc.
     Two step process:
          technology independent phase
              – logic optimized using boolean & algebraic manipulation
          technology mapping phase
84                                    Copyright 2001 © Mani Srivastava



       Evolution of RTL Synthesis

     2-Level logic minimization
          Espresso from Berkeley
          Suited for PLAs & PALs which were used a lot in 80s
     Sequential and state-machine synthesis
          state minimization, state encoding
     Multilevel logic synthesis
          Mis-II from Berkeley
          standard-cell and FPGA
     Full blown RTL synthesis from HDL
          e.g. Synopsys’s VHDL compiler, Berkeley’s SIS
85                            Copyright 2001 © Mani Srivastava


        Example: Multi-level Logic
               Synthesis
     Adder:
        S = (A ⊕ B) ⊕ Ci   Co = A.B + A.Ci + B.Ci
86                                       Copyright 2001 © Mani Srivastava



           Architecture Synthesis

     Also called behavior or high-level synthesis
     Generate architecture from task description
          under constraints on area, speed, power etc.
     Three phases
          allocation: figures out busses, execution units etc.
          assignment: binds behavior operations to
          hardware resources
          scheduling: order of operations
     Also, transformations that manipulate input
     behavior to obtain superior solution
          pipelining, parallelization etc.
87                  Copyright 2001 © Mani Srivastava


     Example of Architecture
          Synthesis
                                        ;
88                 Copyright 2001 © Mani Srivastava



     Alternative Solution
89                  Copyright 2001 © Mani Srivastava



     Design-Evaluation Space
90                     Copyright 2001 © Mani Srivastava


     Design-Evaluation Space for a
            Logic Function
91                      Copyright 2001 © Mani Srivastava


     Area, Latency, Cycle-time Design
             Evaluation Space
92                      Copyright 2001 © Mani Srivastava


     Another Example of Architecture
               Synthesis
93                    Copyright 2001 © Mani Srivastava



     Alternative Implementations

Contenu connexe

Tendances

Placement in VLSI Design
Placement in VLSI DesignPlacement in VLSI Design
Placement in VLSI DesignTeam-VLSI-ITMU
 
lect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_ruleslect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_rulesvein
 
Lect10_Analog Layout and Process Concern
Lect10_Analog Layout and Process ConcernLect10_Analog Layout and Process Concern
Lect10_Analog Layout and Process Concernvein
 
Silicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) TechnologySilicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) TechnologySudhanshu Janwadkar
 
Vlsi physical design
Vlsi physical designVlsi physical design
Vlsi physical designI World Tech
 
Dft (design for testability)
Dft (design for testability)Dft (design for testability)
Dft (design for testability)shaik sharief
 
minimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routingminimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routingChandrajit Pal
 
Finfet; My 3rd PPT in clg
Finfet; My 3rd PPT in clgFinfet; My 3rd PPT in clg
Finfet; My 3rd PPT in clgARUNASUJITHA
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notesDr.YNM
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehtaUsha Mehta
 
System On Chip
System On ChipSystem On Chip
System On Chipanishgoel
 

Tendances (20)

Placement in VLSI Design
Placement in VLSI DesignPlacement in VLSI Design
Placement in VLSI Design
 
Layouts
LayoutsLayouts
Layouts
 
Second order effects
Second order effectsSecond order effects
Second order effects
 
lect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_ruleslect5_Stick_diagram_layout_rules
lect5_Stick_diagram_layout_rules
 
System on Chip (SoC)
System on Chip (SoC)System on Chip (SoC)
System on Chip (SoC)
 
Lect10_Analog Layout and Process Concern
Lect10_Analog Layout and Process ConcernLect10_Analog Layout and Process Concern
Lect10_Analog Layout and Process Concern
 
Silicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) TechnologySilicon on Insulator (SOI) Technology
Silicon on Insulator (SOI) Technology
 
Vlsi physical design
Vlsi physical designVlsi physical design
Vlsi physical design
 
Finfet Technology
Finfet TechnologyFinfet Technology
Finfet Technology
 
Layout02 (1)
Layout02 (1)Layout02 (1)
Layout02 (1)
 
n-MOS Fabrication Process
n-MOS Fabrication Processn-MOS Fabrication Process
n-MOS Fabrication Process
 
MOSFET fabrication 12
MOSFET fabrication 12MOSFET fabrication 12
MOSFET fabrication 12
 
Dft (design for testability)
Dft (design for testability)Dft (design for testability)
Dft (design for testability)
 
ASIC DESIGN FLOW
ASIC DESIGN FLOWASIC DESIGN FLOW
ASIC DESIGN FLOW
 
minimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routingminimisation of crosstalk in VLSI routing
minimisation of crosstalk in VLSI routing
 
Finfet; My 3rd PPT in clg
Finfet; My 3rd PPT in clgFinfet; My 3rd PPT in clg
Finfet; My 3rd PPT in clg
 
Vlsi physical design-notes
Vlsi physical design-notesVlsi physical design-notes
Vlsi physical design-notes
 
Sta by usha_mehta
Sta by usha_mehtaSta by usha_mehta
Sta by usha_mehta
 
System On Chip
System On ChipSystem On Chip
System On Chip
 
Twin well process
Twin well processTwin well process
Twin well process
 

En vedette

Introduction to VLSI
Introduction to VLSI Introduction to VLSI
Introduction to VLSI illpa
 
Vlsi & embedded systems
Vlsi & embedded systemsVlsi & embedded systems
Vlsi & embedded systemsDeepak Yadav
 
Full custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoderFull custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encodersrikanth kalemla
 
Lab inv l
Lab inv lLab inv l
Lab inv lmkkalai
 
VLSI
VLSI VLSI
VLSI So Ma
 
Introduction to VLSI Technology
Introduction to VLSI TechnologyIntroduction to VLSI Technology
Introduction to VLSI TechnologyDr.YNM
 
Chapter 3-part-1
Chapter 3-part-1Chapter 3-part-1
Chapter 3-part-1Ginny Lee
 
Sequential cmos logic circuits
Sequential cmos logic circuitsSequential cmos logic circuits
Sequential cmos logic circuitsSakshi Bhargava
 
PowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDAPowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDAAlexander Grudanov
 
Standard cells library design
Standard cells library designStandard cells library design
Standard cells library designBharat Biyani
 
クックパッドのLVSについて
クックパッドのLVSについてクックパッドのLVSについて
クックパッドのLVSについてSugawara Genki
 
Low Power Design Approach in VLSI
Low Power Design Approach in VLSILow Power Design Approach in VLSI
Low Power Design Approach in VLSISilicon Mentor
 

En vedette (20)

Vlsi design
Vlsi designVlsi design
Vlsi design
 
Basics Of VLSI
Basics Of VLSIBasics Of VLSI
Basics Of VLSI
 
Introduction to VLSI
Introduction to VLSI Introduction to VLSI
Introduction to VLSI
 
Vlsi & embedded systems
Vlsi & embedded systemsVlsi & embedded systems
Vlsi & embedded systems
 
Full custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoderFull custom Ic design Implementation of low power priority encoder
Full custom Ic design Implementation of low power priority encoder
 
Lab inv l
Lab inv lLab inv l
Lab inv l
 
Analog vlsi
Analog vlsiAnalog vlsi
Analog vlsi
 
VLSI
VLSI VLSI
VLSI
 
Introduction to VLSI Technology
Introduction to VLSI TechnologyIntroduction to VLSI Technology
Introduction to VLSI Technology
 
Chapter 3-part-1
Chapter 3-part-1Chapter 3-part-1
Chapter 3-part-1
 
Design and implementation of neural network based circuits for vlsi testing
Design and implementation of neural network based circuits for vlsi testingDesign and implementation of neural network based circuits for vlsi testing
Design and implementation of neural network based circuits for vlsi testing
 
Sequential cmos logic circuits
Sequential cmos logic circuitsSequential cmos logic circuits
Sequential cmos logic circuits
 
Vlsi design-styles
Vlsi design-stylesVlsi design-styles
Vlsi design-styles
 
PowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDAPowerDRC/LVS 2.2 released by POLYTEDA
PowerDRC/LVS 2.2 released by POLYTEDA
 
LVS
LVSLVS
LVS
 
Standard cells library design
Standard cells library designStandard cells library design
Standard cells library design
 
クックパッドのLVSについて
クックパッドのLVSについてクックパッドのLVSについて
クックパッドのLVSについて
 
online Freelancer report 2016
online Freelancer report 2016online Freelancer report 2016
online Freelancer report 2016
 
CPLDs
CPLDsCPLDs
CPLDs
 
Low Power Design Approach in VLSI
Low Power Design Approach in VLSILow Power Design Approach in VLSI
Low Power Design Approach in VLSI
 

Similaire à VLSi

Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignRadu_Negulescu
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
MOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfMOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfTigabu Yaya
 
Architectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th EditionArchitectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th Editionchess188chess188
 
Architectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th EditionArchitectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th Editionchess188chess188
 
Architectural Design.pptx
Architectural Design.pptxArchitectural Design.pptx
Architectural Design.pptxssuser8c0d24
 
Bcmsn ccnp switch quick reference sheets --good (1)
Bcmsn ccnp  switch quick reference sheets --good (1)Bcmsn ccnp  switch quick reference sheets --good (1)
Bcmsn ccnp switch quick reference sheets --good (1)economicsvnsgu
 
ch6 ArchitecturalDesign (NTU)
ch6 ArchitecturalDesign (NTU)ch6 ArchitecturalDesign (NTU)
ch6 ArchitecturalDesign (NTU)Rida Sajid
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
Chapter 7 - Desining CSCW applications
Chapter 7 - Desining CSCW applicationsChapter 7 - Desining CSCW applications
Chapter 7 - Desining CSCW applicationspichiliani
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...EnergyTech2015
 
Architectural Design
Architectural DesignArchitectural Design
Architectural DesignJay Thakkar
 
Software Architecture: Introduction
Software Architecture: IntroductionSoftware Architecture: Introduction
Software Architecture: IntroductionHenry Muccini
 

Similaire à VLSi (20)

Intro to Software Engineering - Module Design
Intro to Software Engineering - Module DesignIntro to Software Engineering - Module Design
Intro to Software Engineering - Module Design
 
Ch11
Ch11Ch11
Ch11
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
MOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdfMOD_Architectural_Design_Chap6_Summary.pdf
MOD_Architectural_Design_Chap6_Summary.pdf
 
Architectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th EditionArchitectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th Edition
 
Architectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th EditionArchitectural Design Software Engineering 7th Edition
Architectural Design Software Engineering 7th Edition
 
Ch 6
Ch 6Ch 6
Ch 6
 
Architectural Design.pptx
Architectural Design.pptxArchitectural Design.pptx
Architectural Design.pptx
 
Bcmsn ccnp switch quick reference sheets --good (1)
Bcmsn ccnp  switch quick reference sheets --good (1)Bcmsn ccnp  switch quick reference sheets --good (1)
Bcmsn ccnp switch quick reference sheets --good (1)
 
ch6 ArchitecturalDesign (NTU)
ch6 ArchitecturalDesign (NTU)ch6 ArchitecturalDesign (NTU)
ch6 ArchitecturalDesign (NTU)
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Distributed architecture (SAD)
Distributed architecture (SAD)Distributed architecture (SAD)
Distributed architecture (SAD)
 
Chapter 7 - Desining CSCW applications
Chapter 7 - Desining CSCW applicationsChapter 7 - Desining CSCW applications
Chapter 7 - Desining CSCW applications
 
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
David Long Keynote on Beyond MBSE Looking Towards the Next Evolution in Syste...
 
Architectural Design
Architectural DesignArchitectural Design
Architectural Design
 
L02 Architecture
L02 ArchitectureL02 Architecture
L02 Architecture
 
Ch6
Ch6Ch6
Ch6
 
Ch6
Ch6Ch6
Ch6
 
Software Architecture: Introduction
Software Architecture: IntroductionSoftware Architecture: Introduction
Software Architecture: Introduction
 
L23 Summary and Conclusions
L23 Summary and ConclusionsL23 Summary and Conclusions
L23 Summary and Conclusions
 

VLSi

  • 1. VLSI Design Methodologies EE116B (Winter 2001): Lecture # 4 Mani Srivastava UCLA - EE Department mbs@ ee.ucla.edu
  • 2. 2 Copyright 2001 © Mani Srivastava Reading for this Lecture Chapter 11 of Rabaey’s book
  • 3. 3 Copyright 2001 © Mani Srivastava Four Phases in Creating a Chip This Future Lecture Lecture Previous Lecture
  • 4. 4 Copyright 2001 © Mani Srivastava The Design Problem Source: sematech97 A growing gap between design complexity and design productivity [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 5. 5 Copyright 2001 © Mani Srivastava Profound Impact on the way VLSI is Designed The old way: manual transistor twiddling expert “layout designers” entire chip hand-crafted okay for small chips… but cannot design billion transistor chips in this fashion The new way: using CAD tools at high level tools do the grunge work… high levels of abstractions – synthesis from a description of the behavior libraries of reusable cores, modules, and cells Chip design increasingly like object-oriented software design! [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 6. 6 Copyright 2001 © Mani Srivastava Designing a VLSI Economic viability affected by design time Design time affected by the efficiency of concept → requirements → architecture → logic/memory → circuit → layout Continuous trade-off between performance (speed, area, power) size of die (hence cost of die and packaging) time of design (hence cost of engineering & schedule) ease of test generation and testability
  • 7. 7 Copyright 2001 © Mani Srivastava VLSI-design Tools & Methodologies Goal is to reduce complexity, increase productivity, and increase chances of a working chip Key is the use of Constraints and Abstractions Constraints – help automate the procedure by simplifying the problem Abstractions – collapse detail and arrive at a simpler problem to deal with Different design methodologies different types of constraints and trade-offs choice driven by economics!
  • 8. 8 Copyright 2001 © Mani Srivastava Design Domains Behavioral what a system does Structural how entities are connected together to perform the behavior Physical (geometrical) how to build a structure that has the required connectivity to implement the prescribed behavior
  • 9. 9 Copyright 2001 © Mani Srivastava Levels of Design Abstractions for Each Design Domain Architectural Algorithmic Module or functional block Logical Switch Circuit Device etc.
  • 10. 10 Copyright 2001 © Mani Srivastava Design Abstraction Levels SYSTEM MODULE + GATE CIRCUIT DEVICE G S D n+ n+ [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 11. 11 Copyright 2001 © Mani Srivastava Design Methodology Design process traverses iteratively between behavior, structure, and geometry abstractions CAD tools providing more and more automation
  • 12. 12 Copyright 2001 © Mani Srivastava A More Simplified Flow
  • 13. 13 Copyright 2001 © Mani Srivastava Principles of Structured Design Techniques Hierarchy Regularity Modularity Locality
  • 14. 14 Copyright 2001 © Mani Srivastava Hierarchy Divide and conquer compose system from simpler widgets Analogy with software break large programs into threads and subroutines Hierarchy can be there in all domains behavior, structural, physical The hierarchy in different domains may not correspond e.g. a structural hierarchy may not map well to physical
  • 15. 15 Copyright 2001 © Mani Srivastava Example of Structural Hierarchy
  • 16. 16 Copyright 2001 © Mani Srivastava Example of Physical Hierarchy
  • 17. 17 Copyright 2001 © Mani Srivastava Example of Structural Hierarchy
  • 18. 18 Copyright 2001 © Mani Srivastava Example of Physical Hierarchy
  • 19. 19 Copyright 2001 © Mani Srivastava Repartitioning Structural Hierarchy to Fit Physical Hierarchy
  • 20. 20 Copyright 2001 © Mani Srivastava Regularity Hierarchy breaks a system into submodules but this may not solve the complexity problem there may not be any regularity in the subdivision – we just end up with a large # of different submodules Regularity as a guide subdivide into a set of similar building blocks – e.g. RAM composed of identical cells Regularity means that the hierarchical decomposition of a large system should result in not only simple, but also similar blocks, as much as possible
  • 21. 21 Copyright 2001 © Mani Srivastava Regularity (contd.) Regularity can be at all levels circuit: use identically sized transistors gate: similar gate structures higher level: architectures with identical processors Regularity helps in many ways correct by construction reuse of design simplify verification of correctness
  • 22. 22 Copyright 2001 © Mani Srivastava Circuit-level Regularity Example A 2-1 Mux D-type edge triggered flipflop One-bit full add All designed using inverter and tristate buffer
  • 23. 23 Copyright 2001 © Mani Srivastava Modularity Condition that submodules have “well-defined” functions and interfaces in addition to regularity and hierarchy ‘Well-formed” modules allow their interaction with others to be “well-characterized” Depends on the situation e.g. in s/w a subroutine has a well-defined interface – argument list with typed variables e.g. in IC a well-defined physical, structural, and behavioral interface – pin position, layer, size, signal type, electrical characteristics, logic function
  • 24. 24 Copyright 2001 © Mani Srivastava Why Modularity? Allows the design of system to be broken up with confidence that the system will work as specified when the parts are combined Allows team design by a number of designers Examples: bad use: use of transmission gates as inputs – internal signals now depend on source impedance bad use: use dynamic CMOS logic but fail to latch or register the inputs – timing of each module will have to be checked
  • 25. 25 Copyright 2001 © Mani Srivastava Example of Poor Modularity
  • 26. 26 Copyright 2001 © Mani Srivastava Locality Modularity provided “well-characterized” interfaces internals of modules unimportant to exterior interface • internal details remain at the local level a form of “information hiding” • reduces apparent complexity of the module Locality ensures that connections are between neighboring modules, avoiding long-distance connections Example: timing locality so that time critical operations are local • clock generation and distribution network • entire clock cycle for global signals to traverse chip • placement so that global wiring is minimized Analogy with software • global variables are to be avoided
  • 27. 27 Copyright 2001 © Mani Srivastava Parallels between H/W & S/W Design Strong parallels in the way VLSIs are designed and the way complex software is HDLs used to describe hardware systems in essence merge these two disciplines software methods used to define hardware Hardware-software Co-design But, can’t ignore hardware aspects entirely important since a physical chip is the end product
  • 28. 28 Copyright 2001 © Mani Srivastava Typical VLSI Design Flow
  • 29. 29 Copyright 2001 © Mani Srivastava Types of Tools Analysis and verification Implementation and synthesis Testability techniques
  • 30. 30 Copyright 2001 © Mani Srivastava Design Analysis and Verification Accounts for largest fraction of design time More efficient when done at higher levels of abstraction select of correct analysis level can reduce verification time by orders of magnitude Two approaches: simulation: depends on choice of excitation verification: extracts desired results directly from circuit description [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 31. 31 Copyright 2001 © Mani Srivastava Simulation Approaches Key distinction is how are data & time represented? Circuit-level simulation (e.g. Spice) Switch-level simulation (e.g. IRSIM) – transistors as switches with resistance Gate-level (logic) simulation – now obsolete due to logic synthesis Functional simulation (e.g. VHDL, Verilog) – primitives of arbitrary complexity Behavioral simulation (e.g. VHDL) – only mimic I/O functionality – hardware delay loses its meaning
  • 32. 32 Copyright 2001 © Mani Srivastava Digital Data as Analog Signals VD D Sp Vin Vou t 5.0 Bp 3.0 Vo ut (V) Gn ,p In Dn,p Out t pHL 1.0 Bn Sn –1.0 0 0.5 1 1.5 2 t (nsec) Circuit Simulation Both Time and Data treated as Analog Quantities Also complicated by presence of non-linear elements (relaxed in timing simulation). Impractical for large circuits [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 33. 33 Copyright 2001 © Mani Srivastava Representing Data as Discrete Entity V 0 1 0 V DD VM R p t1 t2 t CL Discretizing the data using switching threshold R n {0,1,X} representation of data The linear switch model of the inverter [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 34. 34 Copyright 2001 © Mani Srivastava Discretizing Time Evaluate circuits only at “interesting” times Event-driven simulation evaluate gates only at a future time of interest – current time + gate delay – for more accuracy gate delay = function of load still, events can happen at any time Further simplification: unit-delay model events only at multiples of a unit time Even further simplification: zero-delay model events at clock a.k.a. clock or cycle based simulation
  • 35. 35 Copyright 2001 © Mani Srivastava Circuit vs. Switch Level Simulation 5.0 CIN OUT[2] 3.0 Circuit OUT[3] 1.0 –1.0 0 5 10 15 20 time (nsec) Switch [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 36. 36 Copyright 2001 © Mani Srivastava Structural Description of Accumulator entity accumulator is port ( -- definition of input and output terminals DI: in bit_vector(15 downto 0) -- a vector of 16 bit wide DO: inout bit_vector(15 downto 0); CLK: in bit ); end accumulator; architecture structure of accumulator is component reg -- definition of register ports port ( DI : in bit_vector(15 downto 0); Design defined as composition of DO : out bit_vector(15 downto 0); register and full-adder cells (“netlist”) CLK : in bit ); Data represented as {0,1,Z} end component; component add -- definition of adder ports port ( IN0 : in bit_vector(15 downto 0); IN1 : in bit_vector(15 downto 0); OUT0 : out bit_vector(15 downto 0) Time discretized and progresses with ); unit steps end component; -- definition of accumulator structure signal X : bit_vector(15 downto 0); begin add1 : add Description language: VHDL port map (DI, DO, X); -- defines port connectivity reg1 : reg Other options: schematics, Verilog port map (X, DO, CLK); end structure; [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 37. 37 Copyright 2001 © Mani Srivastava Behavioral Description of Accumulator entity accumulator is port ( DI : in integer; DO : inout integer := 0; CLK : in bit ); end accumulator; Design described as set of input-output relations, regardless of chosen architecture behavior of accumulator is begin implementation process(CLK) variable X : integer := 0; -- intermediate variable begin if CLK = '1' then Data described at higher abstraction X < = DO + D1; DO <= X; level (“integer”) end if; end process; end behavior; [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 38. 38 Copyright 2001 © Mani Srivastava Behavioral Simulation of Accumulator Discrete time Integer data (Synopsys Waves display tool) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 39. 39 Copyright 2001 © Mani Srivastava Timing Verification Critical path Enumerates and rank orders critical timing paths No simulation needed! (Synopsys-Epic Pathmill) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 40. 40 Copyright 2001 © Mani Srivastava Issues in Timing Verification In 4 - b it a d d e r O ut M U X bypass False Timing Paths [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 41. 41 Copyright 2001 © Mani Srivastava Design Verification Simulation only tells how circuit reacted to input excitation that was specified Verification tools analyze design and find problems Example: electrical verification – transistor sizing for rise/fall time constraints timing verification – find critical path functional (formal) verification – compare circuit behavior against designer’s specification – proof that the two are “equivalent”, i.e. proof that the circuit will work – e.g. prove that two state machines are equivalent
  • 42. 42 Copyright 2001 © Mani Srivastava Implementation Methodologies Digital Circuit Implementation Approaches Custom Semi-custom Cell-Based Array-Based Standard Cells Macro Cells Pre-diffused Pre-wired Compiled Cells (Gate Arrays) (FPGA) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 43. 43 Copyright 2001 © Mani Srivastava Economics of Implementation Decision depends on Non-recurring engineering cost – engineering design cost (personnel, support etc.) – prototype manufacturing cost Production cost (Recurring cost) – wafer cost, processing cost – die per wafer – die yield per wafer, packaging yield, final test yield Fixed costs – data sheets, cost of sales Important to estimate design time and design cost guide to select the design method
  • 44. 44 Copyright 2001 © Mani Srivastava Choosing a Design Style Custom Cell-based Prediffused Prewired Density Very High High High Medium-Low Performance Very High High High Medium-Low Flexibility Very High High Medium Low Design Time Very long Short Short Very Short Manufacturing Time Medium Medium Short Very Short Cost – low volume Very High High High Low Cost – high volume Low Low Low High
  • 45. 45 Copyright 2001 © Mani Srivastava Custom Circuit Design When performance & design density important High cost and long time-to-market justified only if – high volumes – design will be reused (e.g. library cell) – cost no concern due to CAD tools, custom design is minimal
  • 46. 46 Copyright 2001 © Mani Srivastava Tools for Custom Design Layout editor (e.g. Virtuoso) Symbolic layout relative positioning followed by compactor Design rule checking technology file, hierarchical DRC Circuit extraction schematic from layout transistors, caps, resistances, inductances Netlist comparison and netlist isomorphism Back annotation from layout to schematic
  • 47. 47 Copyright 2001 © Mani Srivastava Custom Design - Layout Editor Magic Layout Editor (UC Berkeley) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 48. 48 Copyright 2001 © Mani Srivastava Symbolic Layout V D D 3 In O ut • Dimensionless layout entities • Only topology is important 1 • Final layout generated by “compaction” program G N D Stick diagram of inverter [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 49. 49 Copyright 2001 © Mani Srivastava Cell-based Design Methodology Why? Shorter design time! but, larger penalty Array-based design (later) cuts process steps and reduces time even further… Standard cell library of logic gate (nand, and, or etc.) design as a schematic or netlist of cells from library layout is generated automatically in rows design and composition of library is the main issue – what fanout to design for?
  • 50. 50 Copyright 2001 © Mani Srivastava Standard Cell Libraries Typically contain a few hundred cells inverters, NAND gates, NOR gates, complex AOI, OAI gates, D- latches, and flip-flops Each gate type can have multiple implementations to provide adequate driving capability for different fanouts e.g the inverter gate can have standard size transistors, double size transistors, and quadruple size transistors the chip designer can choose the proper size to achieve high circuit speed and layout density Cells characterized for various metrics, such as delay time vs. load capacitance Circuit, timing, and fault simulation models cell data for place-and-route mask data Cells designed such that they can be abutted to form rows
  • 51. 51 Copyright 2001 © Mani Srivastava Standard Cell Based Design Logic Cell Feedthrough Cell Routing Channel Rows of Cells Routing channel requirements are reduced by presence Functional of more interconnect Module layers (RAM, multiplier, …) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 52. 52 Copyright 2001 © Mani Srivastava Standard Cell - Example [Brodersen92] [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 53. 53 Copyright 2001 © Mani Srivastava Standard Cell - Example 3-input NAND cell (from Mississippi State Library) characterized for fanout of 4 and for three different technologies [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 54. 54 Copyright 2001 © Mani Srivastava Automatic Cell Generation (Compiled Cells) Random-logic layout generated by CLEO cell compiler (Digital) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 55. 55 Copyright 2001 © Mani Srivastava Module Generators Logic gate okay for random logic But, inefficient for regular structures e.g. carry chain capacitance in N-bit adder Standard cells do not exploit regularity Structured custom design macrocell generators, e.g. memories, multipliers – interconnects by abutment in both dimensions datapath compilers – abutment in one dimension, routing in the other usually “parameterizable”
  • 56. 56 Copyright 2001 © Mani Srivastava Datapath Compilers: Linear Placement bus0 buffer adder bus2 mux reg0 bus1 reg1 routing area feed-through bit-slice Advantages: One-dimensional placement/routing problem [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 57. 57 Copyright 2001 © Mani Srivastava Datapath Layout
  • 58. 58 Copyright 2001 © Mani Srivastava Macrocell Design Methodology Macrocell Floorplan: Interconnect Bus Defines overall topology of design, relative placement of modules, and global routes of busses, Routing Channel supplies, and clocks [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 59. 59 Copyright 2001 © Mani Srivastava Channel Routing
  • 60. 60 Copyright 2001 © Mani Srivastava Macrocell-based Design Example SRAM SRAM Routing Channel Data paths Standard cells Video-encoder chip [Brodersen92] [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 61. 61 Copyright 2001 © Mani Srivastava Array-based Design Cuts process steps and reduces time even further… Several types: Mask programmable arrays – pre-diffused so that several masks are eliminated – typically, only top metalization needs to be done – standard packages to keep packaging cost low – e.g. gate array, sea of gates Pre-wired arrays – avoid detailed manufacturing totally – analogy with memory
  • 62. 62 Copyright 2001 © Mani Srivastava Processing Steps in Gate Array Implementations
  • 63. 63 Copyright 2001 © Mani Srivastava Gate Array - Sea-of-gates polysilicon VD D metal rows of Uncommited uncommitted possible cells GND contact Cell In 1 In2 In3 In4 routing channel Committed Cell (4-input NOR) Out [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 64. 64 Copyright 2001 © Mani Srivastava Sea-of-gate Primitive Cells O x id e - i s o l a t io n PM O S PMOS NM OS NM OS NM OS Using oxide-isolation Using gate-isolation [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 65. 65 Copyright 2001 © Mani Srivastava Sea-of-gates Random Logic Memory Subsystem LSI Logic LEA300K (0.6 µm CMOS) [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 66. 66 Copyright 2001 © Mani Srivastava Pre-wired Arrays Categories of pre-wired arrays (or, field programmable gate arrays) fuse based (program once) non-volatile EPROM or EEROM based RAM based [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 67. 67 Copyright 2001 © Mani Srivastava Programmable Logic Devices PLA PROM PAL [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 68. 68 Copyright 2001 © Mani Srivastava EPLD Block Diagram Primary inputs Macrocell Courtesy Altera Corp. [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 69. 69 Copyright 2001 © Mani Srivastava Antifuse Normally high resistance (> 100 MΩ) on application of appropriate voltage, the antifuse is changed permanently to a low resistance structure (200-500Ω)
  • 70. 70 Copyright 2001 © Mani Srivastava Antifuse-based Actel FPGAs I/O B u ffe r s P r o g r a m / T e s t / D ia g n o s t i c s V e r ti c a l ro u te s Standard-cell like floorplan I/O B u ffe r s I/O B u ffe rs R o w s o f lo g i c m o d u le s R o u tin g c h a n n e ls I/O B u ffe r s [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 71. 71 Copyright 2001 © Mani Srivastava Detailed Interconnect P r o g r a m m e d in t e r c o n n e c t io n I n p u t/o u tp u t p in C e ll A n tifu s e H o r iz o n ta l tr a c k s V e r t ic a l t r a c k s Programming interconnect using anti-fuses [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 72. 72 Copyright 2001 © Mani Srivastava Basic Block in Actel FPGA
  • 73. 73 Copyright 2001 © Mani Srivastava RAM-based FPGAs CLB CLB switching matrix Horizontal routing channel Interconnect point CLB CLB Vertical routing channel [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 74. 74 Copyright 2001 © Mani Srivastava Basic Block (CLB) in RAM-based FPGAs C o m b in a tio n a l lo g ic S to ra g e e l e m e n ts R A D in R Any function of up to B /Q 1 /Q 2 4 variables F D Q 1 F C /Q 1 /Q 2 G CE F D A Any function of up to B /Q 1 /Q 2 4 variables R G F D Q 2 C /Q 1 /Q 2 G D G CE E C lo c k C E Courtesy of Xilinx [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 75. 75 Copyright 2001 © Mani Srivastava RAM-based FPGA Xilinx XC4025 [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 76. 76 Copyright 2001 © Mani Srivastava General Architecture of Xilinx FPGAs
  • 77. 77 Copyright 2001 © Mani Srivastava Switch Matrices & Interconnection between CLBs
  • 78. 78 Copyright 2001 © Mani Srivastava XC2000 CLB of the Xilinx FPGA
  • 79. 79 Copyright 2001 © Mani Srivastava Overview of VLSI Design Styles
  • 80. 80 Copyright 2001 © Mani Srivastava Design synthesis Behavior → Structure
  • 81. 81 Copyright 2001 © Mani Srivastava Taxonomy of Synthesis Tasks A rc h it e c t u r a l L e v e l L o g ic L e ve l C irc u it L e v e l s t a te a B e h a v i o ra l V ie w ( i: 1 ..1 6 ) :: 0 b sum = su m *z–1 + 2 1 c o e ff[i]* In * z – 1 c x 3 tp A r c h i t e c tu r e L o g ic C irc u it S y n t h e s is S y n t h e s is S y n t h e s is S t r u c t u r a l V ie w a 4 mem b fs m x c a 2 * 1 c b 2 D [Adapted from http://infopad.eecs.berkeley.edu/~icdesign/. Copyright 1996 UCB]
  • 82. 82 Copyright 2001 © Mani Srivastava Circuit Synthesis Logic equations → transistor schematics selection of circuit style – complementary static, pass-transistor, dynamic etc. construction of logic network – e.g. Euler path techniques Transistor sizing to meet performance constraints – major impact on area, power, timing subtle process… sensitive to parasitics – usually circuit modeled by equivalent RC circuit – detailed knowledge of subsequent layout process needed for estimation of parasitic capacitances
  • 83. 83 Copyright 2001 © Mani Srivastava RTL or Logic Synthesis Generate structural view of a logic level network Many ways of specifying: FSMs, schematics, boolean equations, HDL etc. Two step process: technology independent phase – logic optimized using boolean & algebraic manipulation technology mapping phase
  • 84. 84 Copyright 2001 © Mani Srivastava Evolution of RTL Synthesis 2-Level logic minimization Espresso from Berkeley Suited for PLAs & PALs which were used a lot in 80s Sequential and state-machine synthesis state minimization, state encoding Multilevel logic synthesis Mis-II from Berkeley standard-cell and FPGA Full blown RTL synthesis from HDL e.g. Synopsys’s VHDL compiler, Berkeley’s SIS
  • 85. 85 Copyright 2001 © Mani Srivastava Example: Multi-level Logic Synthesis Adder: S = (A ⊕ B) ⊕ Ci Co = A.B + A.Ci + B.Ci
  • 86. 86 Copyright 2001 © Mani Srivastava Architecture Synthesis Also called behavior or high-level synthesis Generate architecture from task description under constraints on area, speed, power etc. Three phases allocation: figures out busses, execution units etc. assignment: binds behavior operations to hardware resources scheduling: order of operations Also, transformations that manipulate input behavior to obtain superior solution pipelining, parallelization etc.
  • 87. 87 Copyright 2001 © Mani Srivastava Example of Architecture Synthesis ;
  • 88. 88 Copyright 2001 © Mani Srivastava Alternative Solution
  • 89. 89 Copyright 2001 © Mani Srivastava Design-Evaluation Space
  • 90. 90 Copyright 2001 © Mani Srivastava Design-Evaluation Space for a Logic Function
  • 91. 91 Copyright 2001 © Mani Srivastava Area, Latency, Cycle-time Design Evaluation Space
  • 92. 92 Copyright 2001 © Mani Srivastava Another Example of Architecture Synthesis
  • 93. 93 Copyright 2001 © Mani Srivastava Alternative Implementations