時序約束出現(xiàn)時序違例(Slack為負數(shù)),如何處理?
答:
一. 首先指出一個誤區(qū):當(dāng)約束出現(xiàn)錯誤時,想當(dāng)然地認為是“時序約束做得不對”,所以應(yīng)該怎么去改“時序約束”,從而讓這些錯誤消失,這是一個錯誤的觀念。
二. 時序約束的作用:在于檢查“設(shè)計是否滿足時序要求”,它是用來審視自己設(shè)計的,很多情況是,要改設(shè)計代碼來滿足時序要求。
三. 當(dāng)時序約束提示有錯誤時,應(yīng)該閱讀“時序報告”,從報告中分析時序路徑(數(shù)據(jù)到達時間、時鐘到達時間和數(shù)據(jù)要求時間等),根據(jù)報告分析錯誤的原因,并根據(jù)原因來實行不同的方法。
以建立時間違例,說明具體方法如下:
1. 時序報告中,找到提示錯誤的路徑,即目的寄存器,以及源寄存器。注意,這是兩個寄存器的點。
2. 首先判斷,源寄存器的時鐘,與目的寄存器的時鐘,是否相同。如果不同,可以認為是異步時序,見步驟3;如果是相同,則看步驟4。
3. 如果是異步電路,那么處理方法如下:
A. 確認做了異步處理。對于數(shù)據(jù),則是通過異步FIFO來做異步處理;如果是控制信號,則要經(jīng)過打兩拍來處理。
B. 確認做了異步處理后,仍然會報“時序違例”的。這個時候,可以該路徑設(shè)置成set false path,不用再檢查。
4. 同步電路下,具體處理如下:
A. 查看兩個寄存器點之間,經(jīng)過了多少加法器、乘法器、除法器等。
B. 對于除法器,要特別留意,一般是1個時鐘計算不完的。那么可以 a.想辦法不用除法;b. 通過使能信號控制獲取除法器結(jié)果的時間。
C. 對于乘法器和加法器,或者其他組合電路較多的。想辦法分隔成流水線來實現(xiàn)??梢詤⒖糓DY 流水線的內(nèi)容。
5. 如果是IP核的違例,檢查是否時鐘不滿足IP核的要求。如果沒問題,就不用管。
6. 如果是ILA等在線調(diào)試工具路線的違例,則一般不用處理。
7. 如果是線延時太長的,可以嘗試打一拍處理。即A->B的線太長,可以打一拍,變成A->C->B,這樣線延時就小了。
審核編輯:湯梓紅
-
fifo
+關(guān)注
關(guān)注
3文章
388瀏覽量
43683 -
加法器
+關(guān)注
關(guān)注
6文章
183瀏覽量
30128 -
時序約束
+關(guān)注
關(guān)注
1文章
115瀏覽量
13425
發(fā)布評論請先 登錄
相關(guān)推薦
評論