IEEE 1481-2009
$182.54
IEEE Standard for Integrated Circuit (IC) Open Library Architecture (OLA)
Published By | Publication Date | Number of Pages |
IEEE | 2009 | 658 |
Revision Standard – Superseded. Ways for integrated circuit designers to analyze chip timing and power consistently across a broad set of electric design automation (EDA) applications are covered in this standard. Methods by which integrated circuit vendors can express timing and power information once per given technology are also covered. In addition, this standard covers means by which EDA vendors can meet their application performance and capacity needs.
PDF Catalog
PDF Pages | PDF Title |
---|---|
3 | IEEE Std 1481-2009 Front Cover Title Page |
6 | Introduction Notice to users Laws and regulations Copyrights Updating of IEEE documents Errata |
7 | Interpretations Patents |
8 | Participants |
9 | Contents |
17 | Table of Tables |
27 | Table of BNF Syntax |
30 | Table of Figures |
31 | Important Notice 1 Overview 1.1 Scope |
32 | 1.2 Purpose 1.3 Introduction |
33 | 2 Normative references |
34 | 3 Definitions |
43 | 4 Acronyms and abbreviations |
44 | 5 Typographical conventions 5.1 Syntactic elements |
45 | 5.2 Conventions |
46 | 6 DPCS flow 6.1 Overview |
47 | 6.1.1 Procedural interface 6.1.2 Global policies and conventions 6.2 Flow of control |
48 | 6.3 DPCM—application relationships 6.3.1 Technology library 6.3.2 Subrule 6.4 Interoperability |
49 | 7 Delay calculation language (DCL) 7.1 Character set 7.2 Lexical elements 7.2.1 Whitespace 7.2.2 Comments 7.2.3 Tokens 7.2.3.1 Keyword |
52 | 7.2.3.2 Identifier 7.2.3.3 Double quoted character sequence |
53 | 7.2.3.4 Predefined references to Standard Structure fields |
56 | 7.2.3.5 Compiler generated predefined identifiers |
57 | 7.2.3.6 Constant |
58 | 7.2.3.6.1 Predefined constant NIL 7.2.3.6.2 Edge type enumerations |
59 | 7.2.3.6.3 Propagation type enumerations 7.2.3.6.4 Calculation mode enumeration 7.2.3.6.5 Test type enumeration |
60 | 7.2.3.7 String literal 7.2.3.8 Operators 7.2.3.9 Punctuator |
61 | 7.2.3.10 Name 7.2.4 Header names 7.2.5 Preprocessing directives 7.3 Context 7.3.1 Space 7.3.2 Plane 7.3.3 Context operation 7.3.4 Library parallelism |
62 | 7.3.5 Application parallelism 7.4 Data types 7.4.1 Base types 7.4.2 Native data types 7.4.3 Mathematical calculation data types |
63 | 7.4.3.1 C types 7.4.3.2 COMPLEX type 7.4.4 Pointer data types 7.4.4.1 STRING 7.4.4.2 PIN 7.4.4.3 PINLIST 7.4.4.4 VOID 7.4.5 Aggregate data types |
64 | 7.4.5.1 Result types 7.4.5.1.1 TRANSIENT attribute |
65 | 7.4.5.2 Abstract type 7.4.5.3 Statement types |
66 | 7.4.5.3.1 Array types |
67 | 7.4.5.3.2 Modification of data 7.4.5.3.2.1 Var permissions 7.4.5.3.3 Type conversions 7.4.5.3.3.1 Implicit conversions |
68 | 7.4.5.3.3.2 Explicit conversions 7.4.5.3.3.3 Abstract type conversion |
69 | 7.4.5.3.3.4 Transient conversions 7.4.5.3.3.5 SHARED attribute 7.4.5.3.3.6 SYNC attribute 7.5 Identifiers 7.5.1 Name spaces of identifiers 7.5.2 Storage durations of objects |
70 | 7.5.3 Scope of identifiers |
71 | 7.5.4 Linkages of identifiers 7.5.4.1 EXPORT 7.5.4.2 IMPORT 7.5.4.3 FORWARD 7.5.4.4 OPTIONAL 7.5.4.5 Chaining of EXPOSE identifiers 7.6 Operator descriptions 7.6.1 String prefix operator 7.6.2 Explicit string prefix operator |
72 | 7.6.3 Embedded string prefix operator 7.6.4 String prefix semantics 7.6.5 Assignment operator 7.6.6 New operator 7.6.6.1 Memory management |
73 | 7.6.6.2 AGGREGATE directive 7.6.6.3 Destructor statements 7.6.7 SCOPE operator(s) |
74 | 7.6.8 Launch operator 7.6.9 Purity operator |
75 | 7.6.10 Force operator 7.7 Timing propagation |
76 | 7.7.1 Timing checks 7.7.2 Test mode operators 7.7.2.1 CGHT 7.7.2.1.1 CGPW 7.7.2.2 CGST 7.7.2.3 CPW |
77 | 7.7.2.4 CST 7.7.2.5 DHT 7.7.2.6 DIFFERENTIAL_SKEW 7.7.2.7 DPW 7.7.2.8 DST 7.7.2.9 HOLD 7.7.2.10 NOCHANGE |
78 | 7.7.2.11 RECOVERY 7.7.2.12 REMOVAL 7.7.2.13 SETUP 7.7.2.14 SKEW 7.8 Expressions |
79 | 7.8.1 Array subscripting 7.8.2 Statement calls 7.8.3 General syntax 7.8.4 Method statement calls |
80 | 7.8.5 Assign variable reference 7.8.6 Store variable reference 7.8.7 Mathematical expressions |
81 | 7.8.8 Mathematical operators |
82 | 7.8.9 Discrete math expression 7.8.10 INT discrete |
83 | 7.8.11 PINLIST discrete 7.8.12 Logical expressions and operators 7.8.13 MODE expressions 7.8.13.1 Pin range 7.8.13.2 Pin range syntax |
84 | 7.8.13.3 Pin range semantics 7.8.13.4 Constraints |
85 | 7.8.14 Embedded C code expressions |
86 | 7.8.15 Computation order 7.8.15.1 Precedence for mathematical expressions 7.8.15.2 Precedence for logical expressions 7.8.15.3 Passed parameters |
87 | 7.8.15.4 WHEN clause 7.8.15.4.1 Break 7.8.15.4.2 Continue 7.8.15.5 REPEAT – UNTIL clause 7.8.15.6 WHILE loops 7.8.15.7 FOR clause 7.8.15.8 LOCK clause 7.8.15.8.1 WRITE_LOCK 7.8.15.8.2 READ_LOCK |
88 | 7.8.15.8.3 WAIT 7.8.15.8.4 BUSY 7.8.15.8.5 RETRY 7.9 DCL mathematical statements 7.9.1 Statement names 7.9.2 Clauses 7.9.2.1 PASSED clause |
89 | 7.9.2.2 RESULT clause 7.9.2.3 Result prototypes 7.9.2.3.1 Conditional logic |
90 | 7.9.2.4 Default variable |
91 | 7.9.2.5 LOCAL clause 7.9.2.5.1 LOCAL conditional logic 7.9.2.5.2 Local variables 7.9.2.5.3 Local variable definition 7.9.2.5.4 Local clause placement |
92 | 7.9.2.6 DEFAULT clause 7.9.3 Modifiers 7.9.3.1 Statement purity |
93 | 7.9.3.2 Statement consistency 7.9.3.3 Locking modifiers |
94 | 7.9.3.3.1 AUTOLOCK 7.9.3.3.2 LOCK 7.9.3.4 Context modifiers 7.9.3.4.1 COMMON 7.9.3.5 Access modifiers 7.9.3.5.1 SHARED 7.9.3.5.2 SYNC 7.9.4 Prototypes |
95 | 7.9.4.1 Prototype modifiers 7.9.4.2 TABLEDEF prototype |
96 | 7.9.4.3 LOAD_TABLE, UNLOAD_TABLE and WRITE_TABLE prototypes 7.9.4.4 ADD_ROW and DELETE_ROW prototypes |
97 | 7.9.4.5 DELAY and SLEW prototypes 7.9.4.6 CHECK prototype 7.9.4.7 SUBMODEL prototype 7.9.5 Statement failure 7.9.6 Type definition statements 7.9.6.1 TYPEDEF |
98 | 7.9.6.1.1 TYPEDEF RESULT clause 7.9.7 Interfacing statements 7.9.7.1 EXPOSE statement |
99 | 7.9.7.1.1 FIRST modifier 7.9.7.1.2 LEADING modifier 7.9.7.1.3 TRAILING modifier 7.9.7.1.4 LAST modifier 7.9.7.2 EXTERNAL statement |
100 | 7.9.7.2.1 PROXY 7.9.7.3 INTERNAL statement 7.9.8 DCL to C communication 7.9.8.1 Built-in label |
101 | 7.9.8.2 dcm_rc 7.9.9 Constant statement 7.9.10 Calculation statements 7.9.10.1 CALC statement |
102 | 7.9.10.2 ASSIGN statement 7.9.10.3 DELAY statement 7.9.10.3.1 EARLY and LATE clauses and result variables 7.9.10.3.2 DEFAULT modifier for DELAY statements |
103 | 7.9.10.4 SLEW statement 7.9.10.4.1 EARLY and LATE clauses and result fields 7.9.10.4.2 DEFAULT modifier for slew statements 7.9.10.5 CHECK |
104 | 7.9.11 METHOD statement 7.9.11.1 Default action statement |
105 | 7.9.11.2 Selection of action statement 7.10 Predefined types 7.10.1 ACTIVITY_HISTORY_TYPE 7.10.1.1 next 7.10.1.2 refobj 7.10.1.3 reserved 7.10.1.4 activityCode |
106 | 7.10.2 HISTORY_TYPE 7.10.2.1 info |
107 | 7.10.2.2 activity 7.10.2.3 kind 7.10.3 LOAD_HISTORY_TYPE 7.10.3.1 ruleHistory 7.10.3.2 reserved1, reserved2, reserved3, reserved4 7.10.3.3 techName 7.10.4 CELL_LIST_TYPE |
108 | 7.10.5 TECH_TYPE 7.10.5.1 TECH_TYPE field: name 7.10.5.2 TECH_TYPE field: DEFAULT 7.10.5.3 TECH_TYPE fields: dcmInfo and reserved 7.10.6 DELAY_REC_TYPE 7.10.7 SLEW_REC_TYPE 7.10.8 CHECK_REC_TYPE |
109 | 7.10.9 CCDB_TYPE 7.10.10 CELL_DATA_TYPE 7.10.11 PCDB_TYPE 7.10.12 PIN_ASSOCIATION |
110 | 7.10.13 PATH_DATA_TYPE 7.10.14 STD STRUCT 7.11 Predefined variables 7.11.1 ARGV |
111 | 7.11.2 CONTROL_PARM 7.12 Built-in function calls 7.12.1 ABS 7.12.2 Complex number components 7.12.2.1 IMAG_PART 7.12.2.2 REAL_PART |
112 | 7.12.3 EXPAND 7.12.4 Array functions 7.12.4.1 IS_EMPTY 7.12.4.2 NUM_DIMENSIONS 7.12.4.3 NUM_ELEMENTS 7.12.5 Messaging functions 7.12.5.1 ISSUE_MESSAGE |
113 | 7.12.5.1.1 Arguments 7.12.5.1.2 Result |
114 | 7.12.5.2 PRINT_VALUE 7.12.5.3 SOURCE_STRANDS_MSB 7.12.5.4 SOURCE_STRANDS_LSB 7.12.5.5 SINK_STRANDS_MSB 7.12.5.6 SINK_STRANDS_LSB 7.13 Tables |
115 | 7.13.1 TABLEDEF statement 7.13.1.1 QUALIFIERS clause |
116 | 7.13.1.2 DATA clause 7.13.1.3 KEY clause 7.13.1.4 OVERRIDE modifier 7.13.1.5 SUPPRESS modifier 7.13.1.6 DESCRIPTOR modifier |
117 | 7.13.1.7 DYNAMIC modifier 7.13.1.8 DEFAULT clause 7.13.2 Table visibility rules 7.13.3 TABLE statement |
118 | 7.13.3.1 Static tables |
119 | 7.13.3.2 PROTOTYPE_RECORD row 7.13.3.3 DEFAULT row 7.13.3.4 Default operator as table row qualifier 7.13.3.5 Default operator in a table reference 7.13.3.6 String prefix operator |
120 | 7.13.3.7 Qualifier matching 7.13.3.8 COMPRESSED modifier 7.13.3.9 Duplicate table rows 7.13.3.10 Dynamic tables 7.13.3.10.1 Dynamic table syntax |
121 | 7.13.3.10.2 Limitations 2.1.1.1.1 Dynamic table manipulation 7.13.4 LOAD_TABLE statement 7.13.4.1 Restrictions 7.13.4.2 TABLEDEF clause 7.13.4.3 Result value |
122 | 7.13.4.4 FILE clause 7.13.4.5 SUFFIX clause 7.13.4.6 FILTER clause 7.13.4.7 PATH clause 7.13.4.8 DEFAULT clause 7.13.4.9 REPLACE modifier 7.13.4.10 Descriptor |
123 | 7.13.5 UNLOAD_TABLE statement 7.13.5.1 Descriptor 7.13.5.2 APPENDABLE modifier 7.13.5.3 BINARY modifier |
124 | 7.13.5.4 FREE_SPACE modifier 7.13.5.5 INTERNAL modifier 7.13.6 WRITE_TABLE statement 7.13.6.1 Descriptor 7.13.7 ADD_ROW statement 7.13.7.1 TABLEDEF clause |
125 | 7.13.7.2 Passed parameters 7.13.7.3 DEFAULT clause 7.13.7.4 REPLACE modifier 7.13.7.5 Result value 7.13.7.5.1 Descriptor 7.13.8 DELETE_ROW statement 7.13.8.1 TABLEDEF clause 7.13.8.2 Passed parameters |
126 | 7.13.8.3 Result value 7.13.8.4 DEFAULT clause 7.13.8.4.1 Descriptor 7.14 Built-in library functions 7.14.1 Numeric conversion functions 7.14.1.1 floor 7.14.1.2 ifloor |
127 | 7.14.1.3 ceil 7.14.1.4 iceil 7.14.1.5 rint 7.14.1.6 round 7.14.1.7 trunc |
128 | 7.14.1.8 itrunc 7.14.2 Tech_family functions 7.14.2.1 map_tech_family 7.14.2.2 current_tech_type 7.14.2.3 subrule_tech_type 7.14.2.4 is_expose_in_tech |
129 | 7.14.2.5 get_technology_list 7.14.3 Trigonometric functions 7.14.3.1 cos 7.14.3.2 sin 7.14.3.3 tan 7.14.4 Context manipulation functions |
130 | 7.14.4.1 new_plane 7.14.4.2 get_plane_name 7.14.4.3 get_space_name 7.14.4.4 get_max_spaces 7.14.4.5 get_max_planes 7.14.4.6 get_space_coordinate |
131 | 7.14.4.7 get_plane_coordinate 7.14.4.8 set_busy_wait 7.14.5 Debug controls 7.14.5.1 change_debug_level |
132 | 7.14.5.2 get_caller_stack 7.14.6 Utility functions 7.14.6.1 GET_LOAD_HISTORY 7.14.6.1.1 loadHistory 7.14.6.1.2 reserved 7.14.6.2 GET_CELL_LIST 7.14.7 Table functions 7.14.7.1 GET_ROW_COUNT |
133 | 7.14.7.2 STEP_TABLE 7.14.8 Subrule controls 7.14.8.1 GET_LOAD_PATH |
134 | 7.14.8.2 GET_RULE_NAME 7.14.8.3 ADD_RULE 7.14.8.3.1 ruleName 7.14.8.3.2 rulePath 7.14.8.3.3 tablePath 7.14.8.3.4 controlParm 7.15 Library control statements |
135 | 7.15.1 Meta-variables 7.15.2 TECH_FAMILY 7.15.3 RULENAME 7.15.4 CONTROL_PARM 7.15.5 SUBRULE statement |
136 | 7.15.5.1 OPTIONAL modifier 7.15.5.2 RULE_PATH clause 7.15.5.3 TABLE_PATH clause 7.15.6 Path list expansion rules |
137 | 7.15.7 SUBRULES statement 7.15.7.1 FILE_PATH clause 7.15.7.2 FILE clause 7.15.8 Control file 7.15.8.1 Directives 7.15.8.2 Default record fields |
138 | 7.15.8.3 Load and default record fields 7.15.8.4 Using a default value in the load or default record |
139 | 7.15.9 TECH_FAMILY statement 7.15.9.1 TECH_FAMILY name 7.15.9.2 MAIN option 7.15.10 SUBRULE and SUBRULES statements |
140 | 7.16 Modeling 7.16.1 Types of modeling 7.16.1.1 Timing 7.16.1.2 Function modeling |
141 | 7.16.1.3 Vector power and vector timing modeling 7.16.2 Model organization 7.16.2.1 MODEL statement 7.16.2.1.1 Model name matching |
142 | 7.16.3 MODELPROC statement 7.16.3.1 MODELPROC flow of control |
143 | 7.16.3.2 MONOLITHIC modifier 7.16.4 SUBMODEL statement 7.16.4.1 Model consistency information |
144 | 7.16.4.2 The PASSED clause 7.16.4.3 The RESULT clause 7.16.4.4 KEY clause 7.16.4.5 USING clause 7.16.4.6 CONSISTENT clause 7.16.4.7 The END clause 7.16.5 Modeling statements 7.16.5.1 PATH_SEPARATOR statement |
145 | 7.16.5.2 PATH statement |
146 | 7.16.5.2.1 VAR clause 7.16.5.2.2 Path list 7.16.5.2.3 FROM clause |
147 | 7.16.5.2.4 TO clause 7.16.5.2.5 PROPAGATION sequence |
148 | 7.16.5.2.6 Data type sequence 7.16.5.2.7 DATA_TYPE clause |
149 | 7.16.5.2.8 SOURCE_STRANDS clause |
150 | 7.16.5.2.9 SINK_STRANDS clause 7.16.5.2.10 ROUTE clause 7.16.5.3 BUS statement 7.16.5.4 TEST statement |
151 | 7.16.5.4.1 Compare_list 7.16.5.4.2 COMPARE clause |
152 | 7.16.5.4.3 EDGES clause 7.16.5.4.4 TEST_TYPE clause |
153 | 7.16.5.4.5 CHECKS clause 7.16.5.4.6 METHODS clause |
154 | 7.16.5.4.7 STORE clause 7.16.6 TEST_BUS statement 7.16.7 INPUT statement |
155 | 7.16.7.1 Propagation clause 7.16.7.2 METHODS clause |
156 | 7.16.7.3 STORE clause |
158 | 7.16.7.4 KEY store modifier 7.16.8 OUTPUT statement |
159 | 7.16.8.1 METHODS clause 7.16.8.2 STORE clause 7.16.9 DO statement 7.16.9.1 DO statement scope 7.16.9.2 DO statement nodes 7.16.9.3 Looping constructs 7.16.9.4 FOR loops |
160 | 7.16.9.5 WHILE loops 7.16.9.6 REPEAT loops 7.16.9.7 BREAK processing 7.16.9.8 CONTINUE processing |
161 | 7.16.9.9 Statement reference 7.16.9.10 DO statement brace scope |
162 | 7.16.9.11 Node_sequence grammar 7.16.9.11.1 NODE clause 7.16.9.11.2 COND_NODE clause |
163 | 7.16.9.11.3 PIN clause 7.16.9.11.4 REPLACE operator 7.16.9.11.5 PRIMITIVE clause |
177 | 7.16.9.11.6 MODIFIERS clause |
180 | 7.16.9.11.7 OBJTYPE clause |
181 | 7.16.9.12 Function_sequence grammar 7.16.9.12.1 FUNCTION clause 7.16.9.13 Vector_sequence grammar |
182 | 7.16.9.14 VECTOR clause 7.16.9.15 IMPORT and EXPORT sequences |
183 | 7.16.10 PROPERTIES statement |
184 | 7.16.11 SETVAR statement |
185 | 7.17 Embedded C code 7.18 Definition of a subrule |
186 | 7.19 Pragma 7.19.1 IMPORT_EXPORT_TAG |
187 | 8 Power modeling and calculation 8.1 Power overview |
188 | 8.2 Caching state information 8.2.1 Initializing the state cache 8.2.2 State cache lifetime 8.3 Caching load and slew information |
189 | 8.3.1 Loading the load and slew cache 8.3.2 Load and slew cache lifetime 8.4 Simulation switching events |
190 | 8.5 Partial swing events 8.6 Power calculation |
192 | 8.7 Accumulation of power consumption by the design 8.8 Group Pin List syntax and semantics 8.8.1 Syntax 8.8.2 Semantics 8.8.2.1 Interpreting ANYIN or ANYOUT in a GroupPinString |
193 | 8.8.2.2 Interpreting ALLIN or ALLOUT in a GroupPinString 8.8.3 Example 8.9 Group Condition List syntax and semantics 8.9.1 Syntax 8.9.2 Semantics |
194 | 8.9.3 Example 8.10 Sensitivity list syntax and semantics 8.10.1 Syntax 8.10.2 Semantics |
195 | 8.10.3 Example 8.11 Group condition language 8.11.1 Syntax |
196 | 8.11.2 Semantics 8.11.2.1 Semantic rules for PinName and PinNameId 8.11.2.1.1 Interpreting ANYIN and ANYOUT in a condition_expression 8.11.2.1.2 Interpreting ALLIN and ALLOUT in a condition_expression 8.11.2.2 Semantic rules for PinName_Identifier (named P id ) |
197 | 8.11.2.3 Semantic rules for PinName_Level (named P level ) 8.11.2.4 Semantic rules for PinName_State (shorthand operators) 8.11.2.5 Condition expression labels 8.11.2.6 Condition expression operators |
198 | 8.11.2.6.1 Semantics for Z (high Z) state 8.11.2.6.2 Semantics for X (unknown) state 8.11.3 Condition expression operator precedence 8.11.4 Condition expressions referencing pin states and transitions 8.11.5 Semantics of nonexistent pins |
200 | 9 Application and library interaction 9.1 behavior model domain 9.2 vectorTiming and vectorPower model domains 9.2.1 Power unit conversion |
201 | 9.2.2 Vector power calculation |
202 | 10 Procedural interface (PI) 10.1 Overview 10.1.1 DPCM 10.1.2 Application 10.1.3 libdcmlr |
203 | 10.2 Control and data flow 10.3 Architectural requirements 10.4 Data ownership technique 10.4.1 Persistence of data passed across the PI |
204 | 10.4.1 Data cache guidelines for the DPCM 10.4.2 Application/DPCM interaction 10.4.3 Application initializes message/memory handling 10.4.4 Application loads and initializes the DPCM |
205 | 10.4.5 Application requests timing models for cell instances 10.5 Model domain issues 10.5.1 Model domain selection 10.5.2 Model domain determination 10.5.3 DPCM invokes application modeling callback functions |
206 | 10.5.4 Application requests propagation delay |
207 | 10.5.5 DPCM calls application EXTERNAL functions 10.6 Reentry requirements 10.7 Application responsibilities when using a DPCM 10.7.1 Standard Structure rules 10.7.2 User object registration |
208 | 10.7.3 Selection of early and late slew values 10.7.4 Semantics of slew values |
209 | 10.7.5 Slew calculations 10.8 Application use of the DPCM 10.8.1 Initialization of the DPCM 10.8.1.1 Standard Structure management 10.8.1.2 Tech_family |
210 | 10.8.2 Context creation 10.8.3 Dynamic linking 10.8.3.1 Linking order |
211 | 10.8.4 Subrule initialization 10.8.5 Use of the DPCM 10.8.6 Application control |
212 | 10.8.7 Application execution 10.8.8 Termination of DPCM 10.9 DPCM library organization 10.9.1 Multiple technologies |
213 | 10.9.2 Model names 10.9.3 DPCM error handling 10.10 C level language for EXPOSE and EXTERNAL functions 10.10.1 Integer return code |
214 | 10.10.2 The Standard Structure pointer 10.10.3 Result structure pointer 10.10.4 Passed arguments 10.10.5 DCL array indexing 10.10.6 Conversion to C data types |
215 | 10.10.7 include files |
216 | 10.11 PIN and BLOCK data structure requirements 10.12 DCM_STD_STRUCT Standard Structure |
219 | 10.12.1 Alternate semantics for Standard Structure fields |
220 | 10.12.2 Reserved fields 10.12.3 Standard Structure value restriction 10.13 DCMTransmittedInfo structure 10.14 Environment or user variables 10.15 Procedural interface (PI) functions summary |
221 | 10.15.1 Expose functions |
229 | 10.15.2 External functions |
232 | 10.15.3 Deprecated functions |
235 | 10.16 Implicit functions 10.16.1 libdcmlr |
236 | 10.16.2 Run-time library utility functions 10.16.2.1 Module control functions 10.16.3 Memory control functions |
238 | 10.16.4 Message and error control functions 10.16.5 Calculation functions 10.16.6 Modeling functions |
239 | 10.17 PI function table description 10.17.1 Arguments |
240 | 10.17.1.1 Standard Structure fields 10.17.2 DCL syntax 10.17.3 C syntax 10.18 PI function descriptions 10.18.1 Interconnect loading related functions 10.18.1.1 appGetTotalLoadCapacitanceByPin |
241 | 10.18.1.2 appGetTotalLoadCapacitanceByName 10.18.1.3 appGetTotalPinCapacitanceByPin |
242 | 10.18.1.4 appGetTotalPinCapacitanceByName 10.18.1.5 appGetSourcePinCapacitanceByPin |
243 | 10.18.1.6 appGetSourcePinCapacitanceByName 10.18.1.7 dpcmGetDefCellSize |
244 | 10.18.1.8 appGetCellCoordinates 10.18.1.9 appGetCellOrientation |
245 | 10.18.1.10 dpcmGetEstLoadCapacitance |
246 | 10.18.1.11 dpcmGetEstWireCapacitance 10.18.1.12 dpcmGetEstWireResistance |
247 | 10.18.1.13 dpcmGetPinCapacitance 10.18.1.14 dpcmGetCellIOlists 10.18.2 Interconnect delay related functions |
248 | 10.18.2.1 appGetRC 10.18.2.2 dpcmGetDelayGradient |
249 | 10.18.2.3 dpcmGetSlewGradient |
250 | 10.18.2.4 dpcmGetEstimateRC 10.18.2.5 dpcmGetDefPortSlew 10.18.2.6 dpcmGetDefPortCapacitance |
251 | 10.18.3 Functions accessing netlist information 10.18.3.1 appGetNumDriversByPin 10.18.3.2 appGetNumDriversByName |
252 | 10.18.3.3 appForEachParallelDriverByPin |
254 | 10.18.3.4 appForEachParallelDriverByName |
255 | 10.18.3.5 appGetNumPinsByPin 10.18.3.6 appGetNumPinsByName |
256 | 10.18.3.7 appGetNumSinksByPin 10.18.3.8 appGetNumSinksByName |
257 | 10.18.3.9 dpcmAddWireLoadModel |
258 | 10.18.3.10 dpcmGetWireLoadModel 10.18.3.11 dpcmGetWireLoadModelForBlockSize |
259 | 10.18.3.12 appGetInstanceCount 10.18.4 Functions exporting limit information |
260 | 10.18.4.1 dpcmGetCapacitanceLimit 10.18.4.2 dpcmGetSlewLimit 10.18.4.3 dpcmGetXovers |
261 | 10.18.5 Functions getting/setting model information 10.18.5.1 dpcmGetFunctionalModeArray |
262 | 10.18.5.2 dpcmGetBaseFunctionalMode 10.18.5.3 appGetCurrentFunctionalMode |
263 | 10.18.5.4 dpcmGetControlExistence |
264 | 10.18.5.5 dpcmSetLevel |
265 | 10.18.5.5.1 Accuracy levels 10.18.5.6 dpcmGetLibraryAccuracyLevelArrays |
266 | 10.18.5.7 dpcmSetLibraryAccuracyLevel 10.18.5.8 dpcmGetExposePurityAndConsistency |
267 | 10.18.5.9 dpcmGetRailVoltageArray |
268 | 10.18.5.10 dpcmGetBaseRailVoltage 10.18.5.11 appGetCurrentRailVoltage |
269 | 10.18.5.12 dpcmGetWireLoadModelArray 10.18.5.13 dpcmGetBaseWireLoadModel |
270 | 10.18.5.14 appGetCurrentWireLoadModel 10.18.5.15 dpcmGetBaseTemperature 10.18.5.16 dpcmGetBaseOpRange |
271 | 10.18.5.17 dpcmGetOpRangeArray 10.18.5.18 appGetCurrentTemperature |
272 | 10.18.5.19 appGetCurrentOpRange 10.18.5.20 dpcmGetTimingStateArray |
273 | 10.18.5.21 appGetCurrentTimingState |
274 | 10.18.6 Functions importing instance name information 10.18.6.1 dpcmGetCellList |
275 | 10.18.6.2 appGetCellName 10.18.6.3 appGetHierPinName 10.18.6.4 appGetHierBlockName |
276 | 10.18.6.5 appGetHierNetName 10.18.7 Process information functions 10.18.7.1 dpcmGetThresholds |
277 | 10.18.7.2 appGetThresholds 10.18.8 Miscellaneous standard interface functions |
278 | 10.18.8.1 appGetExternalStatus 10.18.8.2 appGetVersionInfo 10.18.8.3 appGetResource |
279 | 10.18.8.4 dpcmGetRuleUnitToSeconds 10.18.8.5 dpcmGetRuleUnitToOhms |
280 | 10.18.8.6 dpcmGetRuleUnitToFarads 10.18.8.7 dpcmGetRuleUnitToHenries |
281 | 10.18.8.8 dpcmGetRuleUnitToWatts 10.18.8.9 dpcmGetRuleUnitToJoules |
282 | 10.18.8.10 dpcmGetTimeResolution 10.18.8.11 dpcmGetParasiticCoordinateTypes |
283 | 10.18.8.12 dpcmIsSlewTime 10.18.8.13 dpcmDebug |
284 | 10.18.8.14 dpcmGetVersionInfo 10.18.8.15 dpcmHoldControl |
285 | 10.18.8.16 dpcmFillPinCache |
286 | 10.18.8.17 dpcmFreePinCache 10.18.8.18 appRegisterCellInfo |
287 | 10.18.9 Power-related functions 10.18.9.1 dpcmGetCellPowerInfo |
288 | 10.18.9.2 dpcmGetCellPowerWithState 10.18.9.3 dpcmGetAETCellPowerWithSensitivity |
290 | 10.18.9.4 dpcmGetPinPower 10.18.9.5 dpcmAETGetSettlingTime |
291 | 10.18.9.6 dpcmAETGetSimultaneousSwitchTime 10.18.9.7 dpcmGroupGetSettlingTime |
292 | 10.18.9.8 dpcmGroupGetSimultaneousSwitchTime 10.18.9.9 dpcmCalcPartialSwingEnergy |
293 | 10.18.9.10 dpcmSetInitialState 10.18.9.11 dpcmFreeStateCache |
294 | 10.18.9.12 appGetStateCache 10.18.9.13 dpcmGetNetEnergy |
295 | 10.19 Application context 10.19.1 pathData association 10.20 Application and library interaction |
296 | 10.20.1 behavior model domain |
297 | 10.20.2 vectorTiming and vectorPower model domains 10.20.3 Power unit conversion 10.20.4 Vector power calculation |
298 | 10.21 Parasitic analysis 10.21.1 Assumptions 10.21.2 Parasitic networks 10.21.3 Basic definitions |
299 | 10.21.3.1 Logical pins and internal nodes 10.21.3.2 Physical ports 10.21.3.3 Nodes 10.21.3.4 Terminating points 10.21.3.5 Parasitic elements 10.21.3.6 Subnets |
300 | 10.21.4 Parasitic element data structure |
302 | 10.21.4.1 elementType 10.21.4.2 Node index variable values |
303 | 10.21.4.3 Parasitic element values 10.21.4.4 Clamping diodes |
304 | 10.21.4.5 ownerPrivate pointer 10.21.5 Coordinates 10.21.6 Parasitic subnets |
305 | 10.21.6.1 Changed 10.21.6.2 parasiticElementArray |
306 | 10.21.6.3 portMap 10.21.6.4 nodeMap 10.21.6.5 nodeTypeList 10.21.6.6 Link pointers 10.21.6.7 techFamily 10.21.6.8 elementPosition 10.21.6.9 ownerPrivate pointer |
307 | 10.21.6.10 Linked lists of subnets |
309 | 10.21.6.11 Parasitic subnet structure construction 10.21.6.12 dpcmCreateSubnetStructure |
310 | 10.21.6.13 Example array 10.21.6.14 dpcmGetDefaultInterconnectTechnology |
311 | 10.21.6.15 dpcmScaleParasitics |
312 | 10.21.6.16 extractionOpPointIndex 10.21.6.17 positiveExtractionVoltage 10.21.6.18 negativeExtractionVoltage 10.21.6.19 extractionTemperature 10.21.6.20 extractionProcessPoint 10.21.7 Pin parasitics |
313 | 10.21.7.1 dpcmGetSinkPinParasitics |
314 | 10.21.7.2 dpcmGetSourcePinParasitics 10.21.7.3 dpcmGetPortNames |
315 | 10.21.8 Modeling internal nodes |
316 | 10.21.8.1 Mapping parasitic subnet nodes to model nodes 10.21.8.2 dpcmIdentifyInternalNode |
317 | 10.21.9 Load and interconnect models |
318 | 10.21.9.1 dpcmBuildLoadModels |
319 | 10.21.9.2 dpcmBuildInterconnectModels 10.21.9.3 appGetInterconnectModels |
320 | 10.21.9.4 appGetLoadModels |
321 | 10.21.10 Obtaining parasitic networks 10.21.10.1 appGetParasiticNetworksByPin 10.21.10.2 appGetParasiticNetworksByName |
322 | 10.21.11 Persistent storage of load and interconnect models 10.21.11.1 Application save and restore |
323 | 10.21.11.1.1 dpcmPassivateLoadModels 10.21.11.1.2 dpcmPassivateInterconnectModels |
324 | 10.21.11.1.3 dpcmRestoreLoadModels 10.21.11.1.4 dpcmRestoreInterconnectModels |
325 | 10.21.12 Calculating effective capacitances and driving resistances 10.21.12.1 appGetCeff 10.21.12.2 dpcmCalcCeff |
326 | 10.21.12.3 dpcmCalcSteadyStateResistanceRange |
327 | 10.21.12.4 dpcmCalcTristateResistanceRange 10.21.12.5 appSetCeff |
328 | 10.21.13 Parasitic estimation |
329 | 10.21.13.1 Shapes 10.21.13.1.1 dpcmCalcCouplingCapacitance |
330 | 10.21.13.1.2 dpcmCalcSubstrateCapacitance |
331 | 10.21.13.1.3 dpcmCalcSegmentResistance 10.21.13.2 Layer definitions |
332 | 10.21.13.2.1 dpcmGetLayerArray 10.21.13.2.2 dpcmGetRuleUnitToMeters |
333 | 10.21.13.2.3 dpcmGetRuleUnitToAmps 10.21.14 Threshold voltages 10.21.14.1 appGetDriverThresholds |
334 | 10.21.15 Obtaining aggressor window overlaps 10.21.15.1 appGetAggressorOverlapWindows |
336 | 10.21.15.2 appSetAggressorInteractWindows |
337 | 10.21.15.3 Modeling the effect of propagated noise on delay |
338 | 10.21.15.4 appGetOverlapNWFs |
339 | 10.21.15.5 appSetDriverInteractWindows |
340 | 10.21.15.6 dpcmCalcOutputResistances |
341 | 10.22 Noise analysis |
342 | 10.22.1 Types of noise 10.22.1.1 noiseType 10.22.1.1.1 dpcmGetLibraryNoiseTypesArray |
343 | 10.22.2 Noise models |
344 | 10.22.2.1 appNewNoiseCone |
345 | 10.22.2.2 Interconnect noise cones 10.22.2.3 Modeling internal nodes 10.22.3 Noise waveforms |
348 | 10.22.3.1 dpcmGetPWFarray |
349 | 10.22.3.2 dpcmCreatePWF |
350 | 10.22.3.3 dpcmCopyNWFarray 10.22.3.4 dpcmCopyPWFarray 10.22.3.5 dpcmCreatePWFdriverModel |
351 | 10.22.3.6 dpcmGetPWFdriverModelArray |
352 | 10.22.4 Noise network models |
353 | 10.22.4.1 Noise pin parasitics |
354 | 10.22.4.1.1 dpcmGetSinkPinNoiseParasitics |
355 | 10.22.4.1.2 dpcmGetSourcePinNoiseParasitics 10.22.4.1.3 dpcmBuildNoiseInterconnectModels |
356 | 10.22.4.1.4 dpcmBuildNoiseLoadModels |
357 | 10.22.5 Calculating composite noise at cell inputs 10.22.5.1 driverPinNoise |
359 | 10.22.5.1.1 dpcmCalcInputNoise |
360 | 10.22.6 Calculating composite noise at cell outputs 10.22.6.1 relatedPinNoise |
362 | 10.22.6.1.1 dpcmCalcOutputNoise |
363 | 10.22.6.2 Handling parallel drivers 10.22.6.2.1 appForEachNoiseParallelDriver |
364 | 10.22.6.2.2 dpcmSetParallelRelatedNoise 10.22.6.2.3 appSetParallelOutputNoise 10.22.7 Setting noise budgets |
365 | 10.22.7.1 dpcmSetNoiseLimit 10.22.8 Reporting noise violations 10.22.8.1 noiseViolationInfo |
366 | 10.22.8.1.1 appSetNoiseViolation |
367 | 10.22.8.1.2 dpcmGetNoiseViolationDetails |
368 | 10.23 Delay and slew calculations for differential circuits 10.23.1 Sample figures |
369 | 10.23.2 appGetArrivalOffsetsByName |
370 | 10.23.2.1 appGetArrivalOffsetArraysByName 10.23.3 API extensions for function modeling |
371 | 10.23.3.1 Standard Structure extensions 10.23.3.2 Node representation 10.23.3.3 Path or arc representation 10.23.3.4 PathDataBlock data structure |
372 | 10.23.3.5 Arc ordering |
373 | 10.23.3.6 Priority operation |
374 | 10.23.3.7 Precedence |
375 | 10.23.3.8 Boolean assignment operation 10.23.3.8.1 Nonblocking assignments 10.23.3.8.2 Blocking assignments |
376 | 10.23.3.8.3 Strand ranges 10.23.3.8.4 Buses 10.23.3.8.5 Fanout distributions |
377 | 10.23.3.8.6 Bundling 10.23.3.9 Extensions for retain modeling 10.23.3.10 Extensions for skew testing |
378 | 10.23.4 Explicit APIs for user-defined primitives 10.23.4.1 dpcmPerformPrimitive |
379 | 10.23.4.2 appGetArcStructure 10.23.4.3 dpcmGetNodeSensitivity |
380 | 10.23.5 APIs for hierarchy 10.23.5.1 Direct callback base hierarchy 10.23.5.1.1 dpcmModelMoreFunctionDetail 10.23.6 Built-in APIs for function modeling 10.23.6.1 LOCATE_INPUT |
381 | 10.23.6.2 LOCATE_OUTPUT 10.23.6.3 LOCATE_NODE 10.23.7 API Extensions for VECTOR modeling 10.23.7.1 Vector domains 10.23.7.2 Standard Structure fields for VECTOR clause in vectorTiming domain 10.23.7.3 VECTOR clause for delay and slew 10.23.7.4 VECTOR clause for timing check |
382 | 10.23.7.5 Vector target node generation 10.23.8 APIs for XWF |
384 | 10.23.8.1 XWF definition 10.23.8.2 Freeing XWF memory allocation 10.23.8.3 XWF API definitions 10.23.8.3.1 appSetXWF |
385 | 10.23.8.3.2 appGetXWF 10.23.8.3.3 dpcmCalcXWF |
386 | 10.23.9 Extensions and changes to voltages and temperature APIs 10.23.9.1 dpcmGetCellRailVoltageArray |
387 | 10.23.9.2 dpcmGetBaseCellRailVoltageArray |
388 | 10.23.9.3 dpcmGetBaseCellTemperature 10.23.10 Operating conditions 10.23.10.1 Operating points |
389 | 10.23.10.1.1 dpcmGetOpPointArray 10.23.10.1.2 dpcmGetBaseOpPoint |
390 | 10.23.10.1.3 dpcmSetCurrentOpPoint 10.23.11 On-chip process variation |
393 | 10.23.11.1 Process points 10.23.11.1.1 dpcmSetCurrentProcessPoint |
394 | 10.23.11.1.2 dpcmGetBaseProcessPoint 10.23.11.2 PVT ranges 10.23.11.2.1 dpcmGetProcessPointRange |
395 | 10.23.11.3 Rail voltage range 10.23.11.3.1 dpcmGetRailVoltageRangeArray 10.23.11.3.2 dpcmGetCellRailVoltageRangeArray |
396 | 10.23.11.4 Temperature range 10.23.11.4.1 dcmGetTemperatureRange |
397 | 10.23.11.4.2 dpcmGetCellTemperatureRange 10.23.12 Accessing properties and attributes |
398 | 10.23.12.1.1 APIs for annotations within PIN object 10.23.12.1.2 dpcmGetPinPinTypeArray |
399 | 10.23.12.1.3 dpcmGetPinPinType 10.23.12.1.4 dpcmGetPinSignalTypeArray |
400 | 10.23.12.1.5 dpcmGetPinSignalType |
401 | 10.23.12.1.6 dpcmGetPinActionArray 10.23.12.1.7 dpcmGetPinAction |
402 | 10.23.12.1.8 dpcmGetPinPolarityArray |
403 | 10.23.12.1.9 dpcmGetPinPolarity 10.23.12.1.10 dpcmGetPinEnablePin 10.23.12.1.11 dpcmGetPinConnectClass |
404 | 10.23.12.1.12 dpcmGetPinScanPosition 10.23.12.1.13 dpcmGetPinStuckArray |
405 | 10.23.12.1.14 dpcmGetPinStuck 10.23.12.1.15 dpcmGetDifferentialPairPin |
406 | 10.23.12.2 APIs for annotations within VECTOR objects 10.23.12.2.1 dpcmGetPathLabel 10.23.12.2.2 dpcmGetPowerStateLabel |
407 | 10.23.12.3 APIs for annotations within CELL objects 10.23.12.3.1 dpcmGetCellTypeArray |
409 | 10.23.12.3.2 dpcmGetCellType 10.23.12.3.3 dpcmGetCellSwapClassArray |
410 | 10.23.12.3.4 dpcmGetCellSwapClass 10.23.12.4 dpcmGetCellRestrictClassArray |
412 | 10.23.12.4.1 dpcmGetCellRestrictClass 10.23.12.4.2 dpcmGetCellScanTypeArray 10.23.12.4.3 dpcmGetCellScanType |
413 | 10.23.12.4.4 dpcmGetCellNonScanCell |
415 | 10.23.12.4.5 appSetVectorOperations |
417 | 10.23.12.4.6 dpcmGetLevelShifter |
418 | 10.23.13 APIs for attribute within a PIN object 10.23.13.1 dpcmGetPinTiePolarity 10.23.13.2 dpcmGetPinReadPolarity |
419 | 10.23.13.3 dpcmGetPinWritePolarity 10.23.13.4 dpcmGetSimultaneousSwitchTimes |
420 | 10.23.13.5 appGetSwitchingBits 10.23.13.6 dpcmGetFrequencyLimit |
421 | 10.23.13.7 appGetPinFrequency 10.23.13.8 dpcmGetBasePinFrequency |
422 | 10.23.13.9 dpcmGetPinJitter |
423 | 10.23.13.10 dpcmGetInductanceLimit 10.23.13.11 dpcmGetOutputSourceResistances 10.23.13.12 appSetPull |
424 | 10.23.13.13 dpcmGetPull |
425 | 10.23.13.14 dpcmGetPinDriveStrength 10.23.13.15 dpcmGetCellVectorPower |
426 | 10.23.14 Connectivity 10.23.14.1 dpcmGetPinCellConnectivityArrays |
427 | 10.23.14.2 dpcmGetLibraryConnectClassArray 10.23.14.3 dpcmGetLibraryConnectivityRules |
428 | 10.23.15 Control of timing arc existence and state |
429 | 10.23.15.1 dpcmGetExistenceGraph |
430 | 10.23.15.2 dpcmGetTimingStateGraphs |
432 | 10.23.15.3 dpcmGetTimingStateStrings |
433 | 10.23.15.4 dpcmGetVectorEdgeNumbers 10.23.16 Modeling cores |
434 | 10.23.16.1 appSetSignalDivision |
435 | 10.23.16.2 appSetSignalMultiplication |
437 | 10.23.16.3 appSetSignalGeneration |
438 | 10.23.17 Default pin slews and interface version calls 10.23.17.1 dpcmGetDefPinSlews |
439 | 10.23.17.2 appGetInterfaceVersion 10.23.18 API to access library required resources 10.23.18.1 Expose APIs for resources |
440 | 10.23.18.1.1 dpcmSetResource 10.23.18.1.2 dpcmGetAllResources |
441 | 10.23.19 Resource types |
442 | 10.23.20 Library extensions for phase locked loop processing |
443 | 10.23.21 API definitions for external conditions 10.23.21.1 appGetExternalDelayByPin |
444 | 10.23.21.2 appGetExternalDelayByName |
446 | 10.23.21.3 appGetLogicLevelByName 10.23.21.4 appGetLogicLevelByPin |
447 | 10.23.22 Extensions for listing pins 10.23.22.1 dpcmGetPinIndexArrays |
448 | 10.23.22.2 dpcmGetSupplyPins 10.23.23 Memory BIST mapping |
449 | 10.23.23.1 dpcmGetPhysicalBISTMap 10.23.23.2 dpcmGetLogicalBISTMap |
450 | 10.23.24 dpcmGetCellTestProcedure 10.24 Interconnect delay calculation intraface |
451 | 10.24.1 Control and data flows |
452 | 10.24.2 Model generation functions 10.24.2.1 icmBuildLoadModels |
453 | 10.24.2.2 icmBuildInterconnectModels |
454 | 10.24.3 Calculation functions 10.24.3.1 icmCalcInterconnectDelaySlew |
455 | 10.24.4 Cell calculation functions 10.24.4.1 icmCalcCellDelaySlew |
456 | 10.24.4.2 ccmCalcDelaySlew |
457 | 10.24.4.3 ccmEarlyLateIdentical 10.24.4.4 ccmGetICMcontrolParams |
458 | 10.24.4.5 icmCalcOutputResistances |
459 | 10.24.4.6 icmCalcTotalLoadCapacitances 10.24.4.7 icmCalcXWF |
460 | 10.24.5 ICM initialization 10.24.5.1 icmInit |
461 | 10.24.5.2 ICM DCL header file (icm.h) |
465 | 10.24.5.3 ICM DCL initialization example |
466 | 10.25 DCL run-time support 10.25.1 Array manipulation functions 10.25.1.1 dcmRT_copy_DCM_ARRAY 10.25.1.2 dcmRT_new_DCM_ARRAY |
468 | 10.25.1.3 dcm_sizeof_DCM_ARRAY |
469 | 10.25.1.4 dcmRT_claim_DCM_ARRAY 10.25.1.5 dcmRT_disclaim_DCM_ARRAY 10.25.2 Memory management |
470 | 10.25.3 Structure manipulation functions 10.25.3.1 dcmRT_claim_DCM_STRUCT 10.25.3.2 dcmRT_disclaim_DCM_STRUCT |
471 | 10.25.3.3 Locking options 10.25.3.3.1 dcmRT_longlock_DCM_STRUCT |
472 | 10.25.3.3.2 dcmRT_longunlock_DCM_STRUCT 10.25.3.3.2.1 Context 10.25.3.3.2.2 Sync structures 10.25.3.3.2.3 Options 10.25.3.3.2.4 Error code 10.25.3.4 dcmRT_getNumDimensions |
473 | 10.25.3.5 dcmRT_getNumElementsPer 10.25.3.6 dcmRT_getNumElements |
474 | 10.25.3.7 dcmRT_getElementType 10.25.3.8 dcmRT_arraycmp 10.25.4 Initialization functions |
475 | 10.25.4.1 dcmRT_InitRuleSystem 10.25.4.2 dcmRT_BindRule |
477 | 10.25.4.3 dcmRT_AppendRule |
478 | 10.25.4.4 dcmRT_UnbindRule 10.25.4.5 dcmRT_FindFunction |
479 | 10.25.4.6 dcmRT_FindAppFunction 10.25.4.7 dcmRT_QuietFindFunction |
480 | 10.25.4.8 dcmRT_MakeRC 10.25.4.9 dcmRT_HardErrorRC |
481 | 10.25.4.10 dcmRT_SetMessageIntercept 10.25.4.11 dcmRT_IssueMessage |
482 | 10.25.4.12 dcmRT_new_DCM_STD_STRUCT 10.25.4.13 dcmRT_delete_DCM_STD_STRUCT |
483 | 10.25.4.14 dcmRT_setTechnology 10.25.4.15 dcmRT_getTechnology |
484 | 10.25.4.16 dcmRT_getAllTechs 10.25.4.17 dcmRT_freeAllTechs |
485 | 10.25.4.18 dcmRT_isGeneric 10.25.4.19 dcmRT_takeMappingOfNugget 10.25.4.20 dcmRT_registerUserObject |
486 | 10.25.4.21 dcmRT_DeleteRegisteredUserObjects 10.25.4.22 dcmRT_DeleteOneUserObject 10.26 Calculation functions 10.26.1 delay |
487 | 10.26.2 slew |
488 | 10.26.3 check |
490 | 10.27 Modeling functions 10.27.1 modelSearch |
492 | 10.27.2 Mode operators |
493 | 10.27.3 Arrival time merging 10.27.4 Edge propagation communication to the application |
497 | 10.27.5 Edge propagation communication to the DPCM 10.27.6 newTimingPin |
498 | 10.27.7 newDelayMatrixRow |
499 | 10.27.8 newNetSinkPropagateSegments |
501 | 10.27.9 newNetSourcePropagateSegments |
502 | 10.27.10 newPropagateSegment 10.27.11 newTestMatrixRow |
503 | 10.27.12 newAltTestSegment |
504 | 10.27.13 Interactions between interconnect modeling and modeling functions 10.28 Deprecated functions |
505 | 10.28.1 Parasitic handling 10.28.1.1 appGetPiModel |
506 | 10.28.1.2 appGetPolesAndResidues |
507 | 10.28.1.3 appGetCeffective 10.28.1.4 appGetRLCnetworkByPin |
508 | 10.28.1.5 appGetRLCnetworkByName 10.28.1.6 dpcmCalcPiModel |
509 | 10.28.1.7 dpcmCalcPolesAndResidues |
510 | 10.28.1.8 dpcmCalcCeffective |
511 | 10.28.1.9 dpcmSetRLCmember |
512 | 10.28.1.10 dpcmAppendPinAdmittance |
513 | 10.28.1.11 dpcmDeleteRLCnetwork 10.28.2 Array manipulation functions |
514 | 10.28.2.1 dcm_copy_DCM_ARRAY 10.28.2.2 dcm_new_DCM_ARRAY 10.28.2.3 dcm_sizeof_DCM_ARRAY |
515 | 10.28.2.4 dcm_lock_DCM_ARRAY 10.28.2.5 dcm_unlock_DCM_ARRAY 10.28.3 Memory management |
516 | 10.28.3.1 dcm_lock_DCM_STRUCT 10.28.3.2 dcm_unlock_DCM_STRUCT 10.28.3.3 dcm_getNumDimensions |
517 | 10.28.3.4 dcm_getNumElementsPer 10.28.3.5 dcm_getNumElements 10.28.3.6 dcm_getElementType |
518 | 10.28.3.7 dcm_arraycmp 10.28.4 Initialization functions 10.28.4.1 dcmCellList |
519 | 10.28.4.2 dcmSetNewStorageManager 10.28.4.3 dcmMalloc 10.28.4.4 dcmFree |
520 | 10.28.4.5 dcmRealloc 10.28.4.6 dcmBindRule |
521 | 10.28.4.7 dcmAddRule 10.28.4.8 dcmUnbindRule 10.28.4.9 dcmFindFunction |
522 | 10.28.4.10 dcmFindAppFunction 10.28.4.11 dcmQuietFindFunction 10.28.4.12 dcmMakeRC |
523 | 10.28.4.13 dcmHardErrorRC 10.28.4.14 dcmSetMessageIntercept |
524 | 10.28.4.15 dcmIssueMessage 10.28.4.16 dcm_rule_init |
525 | 10.28.4.17 DCM_new_DCM_STD_STRUCT |
526 | 10.28.4.18 DCM_delete_DCM_STD_STRUCT 10.28.4.19 dcm_setTechnology |
527 | 10.28.4.20 dcm_getTechnology 10.28.4.21 dcm_getAllTechs 10.28.4.22 dcm_freeAllTechs |
528 | 10.28.4.23 dcm_isGeneric 10.28.4.24 dcm_mapNugget 10.28.4.25 dcm_takeMappingOfNugget |
529 | 10.28.4.26 dcm_registerUserObject 10.28.4.27 dcm_DeleteRegisteredUserObjects |
530 | 10.28.4.28 dcm_DeleteOneUserObject 10.29 Standard Structure (std_stru.h) file |
550 | 10.30 Standard macros (std_macs.h) file |
558 | 10.31 Standard interface structures (dcmintf.h) file |
562 | 10.32 Standard loading (dcmload.h) file |
565 | 10.33 Standard debug (dcmdebug.h) file |
592 | 10.34 Standard array (dcmgarray.h) file |
597 | 10.35 Standard user array defines (dcmuarray.h) file |
601 | 10.36 Standard platform-dependency (dcmpltfm.h) file |
607 | 10.37 Standard state variables (dcmstate.h) file |
611 | 11 Parasitics 11.1 Introduction 11.2 Targeted applications for SPEF 11.3 SPEF specification 11.3.1 Grammar |
612 | 11.3.1.1 Alphanumeric definition |
613 | 11.3.1.2 Names definition 11.3.2 Escaping rules 11.3.2.1 Special characters |
614 | 11.3.2.2 Character escaping mechanism for identifiers in SPEF 11.3.3 File syntax 11.3.3.1 Basic file definition 11.3.3.2 Header definition |
615 | 11.3.3.3 Name map definition 11.3.3.4 Power and ground nets definition 11.3.3.5 External definition |
616 | 11.3.3.6 Hierarchical SPEF (entities) definition |
617 | 11.3.3.7 Process and temperature variation definition 11.3.3.8 Internal definition 11.3.3.8.1 Detailed net definition |
619 | 11.3.3.8.2 Reduced net definition 11.3.3.8.3 Detailed physical-only net definition |
620 | 11.3.3.8.4 Reduced physical-only net definition 11.3.4 Comments 11.3.5 File semantics |
640 | 11.4 Examples 11.4.1 Basic *D_NET file |
643 | 11.4.2 Basic *R_NET file |
644 | 11.4.3 *R_NET with poles and residues plus name mapping |
646 | 11.4.4 *D_NET with triplet par_value |
649 | 11.4.5 *R_NET with poles and residues plus triplet par_value |
650 | 11.4.6 Merging SPEF files 11.4.6.1 topLevel.spef |
652 | 11.4.6.2 subBLOCK.spef |
653 | 11.4.6.3 Resulting merged SPEF file |
655 | 11.4.7 A SPEF file header section with *VARIATION_PARAMETERS definition 11.4.8 CAP and RES statements with sensitivity information in a SPEF file |
656 | Annex A (normative) Implementation requirements |