衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

剖析流水線技術原理和Verilog HDL實現

電子工程師 ? 來源:博客園 ? 作者:我心狂野 ? 2021-05-27 16:57 ? 次閱讀

所謂流水線處理,如同生產裝配線一樣,將操作執行工作量分成若干個時間上均衡的操作段,從流水線的起點連續地輸入,流水線的各操作段以重疊方式執行。這使得操作執行速度只與流水線輸入的速度有關,而與處理所需的時間無關。這樣,在理想的流水操作狀態下,其運行效率很高。

如果某個設計的處理流程分為若干步驟,而且整個數據處理是單流向的,即沒有反饋或者迭代運算,前一個步驟的輸出是下一個步驟的輸入,則可以采用流水線設計方法來提高系統的工作頻率。

下面用8位全加器作為實例,分別列舉了非流水線方法、2級流水線方法和4級流水線方法。

(1)非流水線實現方式

module adder_8bits(din_1, clk, cin, dout, din_2, cout);

input [7:0] din_1;

input clk;

input cin;

output [7:0] dout;

input [7:0] din_2;

output cout;

reg [7:0] dout;

reg cout;

always @(posedge clk) begin

{cout,dout} 《= din_1 + din_2 + cin;

end

endmodule

(2)2級流水線實現方式:

module adder_4bits_2steps(cin_a, cin_b, cin, clk, cout, sum);

input [7:0] cin_a;

input [7:0] cin_b;

input cin;

input clk;

output cout;

output [7:0] sum;

reg cout;

reg cout_temp;

reg [7:0] sum;

reg [3:0] sum_temp;

always @(posedge clk) begin

{cout_temp,sum_temp} = cin_a[3:0] + cin_b[3:0] + cin;

end

always @(posedge clk) begin

{cout,sum} = {{1‘b0,cin_a[7:4]} + {1’b0,cin_b[7:4]} + cout_temp, sum_temp};

end

endmodule

注意:這里在always塊內只能用阻塞賦值方式,否則會出現邏輯上的錯誤!

(3)4級流水線實現方式:

module adder_8bits_4steps(cin_a, cin_b, c_in, clk, c_out, sum_out);

input [7:0] cin_a;

input [7:0] cin_b;

input c_in;

input clk;

output c_out;

output [7:0] sum_out;

reg c_out;

reg c_out_t1, c_out_t2, c_out_t3;

reg [7:0] sum_out;

reg [1:0] sum_out_t1;

reg [3:0] sum_out_t2;

reg [5:0] sum_out_t3;

always @(posedge clk) begin

{c_out_t1, sum_out_t1} = {1‘b0, cin_a[1:0]} + {1’b0, cin_b[1:0]} + c_in;

end

always @(posedge clk) begin

{c_out_t2, sum_out_t2} = {{1‘b0, cin_a[3:2]} + {1’b0, cin_b[3:2]} + c_out_t1, sum_out_t1};

end

always @(posedge clk) begin

{c_out_t3, sum_out_t3} = {{1‘b0, cin_a[5:4]} + {1’b0, cin_b[5:4]} + c_out_t2, sum_out_t2};

end

always @(posedge clk) begin

{c_out, sum_out} = {{1‘b0, cin_a[7:6]} + {1’b0, cin_b[7:6]} + c_out_t3, sum_out_t3};

end

endmodule

總結:

利用流水線的設計方法,可大大提高系統的工作速度。這種方法可廣泛運用于各種設計,特別是大型的、對速度要求較高的系統設計。雖然采用流水線會增大資源的使用,但是它可降低寄存器間的傳播延時,保證系統維持高的系統時鐘速度。在實際應用中,考慮到資源的使用和速度的要求,可以根據實際情況來選擇流水線的級數以滿足設計需要。

這是一種典型的以面積換速度的設計方法。這里的“面積”主要是指設計所占用的FPGA邏輯資源數目,即利用所消耗的觸發器(FF)和查找表(LUT)來衡量。“速度”是指在芯片上穩定運行時所能達到的最高頻率。面積和速度這兩個指標始終貫穿著FPGA的設計,是設計質量評價的最終標準。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    605998
  • 數據
    +關注

    關注

    8

    文章

    7139

    瀏覽量

    89576
  • 觸發器
    +關注

    關注

    14

    文章

    2003

    瀏覽量

    61347
  • LUT
    LUT
    +關注

    關注

    0

    文章

    49

    瀏覽量

    12577

原文標題:FPGA流水線設計

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    工業讀碼器解決方案在自動化流水線上掃描條碼的應用

    接口和傳送帶與報警自動控制相結合。此外,工業讀碼器支持高速流水線/靜態讀碼,快速讀取條碼。2、實現品質追蹤和成本控制工業讀碼器可以通過掃碼記錄和跟蹤產品的生產場地
    的頭像 發表于 11-20 16:28 ?268次閱讀
    工業讀碼器解決方案在自動化<b class='flag-5'>流水線</b>上掃描條碼的應用

    SMT流水線布局優化技巧

    在電子制造領域,SMT(表面貼裝技術流水線的布局優化對于提高生產效率、降低成本和提升產品質量至關重要。一個合理的流水線布局可以減少物料搬運時間,提高設備利用率,減少人為錯誤,并且提高整體的生產
    的頭像 發表于 11-14 09:11 ?478次閱讀

    工業流水線的智能助手——智能計數,效率倍增

    在工業流水線中,每一個產品的計數都至關重要。迪卡爾ITMC-DSeries-x02系列物聯網測控終端,您的智能生產伙伴。
    的頭像 發表于 11-06 17:11 ?374次閱讀
    工業<b class='flag-5'>流水線</b>的智能助手——智能計數,效率倍增

    行云流水線 滿足你對工作流編排的一切幻想~skr

    流水線模型 眾所周知,DevOps流水線(DevOps pipeline)的本質是實現自動化工作流程,用于支持軟件開發、測試和部署的連續集成、交付和部署(CI/CD)實踐。它是DevOps方法論
    的頭像 發表于 08-05 13:42 ?327次閱讀

    ADS900高速流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS900高速流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 14:11 ?0次下載
    ADS900高速<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS930高速流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS930高速流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 14:10 ?0次下載
    ADS930高速<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS5421流水線式模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS5421流水線式模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-30 11:16 ?0次下載
    ADS5421<b class='flag-5'>流水線</b>式模數轉換器(ADC)數據表

    ADS5413 CMOS流水線模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS5413 CMOS流水線模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-29 13:21 ?0次下載
    ADS5413 CMOS<b class='flag-5'>流水線</b>模數轉換器(ADC)數據表

    ADS5237流水線式模數轉換器(ADC)數據表

    電子發燒友網站提供《ADS5237流水線式模數轉換器(ADC)數據表.pdf》資料免費下載
    發表于 07-29 11:46 ?0次下載
    ADS5237<b class='flag-5'>流水線</b>式模數轉換器(ADC)數據表

    ADS828流水線式CMOS模數轉換器數據表

    電子發燒友網站提供《ADS828流水線式CMOS模數轉換器數據表.pdf》資料免費下載
    發表于 07-23 09:17 ?0次下載
    ADS828<b class='flag-5'>流水線</b>式CMOS模數轉換器數據表

    MT6835磁編碼IC在自動鏈板流水線中控制電機的應用

    在現代工業自動化領域中,精確控制電機運行是實現高效、穩定生產流程的關鍵環節。MT6835磁編碼IC(集成電路)作為一種高性能的電機控制解決方案,其在自動鏈板流水線中控制電機的應用顯得尤為重要。本文將詳細探討MT6835磁編碼IC的特點、工作原理以及在自動鏈板
    的頭像 發表于 07-21 14:41 ?765次閱讀
    MT6835磁編碼IC在自動鏈板<b class='flag-5'>流水線</b>中控制電機的應用

    固定式的掃碼器在SMT流水線中的使用

    新大陸固定式掃碼器作為一種高效的條碼掃描設備,廣泛應用于各個行業中,尤其是在SMT(表面貼裝技術流水線中有重要的作用。以下是新大陸固定式掃碼器在SMT流水線中的具體使用情況。提高生產效率和質量
    的頭像 發表于 07-03 10:18 ?596次閱讀
    固定式的掃碼器在SMT<b class='flag-5'>流水線</b>中的使用

    RISC-V架構的多級流水線處理

    有的單核RISC-V MCU支持四級流水線,有的只支持三級流水線,是不是級數越多,帶來的開銷越大,功耗也越高呢?
    發表于 05-20 16:01

    具有3態輸出的多級流水線寄存器數據表

    電子發燒友網站提供《具有3態輸出的多級流水線寄存器數據表.pdf》資料免費下載
    發表于 05-16 09:39 ?0次下載
    具有3態輸出的多級<b class='flag-5'>流水線</b>寄存器數據表

    牽引機和挖掘機裝配流水線自動互鎖防呆系統無線通訊應用

    在挖掘機裝配工序中,液壓系統檢測、調試是其生產工藝中的重要環節。液壓檢測過程中需要操作鏟斗、斗桿、動臂動作,這一過程中流水線挖掘機因帶動偏移易發生安全事故及機械損傷故障等情況,需要采用牽引機鏈條牽引
    的頭像 發表于 02-26 08:52 ?406次閱讀
    牽引機和挖掘機裝配<b class='flag-5'>流水線</b>自動互鎖防呆系統無線通訊應用
    百家乐官网赢钱战略| 百家乐官网赌博游戏| 百家乐官网规则以及玩法| 百家乐红桌布| 金臂百家乐官网开户送彩金| 百家乐黄金城游戏大厅| 哪里有百家乐官网投注网| 百家乐扎金花斗地主| 百家乐官网赢家球讯网| 金鼎百家乐局部算牌法| 百家乐官网视频游戏平台| 百家乐赌场策略大全| 百家乐官网信誉平台开户| 百家乐庄闲局部失| 百家乐官网规则博彩正网| 最新百家乐的玩法技巧和规则 | 金宝博百家乐官网现金| 百家乐园云鼎娱乐平台| 百家乐官网怎么赢博彩正网 | 皇马百家乐官网的玩法技巧和规则| 金地太阳城二手房| 网上百家乐官网赌场娱乐网规则| 大发888娱乐官方网站| 百家乐官网娱乐网77scs| 大发888大发888娱乐游戏| 百家乐官网真人赌场娱乐网规则 | 卢克索百家乐的玩法技巧和规则 | 网上百家乐试玩网址| 百家乐官网破解版| 德州扑克算法| 百家乐网站出售| 泰州市| 新世百家乐的玩法技巧和规则| 百家乐官网布| bet365.com| 百家乐缆法排行榜| 百家乐官网一直下注庄家| 海南太阳城大酒店| 做生意的门市风水| 百家乐官网在线怎么玩| 二八杠怎么玩|