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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

采用流水线技术实现8位加法器

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 采用流水线技术实现8位加法器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

說明

? ? ?本文基于FPGA和CPLD器件,采用非流水線和流水線技術實現8位加法器,并對比其Quartus II仿真結果和波形時序。

? ? ?器件選擇:

? ? ?Stratix:EP1S40F1020C5(FPGA)

? ? ?MAX7000S:EPM7064SLC44-5(CPLD)

?

實驗一? FPGA實現8位加法器

? ? ?程序清單:

1 /*******************8位加法器(非流水線)***********************/ 2 module adder_nonpipe(cout, sum, ina, inb, cin, enable); 3 4 output cout; 5 output [7:0] sum; 6 input [7:0] ina, inb; 7 input cin, enable; 8 9 reg cout; 10 reg [7:0] sum; 11 reg [7:0] tempa, tempb; 12 reg tempc; 13 14 always @(posedge enable) 15 begin 16 tempa = ina; 17 tempb = inb; 18 tempc = cin; 19 end 20 21 always @(posedge enable) 22 begin 23 {cout,sum} = tempa + tempb + tempc; 24 end 25 26 endmodule

? ? ?Compilation編譯報告如圖1所示:

?

圖1 ?8位加法器(非流水線/FPGA)編譯結果

? ? ?RTL Viewer 提供設計的邏輯門級原理圖和層次結構列表,列出整個設計網表的實例、基本單元、引腳和網絡。可過濾顯示在視圖上的信息,瀏覽設計視圖的不同頁面來檢查設計并確定應當作的更改。實驗一的RTL原理圖如圖2所示:

圖2 ?8位加法器(非流水線/FPGA)RTL Viewer

? ? ?Technology Map Viewer 提供設計的底層或基元級特定技術原理表征。它包括一個原理視圖,以及一個層次列表,列出整個設計網表的實例、基本單元、引腳和網絡。實驗一的Techology Map Viewer結果如圖3所示:

圖3 ?8位加法器(非流水線/FPGA)Techology Map Viewer

? ? ?Simulation仿真波形如圖4所示:

圖4 ?8位加法器(非流水線/FPGA)仿真圖

?

?

實驗二? FPGA實現8位加法器(采用2級流水線)

? ? ?程序清單:

1 /*******************8位2級流水加法器*************************/ 2 module adder_pipeline(cout, sum, ina, inb, cin, enable); 3 4 output cout; 5 output [7:0] sum; 6 input [7:0] ina, inb; 7 input cin, enable; 8 9 reg cout; 10 reg [7:0] sum; 11 12 reg [3:0] tempa, tempb, firsts; 13 reg firstc; 14 always @(posedge enable) 15 begin 16 {firstc,firsts} = ina[3:0] + inb[3:0] + cin; 17 tempa = ina[7:4]; //高4位輸入寄存,使其與sum低4位在下級流水線同步輸入。
tempb = inb[7:4];
//否則sum的高4位,與低四位分兩個時鐘周期輸出 18 end 19 20 always @(posedge enable) 21 begin 22 {cout,sum[7:4]} = tempa + tempb + firstc; 23 sum[3:0] = firsts; //不能合并為{cout, sum} = {tempa + tempb + firstc, firsts}; 位寬不匹配 24 end 25 26 endmodule

? ? ?另一個可用版本主體代碼如下:

1 reg [4:0] tempa,tempb; 2 reg [3:0] firsts; 3 reg firstc; 4 5 always @(posedge enable) begin //低4 位相加; 6 { firstc, firsts} = {ina[3], ina[3:0]} + {inb[3], inb[3:0]} + cin ; 7 tempa = {ina[7], ina[7:4]}; //似乎應該高位補零即{1’b0, ina[7:4]};才對 8 tempb = {inb[7], inb[7:4]}; 9 end 10 11 always @(posedge enable) begin //高4 位相加,并連成8位 12 {cout, sum} = {tempa + tempb + firstc, firsts} ; 13 end

? ? ?注:設ina為Mbit,inb為Nbit,則{cout, sum}=a+b為M+N+1位,其中cout占1位,sum為M+N位。

? ? ?編譯后Total Logic Element為24個。

? ? ?RTL原理圖如圖5所示:

圖5? 8位加法器(2級流水線/FPGA)RTL Viewer

? ? ?Techology Map Viewer結果如圖6所示:

圖6? 8位加法器(2級流水線/FPGA)Techology Map Viewer

? ? ?Simulation仿真波形如圖7所示:

圖7? 8位加法器(2級流水線/FPGA)仿真圖

?

?

實驗三? CPLD實現8位加法器

? ? ?程序清單(單always):

1 /*******************8位加法器(非流水線)***********************/ 2 module adder_nonpipe(cout, sum, ina, inb, cin, enable); 3 4 output cout; 5 output [7:0] sum; 6 input [7:0] ina, inb; 7 input cin, enable; 8 9 reg cout; 10 reg [7:0] sum; 11 12 always @(posedge enable) 13 begin 14 {cout,sum} = ina + inb + cin; 15 end 16 17 endmodule

? ? ?將Device替換為CPLD器件。在Project Navigator->Hierarchy窗口器件處右鍵->Device,即可打開器件選擇框,選擇所需的器件確定即可。此處選擇"MAX7000S:EPM7064SLC44-5"。

? ? ?Compilation編譯報告如圖8所示:

?

圖8 ?8位加法器(非流水線/CPLD)編譯結果

? ? ?Simulation仿真波形如圖9所示:

圖9 ?8位加法器(非流水線/CPLD)仿真圖-1

? ? ?接著考慮雙always形式的加法器(程序同實驗一,僅器件不同):

? ? ?Compile編譯后,Total Macrocell為42個。

? ? ?仍采用周期為10ns的時鐘enable,仿真結果如圖10所示:

圖10 ?8位加法器(非流水線/CPLD)仿真圖-2

? ? ?顯然sum值不正確。

? ? ?展開Compilation Report下面的Timing Analyzer,多了一項Clock Setup ‘enable’。從右側報告窗口可觀察到最長(最差時序)路徑需要13.5ns,對應fmax為74.07MHz,也就是最高工作頻率。

圖11 ?8位加法器(非流水線/CPLD)時序分析結果

? ? ?將時鐘周期改為13.5ns,重新運行仿真,結果如圖12所示:

圖12 ?8位加法器(非流水線/CPLD)仿真圖-3

? ? ?注意:

  • 單always程序中時鐘周期10ns,結果也正確。同時Timing Analysis下不存在Clock Setup ‘enable’,Timing Analysis Tool也無法激活。
  • 單always程序中,{cout,sum} = tempa + tempb + tempc;的阻塞賦值改為非阻塞賦值,結果并無變化。
  • 若用FPGA器件實現單always程序,則波形完全正確,如圖13所示:
  • 圖13 ?8位加法器(非流水線/CPLD)仿真圖-4

    ? ? ? ? ? 這也符合通常習慣,即一個時鐘沿周期采樣,下一個時鐘沿輸出。

    ?

    ?

    實驗四? CPLD實現8位加法器(采用2級流水線)

    ? ? ?程序同實驗二,器件選擇同實驗三。

    ? ? ?編譯后Total Macrocell為32個。

    ? ? ?在Timing Analyzer詳細報告窗口可觀察到那些影響周期惡化的最差時序路徑,根據這些信息可找出關鍵路徑并進行時序分析。圖14顯示Clock Period為9.700ns,Frequency為103.09MHz。

    圖14 ?8位加法器(非流水線/CPLD)時序分析結果

    ? ? ?觀察第一條路徑的時序報告,如圖15所示:

    ?

    圖15? 8位加法器(2級流水線/CPLD)時序報告(局部)

    ? ? ?時鐘周期為10ns時,仿真波形如圖16所示:

    圖16? 8位加法器(2級流水線/CPLD)仿真圖

    ? ? ?該波形與實驗三單always程序波形最主要的差別在于,sum=01001010之后一個周期的值是否正確。

    ? ? ?當時鐘周期取10ns時,仿真波形與實驗三雙always程序波形相同,但最高工作頻率卻由74.07 MHz提高到103.09MHz。可見最高工作頻率(系統工作速度)不能單純由仿真波形判斷。

    ?

    ?

    總結

    ? ? ?1. FPGA中1個邏輯單元(Logic Element )相當于CPLD中0.78個宏單元(MacroCell).

    ? ? ?2. Quartus II中FPGA器件編譯速度比CPLD慢得多。

    ? ? ?3. Stratix的最高工作頻率大于MAX7000S的的最高工作頻率。如實驗一二中Timing Analysis Tool均顯示Frequency為Restricted to 422.12 MHz(這時不易比較采用流水線和非流水線的最高頻率)。

    ? ? ?4. 比較實驗一(非流水線)和實驗二(流水線)的RTL原理圖及工藝映射圖,可清楚地看到,流水線技術的本質是在組合邏輯之間插入寄存器,暫存前面的運算結果或輸入數據,并在下一個時鐘到來時將寄存值作為后一級運算的輸入。將流水線規則應用于FPGA中,只需要很少或根本不需要額外的成本。這是因為每個邏輯單元都包含兩個觸發器,大多數情況下這兩個觸發器或者沒有用到,或者用于存儲布線資源,那么就可利用其來實現流水線結構。若采用流水線后,加法器速度仍不能滿足需要,可采用串并轉換來進一步提高計算的并行度。

    ?

    ?

    轉載于:https://www.cnblogs.com/clover-toeic/p/3784105.html

    總結

    以上是生活随笔為你收集整理的采用流水线技术实现8位加法器的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 国产欧美第一页 | 伊人久久大香网 | 97色爱| 久久久久久免费观看 | 美女久久久久 | 欧美日韩卡一卡二 | 欧美性久久久久 | 国产又粗又黄又爽又硬的视频 | 天天摸天天爽 | 日本一区二区三区在线看 | 日韩黄色一区二区 | 国产精品无码成人网站视频 | 国产欧美在线看 | 中文字幕va | 涩涩免费网站 | 日本中文在线观看 | 久久精品九九 | jizz黑人| 精品人妻一区二区乱码 | 激情综合网五月激情 | 九九资源网 | 欧美日韩大片在线观看 | 成人一级网站 | 深夜视频在线观看免费 | 爽爽影院免费观看 | 久久久久久国产精品一区 | 欧美无专区 | 久久久噜噜噜久久中文字幕色伊伊 | 成人高清| 国产传媒av | 欧美xxxx非洲 | 中文字幕2021 | 自拍中文字幕 | 成人午夜免费观看 | 视频一区二区在线播放 | 激情视频在线免费观看 | 伊人网影院 | 热逼视频| 国产成人欧美 | 亚洲黄色片网站 | 国产在线欧美 | 欧美大尺度视频 | 污污视频在线观看网站 | 国产91在线观看丝袜 | 夜夜操夜夜操 | 亚洲永久精品一区 | 亚洲视频免费在线 | xxxwww在线观看| 91麻豆精品国产91久久久久久久久 | 大学生高潮无套内谢视频 | 日韩人妻无码一区二区三区99 | 欧美午夜在线 | 亚洲国产电影在线观看 | 黄色xxxx | 91人妻一区二区 | 最新理伦片eeuss影院 | 曰韩毛片 | 卡通动漫亚洲综合 | 国产精品视频一区二区三区在3 | 欧美激情视频网站 | 高跟鞋和丝袜猛烈xxxxxx | 日韩中文字幕不卡 | 欧洲一级片 | 亚洲国产理论 | 95在线视频| 中文字幕在线视频免费 | 白白色免费视频 | 99精品视频免费在线观看 | 四虎影院在线免费播放 | 美女色诱男人激情视频 | 欧美亚洲第一页 | 第四色男人天堂 | 亚洲成人av免费观看 | avtt男人天堂 | 一级艳片新婚之夜 | xxx黄色片 | 老熟妇毛茸茸 | aaaa毛片| 午夜偷拍福利视频 | 2019日韩中文字幕mv | 欧美一级看片 | 天天操天天看 | 成人精品黄段子 | 三年中文在线观看中文版 | 天堂网中文 | 国产精品视频免费在线观看 | 国产激情视频在线观看 | 综合网中文字幕 | 欧美超逼视频 | 亚洲尹人| 日韩成人免费电影 | 久久国产一区二区三区 | 在线无| 亚洲欧美日韩精品久久亚洲区 | 亚洲一区成人 | 亚洲人视频 | 男生捅女生肌肌 | 精品国产一区二区三区性色 | 久久av在线 |