前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数字电路-两个BCD码的加法运算电路

数字电路-两个BCD码的加法运算电路

原创
作者头像
爱上电路设计
发布2024-05-28 18:58:26
1580
发布2024-05-28 18:58:26
举报
文章被收录于专栏:爱上电路设计

​目录:

1、什么是BCD码

2、8421 BCD码加法原理

3、BCD码加法电路

4、元件功能

5、BCD码的Verilog代码


前置知识:卡诺图与逻辑代数化简法数字电路-时序逻辑电路


1、什么是BCD码

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

十进制数的几种4位编码
十进制数的几种4位编码

8421 BCD码表示形式如下表所示。

1

0001

4

0100

7

0111

2

0010

5

0101

8

1000

3

0011

6

0110

9

1001

2、8421 BCD码加法原理

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

3、BCD码加法电路

电路由4位二进制超前进位全加器、进位控制电路、译码器74LS47N、显示电路共4个部分组成。其部分电路如下图所示,仿真原文件下载移步:两个BCD码的加法运算

也可以使用74LS83N,如下图所示。

4、元件功能

5、BCD码的Verilog代码

代码语言:javascript
复制
​
  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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ​目录:
    • 1、什么是BCD码
      • 2、8421 BCD码加法原理
        • 3、BCD码加法电路
          • 4、元件功能
            • 5、BCD码的Verilog代码
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档