Cell Characterization Concepts
Cell Characterization Concepts
Syllabus
!!Overview !!Cell Characterization Attributes !!Delay Modeling !!Timing Arcs !!Lookup Table Templates !!Timing Constraints !!Power Modeling
Overview
!!Objective of Cell Characterization !!Digital Design Tools That Use Standard Cell Models !!Input Data Files Required by Digital Design Tools (Generated by
AccuCell) !!Input Data Files Required by Digital Design Tools (Generated by Other Tools) !!Types of Standard Cell Libraries !!Digital Circuit Representation Inverter !!Analog Circuit Description - Inverter !!Input Views of Circuits Bridging Analog and Digital !!Static Timing Analysis Use of Liberty Format
Input Data Files Required by Digital Design Tools (Generated by Other Tools)
!!.db
Compiled technology libraries in Synopsys internal database format !!Synopsys Milkyway Files - Abstracts or Bounding Boxes !!Cadence Encounter Files - Abstracts or Bounding Boxes !!LEF !!DEF !!GDS
!!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
Inverter
Rise/Fall Diagram
Verilog Language Description of Inverter not i1 (out, in); // basic inverter! not #(5,3)i1 (out, in); // Rise=5ns, Fall=3ns!
10
11
12
13
pin (A) {! ! ! }!
"
lu_table_template(wire_delay_table_template) {! variable_1 : fanout_number;! variable_2 : fanout_pin_capacitance;! variable_3 : driver_slew;! index_1 ("1.0 , 3.0");! index_2 ("0.12, 4.24");! index_3 ("0.1, 2.7, 3.12");! }! lu_table_template(trans_template) {! variable_1 : total_output_net_capacitance;! index_1 ("0.0, 1.5, 2.0, 2.5");! }! wire_load("05x05") {! resistance : 0 ;! capacitance : 1 ;! 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");! }!
14
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)
15
16
!!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.
17
Units
18
Operating Conditions
name
19
!!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.
Introduction to Cell Characterization
20
21
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 cells 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
22
!!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
23
Delay Modeling
!!Total Delay Equation !!Total Delay Scaling !!Slope Delay !!Slew Modeling !!Intrinsic and Transition Delays !!Connect Delay !!Interconnect Delay
24
!!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
25
*Total Delay is typically measured from 50% to 50%, regardless of where transition thresholds are set
26
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: DS = DT(prevstage) !! 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
Introduction to Cell Characterization
27
Slew Modeling
!!Slew is the time it takes for
the voltage value to fall or rise between two designated threshold points on an input, an output, or a bidirectional port !!The designated threshold points must fall within a voltage falling from 1 to 0 or rising from 0 to 1
28
!!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.
29
Connect Delay
!!The connect delay of an
element (DC) is the time it takes the voltage at an input pin to charge after the driving output pin has made a transition !!This delay is also known as time-of-flight delay, which is the time it takes a waveform to travel along a wire
30
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
31
Timing Arcs
!!Timing Arc Concepts !!Combinational Timing Arcs !!Sequential Timing Arcs !!Timing Arcs Between Single and Multiple Pins !!Three-State Timing Arcs !!Edge-Sensitive Timing Arcs !!Preset Arcs !!Clear Arcs !!Defining Delay Arcs With Lookup Tables
32
33
!!slope sensitivity
!! The incremental time delay due to slow change of input signals
34
35
36
37
38
!!falling_edge
!!Identifies a timing arc whose output pin is sensitive to a falling signal at
the input pin
!!These arcs are path-traced; the path tracer propagates only the
active edge (rise or fall) path values along the timing arc
39
Preset Arcs
!!Select
!!timing_type : preset; !!timing_sense : !!positive_unate !!Indicates that the rise arrival time of the arcs source pin is used to
calculate the arcs delay !! This calculation produces the rise arrival time on the arcs endpoint pin !! In the case of slope delays, the source pins rise transition time is added to
the arcs delay !! The source pin is active-high
40
!!non_unate
!!Indicates that the maximum of the rise and fall arrival times of the arcs
source pin is used to calculate the arcs delay !!This calculation produces the maximum arrival time on the arcs endpoint pin !!In the case of slope delays, the maximum of the source pins rise and fall transition times is added to the arcs delay
39
Clear Arcs
!!Clear arcs affect only the fall arrival time of the arcs 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 arcs source pin is used to
calculate the arcs delay !! This calculation produces the fall arrival time on the arcs endpoint pin !! In the case of slope delays, the source pins fall transition time is added to the
arcs delay !! The source pin is active-low
42
!!non_unate
!!Indicates that the maximum of the rise and fall arrival times of the arcs
source pin is used in calculating the arcs delay !! This calculation produces the maximum fall arrival time on the arcs endpoint
pin !! In the case of slope delays, the maximum of the source pins rise and fall transition times is added to the arcs delay
41
44
45
46
47
Timing Constraints
!!Timing Constraint Concepts !!Setup and Hold Constraints !!Non Sequential Setup and Hold Constraints !!Recovery Timing Constraints !!Removal Timing Constraints !!.lib of State Table Flip Flop !!.lib of Type ff D Flip Flop
48
!!skew
!!This is another constraint that the VHDL library generator uses for
simulation.
49
50
47
52
49
54
51
Power Modeling
!!Components of Power Dissipation !!Power Modeling Concepts !!State Dependent Leakage Power !!Modeling Internal Power Lookup Tables !!Internal Power Calculations !!Clock Pin Power !!Output Pin Power !!Power Lookup Tables Descriptions 1D, 2D, 3D !!Internal Power Table for Cell Output !!Calculating Switching Power !!Switching Power Calculations !!Syllabus for Advanced Cell Characterization
56
57
!!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 cells internal power (in the internal_power group)
58
59
60
61
62
63
64
65
- 66 -
67
68
!!TR
!! Toggle rate (number of toggles per unit of time) !!CLoad !! Capacitive load of each net
69
70