時序約束命令

時鐘的約束html

關於時鐘的約束命令:app

create_clock-name clk-period 10.000[get_ports{clk}]
derive_pll_clocks        //當約束了主時鐘以後加上這句話就不用逐一約束pll時鐘啦
derive_clock_uncertainty
create_generated_clock  //當 FPGA 的引腳要向外部其餘芯片提供時鐘的時候 

 

當出現警告: The following clock transfer have no clock uncertainty assignment. For more accurate results, apply clock uncertainty or use the derive_clock_uncertainty command.spa

只要加上   derive_clock_uncertainty 這條命令就能夠解決。code

 


output引腳約束命令htm

set_output_delay-clock{clk}-min 2.5 [get_ports{reg1}] //最大
set_output_delay-clock{clk}-max 2.5 [get_ports{reg1}] //最小
set_output_delay-clock{clk}-  2.5 [get_ports{reg1}] //當最大和最小的值相等時

由於 Timequest 只能約束 FPGA 的內部走線延時,可是沒法知道 PCB 板上的走線延時或者外部寄存器芯片的延時, 因此這些不知道的延時都要算到 FPGA 的保持裕量和創建裕量。PCB 板的路徑延時越大,創建裕量越小,保持裕量越大。反之路徑延時越小,創建裕量越大,保持裕量越小。blog

創建裕量考慮的是最大值get

Delay Value =  PCB最長走線的時間 + 外部芯片的創建時間 Tsu - clock skewinput

保持裕量考慮的是最小值io

Delay Value =  PCB最短走線的時間 - 外部芯片的保持時間 Th - clock skewclass

 


input引腳約束命令 

set_input_delay-clock{clk}-min 2.5 [get_ports{reg1}] //最大
set_input_delay-clock{clk}-max 2.5 [get_ports{reg1}] //最小
set_intput_delay-clock{clk}-  2.5 [get_ports{reg1}] //當最大和最小的值相等時

創建裕量考慮的是最大值

Delay Value =  PCB最長走線的時間 + 外部芯片的創建時間 Tco - clock skew

保持裕量考慮的是最小值

Delay Value =  PCB最短走線的時間 + 外部芯片的保持時間 Tco - clock skew

 


其他約束

set_clock_latency //將外部時鐘信號的抖動信息告訴 TimeQuest

set_min_delay  //將有關路徑延時告訴 TimeQuest

set_max_delay

 

原文連接:http://www.cnblogs.com/aslmer/p/6051814.html

相關文章
相關標籤/搜索