|
本帖最后由 51黑黑黑 于 2016-2-23 02:22 編輯
同步電路的速度是指同步時鐘的速度。同步時鐘愈快,電路處理數(shù)據(jù)的時間間隔越短,電路在單位時間處理的數(shù)據(jù)量就愈大。 1 修改系統(tǒng)結(jié)構(gòu),或者Verilog代碼 2 通過改變走線方式減少時延 通過給綜合器加適當(dāng)?shù)募s束,將相關(guān)的邏輯布線盡量布得靠近一點,減少走線的延時。 3 通過減少組合邏輯或增加觸發(fā)器,采用流水線結(jié)構(gòu)減少時延提高工作頻率的本質(zhì)就是減少寄存器到寄存器的時延,最有效的方法就是避免大的組合邏輯。 先來看一看同步電路中數(shù)據(jù)傳遞的一個基本模型,如下圖。
0.png (17.73 KB, 下載次數(shù): 98)
下載附件
2016-2-23 02:22 上傳
圖1 其中,Tco是觸發(fā)器時鐘到數(shù)據(jù)輸出的延時;Tdelay是組合邏輯的延時;Tsetup是觸發(fā)器的建立時間。
假設(shè)數(shù)據(jù)已經(jīng)被時鐘的上升沿打入D觸發(fā)器,那么數(shù)據(jù)到達第一個觸發(fā)器的Q端需要的時間為Tco,再經(jīng)過組合邏輯的延時Tdelay到達第二個觸發(fā)器的D端,要想時鐘能在第二個觸發(fā)器再次被穩(wěn)定的鎖入觸發(fā)器,則時鐘的延遲不能晚于Tco+Tdelay+Tsetup,由以上分析可知:最小時鐘周期:Tclk=Tco+Tdelay+Tsetup,最快時鐘頻率 F= 1/Tclk。PLD開發(fā)軟件也正是通過這個公式來計算系統(tǒng)運行速度Fmax的。
在這個邏輯圖中有個參數(shù):Tpd ,即時鐘的延時參數(shù),如果使用PLD的全局時鐘,Tpd可以為0,如果是普通時鐘,則不為0。因此,如果考慮到時鐘的延時,最小時鐘周期為T=Tco+Tdelay+Tsetup-Tpd。
以上分析的是器件內(nèi)部的運行速度,如果考慮芯片I/O管腳延時對系統(tǒng)速度的影響,那么還需要加一些修正。
由于Tco、Tsetup是由具體的器件和工藝決定的,我們設(shè)計電路時只可以改變Tdelay。所以縮短觸發(fā)器間組合邏輯的延時是提高同步電路速度的關(guān)鍵。由于一般同步電路都不止一級鎖存(如圖3),而要使電路穩(wěn)定工作,時鐘周期必須滿足最大延時要求,縮短最長延時路徑,才可提高電路的工作頻率。
如圖2,我們可以將較大的組合邏輯分解為較小的幾塊,中間插入觸發(fā)器,這樣可以提高電路的工作頻率。這也是所謂“流水線”(pipelining)技術(shù)的基本原理。
1.png (16.36 KB, 下載次數(shù): 104)
下載附件
2016-2-23 02:22 上傳
圖2 分割組合邏輯 對于圖3的上半部分,它時鐘頻率受制于第二個較大的組合邏輯的延時,通過適當(dāng)?shù)姆椒ㄆ骄峙浣M合邏輯,可以避免在兩個觸發(fā)器之間出現(xiàn)過大的延時,消除速度瓶頸。
2.png (27.12 KB, 下載次數(shù): 84)
下載附件
2016-2-23 02:22 上傳
圖3 轉(zhuǎn)移組合邏輯 PLD開發(fā)軟件中也有一些設(shè)置,通過修改這些設(shè)置,可以提高編譯后系統(tǒng)速度,但這種速度的提高是很有限的,我們只有理解系統(tǒng)速度的基本原理,認真的優(yōu)化設(shè)計方案,才能從根本上提高系統(tǒng)的運行速度。
|
|