時序分析(2):時序約束原理


一、基本概念

1.時序:時鍾和數據的對應關系

2.約束:告訴綜合工具,我們希望時序達到什么樣的標准

3.違例:時序達不到需要的標准

4.收斂:通過調整布局布線方案來達到這個標准

5.靜態時序分析:電路未跑起來時,延時等已知,以此分析時序

6.動態時序分析:電路跑起來,如Modelsim軟件(理想狀態)

 

二、時序分析基本模型

 

模型分為以下四種:(注:PAD指管腳

  • 寄存器與寄存器之間
  • 輸入PAD寄存器之間
  • 寄存器與輸出PAD之間
  • 輸入PAD 與輸出PAD之間(太極端,不討論)

知識補充:

1、全局時鍾:FPGA時鍾到各個寄存器的時間非常接近。

2、自分頻時鍾:走的是數據線,到各個寄存器的時間差異非常大。

 

三、理想狀態的建立時間和保持時間

1、建立時間 Time setup

(1) 接收時鍾上升沿前,發送數據要准備好的時間

(2) Tsu = 數據鎖存沿(Latch- 數據發送沿(Lanch= 時鍾周期

2、保持時間 Time hold

(1) 接收時鍾上升沿后,發送數據要保持住的時間

(2) Th = 發送端數據變化時 - 接收端數據鎖存 = 0

3、補充

(1) D觸發器本身也有建立/保持時間的概念,稱之為寄存器建立時間門限和寄存器保持時間門限,這是一個固有屬性,是確定的、不變的。當理想狀態時,我們討論建立/保持時間就相當於討論D觸發器的這一固有屬性。

(2) FPGA所有時序問題,根本原因都是建立時間和保持時間的問題

(3) 解決建立時間不足的方法是減少延時,而解決保持時間不足的方法是增加延時

4、符號說明

 

四、建立時間余量和保持時間余量

  • Lunch edge:發射沿,以 clk_pad 為基准,一般看成 0 時刻。實際時間是上一個寄存器所用的時間,因此用 clk1,看數據到達下一個寄存器的 D 端用了多久時間,結束時間又是多久。
  • Latch edge:接收沿,以 clk_pad 為基准,一般看成 0+Tcyc 時刻,要求時間是下一個寄存器計算的時間,所以用 clk2,看它自身需要的到達時間和結束時間是什么時候。

 1、時間

  • 建立時間余量:Tsu slack = Data Required Arrival time  -  Data Arrival Time =   Tskew -Tco + Tdata- Tsu  + Tcyc
  • 保持時間余量Th slack =  Data Finish time - Data Required Finish time      = Tco + Tdata- Tskew - Th

2、最小時間(余量為0)

  • 最小建立時間 Tsu  ≤  Tskew - (Tco + Tdata) +Tcyc
  • 最小保持時間 Th   ≤ (Tco + Tdata)- Tskew

3、最小時鍾周期

  •  Tcyc = (Tco + Tdata) - Tskew  + Tsu + Tjitter

 4、組合邏輯最大延時

  • Tdata = Tcyc - (Tsu + Th)

 

參考資料:V3學院FPGA教程

 


免責聲明!

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



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