【原創】建立與保持時間裕量詳細分析


  筆者這段時間在找工作中發現,關於時序分析的基礎概念,時序關系表達式及時序違例計算幾乎是每個IC/FPGA崗位筆試面試的必考內容。就此,從建立保持時間裕量出發,夯實基礎。本文主要是對之前轉載博客【時序約束學習筆記1】Vivado入門與提高--第12講 時序分析中的基本概念和術語 做一些總結和個人理解。

    還是直接用之前轉載博客中圖片:

 

  圖中的兩個寄存器中間加一段組合邏輯電路是時序分析的經典模型,主時鍾clk前后兩個上升沿分別叫啟動沿和鎖存沿,是時序分析的起點和終點。下邊一步步推導出建立時間和保持時間裕量及常用通式。要注意,下邊的“時間”均表示一個時刻。且為了方便,將啟動沿時刻定義為0時刻,故鎖存沿為T時刻。

1 時鍾到達時間:時鍾有效沿到達帶二個寄存器的時刻。

  Tcd = capature Edge + Tclkb = T + Tclkb

2 數據到達時間:數據到達第二個寄存器的時刻。

  Tdd = launch Edge + Tclka + Tco + Tdata = Tclka + Tco + Tdata

3 數據需求時間(建立時間需求):為滿足建立時間要求,數據最晚到達的時刻。

  Tsu,req = Tcd - Tsu = T+ Tclkb - Tsu

4 數據需求時間(保持時間需求):為了滿足保持時間要求,數據最早更新的時刻。

  Th,req = Tcd + Th = T + Tclkb + Th

5 建立時間裕量:為滿足建立時間要求,富余出來的時間段長度。

  setup slack = 建立時間需求 - 數據到達時間

                          = Tdd - Tsu,req = T+ Tclkb - Tsu - Tclka - Tco - Tdata 

                                   =  T + T△ - Tco - Tdata - Tsu

6 保持時間裕量:為了滿足保持時間要求,富余出來的時間長度。

  hold slack = 數據到達時間(下一次)- 保持時間需求

                        = Tdd' - Th,req = Tclka + Tco + Tdata + T - T - Tclkb - Th

                                                 = -T△ + Tco + Tdata - Th

  同步數字電路就系統中,每條時序路徑必須滿足建立時間裕量和保持時間裕量 ≥ 0,否則無法滿足建立與保持時間要求,引起系統不穩定甚至無法正常工作。常用通式(不考慮時鍾偏抖):

1 通過建立時間裕量引出系統最高時鍾頻率

  setup slack≥0:T - Tco - Tdata - Tsu  ≥ 0 -->T ≥ Tco + Tdata + Tsu 

2 通過保持時間裕量得到保持時間與時序參數關系

  hold slack≥0:-T△ + Tco + Tdata - Th ≥ 0 --> Th ≤ Tco + Tdata

  還不趕緊背下來!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM