Lecture 3 Synthesis Part 1
Lecture 3 Synthesis Part 1
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 [email protected] 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
ràng buộc
• You finish with: danh sách các cổng logic và kết nối giữa chúng
• A gate-level netlist, mapped to the module counter ( clk, rstn, load, in, out );
input [1:0] in;
standard cell library ánh xạ vào thư viện standard cell 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.