1、時序錯誤的影響
一個設(shè)計的時序報告中,design run 時序有紅色,裕量(slack)為負數(shù)時,表示時序約束出現(xiàn)違例,雖然個別違例不代表你的工程就有致命的問題,但是這是一個風(fēng)險(時序報告是按照工藝、電壓以及溫度的上下限給出的結(jié)果)。當(dāng)違例數(shù)較多,也就意味著設(shè)計在實際環(huán)境中出現(xiàn)問題的概率也會越大。 時間裕量包括建立時間裕量和保持時間裕量(setup slack和hold slack)。從字面上理解,所謂“裕量”即富余的、多出的。什么意思呢?即保持最低要求的建立時間或保持時間所多出的時間,那么“裕量”越多,意味著時序約束越寬松。
2、如何查看具體錯誤的時序路徑
上述錯誤的時序,雙擊可以看到詳細的時鐘路徑和數(shù)據(jù)路徑,右鍵可以看到具體代碼中的原理圖。個人比較喜歡先查看原理圖可以很直觀的看到到底是哪一塊的代碼錯了。 在調(diào)試的過程中發(fā)現(xiàn),基本上時序錯誤都是代碼的錯誤,比如沒有跨時鐘操作(跨時鐘需要打兩拍,跨時鐘一些信號前后初始化不一致);數(shù)據(jù)路徑過長(主要是針對位寬較大的數(shù)據(jù),路徑又長。解決辦法是在該路徑上添加寄存器)。出現(xiàn)時序錯誤,先從代碼邏輯上找問題,代碼邏輯排查完了,在考慮時序怎么約束。
3、clock interaction 時序錯誤還可以通過下圖查看,以前特別愛用里面的指令 set false path 和 set clock groups。自從意識到大部分的時序錯誤都是邏輯錯誤導(dǎo)致以后,基本沒用到這兩句話。有一次盲目的使用set false path 指令,沒有對 set false path 的用法有深刻理解, 導(dǎo)致代碼邏輯不正常后,就更不會輕易用這些優(yōu)化指令了。擴展:1)set_false_path 設(shè)置偽路徑后,不再對特殊路徑進行時序分析。特殊路徑如測試邏輯、添加同步電路后的跨時鐘域路徑等。在兩個時鐘域之間應(yīng)該相互設(shè)置為set_false:(注意:只是不對特殊路徑進行時序分析,而不是只要出現(xiàn)錯誤就能用這句話) set_false_path -from [get_clocks clk_a] -to [get_clocks clk_b] set_false_path -from [get_clocks clk_b] -to [get_clocks clk_a] 2)set_clock_groups :添加完以后事這樣的 set_clock_groups -asynchronous -group clk_a -group clk_b clk_a和clk_b是異步時鐘 設(shè)置異步時鐘
![](https://file1.elecfans.com//web2/M00/99/CE/wKgaomTnd7GACLtCAABiq3a-ogY026.jpg)
![](https://file1.elecfans.com//web2/M00/99/CE/wKgaomTnd7GACALbAAACXWrmhKE006.png)
歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點個在看你最好看
原文標(biāo)題:FPGA時序約束:如何查看具體錯誤的時序路徑
文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1630文章
21799瀏覽量
606196
原文標(biāo)題:FPGA時序約束:如何查看具體錯誤的時序路徑
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
ldc1000使用的具體時序是怎樣的呢?
時序約束一主時鐘與生成時鐘
![<b class='flag-5'>時序</b><b class='flag-5'>約束</b>一主時鐘與生成時鐘](https://file1.elecfans.com/web3/M00/00/6A/wKgZPGdJL3mAa0qAAAATtpEneAs782.png)
常用時序約束使用說明-v1
高速ADC與FPGA的LVDS數(shù)據(jù)接口中避免時序誤差的設(shè)計考慮
![高速ADC與<b class='flag-5'>FPGA</b>的LVDS數(shù)據(jù)接口中避免<b class='flag-5'>時序</b>誤差的設(shè)計考慮](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
鎖存器的基本輸出時序
時序邏輯電路必不可少的部分是什么
電源時序器的原理及使用方法是什么
FPGA 高級設(shè)計:時序分析和收斂
Xilinx FPGA編程技巧之常用時序約束詳解
FPGA工程的時序約束實踐案例
![<b class='flag-5'>FPGA</b>工程的<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實踐案例](https://file1.elecfans.com/web2/M00/DE/53/wKgZomYvCOiABiNDAAAWtbtCoV0187.png)
時序約束實操
![<b class='flag-5'>時序</b><b class='flag-5'>約束</b>實操](https://file1.elecfans.com/web2/M00/DE/3F/wKgZomYuJqeAVsZjAABF85aBMFU587.png)
評論