File Format
File Format
Introduction to Cell
Characterization
Overview
2
Summary Slide
4
Digital Design Tools That Use Standard Cell
Models
ß Synthesis Tools
ß Place and Routing Systems
ß High level Design Language (HDL) Simulators (Verilog and
VHDL)
ß Floorplanning Tools
ß Physical Placement tools
ß Static Timing Analysis (STA) tools
ß Power Analysis tools
ß Formal Verification tools
ß Automatic Test Program Generation (ATPG) tools
ß Library Compiler
5
Input Data Files Required by Digital Design
Tools (Generated by AccuCell)
6
Input Data Files Required by Digital Design
Tools (Generated by Other Tools)
7
Types of Standard Cell Libraries
ß There are often several cell libraries per semi process that
typically contain 100 to 1,000 cells including:
ß Functions
ß Gates – inverter, AND, NAND, NOR, XOR, AOI, OAI
ß Flops – Flip flops (D, RS, JK), Latches, Scan Flops, Gated Flops
ß I/O Cells – Input pads, Output pads, Bidirectional Pads, Complex
ß Process Options
ß Mask layer options, gate shrinks, # of metals, special diffusions, thick
metal, multiple oxides
ß Cell Options
ß Drive strengths, sets, resets, scans, substrate ties, antenna diodes
ß Optimized for Addressing Tradeoffs Between
ß High speed, high density, low power, low leakage, low voltage, low
noise
ß Cell Libraries are Produced by Foundries, IP Vendors,
Fabless and IDMs
8
Digital Circuit Representation – Inverter
Inverter
IEEE-1164 Verilog Logic States
Strength State Value
U Uninitialized
Driven X Unknown
Driven 0 Low
Driven 1 High
Z High impedance
Resistive W Weak X
Resistive L Weak 0 Rise/Fall
Resistive H Weak 1 Diagram
-- Don’t care
9
Analog Circuit Description - Inverter
Schematic Netlist
*svc_inv.sch
M3 y a gnd gnd nmos L=0.35u W=4.0u
M2 y a vdd vdd pmos L=0.35u W=4.0u
.END
*svc_inv.sch
M3 y a gnd gnd nmos L=0.35u W=4.0u
M2 y a vdd vdd pmos L=0.35u W=4.0u
C1 …..
C2 …..
C3 …..
.END
10
Input Views of Circuits
Bridging Analog and Digital
11
Static Timing Analysis Use of Liberty Format
12
Cell Library Attributes
pin (A) {
ß Pin Types direction : output ;
ß direction function : "X + Y" ;
ß function }
ß Loads lu_table_template(wire_delay_table_template) {
ß Capacitive variable_1 : fanout_number;
variable_2 : fanout_pin_capacitance;
ß Active variable_3 : driver_slew;
index_1 ("1.0 , 3.0");
ß Fanout and wire loads index_2 ("0.12, 4.24");
ß Stimulus }
index_3 ("0.1, 2.7, 3.12");
ß Indexes }
wire_load("05x05") {
ß Load resistance : 0 ;
capacitance : 1 ;
ß Input slope area : 0 ;
slope : 0.186 ;
fanout_length(1,0.39) ;
interconnect_delay(wire_delay_table_template)
values("0.00,0.21,0.3", "0.11,0.23,0.41", \
"0.00,0.44,0.57", "0.10 0.3, 0.41");
}
13
Measurements
ß Capacitance
ß Thresholds/switching points
ß Rise Time
ß Fall Time
ß Delay (propagation + transition = cell) (i.e. timing arcs)
ß Power ( static state dependent leakage, dynamic, short-
circuit, hidden, internal ) (i.e. power arcs)
14
Cell Library Model Quality
ß Structural information
ß Describes each cell’s connectivity to
the outside world, including cell,
bus, and pin descriptions.
ß Functional information
ß Describes the logical function of
every output pin of every cell so that
the digital design tools can map the
logic of a design to the actual
technology.
ß Timing information
ß Describes the parameters for pin-to-
pin timing relationships and delay
calculation for each cell in the
library.
ß Environmental information
ß Describes the manufacturing
process, operating temperature,
supply voltage variations, and
design layout, all of which directly
affect the efficiency of every design.
16
Liberty .lib File Library Level Attributes
library (name) {
technology (name) ;/* library-level attributes */
delay_model : generic_cmos | table_lookup |
cmos2 | piecewise_cmos | dcm |
polynomial ;
Default Units
bus_naming_style : string ;
routing_layers(string);
time_unit : unit ;
voltage_unit : unit ;
current_unit : unit ;
pulling_resistance_unit : unit ;
capacitive_load_unit(value,unit);
leakage_power_unit : unit ;
17
Operating Conditions
ß name
ß The name (WCCOM in the example)
identifies the set of operating
conditions.
ß process
ß The scaling factor accounts for
variations in the outcome of the actual
semiconductor manufacturing steps.
This factor is typically 1.0 for normal
operating conditions.
ß temperature
ß The ambient temperature in which the
design is to operate.
ß voltage
ß The operating voltage of the design
ß tree_type
ß The definition for the environment
interconnect model.
ß power_rail
ß The voltage value for a power supply.
18
Cell Attributes in .lib File
ß Structure
ß The cell, bus, and pin structure that describes each cell’s connection to
the outside world.
ß Function
ß The logical function of every output pin of each cell that digital design
tools use to map the logic of a design to the actual technology.
ß Timing
ß Timing analysis and design optimization information, such as the
parameters for pin-to-pin timing relationships, delay calculations, and
timing constraints for sequential cells.
ß Power
ß Modeling for state-dependent and path-dependent power
ß Other parameters
ß These parameters describe area and design rules.
19
Datasheet View of AND2
20
Pin Attributes
ß direction
ß Defines the direction of each pin. In the example on the previous page, A and B are
defined as input pins and Z as an output pin.
ß capacitance
ß Defines the input pin load (input capacitance) placed on the network. Load units
should be consistent with other capacitance specifications throughout the library.
Typical units of measure for capacitance are picofarads and standardized loads.
ß function
ß Defines the logic function of an output pin in terms of the cell’s input or inout pins. In
the example, the function of pin Z is defined as the logical AND of pins A and B.
ß timing
ß Describes timing groups. The timing groups describe the following:
ß - A pin-to-pin delay
ß - A timing constraint such as setup and hold
ß In the example, the timing group for pin Z describes the delays between pin Z and
pins A and B.
21
Setting Output Load Limits
ß fanout_load
ß Specifies how much to add to the fanout on the net.
ß max_fanout
ß Specifies the maximum number of loads a pin can drive.
ß max_transition
ß Specifies the maximum rise or fall transition time on an output due to total
capacitive load.
ß max_capacitance
ß Specifies the maximum total capacitive load that an output pin can drive.
ß min_fanout
ß Specifies the minimum number of loads that a pin can drive.
ß min_capacitance
ß Specifies the minimum total capacitive load that an output pin can drive.
22
Delay Modeling Concepts
23
Total Delay Equation
ß Dtotal = DI + DS + DC + DT
ß DI
ß Intrinsic delay inherent in the
gate and independent of
ß particular instantiation.
ß DS
ß Slope delay caused by the
ramp time of the input signal.
ß DC
ß Connect media delay to an
input pin (wire delay).
ß DT
ß Transition delay caused by
loading of the output pin.
24
Total Delay Scaling
25
Slope Delay
ß The slope delay of an element (DS) is the incremental time delay caused by slowly
changing input signals. This is not used by AccuCell.
ß In some technologies, this delay is a strong function of the ramp time.
ß D is calculated with the transition delay at the previous output pin, plus a slope
sensitivity factor, as shown here:
ß This equation calculates both the rise and fall delays. Where applicable, use
the “rise” parameter to calculate the rise delay and the “fall” parameter to
calculate the fall delay.
ß DS
ß Transition delay is calculated at the previous stage of logic. Therefore, the
calculation of DS enforces a global order on local analysis.
ß SS
ß Slope sensitivity factor. This factor accounts for the time during which the input
voltage begins to rise but has not reached the threshold level at which channel
conduction begins. The attributes that define it in the timing group of the
driving pin are slope_rise and slope_fall.
ß DT(prevstage)
ß The transition delay calculated at the previous output pin.
26
Slew Modeling
27
Intrinsic and Transition Delays
ß Intrinsic Delay
ß The intrinsic delay of a circuit element (DI) is the portion of the
total delay that is independent of the circuit element’s usage. This
portion is the fixed (or zero load) delay from the input pin to the
output pin of a circuit element.
ß Transition Delay
ß The transition delay of a circuit element is the time it takes the
driving pin to change state. The transition time of the output pin
on a net is a function of the capacitance of all pins on the net and
the capacitance of the interconnect network that ties the pins
together.
ß This equation calculates the rise and fall delays.
28
Connect Delay
29
Interconnect Delay
ß Interconnect delay is
defined as the delay
caused by connect delay
and fanout. It is calculated
as the sum of DT and DC.
ß Include the capacitance
attribute in the pin group of
the input pin.
ß Give zero capacitance to
the pin group of the output
pin.
ß Resistance is attributed
entirely to the output pin.
30
Timing Arcs
33
Timing Arcs Between Single and Multiple Pins
Pin and a Single Related Pin Pin and Multiple Related Pins
35
Edge-Sensitive Timing Arcs
36
Preset Arcs
ß Select
ß timing_type : preset;
ß timing_sense :
ß positive_unate
ß Indicates that the rise arrival time of the arc’s source pin is used to
calculate the arc’s delay. This calculation produces the rise arrival time on
the arc’s endpoint pin. In the case of slope delays, the source pin’s rise
transition time is added to the arc’s delay. The source pin is active-high.
ß negative_unate
ß Indicates that the fall arrival time of the arc’s source pin is used to
calculate the arc’s delay. This calculation produces the rise arrival time on
the arc’s endpoint pin. In the case of slope delays, the source pin’s fall
transition time is added to the arc’s delay. The source pin is active-low.
ß non_unate
ß Indicates that the maximum of the rise and fall arrival times of the arc’s
source pin is used to calculate the arc’s delay. This calculation produces
the maximum arrival time on the arc’s endpoint pin. In the case of slope
delays, the maximum of the source pin’s rise and fall transition times is
added to the arc’s delay.
37
Clear Arcs
ß Clear arcs affect only the fall arrival time of the arc’s endpoint pin. A clear
arc means that you are asserting a logic 0 on the output pin when the
designated related_pin is asserted.
ß Select
ß timing_type : clear;
ß timing_sense :
ß positive_unate
ß Indicates that the fall arrival time of the arc’s source pin is used to calculate the
arc’s delay. This calculation produces the fall arrival time on the arc’s endpoint pin.
In the case of slope delays, the source pin’s fall transition time is added to the arc’s
delay. The source pin is active-low.
ß negative_unate
ß Indicates that the rise arrival time of the arc’s source pin is used to calculate the
arc’s delay. This calculation produces the fall arrival time on the arc’s endpoint pin.
In the case of slope delays, the source pin’s rise transition time is added to the arc’s
delay. The source pin is active-high.
ß non_unate
ß Indicates that the maximum of the rise and fall arrival times of the arc’s source pin
is used in calculating the arc’s delay. This calculation produces the maximum fall
arrival time on the arc’s endpoint pin. In the case of slope delays, the maximum of
the source pin’s rise and fall transition times is added to the arc’s delay.
38
Defining Delay Arcs With Lookup Tables
40
Assigning Values to Lookup Tables
ß Referring to tables
defined in previous
slide
ß Pin a is two
dimensional 4X4
ß Pin b is one
dimensional X4
ß These timing values
are the results of
SmartSpice
.MEASURE
statements within
AccuCell
41
Timing Constraints
42
Setup and Hold Constraints
43
Non Sequential Setup and Hold Constraints
44
Recovery Timing Constraints
45
Removal Timing Constraints
47
.lib of Type ff D Flip Flop
49
Power Modeling
ß Leakage Power
ß Leakage power is the static (or quiescent) power dissipated when a gate
is not switching.
ß Short-Circuit Power
ß Short-circuit or internal power is the power dissipated whenever a pin
makes a transition. This can be handled in two ways:
ß Include the effect of the output capacitance in the internal_power group
(defined in a pin group within a cell group), which gives the output pins zero
capacitance
ß Give the output pins a real capacitance, which causes them to be included in
the switching power, and model only the short-circuit power as the cell’s
internal power (in the internal_power group)
ß Switching Power
ß Switching (or interconnect) power is the power dissipated in the circuit as
a result of a logical transition of the capacitive load. Switching power
(along with internal power) is used to compute the design’s total dynamic
power dissipation.
50
State Dependent Leakage Power
ß Leakage power is
state dependent
based on input pin
state values
51
Modeling Internal Power Lookup Tables
ß You should measure the energy dissipated by varying either input voltage
transition or output load while holding the other constant.
ß Because a table indexed by T input transition times and C output load
capacitances has TxC entries, the cell’s internal power must be
characterized TxC times, once for each input transition time and output
load capacitance combination.
ß For example, if internal power will be modeled by use of a 3x3 table at the
output of the cell, the design will have 9 input voltage transitions—output
load combinations where energy dissipation must be measured.
ß The library group supports a one-, two-, or three-dimensional internal
power lookup table indexed by the total output load capacitances (best
model), the input transition time, or both.
ß NOTE: The input pin power is added to the output pin
power. When you model the library, avoid double counting.
52
Modeling Internal Power Lookup Tables
53
Internal Power Calculations
ß To calculate the internal power for cell U1, use the following
equation:
ß PInt
ß Total internal power for the cell.
ß E
ß Internal energy for the pin.
ß AF
ß Activity factor.
ß Accurate sequential modeling requires a separate table for
the clock and for the output pin the clock controls. The two
tables are used to ensure that clock pin power and output
power are accounted for separately, because a clock pin
often toggles without causing any observable state change
on the output pin.
54
Clock Pin Power
56
Power Lookup Tables Descriptions 1D, 2D, 3D
58
Calculating Switching Power
59
Switching Power Calculations
ß TR
ß Toggle rate (number of toggles per unit of time).
ß CLoad
ß Capacitive load of each net.
60
Syllabus for Advanced Cell Characterization
61