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