HDLBits (72) — 4位BCD加法器
本題鏈接:
https://hdlbits.01xz.net/wiki/Bcdadd4
提供了一個(gè) BCD (二進(jìn)制編碼的十進(jìn)制數(shù))一位加法器 BCD _ fadd,它將兩個(gè)BCD數(shù)字和進(jìn)位相加,并生成一個(gè)和和和進(jìn)位。
實(shí)例化4個(gè)BCD_FADD副本以創(chuàng)建4位BCD并行加法器。加法器應(yīng)該加上兩個(gè)4位BCD數(shù)(壓縮成16位向量)和一個(gè)進(jìn)位,以產(chǎn)生4位和并輸出。

題目
提示:
5位十進(jìn)制數(shù)12345 的 BCD 表示是20'h12345,與14'd12345 不同(應(yīng)該是14'h3039).
該電路的結(jié)構(gòu)類似于二進(jìn)制并行加法器,只是加法器是以10為基數(shù)的,而不是以2為基數(shù)的。

答案

輸出波形


當(dāng)位寬大于 1 時(shí),wire 或 reg 即可聲明為向量的形式。例如:
對于上面的向量,我們可以指定某一位或若干相鄰位,作為其他邏輯使用。例如:
Verilog 支持可變的向量域選擇,例如:
Verillog 還支持指定 bit 位后固定位寬的向量域選擇訪問。
[bit+: width]?: 從起始 bit 位開始遞增,位寬為 width。
[bit-: width]?: 從起始 bit 位開始遞減,位寬為 width。
對信號(hào)重新進(jìn)行組合成新的向量時(shí),需要借助大括號(hào)。例如:
參考內(nèi)容:
2.3 Verilog 數(shù)據(jù)類型| 菜鳥教程:
https://www.runoob.com/w3cnote/verilog-data-type.html