日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

流水线技术在高速数字电路设计中的应用

發(fā)布時間:2023/12/15 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流水线技术在高速数字电路设计中的应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
流水線技術在高速數(shù)字電路設計中的應用 來源:電子開發(fā)網(wǎng) 作者:肖良軍  時間:2007-09-04 發(fā)布人:譚欣

  摘要:流水線技術是設計高速數(shù)字電路的一種最佳選擇之一,對其實現(xiàn)原理作了較形象的闡述。針對加法器在DSP中的重要作用,對流水線加法器中流水線技術的應用作了較深入的說明。同時,對流水線技術中引入寄存器事項也作了較全面的闡述。

  1? 前言
???
  數(shù)字信號處理技術(DSP)在許多領域都得到廣泛的應用,在數(shù)字電路設計時,設計者都希望設計出具有理想速度的電路系統(tǒng)。目前,并行技術、流水線技術等都是很好的備選方案。對于組合邏輯電路占主要成分的電路中,流水線技術是首先考慮的技術。
???
  現(xiàn)在,現(xiàn)場可編程門陣列FPGA的集成度已達到很高的程度,且設計靈活,可在實驗室里進行,并具有豐富的寄存器,適合設計人員使用流水線技術來進行設計以提高數(shù)字電路的整體運行速度。

  2? 流水線技術的作用原理
???
  流水線技術就是把在一個時鐘周期內執(zhí)行的操作分成幾步較小的操作,并在多個較高速的時鐘內完成。如圖1、2所示,對圖1中的兩個寄存器間的數(shù)據(jù)通路,在圖2中將其分成了3級,并在其間插入了兩個寄存器,這就是流水線技術的使用。

?
圖1常規(guī)的數(shù)據(jù)通路

?
圖2采用流水線技術數(shù)據(jù)通路

  對圖1中的數(shù)據(jù)通路,設tpd≈x,則該電路(不考慮寄存器的影響)從輸入到輸出的最高時鐘頻率就為1/x。而在圖z中,假設在理想情況下所分成的3級,每級的tpd≈x/3,則該電路從輸入到輸出的最高頻率可提高到原來的3倍,采用流水線技術有效地提高了系統(tǒng)的時鐘頻率,因而在多個時鐘周期連續(xù)工作情況下,就提高了整個系統(tǒng)的數(shù)據(jù)處理量。當然,這不包括電路中所加入的寄存器時延,因此每級的實際延遲應比x/3稍大。但在多個時鐘周期連續(xù)工作情況下,可忽略不計,所以流水線技術能提高系統(tǒng)的數(shù)據(jù)流量。

  3 流水線技術的設計應用
???
  加法運算是最基本的數(shù)字信號處理(DSP)運算,減法、乘法、除法或FFT運算都可分解為加法運算。因此進行加法運算的加法器就成為實現(xiàn)DSP的最基本器件,因而研究如何提高其運行速度很有必要。
???
  流水線技術在提高系統(tǒng)整體運行速率方面績效顯著,因而采用流水線技術的流水線加法器就成為繼串聯(lián)加法器、并行加法器之后在選擇加法器時的首選。當然并行加法器也可使用流水線技術(即并行流水線加法器)來進一步提高加法器的運算速度。
???
  下面就以一個4位流水線加法器的實現(xiàn)為例來說明流水線技術的應用,并以此說明流水線技術在高位加法器的應用。

  3.1應用示例
???
  在沒有采用流水線技術時由二位加法器串聯(lián)組成的4位加法器原理圖,如圖3所示(這是在沒有加入寄存器情況下的二進制并行進位4位加法器構成原理圖)。采用流水線技術時由二位加法器組成的4位加法器原理圖如圖4所示。圖4是在圖3中加入了一級流水線,將低位和(運算結果)用一個2位寄存器暫存,為了保證低位的進位與高4位同步進入高位加法器,因而將高4位用一個4位的寄存器暫存。這就實現(xiàn)了一個4位并行流水線加法器。對于8位并行流水線加法器同樣可在低位加法器輸出時采用寄存器暫存,并將高位輸入加數(shù)用寄存器暫存。如果8位加法器是由4位加法器所構成,則至少可加入兩級流水線,而更高位的流水線加法器的實現(xiàn)與這類同,并且其他數(shù)字電路在實現(xiàn)流水線技術也基本如此,可作類似推廣。


?
圖3由2位加法器構成的4位加法器


圖4由2位加法器構成的4位流水線并行加法器

  3.2用VHDL實現(xiàn)
???
  沒有加入流水線的4位加法器或8位以至更高位的加法器,在用VHDL作硬件語言描述時,在任何一本有關VHDL的書中都有實例,特別是4位加法器。而如前所述,流水線技術其實質就是在適當?shù)牡胤郊尤爰拇嫫?#xff0c;將前面的運算結果或輸入數(shù)據(jù)暫存,并在下一個時鐘到來時將寄存值作為后一級運算的輸入,因此在用VHDL描述時只需將書上描述加法器的代碼作適當改寫,施加必要的設計約束,就可達到目的。一般就是加入Wait語句或IF-THEN語句來測試敏感信號邊沿,實現(xiàn)寄存器或鎖存器。如對Wait語句,常用的描述形式為:wait until clk'event and clk='1'(上升沿觸發(fā))或wait until clk'event and clk='0'(下降沿觸發(fā))。對IF-THEN語句的常用描述方式為:IF(clk'event and clk='1')THEN…或IF(clk'event and clk='0') THEN…。

  另外就是一般是在進程中使用,來達到實現(xiàn)寄存器或鎖存器,可描述為
  process
  begin
  wait until clk'event and clk='1';
  reg<=X;
  end process;
  其中的X是指輸入所加流水線寄存器REG中的數(shù)據(jù)。? IF-THEN語句與之類似。

  3.3 FPGA中的實現(xiàn)
???
  FPGA中一般有較豐富的寄存器資源,因此可用于實現(xiàn)流水線技術。FPGA的主要廠家有Altera、Xilinx等,這兩家都各自針對自己的產品開發(fā)了相應的開發(fā)工具,Altera的MAX+PLUS II易學,易用,并易獲得,且是一個全集成化的可編程設計環(huán)境,因而對FPGA初學者是最適宜的開發(fā)工具。因此就運用Altera的開發(fā)工具MAX+PLUS II實現(xiàn)流水線技術的問題作一說明。

  (1)如果設計是用原理圖輸入,則應充分利用凡帶有LPM_PIPELINE的LPM(Library of Parameterized Module)。當使用了帶有LPM_PIPELINE的LPM函數(shù),MAX+PLUS II編譯器會給出LPM_PIPELINE的最佳數(shù)值(即最佳流水線級數(shù)),從而可以由此設定LPM_PIPELINE的最佳值。在MAX+PLUS II 10.1中,一共所提供了41種LPM函數(shù),其中LPM_COMPARE、LPM_DIVIDE、LPM_ADD_SUB、LPM_DECODE、LPM_MULT、LPM_MUX和LPM_PARALLEL_ADD共7種都帶有LPM_PIPELINe設定項,包括并行加法器宏函數(shù)LPM_PARALLEI_ADD,可根據(jù)提示的最佳值來設定。
???
  (2)如果設計是用VHDL作設計輸入,那么在程序的適當?shù)胤教砑蛹拇嫫骰蜴i存器描述語句,則在綜合時就能夠實現(xiàn)流水線技術。另外,在用VHDL作設計輸入時也可以利用Altera所提供的LPM函數(shù),但必須在設計實體前使用LPM庫語句及相應的USE語句,即在一般庫使用語句最前面加入:LABRARY lpm;USE lpm.lpm_components.ALL。

  4? 應用要點
???
  下面主要針對用VHDL編程,在引入寄存器或鎖存器實現(xiàn)流水線技術的注意事項:
???
  (1)一個進程中只能引入一個寄存器。
  (2)用于產生寄存器的賦值語句絕不能放在ELSE條件分支語句上。因為沒有這樣的硬件電路與之對應。
  (3)如果一個變量已在IF邊沿檢測語句中被賦了值,那么它的值就不能再賦給別的變量了。
  如:IF(clk'event and clk='1')THEN edge_var:=x; a_val:=edge_var;END IF;
  (4)邊沿表達式不能當作操作數(shù)。
  如:IF NOT(clk'event and clk='1') THEN…
  (5)條件語句中,由于條件涵蓋的不完整,綜合器將引入多余的鎖存器。因此一定要考慮到條件所涵蓋的整個范圍。一般的處理辦法是加上ELSE語句來補全條件。
  (6)在子程序中引入的變量不可能引出寄存器。因為在子程序中,變量具有局部性。每當子程序被調用時,其中的變量都要被初始化,其值不能保持到下一個時鐘到來時。因此不能考慮從子程序中引出寄存器。
  (7)寄存器不是引入的越多越好,要綜合考慮所實現(xiàn)的器件的速度與所耗硬件資源量。如果硬件資源足夠且速度又是主要考慮的因素,則可適當多引入寄存器,從而提高時鐘速率達到提高數(shù)據(jù)處理量。

  5? 結束語
???
  本文介紹流水線技術的原理和特點,并通過流水線加法器的實現(xiàn)來說明流水線技術在高速數(shù)字電路設計中的應用。最后對用寄存器實現(xiàn)流水線技術的應用要點作了較全面的說明。

  參考文獻:

  [1]潘松,王國棟.VHDL實用教程[M].成都:電子科技大學出版社,2000.
  [2]朱明程.XILINX數(shù)字系統(tǒng)現(xiàn)場集成技術[M].南京:東南大學出版社,2001.
  [3]趙雅興.FPGA原理、設計與應用[M].天津:天津大學出版社,1999.
  [4]周政海,鄧先燦.流水線技術在實現(xiàn)高速DSP運算中的應用[J].杭州電子工業(yè)學院學報,2002,23(4):5-8.
  [5]謝锘.FPGA在數(shù)字信號處理中的應用[J].無線通信技術,2001,27(5):56—57.
  [6]尹廷輝.借助EDA邏輯綜合工具實現(xiàn)16位快速加法器[J].軍事通信技術,2002,23(2):48—50。
  [7]宋萬杰,羅? 豐,吳順君.CPLD技術及其應用[M].西安:西安電子科技大學出版社,2000.
  [8]戴泰初,闕沛文.基于FPGA的數(shù)字邏輯器件開發(fā)及優(yōu)化設計[J].微電子學,2002,23(5):397—400.

總結

以上是生活随笔為你收集整理的流水线技术在高速数字电路设计中的应用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。