Initial version of donated sources by Avertec, 3.4p5.
[tas-yagle.git] / distrib / docxml2 / text / doc / hitas_reference / sdc.xml
1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <pagebreak/>
3 <section niv='2'><title>SDC Support</title>
4 <p>
5 Timing constraints can also be defined with SDC commands. Use the <f>sdcUnits</f> configuration variable to define the time unit for all commands. Only the commands that follow are supported as API functions.
6 </p>
7
8 <section niv='3'><title>Object Access Commands </title>
9 <glossary>
10 <row><article><f>all_clocks</f></article><def>Applies a command to all clocks.</def></row>
11 <row><article><f>all_inputs</f></article><def>Applies a command to all inputs. No options are supported.</def></row>
12 <row><article><f>all_outputs</f></article><def>Applies a command to all outputs. No options are supported.</def></row>
13 <row><article><f>get_clocks</f></article><def>Returns only the patterns given in argument. The name is verified to be a clock name by the calling command.</def></row>
14 <row><article><f>get_pins</f></article><def>Returns only the patterns given in argument.</def></row>
15 <row><article><f>get_ports</f></article><def>Returns only the patterns given in argument.</def></row>
16 </glossary>
17 </section>
18
19 <section niv='3'><title>set_case_analysis</title>
20 <p><b>SYNTAX</b></p>
21 <code>
22 <cl>set_case_analysis 0 | zero | 1 | one</cl>
23 <cl> | rise | rising | fall | falling</cl>
24 <cl> signal_list</cl>
25 </code>
26 <p><b>ARGUMENTS</b></p>
27 <glossary>
28 <row><article><f>0 | zero</f></article><def>Sets logical constraint 0 on specified signals (connectors or
29 internal signals)</def></row>
30 <row><article><f>1 | one</f></article><def>Sets logical constraint 1 on specified signals (connectors or
31 internal signals)</def></row>
32 <row><article><f>rise | rising</f></article><def>Only rising transitions are propagated on specified signals
33 (connectors or internal signals)</def></row>
34 <row><article><f>fall | falling</f></article><def>Only falling transitions are propagated on specified signals
35 (connectors or internal signals)</def></row>
36 </glossary>
37 <p><b>INF EQUIVALENT</b></p>
38 <p><f>set_case_analysis 0 | 1</f> translates to the <f>CONSTRAINT</f> section</p>
39 <p><f>set_case_analysis rise | fall</f> translates to the <f>NORISING</f> and <f>NOFALLING</f> sections</p>
40
41 </section>
42
43 <section niv='3'><title>set_disable_timing</title>
44 <p><b>SYNTAX</b></p>
45 <code>
46 <cl>set_disable_timing signal_list</cl>
47 </code>
48 <p><b>INF EQUIVALENT</b></p>
49 <p><f>set_disable_timing</f> translates to the <f>BYPASS</f> section</p>
50 </section>
51
52 <section niv='3'><title>set_false_path</title>
53 <p><b>SYNTAX</b></p>
54 <code>
55 <cl>set_false_path [-setup | -hold] [-rise] [-fall]</cl>
56 <cl> [-from fr_list]</cl>
57 <cl> [-through through_list]</cl>
58 <cl> [-to to_list]</cl>
59 </code>
60 <p><b>ARGUMENTS</b></p>
61
62 <glossary>
63 <row><article><f>-rise</f></article><def>Restricts false paths to those ending on a rising edge</def></row>
64 <row><article><f>-fall</f></article><def>Restricts false paths to those ending on a falling edge</def></row>
65 <row><article><f>-from</f></article><def>Specifies a list of false paths starting points</def></row>
66 <row><article><f>-through</f></article><def>Specifies a list of intermediary points the false paths
67 must go through. Multiple groups of intermediary points can be specified using multiple
68 <f>-through</f> options</def></row>
69 <row><article><f>-to</f></article><def>Specifies a list of false paths ending points</def></row>
70 <row><article><f>-setup</f></article><def>Disables setup verifications on signals specified in the
71 <f>to_list</f>. The <f>-setup</f> option is ignored if <f>to_list</f> is not present. <f>-rise</f> and <f>-fall</f>
72 options do not apply on setup verification disabling. <f>from_list</f> and <f>through_list</f> are
73 not taken into account.</def></row>
74 <row><article><f>-hold</f></article><def>Disables hold verifications on signals specified in the
75 <f>to_list</f>. The <f>-hold</f> option is ignored if <f>to_list</f> is not present. <f>-rise</f> and <f>-fall</f>
76 options do not apply on hold verification disabling. <f>from_list</f> and <f>through_list</f> are
77 not taken into account.</def></row>
78 </glossary>
79 <p><b>INF EQUIVALENT</b></p>
80 <p><f>set_false_path -from | -through | -to</f> translates to the <f>BYPASS</f> section</p>
81 <p><f>set_false_path -from -through -to</f> translates to the <f>FALSEPATH</f> section</p>
82 <p><f>set_false_path -rise | -fall</f> translates to the <f>NORISING</f> and <f>NOFALLING</f> sections</p>
83 <p><f>set_false_path -setup | -hold</f> translates to the <f>NOCHECK</f> section</p>
84
85 </section>
86
87 <section niv='3'><title>create_clock</title>
88 <p><b>SYNTAX</b></p>
89 <code>
90 <cl>create_clock [-name clock_name] -period period_value </cl>
91 <cl> [-waveform edge_list] connector_list</cl>
92 </code>
93 <p><b>ARGUMENTS</b></p>
94 <glossary>
95 <row><article><f>-name</f></article><def>Specifies the name of the clock to be created.</def></row>
96 <row><article><f>-period</f></article><def>Sets the clock period.</def></row>
97 <row><article><f>-waveform </f></article><def>Sets the rising and falling edge times of the clock waveform. </def></row>
98 <row><article><f>connector_list</f></article><def>Connectors to apply the waveform on. If no connector is specified, the clock is assumed to be virtual</def></row>
99 </glossary>
100 <p><b>INF EQUIVALENT</b></p>
101 <p><f>create_clock</f> translates to the <f>CLOCK CONNECTORS</f> and <f>ASYNCHRONOUS CLOCK GROUPS</f> section</p>
102 </section>
103
104 <section niv='3'><title>create_generated_clock</title>
105 <p><b>SYNTAX</b></p>
106 <code>
107 <cl>create_generated_clock [-name clock_name] -source source_connector</cl>
108 <cl> [-divide_by factor | -multiply_by factor]</cl>
109 <cl> [-duty_cycle duty_cycle_value]</cl>
110 <cl> [-invert]</cl>
111 <cl> [-edges edge_list]</cl>
112 <cl> [-edge_shift shift_list] connector_list</cl>
113 </code>
114 <p><b>ARGUMENTS</b> </p>
115 <glossary>
116 <row><article><f>-name</f></article><def>Name of the clock to be created.</def></row>
117 <row><article><f>-source</f></article><def>Clock source from which the clock is generated.</def></row>
118 <row><article><f>-divide_by</f></article><def>Divides the clock source frequency by <f>factor</f>. <f>factor</f> must be a power of 2.</def></row>
119 <row><article><f>-multiply_by</f></article><def>Multiplicates the clock source frequency by <f>factor</f>. <f>factor</f> must be a power of 2.</def></row>
120 <row><article><f>-duty_cycle</f></article><def>Sets the duty cycle in percents.</def></row>
121 <row><article><f>-invert</f></article><def>Inverts the waveform of the generated clock.</def></row>
122 <row><article><f>-edges</f></article><def>Specifies the number of clock source edges to form the edges of the generated clock.</def></row>
123 <row><article><f>-edge_shift</f></article><def>For each edge specified in the <f>edge_list</f>, sets the shift value to be applied to.</def></row>
124 </glossary>
125 <p><b>INF EQUIVALENT</b></p>
126 <p><f>create_generated_clock</f> translates to the <f>CLOCK CONNECTORS</f> and <f>ASYNCHRONOUS CLOCK GROUPS</f> section</p>
127 </section>
128
129 <section niv='3'><title>set_clock_latency</title>
130 <p><b>SYNTAX</b></p>
131 <code>
132 <cl>set_clock_latency [-source] [-rise] [-fall]</cl>
133 <cl> [-late] [-early]</cl>
134 <cl> delay_value clock_list</cl>
135 </code>
136 <p><b>ARGUMENTS</b></p>
137 <glossary>
138 <row><article><f>-source</f></article><def>Specifies clock source latency. If not set, ideal clock latency is assumed.</def></row>
139 <row><article><f>-rise</f></article><def>Sets the delay for the clock's rising edge.</def></row>
140 <row><article><f>-fall</f></article><def>Sets the delay for the clock's falling edge.</def></row>
141 <row><article><f>-late</f></article><def>The delay affects only the max time of the clock's corresponding edge. Only for source latency.</def></row>
142 <row><article><f>-early</f></article><def>The delay affects only the min time of the clock's corresponding edge. Only for source latency.</def></row>
143 <row><article><f>-max</f></article><def>The delay affects only the max time of the clock's corresponding edge. Only for ideal clock latency.</def></row>
144 <row><article><f>-min</f></article><def>The delay affects only the min time of the clock's corresponding edge. Only for ideal clock latency.</def></row>
145 </glossary>
146 <p><b>INF EQUIVALENT</b></p>
147 <p><f>set_clock_latency</f> translates to the <f>CLOCK CONNECTORS</f> and <f>ASYNCHRONOUS CLOCK GROUPS</f> section</p>
148 </section>
149
150 <section niv='3'><title>set_clock_uncertainty</title>
151 <p><b>SYNTAX</b></p>
152 <code>
153 <cl>set_clock_uncertainty [-from from_clock] [-to to_clock]</cl>
154 <cl> [-rise_from rise_from_clock]</cl>
155 <cl> [-fall_from fall_from_clock]</cl>
156 <cl> [-rise_to rise_to_clock]</cl>
157 <cl> [-fall_to fall_to_clock]</cl>
158 <cl> [-rise] [-fall]</cl>
159 <cl> [clock_pin_list]</cl>
160 <cl> [-setup] [-hold] uncertainty</cl>
161 </code>
162 <p><b>DESCRIPTION</b></p>
163 <p>Specifies the clock uncertainty (skew characteristics) of specified clock networks.
164 This command can specify either interclock uncertainty or simple uncertainty.</p>
165 <p><b>ARGUMENTS</b></p>
166 <glossary>
167 <row><article><f>-from</f></article><def>Specifies the source clock pins for interclock uncertainty.</def></row>
168 <row><article><f>-to</f></article><def>Specifies the destination clock pins for interclock uncertainty.</def></row>
169 <row><article><f>-rise_from</f></article><def>Same as -from, but uncertainty only applies to rising edge of source clock.</def></row>
170 <row><article><f>-fall_from</f></article><def>Same as -from, but uncertainty only applies to falling edge of source clock.</def></row>
171 <row><article><f>-rise_to</f></article><def>Same as -to, but uncertainty only applies to rising edge of destination clock.</def></row>
172 <row><article><f>-fall_to</f></article><def>Same as -to, but uncertainty only applies to falling edge of destination clock.</def></row>
173 <row><article><f>-rise</f></article><def>Deprecated option. Same as -rise_to.</def></row>
174 <row><article><f>-fall</f></article><def>Deprecated option. Same as -fall_to.</def></row>
175 <row><article><f>clock_pin_list</f></article><def>Specifies the destination clock pins for simple uncertainty.</def></row>
176 <row><article><f>-setup</f></article><def>Indicates that the uncertainty only applies to setup checks.</def></row>
177 <row><article><f>-hold</f></article><def>Indicates that the uncertainty only applies to hold checks.</def></row>
178 <row><article><f>uncertainty</f></article><def>A floating-point number (usually positive) that specifies the uncertainty value.</def></row>
179 </glossary>
180 <p><b>EXAMPLE</b></p>
181 <code>
182 <cl>set_clock_uncertainty CLK1 100</cl>
183 <cl>set_clock_uncertainty -from CLK1 -to CLK2 200</cl>
184 </code>
185 </section>
186
187 <section niv='3'><title>set_input_transition</title>
188 <p><b>SYNTAX</b></p>
189 <code>
190 <cl>set_input_transition [-rise] [-fall]</cl>
191 <cl> [-max] [-min] transition port_list</cl>
192 </code>
193 <p><b>ARGUMENTS</b></p>
194 <glossary>
195 <row><article><f>-rise</f></article><def>Sets rising transition only</def></row>
196 <row><article><f>-fall</f></article><def>Sets falling transition only</def></row>
197 <row><article><f>-min</f></article><def>Not supported</def></row>
198 <row><article><f>-max</f></article><def>Not supported</def></row>
199 <row><article><f>transition</f></article><def>Transition value</def></row>
200 <row><article><f>port_list</f></article><def>List of input pins</def></row>
201 </glossary>
202
203 <p><b>EXAMPLE</b></p>
204 <code>
205 <cl>set_input_transition -rise 100 di</cl>
206 <cl>set_input_transition -fall 120 di</cl>
207 </code>
208
209 <p><b>INF EQUIVALENT</b></p>
210 <p><f>set_input_delay</f> translates to the PINSLEW section</p>
211 </section>
212
213 <section niv='3'><title>set_load</title>
214 <p><b>SYNTAX</b></p>
215 <code>
216 <cl>set_load [-min] [-max] [-substract_pin_load] </cl>
217 <cl> [-pin_load] [-wire_load] value objects</cl>
218 </code>
219 <p><b>DESCRIPTION</b></p>
220 <p>Sets the capacitance to a specified value on specified ports and nets. This function
221 should be called before database construction or database loading. In order to operate
222 correctly, this function should be used together with the configuration variable <f>avtPrecisionLevel</f>
223 set to <f>1</f>.</p>
224 <p><b>ARGUMENTS</b></p>
225 <glossary>
226 <row><article><f>-min</f></article><def>Not supported</def></row>
227 <row><article><f>-max</f></article><def>Not supported</def></row>
228 <row><article><f>-substract_pin_load</f></article><def>Not supported</def></row>
229 <row><article><f>-pin_load</f></article><def>Not supported</def></row>
230 <row><article><f>-wire_load</f></article><def>Not supported</def></row>
231 <row><article><f>value</f></article><def>Capacitance value</def></row>
232 <row><article><f>objects</f></article><def>List of output pins</def></row>
233 </glossary>
234
235 <p><b>EXAMPLE</b></p>
236 <code>
237 <cl>avt_config avtPrecisionLevel 1</cl>
238 <cl>inf_SetFigureName my_design</cl>
239 <cl>set_load 0.31 [get_ports [all_outputs]]</cl>
240 <cl> </cl>
241 <cl>set fig [ttv_LoadSpecifiedTimingFigure my_design]</cl>
242 <cl>set clist [ttv_GetPaths $fig * * uu 5 critic path max]</cl>
243 </code>
244
245 <p><b>INF EQUIVALENT</b></p>
246 <p><f>set_load</f> translates to the OUTPUT CAPACITANCE section</p>
247 </section>
248
249 <section niv='3'><title>set_input_delay</title>
250 <p><b>SYNTAX</b></p>
251 <code>
252 <cl>set_input_delay [-clock clock_name] [-clock_fall]</cl>
253 <cl> [-rise] [-fall] [-max] [-min]</cl>
254 <cl> delay_value connector_list</cl>
255 </code>
256 <p><b>ARGUMENTS</b></p>
257 <glossary>
258 <row><article><f>-clock</f></article><def>Relative clock.</def></row>
259 <row><article><f>-clock_fall</f></article><def>Reference edge is the falling edge of a clock. Affects the
260 <f>From</f> and <f>After</f> statements. If not specified reference edge is rising edge.</def></row>
261 <row><article><f>-rise</f></article><def>Delay for input rising edge only.</def></row>
262 <row><article><f>-fall</f></article><def>Delay for input falling edge only.</def></row>
263 <row><article><f>-min</f></article><def>Minimum arrival time on input. Corresponds to the <f>Unstable</f>
264 subsection in the <f>.inf</f> file.</def></row>
265 <row><article><f>-max</f></article><def>Maximum arrival time on input. Corresponds to the <f>Stable</f>
266 subsection in the <f>.inf</f> file.</def></row>
267 </glossary>
268
269 <p><b>EXAMPLE</b></p>
270 <code>
271 <cl>set_input_delay -clock ck -clock_fall -rise -min 200 di</cl>
272 <cl>set_input_delay -clock ck -clock_fall -rise -max 300 di</cl>
273 </code>
274
275 <p><b>INF EQUIVALENT</b></p>
276 <p><f>set_input_delay</f> translates to</p>
277 <code>
278 <cl>SPECIFY INPUT CONNECTORS</cl>
279 <cl>BEGIN</cl>
280 <cl> "di" Rising From "ck" Falling:</cl>
281 <cl> Unstable 200 After "ck" Falling;</cl>
282 <cl> Stable 300 After "ck" Falling;</cl>
283 <cl>END;</cl>
284 </code>
285
286
287
288
289 </section>
290
291 <section niv='3'><title>set_output_delay</title>
292 <p><b>SYNTAX</b></p>
293 <code>
294 <cl>set_output_delay [-clock clock_name] [-clock_fall]</cl>
295 <cl> [-rise] [-fall] [-max] [-min]</cl>
296 <cl> delay_value connector_list</cl>
297 </code>
298 <p><b>ARGUMENTS</b></p>
299 <glossary>
300 <row><article><f>-clock</f></article><def>Relative clock.</def></row>
301 <row><article><f>-clock_fall</f></article><def>Reference edge is the falling edge of a clock. Affects the
302 <f>For</f> and <f>After</f> statements. If not specified reference edge is rising edge.</def></row>
303 <row><article><f>-rise</f></article><def>Delay for output rising edge only.</def></row>
304 <row><article><f>-fall</f></article><def>Delay for output falling edge only.</def></row>
305 <row><article><f>-min</f></article><def>Minimum departure time on output. Corresponds to the <f>Unstable</f>
306 subsection in the <f>.inf</f> file.</def></row>
307 <row><article><f>-max</f></article><def>Maximum departure time on output. Corresponds to the <f>Stable</f>
308 subsection in the <f>.inf</f> file.</def></row>
309 </glossary>
310 <p><b>INF EQUIVALENT</b></p>
311 <p><f>set_input_delay</f> translates to <f>VERIFY OUTPUT CONNECTORS</f> section.</p>
312 </section>
313
314 <section niv='3'><title>set_multicycle_path</title>
315 <p><b>SYNTAX</b></p>
316 <code>
317 <cl>set_multicycle_path [-setup] [-hold]</cl>
318 <cl> [-rise] [-fall] [-start] [-end]</cl>
319 <cl> [-from from_list] [-to to_list] path_multiplier</cl>
320 </code>
321 <p><b>ARGUMENTS</b> </p>
322 <glossary>
323 <row><article><f>-setup</f></article><def>Uses <f>path_multiplier</f> for setup calculation only.</def></row>
324 <row><article><f>-hold</f></article><def>Uses <f>path_multiplier</f> for hold calculation only.</def></row>
325 <row><article><f>-rise</f></article><def>Affects rising path delays only.</def></row>
326 <row><article><f>-fall</f></article><def>Affects falling path delays only.</def></row>
327 <row><article><f>-start</f></article><def>Calculation is relative to the clock's period at path startpoint.</def></row>
328 <row><article><f>-end</f></article><def>Calculation is relative to the clock's period at path endpoint.</def></row>
329 <row><article><f>-from</f></article><def>Specify a list of timing path startpoints. Valid startpoints are latches, input pins, or inout pins.</def></row>
330 <row><article><f>-to</f></article><def>Specify a list of timing path endpoints. Valid endpoints are latches, output pins, or inout pins.</def></row>
331 </glossary>
332 <p><b>INF EQUIVALENT</b></p>
333 <p><f>set_multicycle_path</f> translates to <f>MULTICYCLE PATH</f> section.</p>
334 </section>
335
336 <section niv='3'><title>set_max_delay</title>
337 <p><b>SYNTAX</b></p>
338 <code>
339 <cl>set_max_delay [-rise] [-fall]</cl>
340 <cl> [-from from_list]</cl>
341 <cl> [-rise_from from_list] [-fall_from from_list]</cl>
342 <cl> [-to to_list]</cl>
343 <cl> [-rise_to to_list] [-fall_to to_list]</cl>
344 <cl> delay_value</cl>
345 </code>
346 <p><b>DESCRIPTION</b></p>
347 <p>Specifies a required maximum delay for the specified timing paths. Appears as a setup check in slack reports.</p>
348 <p><b>ARGUMENTS</b></p>
349 <glossary>
350 <row><article><f>-rise</f></article><def>Only rising paths are constrained.</def></row>
351 <row><article><f>-fall</f></article><def>Only falling paths are constrained.</def></row>
352 <row><article><f>-from</f></article><def>Specifies the timing path source.</def></row>
353 <row><article><f>-rise_from</f></article><def>Same as -from, but constraint only applies to rising edge of source.</def></row>
354 <row><article><f>-fall_from</f></article><def>Same as -from, but constraint only applies to falling edge of source.</def></row>
355 <row><article><f>-to</f></article><def>Specifies the timing path destination.</def></row>
356 <row><article><f>-rise_to</f></article><def>Same as -to, but constraint only applies to rising edge of destination.</def></row>
357 <row><article><f>-fall_to</f></article><def>Same as -to, but constraint only applies to falling edge of destination.</def></row>
358 <row><article><f>delay_value</f></article><def>A floating-point number (usually positive) that specifies the delay value.</def></row>
359 </glossary>
360 <p><b>EXAMPLE</b></p>
361 <code>
362 <cl>set_max_delay -from CLK1 -to LATCH1 500</cl>
363 </code>
364 </section>
365
366 <section niv='3'><title>set_min_delay</title>
367 <p><b>SYNTAX</b></p>
368 <code>
369 <cl>set_min_delay [-rise] [-fall]</cl>
370 <cl> [-from from_list]</cl>
371 <cl> [-rise_from from_list] [-fall_from from_list]</cl>
372 <cl> [-to to_list]</cl>
373 <cl> [-rise_to to_list] [-fall_to to_list]</cl>
374 <cl> delay_value</cl>
375 </code>
376 <p><b>DESCRIPTION</b></p>
377 <p>Specifies a required minimum delay for the specified timing paths. Appears as a hold check in slack reports.</p>
378 <p><b>ARGUMENTS</b></p>
379 <glossary>
380 <row><article><f>-rise</f></article><def>Only rising paths are constrained.</def></row>
381 <row><article><f>-fall</f></article><def>Only falling paths are constrained.</def></row>
382 <row><article><f>-from</f></article><def>Specifies the timing path source.</def></row>
383 <row><article><f>-rise_from</f></article><def>Same as -from, but constraint only applies to rising edge of source.</def></row>
384 <row><article><f>-fall_from</f></article><def>Same as -from, but constraint only applies to falling edge of source.</def></row>
385 <row><article><f>-to</f></article><def>Specifies the timing path destination.</def></row>
386 <row><article><f>-rise_to</f></article><def>Same as -to, but constraint only applies to rising edge of destination.</def></row>
387 <row><article><f>-fall_to</f></article><def>Same as -to, but constraint only applies to falling edge of destination.</def></row>
388 <row><article><f>delay_value</f></article><def>A floating-point number that specifies the delay value.</def></row>
389 </glossary>
390 <p><b>EXAMPLE</b></p>
391 <code>
392 <cl>set_max_delay -from CLK1 -to LATCH1 500</cl>
393 </code>
394 </section>
395
396 </section>
397