《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 其他 > FPGA教學(xué)——FPGA 時(shí)序約束之如何查看時(shí)序錯(cuò)誤

FPGA教學(xué)——FPGA 時(shí)序約束之如何查看時(shí)序錯(cuò)誤

2022-08-10
來源:FPGA設(shè)計(jì)論壇

  1、時(shí)序錯(cuò)誤的影響

  一個(gè)設(shè)計(jì)的時(shí)序報(bào)告中,design run 時(shí)序有紅色,裕量(slack)為負(fù)數(shù)時(shí),表示時(shí)序約束出現(xiàn)違例,雖然個(gè)別違例不代表你的工程就有致命的問題,但是這是一個(gè)風(fēng)險(xiǎn)(時(shí)序報(bào)告是按照工藝、電壓以及溫度的上下限給出的結(jié)果)。當(dāng)違例數(shù)較多,也就意味著設(shè)計(jì)在實(shí)際環(huán)境中出現(xiàn)問題的概率也會越大。

  時(shí)間裕量包括建立時(shí)間裕量和保持時(shí)間裕量(setup slack和hold slack)。從字面上理解,所謂“裕量”即富余的、多出的。什么意思呢?即保持最低要求的建立時(shí)間或保持時(shí)間所多出的時(shí)間,那么“裕量”越多,意味著時(shí)序約束越寬松。

  2、如何查看具體錯(cuò)誤的時(shí)序路徑

 微信截圖_20220810143756.png

  上述錯(cuò)誤的時(shí)序,雙擊可以看到詳細(xì)的時(shí)鐘路徑和數(shù)據(jù)路徑,右鍵可以看到具體代碼中的原理圖。個(gè)人比較喜歡先查看原理圖可以很直觀的看到到底是哪一塊的代碼錯(cuò)了。

  在調(diào)試的過程中發(fā)現(xiàn),基本上時(shí)序錯(cuò)誤都是代碼的錯(cuò)誤,比如沒有跨時(shí)鐘操作(跨時(shí)鐘需要打兩拍,跨時(shí)鐘一些信號前后初始化不一致);數(shù)據(jù)路徑過長(主要是針對位寬較大的數(shù)據(jù),路徑又長。解決辦法是在該路徑上添加寄存器)。出現(xiàn)時(shí)序錯(cuò)誤,先從代碼邏輯上找問題,代碼邏輯排查完了,在考慮時(shí)序怎么約束。

  3、clock  interaction

  時(shí)序錯(cuò)誤還可以通過下圖查看,以前特別愛用里面的指令  set false  path  和 set  clock  groups。自從意識到大部分的時(shí)序錯(cuò)誤都是邏輯錯(cuò)誤導(dǎo)致以后,基本沒用到這兩句話。有一次盲目的使用set false  path 指令,沒有對 set false  path 的用法有深刻理解,  導(dǎo)致代碼邏輯不正常后,就更不會輕易用這些優(yōu)化指令了。

  擴(kuò)展:

  1)set_false_path

  設(shè)置偽路徑后,不再對特殊路徑進(jìn)行時(shí)序分析。特殊路徑如測試邏輯、添加同步電路后的跨時(shí)鐘域路徑等。在兩個(gè)時(shí)鐘域之間應(yīng)該相互設(shè)置為set_false:(注意:只是不對特殊路徑進(jìn)行時(shí)序分析,而不是只要出現(xiàn)錯(cuò)誤就能用這句話)

  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í)鐘

  設(shè)置異步時(shí)鐘

  微信圖片_20220810143811.png



 更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<

微信圖片_20210517164139.jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。