偽路徑約束
在本章節(jié)的“2 約束主時(shí)鐘”一節(jié)中,我們看到在不加時(shí)序約束時(shí),Timing Report會(huì)提示很多的error,其中就有跨時(shí)鐘域的error,我們可以直接在上面右鍵,然后設(shè)置兩個(gè)時(shí)鐘的偽路徑。
這樣會(huì)在xdc中自動(dòng)生成如下約束:
set_false_path -from [get_clocks -of_objects [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT0]] -to [get_clocks -of_objects [get_pins clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKOUT1]]
其實(shí)這兩個(gè)時(shí)鐘我們已經(jīng)在前面通過generated指令創(chuàng)建過了,因此get_pins那一長串就沒必要重復(fù)寫了,所以我們可以手動(dòng)添加這兩個(gè)時(shí)鐘的偽路徑如下:
set_false_path -from [get_clocks clk_rx] -to [get_clocks clk_tx]
偽路徑的設(shè)置是單向的,如果兩個(gè)時(shí)鐘直接存在相互的數(shù)據(jù)的傳輸,則還需要添加從clk_tx到clk_rx的路徑,這個(gè)工程中只有從rx到tx的數(shù)據(jù)傳輸,因此這一條就可以了。
在偽路徑一節(jié)中,我們講到過異步復(fù)位也需要添加偽路徑,rst_pin的復(fù)位輸入在本工程中就是當(dāng)做異步復(fù)位使用,因此還需要添加一句:
set_false_path -from [get_ports rst_pin]
對于clk_samp和clk2,它們之間存在數(shù)據(jù)交換,但我們在前面已經(jīng)約束過asynchronous了,這里就可以不用重復(fù)約束了。
這里需要提示一點(diǎn),添加了上面這些約束后,綜合時(shí)會(huì)提示xdc文件的的warning。
但這可能是Vivado的綜合過程中,讀取到該約束文件時(shí),內(nèi)部電路并未全都建好,就出現(xiàn)了沒有發(fā)現(xiàn)clk_gen_i0/clk_core_i0/inst/mmcm_adv_inst/CLKIN1等端口的情況,有如下幾點(diǎn)證明:
若把該xdc文件,設(shè)置為僅在Implementation中使用,則不會(huì)提示該warning
在Implementation完成后,無論是Timing Report還是通過tcl的report_clocks指令,都可以看到這幾個(gè)時(shí)鐘已經(jīng)被正確約束。
編輯:hfy
-
FPGA
+關(guān)注
關(guān)注
1630文章
21799瀏覽量
606208 -
時(shí)序約束
+關(guān)注
關(guān)注
1文章
115瀏覽量
13462
發(fā)布評論請先 登錄
相關(guān)推薦
FPGA的IO口時(shí)序約束分析
FPGA主時(shí)鐘約束詳解 Vivado添加時(shí)序約束方法
![<b class='flag-5'>FPGA</b>主時(shí)鐘<b class='flag-5'>約束</b>詳解 Vivado添加<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>方法](https://file1.elecfans.com/web2/M00/89/44/wKgZomR-_LyAXydsAAC63BOnXvo730.jpg)
FPGA時(shí)序約束之衍生時(shí)鐘約束和時(shí)鐘分組約束
FPGA時(shí)序約束之偽路徑和多周期路徑
FPGA時(shí)序約束之時(shí)序路徑和時(shí)序模型
![<b class='flag-5'>FPGA</b><b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>之<b class='flag-5'>時(shí)序</b><b class='flag-5'>路徑</b>和<b class='flag-5'>時(shí)序</b>模型](https://file1.elecfans.com/web2/M00/90/7E/wKgaomTZ-H-ALKzTAACRniJi_dk443.jpg)
FPGA時(shí)序約束--基礎(chǔ)理論篇
基于FPGA 和 SoC創(chuàng)建時(shí)序和布局約束以及其使用
![基于<b class='flag-5'>FPGA</b> 和 SoC創(chuàng)建<b class='flag-5'>時(shí)序</b>和布局<b class='flag-5'>約束</b>以及其使用](https://file1.elecfans.com//web2/M00/A6/E8/wKgZomUMQTKAVmyMAAAfDs6x0wU195.png)
FPGA中的時(shí)序約束設(shè)計(jì)
![<b class='flag-5'>FPGA</b>中的<b class='flag-5'>時(shí)序</b><b class='flag-5'>約束</b>設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A6/E9/wKgZomUMQTSAK-f9AABQURI8k0Q349.png)
評論