Verilog基本功之:流水線設計Pipeline Design_第1頁
Verilog基本功之:流水線設計Pipeline Design_第2頁
Verilog基本功之:流水線設計Pipeline Design_第3頁
Verilog基本功之:流水線設計Pipeline Design_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

比,可以忽略不計。

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

流水線反而會減少面積。

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

然而然的事情。

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

頻率,但也導致了數據的延時。舉例如下:

例如:一個2級組合邏輯,假定每級延遲相同為Tpd,1.無流水線的總延遲就是2Tpd,可以在一個時鐘周期完成,但是時鐘周期受限制在2Tpd;2.流水線:每一級加入寄存器(延遲為Tco)后,單級的延遲為Tpd+Tco,每級消耗一個時鐘周期,流水線需要2個時鐘周期來獲得第一個計算結果,稱為首次延遲,它要2*(Tpd+Tco),但是執行重復操作時,只要一個時鐘周期來獲得最后的計算結果,稱為吞吐延遲(Tpd+Tco)。可見只要Tco小于Tpd,流水線就可以提高速度。特別需要說明的是,流水線并不減小單次操作的時間,減小的是整個數據的操作時間,請大家認真體會。缺點:功耗增加,面積增加,硬件復雜度增加,特別對于復雜邏輯如cpu的流水線而言,流水越深,發生需要hold流水線或reset流水線的情況時,時間損失越大。所以使用流水線并非有利無害,大家需權衡考慮。四.一個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個時鐘周期有效,后面的數據都是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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論