1、什么是BCD码
2、8421 BCD码加法原理
3、BCD码加法电路
4、元件功能
5、BCD码的Verilog代码
前置知识:卡诺图与逻辑代数化简法、数字电路-时序逻辑电路。
Binary-Coded Decimal缩写BCD,用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码。日常所说的BCD码大都是指8421 BCD码形式。
8421 BCD码表示形式如下表所示。
1 | 0001 | 4 | 0100 | 7 | 0111 |
---|---|---|---|---|---|
2 | 0010 | 5 | 0101 | 8 | 1000 |
3 | 0011 | 6 | 0110 | 9 | 1001 |
BCD码中0~9可以用四位二进制数0000~1001表示,而1010~1111这6个数为无效数。两个4位二进制数相加所得的结果超过1001,则将所得数加0110,来跳过6个无效数,并产生一个进位。
电路由4位二进制超前进位全加器、进位控制电路、译码器74LS47N、显示电路共4个部分组成。其部分电路如下图所示,仿真原文件下载移步:两个BCD码的加法运算。
也可以使用74LS83N,如下图所示。
module bcd(cout,sum,ina,inb,cin);
input cin;
input [3:0] ina,inb;
output reg [3:0] sum; //等价于output [3:0] sum;reg [3:0] sum;
output reg cout;
reg [4:0] temp;
always @(ina, inb, cin)
begin
temp<=ina+inb+cin;
if(temp>9)
{cout,sum}<=temp+6;
else
{cout,sum}<=temp;
end
endmodule
知我所能,我所能者尽善尽美;知我所不能,我所不能者虚怀若谷。觉得不错,动动发财的小手点个赞哦!关注我,后续干货官方有提醒
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。