在fpga設計中,提高速度與降低面積屬於兩個相互矛盾的目標,在具體實現上往往需要折中(tradeoff)。
1.建立時間(setup time):指在觸發器的時鐘訊號上公升沿到來以前,資料穩定不變的時間。若建立時間不夠,資料將不能在這個時鐘上公升沿處被打入觸發器。2.保持時間(hold time):指在觸發器的時鐘訊號上公升沿到來以後,資料穩定不變的時間。若保持時間不夠,資料同樣不能被打入觸發器。1.同步邏輯時延電路的基本模型如圖:
其中,引數如下:
(1)tde
lay是
組合邏輯
的時延t_是組合邏輯的時延
tdelay
是組合
邏輯的時
延(2)tco
是觸發器
時鐘到數
據輸出的
時延t_是觸發器時鐘到資料輸出的時延
tco是觸
髮器時鐘
到資料輸
出的時延
(3)tsu
是觸發器
的建立時
間t_是觸發器的建立時間
tsu是觸
髮器的建
立時間(4)tpd
是由於c
lk時鐘
樹網路傳
播帶來的
時延(時
鐘延時參
數)t_是由於clk時鐘樹網路傳播帶來的時延(時鐘延時引數)
tpd是由
於clk
時鐘樹網
絡傳播帶
來的時延
(時鐘延
時引數)
tpd有可能為正也有可能為負,主要由時鐘網路的布局佈線決定。通常fpga若採用全域性時鐘,該值基本為0;而asic則通過後端設計保證其接近於0.
2.假設資料已經被時鐘的上公升沿打入d觸發器,那麼資料到達第乙個觸發器的q端需要tco,再經過組合邏輯的延時tdelay到達第二個觸發器的d端,要想時鐘能夠再第二個觸發器處再次被穩定地鎖入觸發器,則時鐘的延遲不能晚於tco+tdelay+tsu-tpd。
由 以上
分析可知
,該電路
工作的最
小時鐘周
期為:t
=tco
+tpd
+tsu
由以上分析可知,該電路工作的最小時鐘週期為:t=t_+t_+t_
由以上分析可
知,該電
路工作的
最小時鐘
週期為:
t=tc
o+t
pd+
tsu
因 此,
電路工作
的最快時
鐘頻率為
:f=1
t,而電
路綜合工
具也正是
通過這個
公式來計
算系統最
大執行速
度fma
x的。因此,電路工作的最快時鐘頻率為:f = \frac, 而電路綜合工具也正是通過這個公式來計算系統最大執行速度f_的。
因此,電路工
作的最快
時鐘頻率
為:f=
t1,
而電路綜
合工具也
正是通過
這個公式
來計算系
統最大運
行速度f
max
的。3.由於tco,tsu是由具體的器件和工藝決定的,在設計電路時只可以改變tdelay,所以縮短觸發器之間組合邏輯的延時是提高同步電路速度的關鍵。由於一般的同步電路都不止有一級鎖存,而要使電路穩定工作,時鐘週期必須滿足最大延時要求,縮短最長延時路徑,才可以提高電路的工作頻率。
4.建立時間的約束和時鐘週期有關,當系統在高頻時鐘下無法工作時,降低時鐘頻率就可以使系統完成工作。
5.保持時間是乙個和時鐘週期無關的引數,但如果設計不合理,布局佈線無法產生高質量的時鐘樹,則無論怎樣調整,時鐘頻率也無法達到要求。
1.改善時延的主要方法是重定時,而流水線改善時延則是一種普遍的方法;
2.流水線優化時序的核心思想是:沿著資料通路引入流水線暫存器以縮短關鍵路徑的時延,從而降低整體組合邏輯的時延,提高系統吞吐率。
3.流水線應當按照如下原則安排:
(1)電路的執行速度(或時鐘週期)由任意兩個暫存器之間、乙個輸入與乙個暫存器之間、乙個暫存器與輸出之間或輸入輸出之間的路徑中,最長的路徑限定。
(2)最長路徑(或關鍵路徑)可以通過在架構中適當地插入或挪動流水線暫存器來縮短。
(3)流水線暫存器必須保證節點的輸入輸出時序不變,這是因為進行流水線優化時,電路中往往存在很多環路。
太陽系演化時序表
資料來源與網路 階段 距離太陽形成的時間 事件前太陽系 太陽系形成前數十億年 前代的恆星生存和死亡,把重元素丟擲成為星際物質,太陽系從中形成。15 太陽系形成前 5 107年 如果太陽系在乙個獵戶座大星雲一樣的恆星形成區形成,質量大的恆星經歷形成 過其一生 死亡 並且爆發成超新星。其中一顆超新星觸發...
前端編碼表 前端編碼時如何優化時間
前端編碼表 最近,我花了一些時間來提高我在前端html和css方面的技能。我以前的程式設計師背景主要是後端,在cobol方面有5年以上的經驗 花哨的設計大聲笑並不知道大型機 您可能會正確地猜想前端不是我的強項。我一直熱衷於後端,可以使用資料庫,sql,演算法,事務.因此,在我開始的第一年,我對這種知...
優化時間效率的方法
優化時間效率的方法 1.常數計算的優化 乙個表示式如果經常包含常數計算 則由於與數學表示式近似 易讀性是很好 但是執行效率卻不高.例如 for i 1 to 100 do for j 1 to 100 do begin tax a i,j 3200 12 int irate j 365 12 i b...