Uploaded by 2016bec077

Lecture24

advertisement
EE194-EE290C
28 nm SoC for IoT
CMOS VLSI Design by Neil H. Weste and David Money Harris
Synopsys’ IC Compiler™ ImplementaJon User Guide
Synopsys’ Timing Constraints and OpJmizaJon User Guide
Tips
• This is by no means comprehensive.
• Key is to get to the “good enough” ASAP.
• Must develop intuiJve understanding what the tool is
trying to accomplish.
DC
Converts a design descripJon wriWen in a HDL, into an opJmized gate-level netlist mapped
to a specific logic library. When the synthesized design meets funcJonality,
Jming, power, and other design goals, you can pass the design to IC Compiler for
physical implementaJon.
Liberty Timing File(LIB)
The .lib file is an ASCII representaJon of the Jming and power parameters associated with
any cell in a parJcular semiconductor technology.
The Jming and power parameters are obtained by simulaJng the cells under a variety of
condiJons and the data is represented in the .lib format.
The .lib file contains Jming models and data to calculate:
• „ I/O delay paths
• „ Timing check values
• „ Interconnect delays
I/O path delays and Jming check values are computed on a per-instance basis.
Path delays in a circuit depend upon the electrical behavior of interconnects between cells.
This parasiJc informaJon can be based on the layout of the design, but must be
esJmated when no layout informaJon is available.
Also it is not possible to predict the process, voltage and temperature variaJons and deraJng
factors can be included to compensate for these variaJons.
Liberty Timing File(LIB)
Cell-based delay calculaJon is modeled by characterizing cell delay and output transiJon
Jme (output slew) as a funcJon of input transiJon Jme (input slew) and the capaciJve
load on the output of the cell.
Each cell has a specific number of input-to-output paths
A
B
Z
C
• Path delays can be described for each input signal transiJon that affects an output signal
• The path delay can also depend on signals at other inputs (state dependencies)
Liberty Timing File(LIB)
Delay,Power, Timing Checks
Input Slew
Output
Capacitance
Lookup-table (non-linear delay) model.
Liberty Timing File(LIB)
Delay,Power, Timing Checks
Input Slew
Output
Capacitance
Lookup-table (non-linear delay) model.
FF
pMOS
SF
TT
FS
SS
slow
q Transistors have uncertainty in parameters
Process: Leff, Vt, tox of nMOS and pMOS
Vary around typical (T) values
q Fast (F)
Leff: short
Vt: low
tox: thin
q Slow (S): opposite
q Not all parameters are independent
for nMOS and pMOS
fast
Parameter VariaJon
slow
nMOS
fast
Environmental VariaJon
q VDD and T also vary in time and space
q Fast:
VDD: high
T: low
Corner
Voltage
Temperature
F
1.98
0C
T
1.8
70 C
S
1.62
125 C
Process Corners
q Process corners describe worst case variations
- If a design works in all corners, it will probably work for any variation.
q Describe corner with four letters (T, F, S)
- nMOS speed
- pMOS speed
- Voltage
- Temperature
Important Corners
q Some critical simulation corners include
Purpose
nMOS
pMOS
VDD
Temp
Cycle time
S
S
S
S
Power
F
F
F
F
Subthreshold
leakage
F
F
F
S
Design Objects
Top Level ParJJoning
Design Environment
Before a design can be opJmized, you must define the environment in which the design is
expected to operate. You define the environment by specifying operaJng condiJons, system
interface characterisJcs, and wire load models.
OperaJng condiJons include temperature, voltage, and process variaJons.
System interface characterisJcs include input drivers, input and output loads, and fanout loads.
The environment model directly affects design synthesis results.
Drive CharacterisJcs
To determine the delay and transiJon Jme characterisJcs of incoming signals, Design
Compiler needs informaJon about the external drive strength and the loading at each input
port. Drive strength is the reciprocal of the output drive resistance, and the transiJon delay
at an input port is the product of the drive resistance and the capacitance load of the input
port. Design Compiler uses drive strength informaJon to buffer nets appropriately in the
case of a weak driver.
By default, Design Compiler assumes zero drive resistance on input ports, meaning infinite
drive strength.
Drive CharacterisJcs
By default, Design Compiler assumes zero capaciJve load on input and output ports.
Wire Load Models
Wire load models esJmate the effect of wire length and fanout on the resistance,
capacitance, and area of nets. Design Compiler uses these physical values to calculate wire
delays and circuit speeds.
Semiconductor vendors develop wire load models, based on staJsJcal informaJon specific
to the vendors’ process. The models include coefficients for area, capacitance, and
resistance per unit length, and a fanout-to-length table for esJmaJng net lengths (the
number of fanouts determines a nominal length).
Design Rule Constraints
Design Rule Constraints
MIPS Layout
ICC
The IC Compiler tool is a single, convergent netlist-to-GDSII design tool for chip
designers developing very deep submicron designs.
It takes as input a gate-level netlist, a detailed floorplan, Jming constraints, physical
and Jming libraries, and foundry-process data, and it generates as output a GDSIIformat file of the layout.
ICC Design Flow
• Create floorplan and a power plan.
• Legalized placement of leaf cells and
resolves Jming closure.
• Improves clock skew and clock inserJon
delay.
• Performs global rouJng.
• Filler cells, Antenna diodes, density fills etc.
Centered around three core commands.
Design PreparaJon
The IC Compiler tool uses a Milkyway design library to store your design and its associated
library informaJon.
The IC Compiler tool requires both logic libraries and physical libraries.
Logic Libraries
The IC Compiler tool uses logic libraries to provide Jming and funcJonality informaJon for all
standard cells. In addiJon, logic libraries can provide Jming informaJon for hard macros,
such as RAMs.
The tool supports logic libraries that use nonlinear delay models (NLDMs) and Composite
Current Source (CCS) models and automaJcally selects the Jming models to use, based on
the contents of the logic libraries.
NLDMs do not contain enough informaJon to characterize the delay of a gate driving a
complex RC interconnect network with the accuracy desired by some users. They also
lack the accuracy to fully characterize noise events.
Physical Libraries
The IC Compiler tool uses Milkyway reference libraries and technology files to obtain
physical library informaJon. The Milkyway reference libraries contain physical informaJon
about the standard cells and macro cells in your logic library.
The Milkyway database can contain different representaJons of the same cell, called “views”
of that cell. These are the main types of views used in the IC Compiler tool:
•CEL view: The full layout view of a physical structure such as a via, standard cell, macro, or whole chip;
contains placement, rouJng, pin, and netlist informaJon for the cell.
•FRAM view: An abstract representaJon of a cell used for placement and rouJng; contains only the metal blockages,
allowed via areas, and pins of the cell.
•FILL view: A view of metal fill, which is used for chip finishing and has no logic funcJon, created by the
signoff_metal_fill command in the IC Compiler tool.
•CONN view: A representaJon of the power and ground networks of a cell, created by the PrimeRail or IC Compiler
tool and used by PrimeRail for IR drop and electromigraJon analysis.
•ERR view: A graphical view of physical design rule violaJons found by verificaJon commands in the IC Compiler tool
such as verify_zrt_route or signoff_drc.
Verify Libraries
To achieve good results, you must have high-quality libraries. Before you process your
design, you should use the check_library command to ensure that the logic libraries and
physical libraries are correct and consistent.
check_library verifies the consistency of cell names, pin names, area values,
bus naming convenJons, operaJng condiJon scaling, antenna rules, and so on.
It generates a detailed report on any errors or inconsistencies that are found.
Design PreparaJon
Reading the design
AnnotaJng the Floorplan informaJon
CreaJng Logical Power and Ground connecJon
• Aler you read in the design, you must ensure that there are logical connecJons between the
power and ground nets and the power, ground, and Je-off pins on the cells in your design.
Linking Design
• When the IC Compiler tool performs Jming analysis, each cell instance in the design must
be linked to a cell in the link libraries, which provides its Jming informaJon.
Placement & OpJmizaJon
There are many configuraJon senngs that affect the behavior of placement
and opJmizaJon.
Placement Keepout Margin:
A keepout margin is a region around the boundary of fixed macros in your design
in which no other cells are placed.
Placement & OpJmizaJon
Global Keepout Margin
Placement & OpJmizaJon
Area based placement blockages
The IC Compiler tool supports the following types of area-based placement blockages:
• Hard
A hard blockage prevents the placement of standard cells and hard macros within the specified area during coarse
placement, opJmizaJon, and legalizaJon.
• Hard macro
A hard macro blockage prevents the placement of hard macros within the specified area during coarse placement,
opJmizaJon, and legalizaJon.
• Sol
A sol blockage prevents the placement of standard cells and hard macros within the specified area during coarse
placement, but allows opJmizaJon and legalizaJon to place cells within the specified area.
• ParJal
A parJal blockage limits the cell density in the specified area during coarse placement, but has no effect during
opJmizaJon and legalizaJon.
• Pin
A pin blockage prevents the global router from rouJng in the specified area, and the pin placer from assigning pins to
the area.
Placement & OpJmizaJon
High fanout net synthesis
During placement and opJmizaJon, the IC Compiler tool does not buffer clock nets as
defined by the create_clock command, but it does, by default, buffer other high-fanout
nets, such as resets or scan enables, using a built-in high-fanout synthesis engine.
Placement Area UJlizaJon
U>liza>on
Placement area uJlizaJon, or simply “uJlizaJon,” means the percentage of area available
for placement that is already occupied by placed cells. For example, a uJlizaJon of 80
percent means that 80 percent of the available area is occupied by cells and 20 percent is
empty and can sJll be used for addiJonal cell placement, for movement of cells for
legalizaJon and opJmizaJon, or as an allowance to prevent excessive rouJng congesJon.
Download