Digital VLSI Design Lecture 3: Logic Synthesis: Semester A, 2018-19 Lecturer: Dr. Adam Teman
Digital VLSI Design Lecture 3: Logic Synthesis: Semester A, 2018-19 Lecturer: Dr. Adam Teman
Disclaimer: This course was prepared, in its entirety, by Adam Teman. Many materials were copied from sources freely available on the internet. When possible, these sources have been cited;
however, some references may have been cited incorrectly or overlooked. If you feel that a picture, graph, or code example has been copied from you and either needs to be cited or removed,
please feel free to email adam.teman@biu.ac.il and I will address this as soon as possible.
    Lecture Outline
                                                               Syntax
                                                              Analysis
                                                              Library
                                                             Definition
                                                            Elaboration
                                                            and Binding
                                                            Pre-mapping
                                                            Optimization
  Introduction
                                                             Constraint
                                                             Definition
                                                             Technology
                                                              Mapping
                                                                                                           Synthesis
       • A standard cell library                             Standard Cell Library
       • A set of design constraints                          Design Constraints
    • You finish with:
       • A gate-level netlist, mapped to the                       module counter ( clk, rstn, load, in, out );
                                                                     input [1:0] in;
         standard cell library                                       output [1:0] out;
                                                                     input clk, rstn, load;
       • (For FPGAs: LUTs, flip-flops, and RAM blocks)               wire   N6, N7, n5, n6, n7, n8;
       always @ (a or b or s0 or s1)
         if (!s0 && s1 || s0)
             f=a;
         else
             f=b;
      endmodule
     • Constraint Definition:
        • Define clock frequency and other design constraints.
           read_sdc sdc/constraints.sdc
                                                               Syntax
                                                              Analysis
                                                              Library
                                                             Definition
                                                            Elaboration
                                                            and Binding
                                                            Pre-mapping
                                                            Optimization
  Compilation
                                                             Constraint
                                                             Definition
                                                             Technology
                                                              Mapping
                                                                    Syntax
                                                                   Analysis
                                                                   Library
                                                                  Definition
                                                                 Elaboration
                                                                 and Binding
                                                                 Pre-mapping
                                                                 Optimization
       Library Definition
                                                                  Constraint
                                                                  Definition
                                                                  Technology
                                                                   Mapping
                                                                 Post-mapping
                                                                 Optimization
                                                                  Report and
                                                                    export
15
                                                                                                  Syntax
                                                                                                 Analysis
     • The library definition stage tells the synthesizer where to look for                    Pre-mapping
                                                                                               Optimization
       leaf cells for binding and the target library for technology mapping.                    Constraint
                                                                                                Definition
       • We can provide a list of paths to search for libraries in:                             Technology
                                                                                                 Mapping
          set_db init_lib_search_path “/design/data/my_fab/digital/lib/”
                                                                                               Post-mapping
       • And we have to provide the name of a specific library,                                Optimization
                                                                                                Report and
         usually characterized for a single corner:                                               export
read_libs “TT1V25C.lib”
                     Make sure you understand all the warnings about the libs that the
                      synthesizer spits out, even though you probably can’t fix them.
     Example                                                                       Library
                                                                                  Definition
                                                                                 Elaboration
                                                                                 and Binding
                                            Cell Height
           Cell width                                                            Post-mapping
                                                                                 Optimization
       •   Voltage rails                                                          Report and
       •   Well definition                                                          export
       •   Pin Placement
       •   PR Boundary
       •   Metal layers
        •   Delay cells
        •   Level Shifters
     • Sequential Cells:
        •   Many types of flip flops: pos/negedge, set/reset, Q/QB, enable
        •   Latches
        •   Integrated Clock Gating cells
        •   Scan enabled cells for ATPG.
     • Physical Cells:
19      • Fillers, Tap cells, Antennas, DeCaps, EndCaps, Tie Cells           © Adam Teman, 2018
                                                                                  Syntax
                                                                                 Analysis
          minimize skew.
        • These cells are usually less optimal for data and so should not be used.
     • In general, only buffers/inverters should be used on clock nets
       • But sometimes, we need gating logic.
       • Special cells, such as integrated clock gates,
         provide logic for the clock networks.
     Sequentials                                            Library
                                                           Definition
                                                          Elaboration
                                                          and Binding
       •
                                                           Report and
           Scan                                              export
• etc., etc.
     • Level shifter cells are placed between voltage domains to pass             Pre-mapping
                                                                                  Optimization
       signals from one voltage to another.                                        Constraint
                                                                                   Definition
                                                 VDDH                              Technology
                                                                                    Mapping
     • LH (low-to-high) shifter
                                                                         OUTH
       • Needs 2 voltages
                                                                           VSS
       • Often double height
                                                     INL
VDDL
     • An Engineering Change Order (ECO) is a very late change in the design.             Pre-mapping
                                                                                          Optimization
       • ECOs usually are done after place and route.                                      Constraint
       • However, re-spins of a chip are often done without                                Definition
                                                                      Syntax
                                                                     Analysis
                                                                      Library
                                                                     Definition
                                                                    Elaboration
                                                                    and Binding
                                                                Pre-mapping
                                                                Optimization
                                                                    Constraint
       the technology for use by the placer and router: SITE CORE                                      Optimization
                                                                                                        Constraint
                                                                    CLASS CORE;
       • Layers                                                     SIZE 0.2 X 12.0;
                                                                                                        Definition
     Technology LEF                         W1
                                                                                               Library
                                                                                              Definition
                                                                                             Elaboration
                                                                                             and Binding
efficiency VSS
                                  SITE CORE
                                    CLASS CORE;
                                    SYMMETRY X Y;
                                    SIZE 0.2 X 12.0;
                                  END CORE
wikichip.org
                                                                 Syntax
                                                                Analysis
                                                                Library
                                                               Definition
                                                              Elaboration
                                                              and Binding
                                                              Pre-mapping
                                                              Optimization
                                                               Constraint
     • Timing data of standard cells is         ... /* Library level simple and complex attributes */
                                                                                                          Pre-mapping
                                                                                                          Optimization
       provided in the Liberty format.
                                                /* Cell definitions */
                                                cell (cell_name) {                                         Constraint
                                                   ... /* cell level simple attributes */                  Definition
       • Library:                                 /* pin groups within the cell */                         Technology
         • General information common to          pin(pin_name) {                                           Mapping
                                                      ... /* pin level simple attributes */
           all cells in the library.                                                                      Post-mapping
                                                                                                          Optimization
         • For example, operating conditions,         /* timing group within the pin level */
                                                      timing(){                                            Report and
           wire load models, look-up tables                ... /* timing level simple attributes */ }        export
                                                      ... /* additional timing groups */
       • Cell:
                                                   } /* end of pin */
         • Specific information about each         ... /* more pin descriptions */
                                                } /* end of cell */
           standard cell.                       ... /* more cells */
         • For example, function, area.         } /* end of library */
       • Pin:
         • Timing, power, capacitance,
           leakage, functionality, etc.
           characteristics of
           each pin in each cell.
37                                                                                              © Adam Teman, 2018
                                                                                                               Syntax
                                                                                                              Analysis
                                             Courtesy: Synopsys
40                                                                © Adam Teman, 2018
                                                  Syntax
                                                 Analysis
http://www.vlsi-expert.com/
42                                                                                   © Adam Teman, 2018
                                                                                            Syntax
                                                                                           Analysis
     • Due to the lack of accuracy, wireload models lead to very poor correlation        Pre-mapping
                                                                                         Optimization
                                                                     Syntax
                                                                    Analysis
                                                                  Library
                                                                 Definition
                                                                Elaboration
                                                                and Binding
                                                               Pre-mapping
                                                               Optimization
                                                                Constraint
        • Verilog
                                                                               Mapping
                                                                             Post-mapping
        • ATPG
                                                                             Optimization
                                                                              Report and
       • OA Databases
       • Spice Models
       • etc.
     • So, are we just supposed to look through and see what the vendor                      Pre-mapping
                                                                                             Optimization
       decided to provide us with?                                                            Constraint
                                                                                              Definition
       • Yes!                                                                                 Technology
       • However they probably supplied some PDFs describing the library.                      Mapping
                                                                                             Post-mapping
       • And usually there are data sheets with numbers for each corner.                     Optimization
                                                                                              Report and
                                                                                                export
     • All IPs will be provided as a library, including most of the views a       Pre-mapping
                                                                                  Optimization
       standard cell library will have.                                            Constraint
                                                                                   Definition
     • These are required for integration of the hard macros in the standard       Technology
designer requires.