日韩性视频-久久久蜜桃-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位加法器的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 午夜三级视频 | 午夜免费在线 | 麻豆小视频 | 都市激情一区 | 国产一区在线视频 | 色爽视频 | www,四虎| 艳母日本动漫在线观看 | 午夜天堂精品 | 自拍第二页 | 日韩欧美中文字幕在线观看 | 国产一区二区三区在线播放无 | 久久久久一区二区三区 | 97精品熟女少妇一区二区三区 | 久久久久久久久蜜桃 | 午夜91| 日韩午夜视频在线观看 | 国产精品中文 | 国产免费a级片 | 欧美成人自拍 | 一本大道综合伊人精品热热 | 狠狠操狠狠插 | 农村妇女精品一区二区 | 欧美成网站 | 欧美性生活xxx | 黄色精彩视频 | 欧美日韩在线视频免费 | 欧美午夜久久久 | 国产91综合一区在线观看 | 三级毛毛片 | 2024av视频| 久久久久久久伊人 | 日本黄色免费大片 | 超能一家人电影免费喜剧在线观看 | 91精品人妻一区二区三区蜜桃欧美 | 久草免费网站 | 日韩av影视大全 | 天天爱夜夜爽 | 日本在线视频免费观看 | 播放黄色一级片 | 91成人破解版 | 爆操巨乳美女 | 日韩在线黄色 | 男生舔女生的屁股 | 国产精品国语对白 | 人人草在线视频 | 欧美成在线视频 | 国产日韩欧美精品 | 国产 日韩 欧美 精品 | а√天堂资源官网在线资源 | 亚洲美女性生活 | 玖玖在线资源 | 日韩伦理大全 | 一眉道姑 | 午夜激情国产 | 人人爽人人 | 欧美黄色成人 | 欧美激情首页 | 两根大肉大捧一进一出好爽视频 | 免费a级大片 | 九九九久久久 | 欧美日韩在线视频一区 | 亚洲国产网站 | av高清在线免费观看 | 亚洲AV无码一区二区三区性 | 高柳家在线观看 | 污污视频在线观看网站 | 中文字幕一区二区视频 | 欧美激情xxxxx | 欧美黑人性生活 | 日韩一二三级 | av毛片一区 | 人人搞人人 | 国产日韩欧美视频在线 | 视频区图片区小说区 | 精品一区二区三区日韩 | 天天草av| 色综合天天色 | 亚洲一区二区三区四区视频 | 日韩不卡高清 | 亚洲av永久纯肉无码精品动漫 | 欧美日韩一级片在线观看 | 密臀av在线播放 | 特级黄色网 | 亚洲性网| 一个色综合导航 | 国产精品天干天干 | 国产高清黄色 | 国产日韩欧美视频在线观看 | 视频网站在线观看18 | 成人性生交大片免费看r链接 | 天天干天天色天天射 | 黄色免费视频观看 | 亚洲偷自 | 亚洲精品一区二区在线 | 色综合久久久无码中文字幕波多 | 欧美国产大片 | 丁香网五月天 | 亚洲精品乱码久久久久久黑人 |