Verilog基本功之:流水線設(shè)計Pipeline Design_第1頁
Verilog基本功之:流水線設(shè)計Pipeline Design_第2頁
Verilog基本功之:流水線設(shè)計Pipeline Design_第3頁
Verilog基本功之:流水線設(shè)計Pipeline Design_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Verilog基本功之:流水線設(shè)計PipelineDesign第一部分什么是流水線第二部分什么時候用流水線設(shè)計第三部分使用流水線的優(yōu)缺點第四部分流水線加法器舉例一.

什么是流水線流水線設(shè)計就是將組合邏輯系統(tǒng)地分割,并在各個部分(分級)之間插入寄存器,并暫存中間數(shù)據(jù)的方法。

目的是將一個大操作分解成若干的小操作,每一步小操作的時間較小,所以能提高頻率,各小操作能并行

執(zhí)行,所以能提高數(shù)據(jù)吞吐率(提高處理速度)。二.什么時候用流水線設(shè)計使用流水線一般是時序比較緊張,對電路工作頻率較高的時候。典型情況如下:1)功能模塊之間的流水線,用乒乓buffer來交互數(shù)據(jù)。代價是增加了memory的數(shù)量,但是和獲得的巨大性能提升相

比,可以忽略不計。

2)I/O瓶頸,比如某個運算需要輸入8個數(shù)據(jù),而memroy只能同時提供2個數(shù)據(jù),如果通過適當(dāng)劃分運算步驟,使用

流水線反而會減少面積。

3)片內(nèi)sram的讀操作,因為sram的讀操作本身就是兩極流水線,除非下一步操作依賴讀結(jié)果,否則使用流水線是自

然而然的事情。

4)組合邏輯太長,比如(a+b)*c,那么在加法和乘法之間插入寄存器是比較穩(wěn)妥的做法。三.使用流水線的優(yōu)缺點優(yōu)點:流水線縮短了在一個時鐘周期內(nèi)給的那個信號必須通過的通路長度,增加了數(shù)據(jù)吞吐量,從而可以提高時鐘

頻率,但也導(dǎo)致了數(shù)據(jù)的延時。舉例如下:

例如:一個2級組合邏輯,假定每級延遲相同為Tpd,1.無流水線的總延遲就是2Tpd,可以在一個時鐘周期完成,但是時鐘周期受限制在2Tpd;2.流水線:每一級加入寄存器(延遲為Tco)后,單級的延遲為Tpd+Tco,每級消耗一個時鐘周期,流水線需要2個時鐘周期來獲得第一個計算結(jié)果,稱為首次延遲,它要2*(Tpd+Tco),但是執(zhí)行重復(fù)操作時,只要一個時鐘周期來獲得最后的計算結(jié)果,稱為吞吐延遲(Tpd+Tco)??梢娭灰猅co小于Tpd,流水線就可以提高速度。特別需要說明的是,流水線并不減小單次操作的時間,減小的是整個數(shù)據(jù)的操作時間,請大家認(rèn)真體會。缺點:功耗增加,面積增加,硬件復(fù)雜度增加,特別對于復(fù)雜邏輯如cpu的流水線而言,流水越深,發(fā)生需要hold流水線或reset流水線的情況時,時間損失越大。所以使用流水線并非有利無害,大家需權(quán)衡考慮。四.一個8bit流水線加法器的小例子非流水線:moduleadd8(

a,

b,

c);input

[7:0]a;input

[7:0]b;output[8:0]c;assignc[8:0]={1'd0,a}+{1'd0,b};endmodule采用兩級流水線:第一級低4bit,第二級高4bit,所以第一個輸出需要2個時鐘周期有效,后面的數(shù)據(jù)都是1個周期之后有效。moduleadder8_2(

clk,

cin,

cina,

cinb,

sum,

cout);input

clk;input

cin;input

[7:0]

cina;input

[7:0]

cinb;output[7:0]

sum;output

cout;reg

cout;reg

cout1;//插入的寄存器reg

[3:0]

sum1;//插入的寄存器reg

[7:0]

sum;reg

[3:0]

cina_reg;reg

[3:0]

cinb_reg;//插入的寄存器always@(posedgeclk)//第一級流水begin{cout1,sum1}<=cina[3:0]+cinb[3:0]+cin;endalways@(posedgeclk)begincina_reg<=cina[7:4];cinb_reg<=cinb[7:4];endalways@(posedgeclk)//第二級流水begin{cout,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論