FPGA quartus ii裡的靜態時序分析

2021-01-12 電子發燒友
FPGA quartus ii裡的靜態時序分析

huan09900990 發表於 2020-11-25 11:39:35

在fpga工程中加入時序約束的目的:
1、給quartusii 提出時序要求;
2、quartusii 在布局布線時會儘量優先去滿足給出的時序要求;
3、STA靜態時序分析工具根據你提出的約束去判斷時序是否滿足的標準。

舉個形象的比喻:就好比我要讓代工廠(類比quartus ii)給我加工一批零件,要求長寬高為10x10x10cm,誤差不超過1mm(類比時序約束條件)。代工廠按要求(即約束條件)開始進行生產加工,工廠為了不返工,肯定會儘量生產出達到我要求的零件。當加工完成後,質檢員(類比STA靜態時序分析工具)按我給出的要求進行檢驗看是否滿足要求。要是工廠想盡了各種辦法也不能達到我給出的要求,那麼就是我給出的要求太高了(即時序約束中的過約束),要是我給出的要求太低(比如說加工成方形就行,而沒有指出長寬高),那麼工廠很容易就生產出來了,但這並不是我想要的,這是由於我給出的約束太松 即相當於時序裡的 欠約束。

quartus ii裡的靜態時序分析(STA):是套用特定的時序模型,針對特定電路分析其是否違反設計者給定的時序限制。說白了就是檢查fpga內部所有寄存器的建立時間保持時間是否滿足spec給定的要求。

1、Data Arrival Time 數據到達目的寄存器REG2時間

 

 

2、Clock Arrival Time 時鐘到達目的寄存器REG2時間

 

 

3、Data Required Time 數據需求時間-Setup

指數據需要在需求時間前到達目的寄存器,否則不滿足建立時間關係,不能被正確採樣。

最大延遲是防止數據來的太慢 ,當時鐘沿已經到來時,數據還沒到,這樣就不能在上升沿被寄存器正確採樣。

 

 

4、Data Required Time 數據需求時間-Hold

指數據在時鐘鎖存沿到達後,必須保持一段穩定的時間,使數據被正確採樣。做最小延遲約束是為了防止數據傳輸過快,使得寄存器還在鎖存上一個數據時,下一個數據就來了,使得上次鎖存數據發生錯誤。

所以 保持時間必須小於 tco+tlogic(組合邏輯延時),這裡 tco+tlogic(組合邏輯延時)就是數據從源寄存器到目的寄存器的時間。

 

 

5、時序裕量slack

Setup Slack=Setup Required Time - Data Arrival Time

Hold Slack=Data Arrival Time - Hold Required Time

時序裕量為正 表示時序滿足時序約束條件,為負,時序不滿足。

6、Input Delay 輸入最大最小延遲

Input Delay=數據路徑延遲-時鐘路徑延遲+utco(外部器件)

輸入延遲 Input Delay=Data Arrival Time-Clock Arrival Time
=launch Edge+Tclk1+uTco+Tdata-latch edge-Tclk2

數據相對於時鐘到達目的寄存器的時間差值。即數據和時鐘從同一時間點(launch)開始,到達目的寄存REG2的時間差。

數據到達REG2走的路徑延時是:時鐘從launch開始 經過Tclk1的延遲到達REG1,REG1在時鐘沿來之後,經過Tco的時間把數據送出REG1,然後數據再經過路徑延遲Tdata 到達REG2的數據管腳。

時鐘到達REG2走的路徑延時是:時鐘也從同一時間點(launch)開始,經過路徑延遲Tclk2就到達REG2的時鐘管腳。
輸入最大延遲是約束為了滿足寄存器的建立時間,輸入最小延遲是位了滿足寄存器的保持時間。

Input Maximum Delay=Data Arrival Time最大值-Clock Arrival Time 最小值

「fpga-centric」Input Maximum Delay<=tclk-tsu(fpga)

 

 

Input Minimum Delay=Data Arrival Time最小值-Clock Arrival Time 最大值

「fpga-centric」 Input Minimum Delay>=th(fpga)

 

 

7、output Delay 輸出最大最小延遲

output Maximum Delay=外部器件tsu+數據路徑最大延遲-時鐘路徑最小延遲

 

 

output Minimum Delay=外部器件th+數據路徑最小延遲-時鐘路徑最大延遲

 

 

8、Fmax

指設計能運行的最高頻率,即周期為最小時,頻率最大
當Setup Slack=0時,系統剛好滿足建立時間,此時周期為最小值。
period=tco+data_delay+tsu-tskew

 

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 【從零開始走進FPGA】創造平臺——Quartus II 11.0 套件安裝指南
    (5)Quartus II 10.1之前軟體包括時鐘綜合器,即Settings中包含TimeQuest Timing Analyzer,以及Classic Timing Analyzer,但10.1以後的版本只包含了TimeQuset Time Analyzer,因此需要sdc來約束時序。
  • 手把手課堂:Xilinx FPGA設計時序約束指南
    作為賽靈思用戶論壇的定期訪客,我注意到新用戶往往對時序收斂以及如何使用時序約束來達到時序收斂感到困惑。為幫助 FPGA設計新手實現時序收斂,讓我們來深入了解時序約束以及如何利用時序約束實現FPGA 設計的最優結果。
  • Quartus II 18.0 PLD/FPGA開發軟體
    Quartus II 是Altera公司帶來的專業的PLD/FPGA開發軟體,該版本不僅增加了Spectra-Q引擎,還帶了新的算法更新了TimeQuest時序分析器,時序分析速度提高了2倍,新的Spectra-Q引擎,進一步提高了下一代可編程器件的設計效能,並且利用新一代的設計空間管理器(DSE)針對用戶界面更新了流程,通過工具指導用戶的使用。
  • 通過EDA設計工具了解FPGA的設計流程
    綜合後的網表有兩種: RTL級網表和門級網表(gate netlist),通過對網表的分析可以對設計的實現方式有初步的了解,並分析其中的錯誤和不合理的地方,另外還可以對關鍵路徑的delay和slack進行分析。
  • FPGA設計開發軟體Quartus II的使用技巧之:Quartus II軟體基礎介紹
    (4)進行EarlyTimingEstimate,在完成Fitter之前生成時序結果的早期估算。(5)使用SOPCBuilder或DSPBuilder建立系統級設計。(6)使用SoftwareBuilder為Excalibur™器件處理器或Nios®嵌入式處理器建立軟體和編程文件。(7)使用AnalysisSynthesis對設計進行綜合。
  • FPGA驗證之功能仿真和時序仿真的區別與方法
    這裡我們使用一個波形發生器作為例子,來說明如何使用Modelsim對Quartus II生成的IP Core和相應的HDL文件進行功能仿真和時序仿真
  • FPGA設計開發軟體Quartus II的使用技巧之: 約束及配置工程
    約束主要包括器件選擇、管腳分配及時序約束等。時序約束屬於較為高級的應用,通過時序約束可以使工程設計文件的綜合更加優化。下面對這幾種約束方式進行介紹。本文引用地址:http://www.eepw.com.cn/article/201706/348818.htm5.7.1 器件選擇選擇「Assignments」菜單中的「Device」選項,如圖5.29所示。
  • 【從零開始走進FPGA】 SignalTap II Logic Analyzer
    (此處我也不是很清楚,大概各種模式吧)  (9)設置觸發輸入:選擇觸發信號以及觸發方式,flag為觸發使能信號,實際工程中沒用,只是signaltap ii的使能信號;高電平觸發,設置如下:   (13)進程—Anturon Analysis,自動分析
  • Altera發布最新版Quartus II開發軟體
    開發套裝支持所有的FPGA設計過程,從設計輸入,到時序收斂,直至驗證。  價格和供貨信息  現在可以下載Quartus II軟體12.0訂購版和免費的網絡版。Altera的軟體訂購程序將軟體產品和維持費用合併在一個年度訂購支付中,簡化了獲取Altera設計軟體的過程。
  • FPGA工程師進階必學:時序分析的基本步驟和整體設計思路
    最近看了看了一篇《vivado使用誤區與進階》的文章,覺得寫得挺不錯了,看完後自己對時序分析又有了更深一層的理解,故記錄下來。可能排版有些亂,有些圖都是直接從文章中截取,但是不影響閱讀。時序分析的基本步驟一個合理的時序約束,可以分為以下步驟:
  • FPGA設計開發軟體Quartus II的使用技巧之: 編譯及仿真工程
    根據所需的信息類型,可以進行功能仿真以測試設計的邏輯功能,也可以進行時序仿真。在目標器件中測試設計的邏輯功能和最壞情況下的時序,或者採用Fast Timing模型進行時序仿真,在最快的器件速率等級上仿真儘可能快的時序條件。下面是利用Quartus II Simulator進行仿真的步驟。(1)設置頂層模塊。
  • 時序分析中的一些基本概念
    時序分析時FPGA設計中永恆的話題,也是FPGA開發人員設計進階的必由之路。慢慢來,先介紹時序分析中的一些基本概念。本文引用地址:http://www.eepw.com.cn/article/201710/365595.htm1. 時鐘相關時鐘的時序特性主要分為抖動(Jitter)、偏移(Skew)、佔空比失真(Duty Cycle DistorTIon)3點。
  • 十分鐘看懂時序資料庫(II)- 預處理
    本文會從時序資料庫的查詢以及聚合運算角度展開,最後從如何解決時序數據的查詢問題入手深入分析。1.   時序數據的查詢         用戶對時序數據的查詢場景多種多樣,總的來說時序數據的查詢分為兩種:原始數據的查詢和時序數據聚合運算的查詢。前者是對歷史高精度時序數據的查詢,查詢結果粒度太細,並不利於發現其規律性,趨勢性;也不適合展現給用戶,主要用於大數據分析的元數據。
  • 中國的FPGA處於什麼水準?發展前景分析
    fpga突出特點   可以說,FPGA晶片是小批量系統提高系統集成度、可靠性的最佳選擇之一。FPGA可做其它全定製或半定製ASIC電路的中試樣片。採用FPGA設計ASIC電路(專用集成電路),用戶不需要投片生產,就能得到合用的晶片。FPGA內部有豐富的觸發器和I/O引腳。
  • 基於SoC+FPGA平臺快速動態加載驅動開發及實現
    EP3C80F484在被動串行(PS)模式下的動態加載時序要求如圖2所示。  根據EP3C80F484在被動串行(PS)模式下的動態加載時序要求,SPI控制器工作在POLARITY = 0 ,PHASE = 1,SHIFTDIR=1模式,POLARITY、PHASE及SHIFTDIR設置位於SPIFMT0寄存器,工作時序如圖4所示。
  • 9年FPGA工作經驗,轉行了,苦海無涯……
    第一個,9年的fpga,說起來,給我感覺fpga寫代碼牛逼的人,都是寫著看不懂的代碼。 基本上的代碼都是小邏輯做的。大邏輯做的都是沙雕。 第三個,知道時序約束,fpga很傻的元件,你經常發現,他自己不知道哪個是時鐘,要求跑多少。 還有各類並行總線,要求相位抖動控制多少。還有不同時鐘不要去約束。
  • FPGA初學者做時序最易忽視的幾個要點,每一項都很重要
    FPGA畢竟不是ASIC,對時序收斂的要求更加嚴格,本文主要介紹本人在工程中學習到的各種時序約束技巧。首先強烈推薦閱讀官方文檔UG903和UG949,這是最重要的參考資料,沒有之一。它提倡要在設計的早期階段就要排除問題,越到後期時序的改善就越困難。其中HLS層次對性能的影響是最大的。
  • 基於FPGA的Gzip解壓縮硬體設計
    Gzip解壓縮基本原理本文引用地址:http://www.eepw.com.cn/article/235597.htm  Gzip文件格式分析  Gzip壓縮後的文件主要由3個部分組成,分別是文件頭、壓縮數據部分、文件尾,如圖
  • Cadence為複雜SoC設計縮短時序收斂時程
    在加速複雜IC開發更容易的當下,益華電腦(Cadence Design Systems, Inc.)發表 Tempus 時序 Signoff解決方案(Timing Signoff Solution),這是嶄新的靜態時序分析與收斂工具,精心設計讓系統晶片
  • 基於FPGA的AXI4總線時序設計與實現
    摘  要: 針對AXI4總線設備之間的高速數據傳輸需求,根據AXI4總線協議,設計實現了一種基於FPGA的AXI4總線讀寫時序控制方法。以FPGA為核心,採用VHDL語言,完成了滿足AXI4總線協議的讀猝發方式數據傳輸和寫猝發方式數據傳輸時序控制模塊的設計。利用FPGA內部嵌入式系統提供的高性能數據傳輸接口完成AXI4時序控制模塊的功能驗證。實際應用表明,依據提出的設計方法實現的讀寫時序控制模塊能夠滿足AXI4總線協議規定的時序關係,實現數據的高速正確傳輸,總線數據傳輸速率能夠達到1.09 GB/s。