quartus中的時序約束常用方法

2022-09-02 19:15:10 字數 1352 閱讀 4080

quartus中有三種時序約束方法:

1️⃣timing setting

2️⃣wizards/timing wizard

3️⃣assignment/assignment editor

一般來說,前面兩種是全域性約束,後面一種是個別約束。

先全域性,後個別。約束操作的目標就是得到合理的時序報告。

(1)時序驅動的編譯(tdc)

fitter setting,約束設定,可以調整時序的優先策略並自動提供解決方案。時序編譯的主要操作有:

優化時序:將關鍵路徑的節點放置地更近,降低延時,提高餘量

優化io單元暫存器放置:為了滿足時序,自動將暫存器移到io單元中。

其中優化保持時間,還可以選擇優化io路徑保持時間與最小tpd路徑的時間,或者是所有路徑。

優化的方法就是在關鍵路徑上新增佈線延時以滿足保持時間的要求。

(2)全域性時鐘設定

在timing setting 中即可設定全域性時鐘,用於乙個時鐘域的全域性時鐘約束。在timing requirements & options的中間位置。

(3)全域性io時序約束

在全域性時鐘設定的上面就是io的最小時序設定。設定的引數包括:tsu,tco,tpd和最小延時要求的th、min tco、min tpd共六個引數,具體的使用方法需要在實際的工程中體現。

(4)時序分析和時序報告

quartus中在綜合後會自動生成時序分析報告,可以通過時序分析報告檢視設計的時序要求是否符合預期。

(5)時序嚮導(timing wizard)

由自帶的軟體嚮導設定全域性時鐘。

(1)指定個別時鐘要求

quartus預設的時鐘有兩類:獨立時鐘和衍生時鐘。時鐘域對應的是獨立時鐘,對於衍生時鐘,則依附於對應的獨立時鐘的時序。對兩類時鐘的宣告也是不一樣的,獨立時鐘需要時鐘頻率和占空比,而衍生時鐘則需要相位差、頻率倍數等關係約束。

(2)個別時序約束

時鐘設定:在設定獨立時鐘時就可以將其的物理節點指定。

輸入輸出最大延時:輸入延時直接影響時鐘建立、保持時間,輸出直接影響插傳輸延時和路徑延時。

反相時鐘:可以宣告某個時鐘的反相時鐘訊號。

非時鐘:將某些不必要的時鐘去除。

(3)時序約束的種類

單點:輸入到所有暫存器的延時約束

點到點:輸入到某個暫存器的延時約束

萬用字元:輸入到某些相似暫存器的約束

時序組:輸入到某組暫存器的延時

(4)檢視所有時序約束

在前面的時序約束操作最後都可以在quartus中的assignment editor中檢視,也可以在裡面將其刪除。

時序分析報告是得到這個設計的時序狀況,而時序約束則是優化時序狀況。時序約束的前提是有明確的時序設計目標。這點需要注意。

時序約束Quartus

quartus選單翻譯 時序約束名字 頂層檔案的module名字與頂層檔案的檔案的名字要一致。例 若.v檔案為top.v,則其內部必須為module top,而不能是module top。時序約束步驟學習 主要是乙個是先建sdc檔案,乙個是頁面操作自動生成制定,最後儲存sdc檔案,且要記得將檔案加入...

基於quartus的高階時序分析

派生時鐘就是和獨立時鐘存在頻率或者相位關係的時鐘,非同步儲存器就是具有儲存讀寫非同步功能的儲存器。在時序分析中,這兩個部分的靜態時序分析是需要設定個別約束的。派生時鐘會產生時鐘偏斜或者不同頻率時序問題,非同步儲存器則類似latch,存在建立時間和保持時間的要求。分別對獨立時鐘和衍生時鐘做時序約束,保...

時序的約束

前端時間,學校的社團有人在問我關於對設計約束的問題,碰巧在網上看見一篇關於約束的問題,現狀貼如下 個人覺得有些觀點不是太認同,但是主要的思想是很好的 對自己的設計的實現方式越了解,對自己的設計的時序要求越了解,對目標器件的資源分布和結構越了解,對eda工具執行約束的效果越了解,那麼對設計的時序約束目...