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

 

 

 

 

 

转载于:https://www.cnblogs.com/zerineofdream/archive/2011/09/17/2179879.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值