易靈思提供了相關時序約束的PPT,內容非常全面,但是我們還是發現很多客戶在使用Efinity時,時序約束存在很多問題。
添加約束
添加約束的目的是為了告訴FPGA你的設計指標及運行情況。在上面的生成約束之后,在Resultàxx.sdc中提供約束參考(請注意該文件不能直接添加到工程中,需要熱復制到別的指定目錄或者新建自己的SDC文件添加到工程)。

編譯完成之后可以查看時序報告,也可以通過routingàxx.timing.rpt來查看路徑詳細延時信息,如果想查看更可以通過指令來打印或者通過print_critical_path來控制打印的路徑數量 。
時鐘約束
(1)通過IO輸入的gclk。
如下圖,因為時鐘是通過外部IO輸入的,所以FPGA并不知道這個時鐘頻率是多少。打開.pt.sdc可以看到提供相關約束參考。

我們只需要補充相關的時鐘周期即可以使用。

比如,我們要約束adc_clk_in為100M:
create_clock-period10.000[get_ports{adc_clk_in}]
(2)PLL的輸出的時鐘約束。
因為PLL的輸入輸出頻率都是設置好的,所以軟件可以檢測到。如下圖,輸入輸出時鐘頻率都是30MHz.

在pt.sdc文件中會提供相應的約束 。
create_clock -period 33.3333 pll_inst1_CLKOUT0
在時鐘約束完成之后,可以查看Routing -->.timing.rpt文件中所有的時鐘是否都進行了完整的約束 。

IO約束
首先我們要了解易靈思的架構是core和interface分開的,相對于core,interface內部的GPIO,LVDS,JTAG及其它都是外設。所以所有針對于input_delay和outpu_delay的約束都是針對于interface的。至于FPGA對于我們平時理解的外設,比如FPGA外部連接一片AD/DA,這種是沒有辦法約束的。

在pt.sdc文件中可以看到關于set_input_delay和set_output_delay的約束。可以看到有些約束是已經屏蔽,那是因為添加的IO沒有打開寄存器。

如下圖,易靈思建議把所有IO都添加上IO寄存器。

有的客戶會有疑問,clock的PIN Name是什么?其實就是與core內連接的寄存器用什么時鐘,interface中就用什么時鐘。

(3)跨時鐘域約束
在保證程序上對跨時鐘域做了處理之后,約束上要對跨時鐘進行約束 。跨時鐘約束的語法是set_clock_groups或者set_false_path,關于用于網上很多,可以自行查找。
set_clock_groups -asynchronous -group {jtag_inst1_TCK jtag_inst1_DRCK}
在所有時鐘約束完成之后要保證時序報告的slack都為正值。

編譯完成之后可以查看時序報告,也可以通過routingàxx.timing.rpt來查看路徑詳細延時信息
如果時序上還有違例,在result--> Routing-->timing.rpt文件中查看具體的路徑。根據路徑來解決具體的時序問題。

如果想查看更可以通過指令來打印或者通過print_critical_path來控制打印的路徑數量 。

也可以通過report_timing來報告具體的時序路徑及數量。

先打開Tcl CommandConsole,如果Show/Hide Tcl commandConsole是灰色的,要先點擊Load Place and Route Data加載布局和布線的數據。

打開Tcl commandconsolel,使用report_timing命令來查看需要的路徑。

具體report_timing的用法,請參考EfinityTiming Closure UserGuide.pdf。
-
FPGA
+關注
關注
1660文章
22408瀏覽量
636231 -
pll
+關注
關注
6文章
981瀏覽量
138155 -
時鐘
+關注
關注
11文章
1971瀏覽量
134984 -
時序約束
+關注
關注
1文章
120瀏覽量
13961
發布評論請先 登錄
Vivado時序約束中invert參數的作用和應用場景
RK平臺固件升級失敗?排查流程圖+腦圖+實操指南,一步搞定!
BNC接頭接法|RG316射頻線安裝實操
簡儀科技走進三所高校開展AI助力測試測量程序開發實操課程
輸入引腳時鐘約束_Xilinx FPGA編程技巧-常用時序約束詳解
京東關鍵詞搜索接口獲取商品數據的實操指南
時序約束問題的解決辦法
Air8000 Wi-Fi功能實操指南:固件升級與網絡配置步驟!
西門子再收購EDA公司 西門子宣布收購Excellicon公司 時序約束工具開發商
【北京迅為】iTOP-RK3568開發板鴻蒙OpenHarmony系統南向驅動開發實操-HDF驅動配置UART
時序約束實操
評論