8421BCD码加法器

BCD码

Binary-Coded Decimal‎,简称BCD,用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码,即BCD代码。日常所说的BCD码大都是指8421BCD码形式。

8421BCD码表示形式

1:0001    2:0010    3:0011

4:0100    5:0101    6:0110

7:0111    8:1000    9:1001

8421BCD码加法原理

BCD码中1——9可以用四位二进制数0000——1001表示,而1010——1111这6个数为无效数。两个4位二进制数相加所得的结果超过1001,则将所得数加0110,

来跳过6个无效数,并产生一个进位。

Verilog代码

 1 module bcd(cout,sum,ina,inb,cin);
2
3 input cin;
4 input [3:0] ina,inb;
5 output reg [3:0] sum; //等价于output [3:0] sum;reg [3:0] sum;
6 output reg cout;
7 reg [4:0] temp;
8
9 always @(ina, inb, cin)
10 begin
11 temp<=ina+inb+cin;
12 if(temp>9)
13 {cout,sum}<=temp+6;
14 else
15 {cout,sum}<=temp;
16 end
17
18 endmodule
19

 

 

 

 

 

posted on 2011-09-17 21:46  zerine  阅读(11256)  评论(0)    收藏  举报

导航