版權(quán)聲明:轉(zhuǎn)載時(shí)請(qǐng)以超鏈接形式標(biāo)明文章原始出處和作者信息及本聲明
http://www./bb2hh-logs/20373036.html
注明:如需轉(zhuǎn)載,請(qǐng)注明作者出處,謝謝~,Author:pythonlong
一個(gè)比較全的例子,不過還有比較多的特殊情況。

對(duì)于PLL,會(huì)被認(rèn)為是黑盒子,時(shí)鐘穿越不過.所以需要對(duì)pll創(chuàng)建qtm模型,再在輸出端create_generated_clock;或者get_timing_path,然后set_annotated_delay,再create_generated_clock,;或者在pll輸出端create clock,設(shè)置source latency。結(jié)合pt,dc設(shè)置約束。
create_clock -name SCLK -p 20 [get_ports Sclk]
create_clock -name PCLK -p 8 [get_ports Pclk]
create_generated_clock -name PCLKX8 -multiply_by 8 -source [get_attribute [get_clocks PCLK] sources] [get_pins PLL/pllx8]
create_generated_clock -name sclk_gate -divide_by 1 -combinational -source [get_attribute [get_clocks SCLK] sources] [get_pins NAND2/Y]
create_generated_clock -name clk_div2 -divide_by 2 -source [get_attribute [get_ports sclk_gate] sources] [get_pins DIV/clk_div2]
create_generated_clock -name clk_div4 -divide_by 4 -source [get_attribute [get_ports sclk_gate] sources] [get_pins DIV/clk_div4]
create_generated_clock -name clk_div8 -divide_by 8 -source [get_attribute [get_ports sclk_gate] sources] [get_pins DIV/clk_div8]
之只所以在門控時(shí)鐘后面generated clock,因?yàn)榈絥and2的輸出端有2條時(shí)鐘路徑。如果不指明使用組合邏輯路徑,時(shí)序分析的時(shí)候clock latency會(huì)2個(gè)的,launch,capture會(huì)選擇不同的latency。
另:如果在選擇器之前create clock,dc2007會(huì)認(rèn)為只有一個(gè)時(shí)鐘可以穿越。dc2009會(huì)認(rèn)為2個(gè)時(shí)鐘都可以穿越。
set_clock_group -async -group PCLK -group PCLKX8 -group {SCLK sclk_gate} -group clk_div2 -group clk_div4 -group clk_div8
set_clock_group -logical -group PCLKX8 -group clk_div2
set_clock_group -logical -group clk_div8 -group SCLK
set_clock_group -physical -group PCLKX8 -group clk_div2
set_clock_group -physical -group clk_div8 -group SCLK
有些后端工具不認(rèn)識(shí)set_clock_group命令,可以將其轉(zhuǎn)換成set_false_path
對(duì)于選擇時(shí)鐘推薦做法:在選擇器之前create clock,設(shè)置logical group,有的選擇器是用門級(jí)搭建,也可以再選擇器之后create_generated_clock,看內(nèi)部clock如何使用。如果想使用比較真實(shí)的延遲計(jì)算,SI計(jì)算,將選擇器之前的2個(gè)時(shí)鐘設(shè)置成physical group,這個(gè)原因以后說下。如果master clock和generated clock之間沒相關(guān)路徑可以直接設(shè)置成async group。