HDLBits (27) — 進(jìn)位選擇加法器
本題鏈接:
https://hdlbits.01xz.net/wiki/Module_cseladd
并行加法器的一個缺點(參見前面的練習(xí))是加法器計算進(jìn)位的延遲(在最壞的情況下,要從進(jìn)位開始)這相當(dāng)慢,并且在第一級加法器完成之前,第二級加法器無法開始計算其進(jìn)位。這會使加法器變慢。有一個改進(jìn)方法是使用進(jìn)位選擇加法器,如下所示。第一級加法器與之前的練習(xí)相同,但我們復(fù)制了第二級加法器,一個假設(shè)進(jìn)位為0,一個假設(shè)進(jìn)位為1,最后使用快速2:1多路復(fù)用器選擇正確的結(jié)果。
在本練習(xí)中,你將獲得與上一練習(xí)相同的模塊add16,該模塊將兩個帶進(jìn)位的16位數(shù)字相加,并生成進(jìn)位和16位和。你必須使用自己的16位2對1多路復(fù)用器實例化其中三個來構(gòu)建進(jìn)位選擇加法器。
如下圖所示,將模塊連接在一起。提供的模塊add16具有以下聲明:
module add16 ( input[15:0]?a, input[15:0]?b, input?cin, output[15:0]?sum, output?cout?);


題目

答案

輸出波形


加法器(英語:adder)是一種用于執(zhí)行加法運(yùn)算的數(shù)字電路部件,是構(gòu)成電子計算機(jī)核心微處理器中算術(shù)邏輯單元的基礎(chǔ)。在這些電子系統(tǒng)中,加法器主要負(fù)責(zé)計算地址、索引等數(shù)據(jù)。除此之外,加法器也是其他一些硬件,例如二進(jìn)制數(shù)的乘法器的重要組成部分。
參考資料:
Adder (electronics) - Wikipedia :
https://en.wikipedia.org/wiki/Adder_(electronics)