這裡的建立鬆弛和保持鬆弛都是在fpga內部的觸發器之間的關係,並沒有考慮到外部的輸入輸出延時。一般的模型為如下:
建立鬆弛指的是,在下一次時鐘觸發脈衝來時,第一級觸發器輸出資料到建立時間前之間的時間最大為多少,這個一般用來確定時鐘最大的工作頻率。
乙個典型的二級觸發器時序如上圖所示,clk為主時鐘,clk1為考慮走線延時的第一級觸發器時鐘,clk2為考慮走線延時的第二級觸發器時鐘,他們相對於主時鐘的延時分別是tc1和tc2,rgg1_q為觸發器的資料輸出,經過了傳播延時tco,rge2_d為第二級觸發器的d端,經過了走線延時t_delay,tsu為建立時間,tsu_slack為建立鬆弛。所以很容易發現建立鬆弛直接決定了時鐘的最大工作頻率。
那麼計算過程很簡單,有如下關係:tsu_slack=(tc2+t(乙個時鐘週期)-tsu)-(tc1+tco+t_delay)。對應於fpga的時序報告如下:
可以發現fpga給的公式也差不多,無非就是加上悲觀度等用來保證最壞情況下可以工作。
那麼保持鬆弛其實和建立鬆弛分析差不多 一般時序圖如下:
很容易得到th_slack=(tc1+tco+t_dealy+t(週期))-(tc2+th+t) 這裡說明一下,預設資料存在的時間為乙個時鐘週期。所以是不是很容易得到結果與時鐘無關。說明保持鬆弛無法改變頻率。
在fpga中,公式也差不多 我就不貼圖了。
FPGA時序分析1 FPGA結構
記錄學習,記錄成長 介紹fpga的基本結構並說明fpga如何實現可程式設計功能。為什麼要了解fpga基本結構呢?了解這些後,在進行fpga設計時,可以大概知道電路在fpga上是如何實現的。在進行時序約束或者提高時鐘頻率時,知其然更知其所以然。目錄 1.fpga介紹 2.fpga組成三要素 2.1 c...
FPGA中的時序分析(五)
時序約束例項詳解 本篇部落格結合之前的內容,然後實打實的做乙個約束例項,通過本例項讀者應該會實用timequest去分析相關的例項。本例項以vga實驗為基礎,介紹如何去做時序約束。首先vga這種情況屬於供源時鐘情況,不明白供源時鐘的可以參看之前部落格講解。首先檢視adv7123的資料手冊,檢視其時序...
FPGA系列5 時序分析(時序模型)
該時序模型的要求為 tclk tco tlogic trouting tsetup tskew 其中,tco為發端暫存器時鐘到輸出時間 tlogic為組合邏輯延遲 trouting為兩級暫存器之間的佈線延遲 tsetup為收端暫存器建立時間 tskew為兩級暫存器的時鐘歪斜,其值等於時鐘同邊沿到達兩...