• 正文
    • A.1 基本命令
    •  
    • A.2 對(duì)象訪問命令
    • A.3 時(shí)序約束
    •  
    • A.4 環(huán)境命令
    • A.5 多電壓命令
    • 靜態(tài)時(shí)序分析圣經(jīng)翻譯計(jì)劃
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

【附錄A SDC】靜態(tài)時(shí)序分析圣經(jīng)翻譯計(jì)劃

2021/01/20
527
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

本附錄將介紹 1.7 版本的 SDC 格式,此格式主要用于指定設(shè)計(jì)的時(shí)序約束。它不包含任何特定工具的命令,例如鏈接(link)和編譯(compile)。它是一個(gè)文本文件,可以手寫或由程序創(chuàng)建,并由程序讀取。某些 SDC 命令僅適用于實(shí)現(xiàn)(implementation)或綜合(synthesis),但是本附錄會(huì)列出所有 SDC 命令。

SDC 語法是基于 TCL 的格式,即所有命令都遵循 TCL 語法。一個(gè) SDC 文件會(huì)在文件開頭包含 SDC 版本號(hào),其次是設(shè)計(jì)約束,注釋(注釋以字符#開始,并在行尾處結(jié)束)在 SDC 文件中可以散布在設(shè)計(jì)約束中。設(shè)計(jì)約束中較長的命令行可以使用反斜杠()字符分成多行。

A.1 基本命令

以下是 SDC 中的基本命令:

  • current_instance [instance_pathname]

上述命令設(shè)置了設(shè)計(jì)的當(dāng)前實(shí)例,這允許其它命令從該實(shí)例中設(shè)置或獲取屬性(attribute)。如果未提供任何參數(shù),則當(dāng)前實(shí)例將成為頂層(top-level)。

例子:

current_instance /core/U2/UPLL

current_instance .. (向上一層)

current_instance (設(shè)為頂層)

expr arg1 arg2 ... argn

list arg1 arg2 ... argn

set variable_name value

set_hierarchy_separator separator

上述命令指定了 SDC 文件中使用的默認(rèn)層次結(jié)構(gòu)分隔符。在允許的情況下,可以通過在各個(gè) SDC 命令中使用 -hsc 選項(xiàng)來覆蓋此設(shè)置。

例子:

set_hierarchy_separator /

set_hierarchy_separator .

set_units [-capacitance cap_unit] [-resistance res_units] [-time time_unit] [-voltage voltage_unit] [-current current_unit] [-power power_unit]

上述命令指定了 SDC 文件中使用的單位。

例子:

  • set_units -capacitance pf -time ps

 

A.2 對(duì)象訪問命令

以下命令指定了如何訪問設(shè)計(jì)實(shí)例中的對(duì)象。

all_clocks 命令會(huì)返回一個(gè)所有時(shí)鐘的集合:

foreach_in_collection clkvar [all_clocks]

set_clock_transition 0.150 [all_clocks]

all_inputs [-level_sensitive] [-edge_triggered] [-clock clock_name] 命令會(huì)返回一個(gè)設(shè)計(jì)中所有輸入端口的集合:

  • set_input_delay -clock VCLK 0.6 -min [all_inputs]

all_outputs [-level_sensitive] [-edge_triggered] [-clock clock_name] 命令會(huì)返回一個(gè)設(shè)計(jì)中所有輸出端口的集合:

  • set_load 0.5 [all_outputs]

all_registers [-no_hierarchy] [-clock clock_name] [-rise_clock clock_name] [-fall_clock clock_name] [-cells] [-data_pins] [-clock_pins] [-slave_clock_pins] [-async_pins] [-output_pins] [-level_sensitive] [-edge_triggered] [-master_slave] 命令會(huì)返回一個(gè)具有指定屬性的寄存器的集合:

  • all_registers -clock DAC_CLK

上述這個(gè)命令返回的集合中為所有由時(shí)鐘 DAC_CLK 觸發(fā)的寄存器。

current_design [design name] 命令會(huì)返回當(dāng)前設(shè)計(jì)的名稱。如果使用參數(shù)指定,則將會(huì)設(shè)置當(dāng)前設(shè)計(jì)為指定的名稱:

current_design FADD

current_design

get_cells [-hierarchical] [-hsc separator] [-regexp] [-nocase] [-of_objects objects] patterns 命令會(huì)返回一個(gè)設(shè)計(jì)中與指定模型(pattern)匹配的單元的集合,通配符可用于匹配多個(gè)單元:

get_cells RegEdge*

foreach_in_collection cvar [get_cells -hierarchical *]

get_clocks [-regexp] [-nocase] patterns 命令會(huì)返回一個(gè)設(shè)計(jì)中與指定模型匹配的時(shí)鐘的集合。當(dāng)在 -from 或 -to 等上下文中使用時(shí),它將返回一個(gè)由指定時(shí)鐘驅(qū)動(dòng)的所有觸發(fā)器的集合:

set_propagated_clock [get_clocks SYS_CLK]

set_multicycle_path -to [get_clocks jtag*]

get_lib_cells [-hsc separator] [-regexp] [-nocase] patterns 命令會(huì)創(chuàng)建一個(gè)當(dāng)前正在加載的庫中并且與指定模型匹配的庫單元的集合:

  • get_lib_cells cmos131v/AOI3*

get_lib_pins [-hsc separator] [-regexp] [-nocase] patterns 命令會(huì)返回一個(gè)與指定模型匹配的庫單元引腳的集合。

get_libs [-regexp] [-nocase] patterns 命令會(huì)返回一個(gè)設(shè)計(jì)中當(dāng)前加載的庫的集合。

get_nets [-hierarchical] [-hsc separator] [-regexp] [-nocase] [-of_objects objects] patterns 命令會(huì)返回一個(gè)與指定模型匹配的網(wǎng)絡(luò)的集合:

get_nets -hierarchical *

get_nets FIFO_patt*

get_pins [-hierarchical] [-hsc separator] [-regexp] [-nocase] [-of_objects objects] patterns 命令會(huì)返回一個(gè)與指定模型匹配的引腳名稱的集合:

get_pins *

get_pins U1/U2/U3/UAND/Z

get_ports [-regexp] [-nocase] patterns 命令會(huì)返回一個(gè)與指定模型匹配的設(shè)計(jì)(輸入和輸出)端口名稱的集合:

  • foreach_in_collection port_name [get_ports clk*]

可以在不“獲取”對(duì)象的情況下引用諸如端口(port)之類的對(duì)象嗎?當(dāng)設(shè)計(jì)中只有一個(gè)具有該名稱的對(duì)象時(shí),實(shí)際上沒有任何區(qū)別。但是,當(dāng)多個(gè)對(duì)象具有相同的名稱時(shí),使用 get_ * 命令將變得更加重要,它可以避免在引用哪種類型對(duì)象方面所帶來的任何可能的混淆。假設(shè)有一個(gè)名為 BIST_N1 的網(wǎng)絡(luò)和一個(gè)名為 BIST_N1 的端口,考慮以下 SDC 命令:

  • set_load 0.05 BIST_N1

問題是要引用哪個(gè) BIST_N1?網(wǎng)絡(luò)還是端口?在大多數(shù)情況下,最好明確表明對(duì)象的類型,例如:

  • set_load 0.05 [get_nets BIST_N1]

現(xiàn)在再假設(shè)有一個(gè)時(shí)鐘 MCLK 和另一個(gè)也稱為 MCLK 的端口,考慮以下 SDC 命令:

  • set_propagated_clock MCLK

該對(duì)象是引用名為 MCLK 的端口還是引用稱為 MCLK 的時(shí)鐘?在此特定情況下,它指的是時(shí)鐘,因?yàn)檫@是 set_propagated_clock 命令的優(yōu)先級(jí)所選擇的。但是,要明確一點(diǎn),最好明確表明對(duì)象類型,如下所示:

set_propagated_clock [get_clocks MCLK]

set_propagated_clock [get_ports MCLK]

有了這種明確的條件申明,就不必依賴優(yōu)先級(jí)規(guī)則了,并且 SDC 命令會(huì)非常清楚。

A.3 時(shí)序約束

本節(jié)將介紹與時(shí)序約束有關(guān)的 SDC 命令。

create_clock -period period_value [-name clock_name] [-waveform edge_list] [-add] [source_objects] 命令可用于定義時(shí)鐘。如果未指定 clock_name,則時(shí)鐘名稱將是第一個(gè)源對(duì)象的名稱。-period 選項(xiàng)指定時(shí)鐘周期,-add 選項(xiàng)用于在已經(jīng)具有時(shí)鐘定義的引腳上創(chuàng)建時(shí)鐘。否則,如果不使用此選項(xiàng),則此時(shí)鐘定義將覆蓋該節(jié)點(diǎn)上任何其它現(xiàn)有的時(shí)鐘定義。-waveform 選項(xiàng)指定時(shí)鐘的上升沿和下降沿(占空比),默認(rèn)值為(0,period / 2)。如果時(shí)鐘定義的節(jié)點(diǎn)位于另一個(gè)時(shí)鐘之后的路徑上,則它將阻塞該點(diǎn)之前一個(gè)時(shí)鐘。

例子:

create_clock -period 20 -waveform {0 6} -name SYS_CLK [get_ports SYS_CLK]

create_clock -name CPU_CLK -period 2.33 -add [get_ports CPU_CLK]

create_generated_clock [-name clock_name] [-source master_pin] [-edges edge_list] [-divide_by factor] [-multiply_by factor] [-duty_cycle percent] [-invert] [-edge_shift shift_list] [-add] [-master_clock clock] [-combinational] [source_objects] 命令可用于定義內(nèi)部的衍生時(shí)鐘。如果未指定 -name,則時(shí)鐘名稱為第一個(gè)源對(duì)象的名稱。-source 指定衍生時(shí)鐘的源是設(shè)計(jì)中的引腳或端口。如果有多個(gè)時(shí)鐘輸入源節(jié)點(diǎn),必須使用 -master_clock 選項(xiàng)指定將這些時(shí)鐘中的哪一個(gè)用作衍生時(shí)鐘的源。-divide_by 選項(xiàng)用于指定時(shí)鐘的分頻系數(shù),與 -multiply_by 類似。-duty_cycle 可以用于指定時(shí)鐘的占空比。如果時(shí)鐘的相位已反轉(zhuǎn),則可以指定 -invert 選項(xiàng)。除了使用時(shí)鐘倍頻或分頻,還可以使用 -edges 和 -edge_shift 選項(xiàng)指定衍生時(shí)鐘。-edges 選項(xiàng)指定一個(gè)由三個(gè)數(shù)字組成的列表,該列表指定用于第一個(gè)上升沿、下一個(gè)下降沿和下一個(gè)上升沿的主時(shí)鐘邊沿。例如,可以將時(shí)鐘分頻器指定為 -divide_by 2 或 -edges {1 3 5}。-edge_shift 選項(xiàng)可以與 -edges 選項(xiàng)一起使用,以指定三個(gè)邊沿中每個(gè)邊沿的偏移量。

例子:

create_generated_clock -divide_by 2 -source [get_ports sys_clk] -name gen_sys_clk [get_pins UFF/Q]

create_generated_clock -add -invert -edges {1 2 8} -source [get_ports mclk] -name gen_clk_div

create_generated_clock -multiply_by 3 -source [get_ports ref_clk] -master_clock clk10MHz [get_pins UPLL/CLKOUT] -name gen_pll_clk

group_path [-name group_name] [-default] [-weight weight_value] [-from from_list] [-rise_from from_list] [-fall_from from_list] [-to to_list] [-rise_to to_list] [-fall_to to_list] [-through through_list] [-rise_through through_list] [-fall_through through_list] 命令可以為指定的路徑組命名。

set_clock_gating_check [-setup setup_value] [-hold hold_value] [-rise] [-fall] [-high] [-low] [object_list] 命令可以提供對(duì)任何對(duì)象指定時(shí)鐘門控檢查的功能。時(shí)鐘門控檢查僅在具有時(shí)鐘信號(hào)邏輯門處執(zhí)行,默認(rèn)情況下建立時(shí)間和保持時(shí)間值為 0。

例子:

set_clock_gating_check -setup 0.15 -hold 0.05 [get_clocks ck20m]

set_clock_gating_check -hold 0.3 [get_cells U0/clk_divider/UAND1]

set_clock_groups [-name name] [-logically_exclusive] [-physically_exclusive] [-asynchronous] [-allow_paths] -group clock_list 命令指定了一組具有特定屬性的時(shí)鐘,并為該組分配了一個(gè)名稱。

set_clock_latency [-rayise] [-fall] [-min] [-max] [-source] [-late] [-early] [-clock clock_list] delay object_list 命令指定給定時(shí)鐘的時(shí)鐘延遲。有兩種類型的延遲:網(wǎng)絡(luò)延遲和源延遲。源延遲是時(shí)鐘定義引腳與其源之間的時(shí)鐘網(wǎng)絡(luò)延遲,而網(wǎng)絡(luò)延遲是時(shí)鐘定義引腳與觸發(fā)器時(shí)鐘引腳之間的時(shí)鐘網(wǎng)絡(luò)延遲。

例子:

set_clock_latency 1.86 [get_clocks clk250]

set_clock_latency -source -late -rise 2.5 [get_clocks MCLK]

set_clock_latency -source -late -fall 2.3 [get_clocks MCLK]

set_clock_sense [-positive] [-negative] [-pulse pulse] [-stop_propagation] [-clock clock_list] pin_list 命令在引腳上設(shè)置時(shí)鐘屬性。

set_clock_transition [-rise] [-fall] [-min] [-max] transition_clock_list 命令指定時(shí)鐘定義點(diǎn)處的時(shí)鐘過渡時(shí)間。

例子:

set_clock_transition -min 0.5 [get_clocks SERDES_CLK]

set_clock_transition -max 1.5 [get_clocks SERDES_CLK]

set_clock_uncertainty [-from from_clock] [-rise_from rise_from_clock] [-fall_from fall_from_clock] [-to to_clock] [-rise_to rise_to_clock] [-fall_to fall_to_clock] [-rise] [-fall] [-setup] [-hold] uncertainty [object_list] 命令指定了時(shí)鐘或時(shí)鐘到時(shí)鐘傳輸?shù)臅r(shí)鐘不確定度。STA 將從路徑的數(shù)據(jù)需要到達(dá)時(shí)間中減去建立時(shí)間不確定度,并將保持時(shí)間不確定度增加到路徑的數(shù)據(jù)需要到達(dá)時(shí)間中。

例子:

set_clock_uncertainty -setup -rise -fall 0.2 [get_clocks CLK2]

set_clock_uncertainty -from [get_clocks HSCLK] -to [get_clocks SYSCLK] -hold 0.35

set_data_check [-from from_object] [-to to_object] [-rise_from from_object] [-fall_from from_object] [-rise_to to_object] [-fall_to to_object] [-setup] [-hold] [-clock clock_object] value 命令在兩個(gè)數(shù)據(jù)引腳之間執(zhí)行指定的檢查。

例子:

  • set_data_check -from [get_pins UBLK/EN] -to [get_pins UBLK/D] -setup 0.2

set_disable_timing [-from from_pin_name] [-to to_pin_name] cell_pin_list 命令中斷了指定單元內(nèi)的時(shí)序弧。

例子:

  • set_disable_timing -from A -to ZN [get_cells U1]

set_false_path [-setup] [-hold] [-rise] [-fall] [-from from_list] [-to to_list] [-through through_list] [-rise_from rise_from_list] [-rise rise_to_list] [-rise_through rise_through_list] [-fall_from fall_from_list] [-fall_to fall_to_list] [-fall_through fall_through_list] 命令指定了 STA 不需要考慮的路徑例外。

set_false_path -from [get_clocks jtag_clk] -to [get_clocks sys_clk]

set_false_path -through U1/A -through U4/ZN

set_ideal_latency [-rise] [-fall] [-min] [-max] delay object_list 命令用于為特定對(duì)象設(shè)置理想的延遲。

set_ideal_network [-no_propagate] object_list 命令將指定設(shè)計(jì)中理想網(wǎng)絡(luò)的源節(jié)點(diǎn)。

set_ideal_transition [-rise] [-fall] [-min] [-max] transition_time object_list 命令將指定理想網(wǎng)絡(luò)的過渡時(shí)間。

set_input_delay [-clock clock_name] [-clock_fall] [-rise] [-fall] [-max] [-min] [-add_delay] [-network_latency_included] [-source_latency_included] delay_value port_pin_list 命令將指定相對(duì)于指定時(shí)鐘的輸入端口數(shù)據(jù)到達(dá)時(shí)間,默認(rèn)為時(shí)鐘的上升沿。-add_delay 選項(xiàng)允許向該引腳或端口添加多個(gè)約束,可以使用此 -add_delay 選項(xiàng)將時(shí)鐘設(shè)置為不同的時(shí)鐘。默認(rèn)情況下,會(huì)將發(fā)起時(shí)鐘的時(shí)鐘源延遲添加到輸入延遲值中,但是當(dāng)指定了 -source_latency_included 選項(xiàng)時(shí),由于假設(shè)已將源網(wǎng)絡(luò)延遲添加到了輸入延遲值中,因此不再添加源網(wǎng)絡(luò)延遲。-max 選項(xiàng)指定的延遲用于建立時(shí)間和恢復(fù)時(shí)間檢查,而 -min 選項(xiàng)指定的延遲用于保持時(shí)間和撤銷時(shí)間檢查。如果僅指定 -min 或 -max 或兩者均未指定,則兩者將使用相同的值。

例子:

set_input_delay -clock SYSCLK 1.1 [get_ports MDIO*]

set_input_delay -clock virtual_mclk 2.5 [all_inputs]

set_max_delay [-rise] [-fall] [-from from_list] [-to to_list] [-through through_list] [-rise_from rise_from_list] [-rise_to rise_to_list] [-rise_through rise_through_list] [-fall_from fall_from_list] [-fall_to fall_to_list] [-fall_through fall_through_list] delay_value 命令用于設(shè)置指定路徑上的最大延遲。這個(gè)命令用于指定兩個(gè)任意引腳之間的延遲,而不是從一個(gè)觸發(fā)器到另一個(gè)觸發(fā)器的延遲。

例子:

set_max_delay -from [get_clocks FIFOCLK] -to [get_clocks MAINCLK] 3.5

set_max_delay -from [all_inputs] -to [get_cells UCKDIV/UFF1/D] 2.66

set_max_time_borrow delay_value object_list 命令可用于設(shè)置在分析鎖存器路徑時(shí)可以借用的最長時(shí)間。

例子:

  • set_max_time_borrow 0.6 [get_pins CORE/CNT_LATCH/D]

set_min_delay [-rise] [-fall] [-from from_list] [-to to_list] [-through through_list] [-rise_from rise_from_list] [-rise_to rise_to_list] [-rise_through rise_through_list] [-fall_from fall_from_list] [-fall_to fall_to_list] [-fall_through fall_through_list] delay_value 命令用于設(shè)置指定路徑上的最小延遲,該延遲可以在任意兩個(gè)引腳之間。

例子:

set_min_delay -from U1/S -to U2/A 0.6

set_min_delay -from [get_clocks PCLK] -to [get_pins UFF/*/S]

set_multicycle_path [-setup] [-hold] [-rise] [-fall] [-start] [-end] [-from from_list] [-to to_list] [-through through_list] [-rise_from rise_from_list] [-rise_to rise_to_list] [-rise_through rise_through_list] [-fall_from fall_from_list] [-fall_to fall_to_list] [-fall_through fall_through_list] path_multiplier 命令將路徑指定為多周期路徑,可以使用多個(gè) -through 選項(xiàng)。如果多周期路徑僅用于建立時(shí)間檢查,請(qǐng)使用 -setup 選項(xiàng),而如果多周期路徑用于保持時(shí)間檢查,請(qǐng)使用 -hold 選項(xiàng)。如果 -setup 或 -hold 均未指定,則默認(rèn)為 -setup 且默認(rèn)的保持時(shí)間周期為 0。-start 選項(xiàng)指定了時(shí)鐘周期數(shù)使用的是發(fā)起時(shí)鐘的 ,而 -end 選項(xiàng)指定使用的是捕獲時(shí)鐘的,默認(rèn)值為 -start。-hold 選項(xiàng)指定的時(shí)鐘周期數(shù)表示需要偏離默認(rèn)多周期保持時(shí)間值 0 的時(shí)鐘沿?cái)?shù)。

例子:

set_multicycle_path -start -setup -from [get_clocks PCLK] -to [get_clocks MCLK] 4

set_multicycle_path -hold -from UFF1/Q -to UCNTFF/D 2

set_multicycle_path -setup -to [get_pins UEDGEFF*] 4

set_output_delay [-clock clock_name] [-clock_fall] [-level_sensitive] [-rise] [-fall] [-max] [-min] [-add_delay] [-network_delay_included] [-source_latency_included] delay_value port_pin_list 命令可以指定相對(duì)于時(shí)鐘的輸出所需時(shí)間,默認(rèn)是上升沿。默認(rèn)情況下,時(shí)鐘源延遲會(huì)添加到輸出延遲值中,但是當(dāng)指定 -source_latency_included 選項(xiàng)時(shí),不會(huì)添加時(shí)鐘延遲值,因?yàn)闀?huì)假定它已包含在輸出延遲值中。-add_delay 選項(xiàng)可用于在一個(gè)引腳 / 端口上指定多個(gè) set_output_delay。

set_propagated_clock object_list 命令指定時(shí)鐘延遲需要計(jì)算,即不是理想的。

  • set_propagated_clock [all_clocks]

 

A.4 環(huán)境命令

本節(jié)介紹了用于設(shè)置待分析設(shè)計(jì)環(huán)境的命令。

set_case_analysis value port_or_pin_list 命令用于指定被設(shè)置為常數(shù)的端口或引腳。

例子:

set_case_analysis 0 [get_pins UDFT/MODE_SEL]

set_case_analysis 1 [get_ports SCAN_ENABLE]

set_drive [-rise] [-fall] [-min] [-max] resistance port_list 命令用于指定輸入端口的驅(qū)動(dòng)強(qiáng)度,它指定端口的外部驅(qū)動(dòng)電阻,值為 0 表示驅(qū)動(dòng)強(qiáng)度是最高的。

例子:

  • set_drive 0 {CLK RST}

set_driving_cell [-lib_cell lib_cell_name] [-rise] [-fall] [-library lib_name] [-pin pin_name] [-from_pin from_pin_name] [-multiply_by factor] [-dont_scale] [-no_design_rule] [-input_transition_rise rise_time] [-input_transition_fall fall_time] [-min] [-max] [-clock clock_name] [-clock_fall] port_list 命令用于模擬驅(qū)動(dòng)輸入端口的單元的驅(qū)動(dòng)電阻。

例子:

  • set_driving_cell -lib_cell BUFX4 -pin ZN [all_inputs]

set_fanout_load value port_list 命令在輸出端口上設(shè)置指定的扇出負(fù)載。

例子:

  • set_fanout_load 5 [all_outputs]

set_input_transition [-rise] [-fall] [-min] [-max] [-clock clock_name] [-clock_fall] transition port_list 命令指定了輸入端口上的過渡時(shí)間。

例子:

set_input_transition 0.2 [get_ports SD_DIN*]

set_input_transition -rise 0.5 [get_ports GPIO*]

set_load [-min] [-max] [-subtract_pin_load] [-pin_load] [-wire_load] value objects 命令用于指定在設(shè)計(jì)中引腳或網(wǎng)絡(luò)上的電容性負(fù)載的值。-subtract_pin_load 選項(xiàng)表示從指定負(fù)載中減去引腳電容。

例子:

set_load 50 [all_outputs]

set_load 0.1 [get_pins UFF0/Q]

set_load -subtract_pin_load 0.025 [get_nets UCNT0/NET5]

set_logic_dc port_list 命令、set_logic_one port_list 命令以及 set_logic_zero port_list 命令將指定的端口設(shè)置為不關(guān)心(don't care)、邏輯 1 或邏輯 0。

例子:

set_logic_dc SE

set_logic_one TEST

set_logic_zero [get_pins USB0/USYNC_FF1/Q]

set_max_area area_value 命令指定了當(dāng)前設(shè)計(jì)的最大面積限制。

例子:

  • set_max_area 20000.0

set_max_capacitance value object_list 命令指定了端口或設(shè)計(jì)中的最大電容。如果是設(shè)計(jì),則指定了設(shè)計(jì)中所有引腳的最大電容。

set_max_capacitance 0.2 [current_design]

set_max_capacitance 1 [all_outputs]

set_max_fanout value object_list 命令指定了端口或設(shè)計(jì)中的最大扇出值。如果是設(shè)計(jì),則指定了設(shè)計(jì)中所有輸出引腳的最大扇出值。

set_max_fanout 16 [get_pins UDFT0/JTAG/ZN]

set_max_fanout 50 [current_design]

set_max_transition [-clock_path] [-data_path] [-rise] [-fall] value object_list 命令指定了端口或設(shè)計(jì)中的最大過渡時(shí)間。如果是設(shè)計(jì),則指定了設(shè)計(jì)中所有引腳上的最大過渡時(shí)間。

例子:

  • set_max_transition 0.2 UCLKDIV0/QN

set_min_capacitance value object_list 命令指定了設(shè)計(jì)中端口或引腳上的最小電容值。

例子:

  • set_min_capacitance 0.05 UPHY0/UCNTR/B1

set_operating_conditions [-library lib_name] [-analysis_type type] [-max max_condition] [-min min_condition] [-max_library max_lib] [-min_library min_lib] [-object_list objects] [condition] 命令可以設(shè)置用于時(shí)序分析的工作條件。分析類型可以是 single(單個(gè)情況),bc_wc(最佳情況 / 最差情況)或者 on_chip_variation(片上變化)??梢允褂?operating_conditions 命令在庫中定義工作條件。

例子:

set_operating_conditions -analysis_type bc_wc

set_operating_conditions WCCOM

set_operating_conditions -analysis_type on_chip_variation

set_port_fanout_number value port_list 命令可用于設(shè)置端口的最大扇出數(shù)。

例子:

  • set_port_fanout_number 10 [get_ports GPIO*]

set_resistance [-min] [-max] value list_of_nets 命令可用于設(shè)置指定網(wǎng)絡(luò)上的電阻。

例子:

set_resistance 10 -min U0/U1/NETA

set_resistance 50 -max U0/U1/NETA

set_timing_derate [-cell_delay] [-cell_check] [-net_delay] [-data] [-clock] [-early] [-late] derate_value [object_list] 命令指定了降額系數(shù)。

set_wire_load_min_block_size size 命令指定了將線負(fù)載模型設(shè)置為“enclosed”時(shí)使用的最小的塊大小。

例子:

  • set_wire_load_min_block_size 5000

set_wire_load_mode mode_name 命令定義了如何對(duì)分層設(shè)計(jì)(hierarchical design)中的網(wǎng)絡(luò)使用線負(fù)載模型的機(jī)制。mode_name 可以是 top,enclosure 或 segmented。top 模式規(guī)定在頂層定義的線負(fù)載模型將用于所有較低級(jí)別上。enclosure 模式規(guī)定完全封閉在模塊中的網(wǎng)絡(luò)的線負(fù)載模型用于該網(wǎng)絡(luò)。segmented 模式規(guī)定模塊中的網(wǎng)絡(luò)段使用該模塊的線負(fù)載模型。

例子:

  • set_wire_load_mode enclosed

set_wire_load_model -name model_name [-library lib_name] [-min] [-max] [object_list] 命令定義了用于當(dāng)前設(shè)計(jì)或指定網(wǎng)絡(luò)的線負(fù)載模型。

例子:

  • set_wire_load_model -name "eSiliconLightWLM"

set_wire_load_selection_group [-library lib_name] [-min] [-max] group_name [object_list] 命令會(huì)在根據(jù)塊的單元面積確定線負(fù)載模型時(shí),為設(shè)計(jì)設(shè)置線負(fù)載選擇組,該選擇組通常在技術(shù)庫中定義。

A.5 多電壓命令

當(dāng)設(shè)計(jì)中存在多電壓島(multi-voltage islands)時(shí),以下命令適用。

create_voltage_area -name name [-coordinate coordinate_list] [-guard_band_x float] [-guard_band_y float] cell_list

set_level_shifter_strategy [-rule rule_type]

set_level_shifter_threshold [-voltage float] [-percent float]

set_max_dynamic_power power [unit] 命令指定了最大動(dòng)態(tài)功率。

例子:

  • set_max_dynamic_power 0 mw

set_max_leakage_power power [unit] 命令指定了最大漏電功率。

例子:

  • set_max_leakage_power 12 mw

END

打個(gè)廣告

?

新一期的路科驗(yàn)證春季班已經(jīng)開始了!現(xiàn)在報(bào)名早鳥班(開班之前)即可享受 500 優(yōu)惠,此外在文末掃描二維碼聯(lián)系路科驗(yàn)證 MOMO,然后報(bào)出 a 暗號(hào)摸魚范式就能獲得額外的200 優(yōu)惠券!可以和早鳥班的 500 優(yōu)惠疊加!對(duì)于課程學(xué)習(xí)有任何問題,都可以掃描下面的二維碼,加我微信咨詢。

除了這門升級(jí)中的 V2Pro 課程,恐怕你找不到更好的學(xué)驗(yàn)證的途徑了

?

?

貝塔的微信?

?

MOMO 的微信?

備戰(zhàn)秋招專輯

驗(yàn)證工程師面試攻略專輯

《數(shù)字集成電路靜態(tài)時(shí)序分析基礎(chǔ)》筆記專輯

深入 AXI4 總線專輯

UVM 實(shí)戰(zhàn)專輯

秋招記錄專輯

靜態(tài)時(shí)序分析圣經(jīng)翻譯計(jì)劃

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄