0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Verilog的经典数字电路设计(1)加法器

冬至子 来源:新芯设计 作者:新芯设计 2023-10-09 16:00 次阅读

引言

加法器是非常重要的,它不仅是其它复杂算术运算的基础,也是 CPU 中 ALU 的核心部件(全加器)。两个二进制数之间的算术逻辑运算例如加减乘除,在数字计算机中都是化为若干步加法操作进行的,因此,学好数字电路,从学好加法器开始。

加法器分为半加器和全加器。全加器和半加器相比也就多了那么一个相加的进位输入,全加器就是三位相加,半加器就是二位相加。例如,我们在做加法运算的时候,总是需要进行低位进位的判断,从而再进行下一位的计算,这就是全加器的由来。详细的也可以参考百度百科。

一、半加器的 Verilog 代码实现和 RTL 电路实现

module Half_Adder(
    input wire a, // 加数
    input wire b, // 加数
    output reg sum, // 和
    output reg cout // 进位输出
    );
// 行为描述
    always @(a or b) begin
        sum  = a ^ b; // 实践证明,这里 <= 和 = 的结果都一样;都是纯粹的组合逻辑;
        cout = a & b;
    end

// 数据流描述
// assign sum  = a ^ b;
// assign cout = a & b;

// 门级描述
// and(cout,a,b);
// xor(sum,a,b);

endmodule

基于多种方式描述的一个全加器电路的 RTL 电路图如下所示:

图片

半加器的 RTL 电路实现

二、全加器的 Verilog 代码实现和 RTL 电路实现

module Full_Adder(
    input wire a, // 加数
    input wire b, // 加数
    input wire cin,// 进位输入
    output reg sum, // 和
    output reg cout // 进位输出
    );

// 行为描述
    always @(a or b or cin) begin
        {cout,sum} <= a + b + cin;
    end

// 行为描述
//    always @(a or b or cin) begin
//        sum  = a ^ b ^ cin; // 实践证明,这里 <= 和 = 的结果都一样;都是纯粹的组合逻辑;
//        cout = a & b | b & cin | a & cin;
//    end

// 数据流描述
// assign {cout,sum} = a + b + cin;

endmodule

这里,“{}” 符号表示的是 “拼接位”,即先计算 a 与 b 的值,当 a 与 b 为 “0” 和 “1” 时,它们之和为 1,那么就是{01},对应 cout 和 sum ;当 a 与 b 为 “1” 和 “1” 时,它们之和为 2,那么就是转换为二进制就是{10},同样对应 cout 和 sum 等等。

基于多种方式描述的一个全加器电路的 RTL 电路图如下所示:

图片

全加器的 RTL 电路实现

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加法器
    +关注

    关注

    6

    文章

    174

    浏览量

    29732
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59069
  • 半加器
    +关注

    关注

    1

    文章

    27

    浏览量

    8661
  • Verilog设计
    +关注

    关注

    0

    文章

    20

    浏览量

    6474
  • 全加器电路
    +关注

    关注

    0

    文章

    3

    浏览量

    1597
收藏 人收藏

    评论

    相关推荐

    两个4位加法器级联构成一个8位加法器 verilog怎么写啊?!!

    小弟是初学者,刚把verilog基本语法看完,只会写简单的四位或者八位的加法器,但是两个4位加法器级联构成一个8位加法器不会写啊,应该是顶层调用两个四位的,但不知道具体怎么写,求大神指
    发表于 12-03 11:51

    加法器

    请问下大家,,进位选择加法器和进位跳跃加法器的区别是啥啊?我用Verilog实现16位他们的加法器有什么样的不同啊?还请知道的大神告诉我一下。。
    发表于 10-20 20:23

    什么是加法器加法器的原理是什么 ?

    什么是加法器加法器的原理是什么 反相加法器等效原理图解析
    发表于 03-11 06:30

    4位并行的BCD加法器电路

       图二所示为4位并行的BCD加法器电路。其中上面加法器的输入来自低一级的BCD数字。下
    发表于 03-28 16:35 1.2w次阅读
    4位并行的BCD<b class='flag-5'>加法器</b><b class='flag-5'>电路</b>图

    加法器,加法器是什么意思

    加法器,加法器是什么意思 加法器 :  加法器是为了实现加法的。  即是产生数的和的装置。加数和被加数为输入,和数与
    发表于 03-08 16:48 5160次阅读

    十进制加法器,十进制加法器工作原理是什么?

    十进制加法器,十进制加法器工作原理是什么?   十进制加法器可由BCD码(二-十进制码)来设计,它可以在二进制加法器的基础上加上适当的“校正”逻辑来实现,该校正逻
    发表于 04-13 10:58 1.3w次阅读

    同相加法器电路原理与同相加法器计算

    同相加法器输入阻抗高,输出阻抗低 反相加法器输入阻抗低,输出阻抗高.加法器是一种数位电路,其可进行数字
    发表于 09-13 17:23 5.6w次阅读
    同相<b class='flag-5'>加法器</b><b class='flag-5'>电路</b>原理与同相<b class='flag-5'>加法器</b>计算

    二进制加法器电路框图

    二进制加法器是半加器和全加法器形式的运算电路,用于将两个二进制数字加在一起.
    的头像 发表于 06-22 10:56 2.5w次阅读
    二进制<b class='flag-5'>加法器</b><b class='flag-5'>电路</b>框图

    加法器原理

    。在电子学中,加法器是一种数位电路,其可进行数字加法计算。三码,主要的加法器是以二进制作运算。由于负数可用二的补数来表示,所以加减器也就不
    的头像 发表于 06-19 14:20 2.5w次阅读
    <b class='flag-5'>加法器</b>原理

    加法器工作原理_加法器逻辑电路

    。在电子学中,加法器是一种数位电路,其可进行数字加法计算。三码,主要的加法器是以二进制作运算。由于负数可用二的补数来表示,所以加减器也就不
    发表于 02-18 14:40 3.2w次阅读
    <b class='flag-5'>加法器</b>工作原理_<b class='flag-5'>加法器</b>逻辑<b class='flag-5'>电路</b>图

    加法器是如何实现的

     verilog实现加法器,从底层的门级电路级到行为级,本文对其做出了相应的阐述。
    发表于 02-18 14:53 5754次阅读
    <b class='flag-5'>加法器</b>是如何实现的

    加法器设计代码参考

    介绍各种加法器Verilog代码和testbench。
    发表于 05-31 09:23 19次下载

    加法器的原理及采用加法器的原因

    有关加法器的知识,加法器是用来做什么的,故名思义,加法器是为了实现加法的,它是一种产生数的和的装置,那么加法器的工作原理是什么,为什么要采用
    的头像 发表于 06-09 18:04 3860次阅读

    加法器的工作原理及电路解析

    加法器是一种执行二进制数相加的数字电路。它是最简单的数字加法器,您只需使用两个逻辑门即可构建一个;一个异或门和一个 AND 门。
    的头像 发表于 06-29 14:35 6204次阅读
    半<b class='flag-5'>加法器</b>的工作原理及<b class='flag-5'>电路</b>解析

    镜像加法器电路结构及仿真设计

    镜像加法器是一个经过改进的加法器电路,首先,它取消了进位反相门;
    的头像 发表于 07-07 14:20 1355次阅读
    镜像<b class='flag-5'>加法器</b>的<b class='flag-5'>电路</b>结构及仿真设计