【基础知识】~ 半加器 & 全加器

这篇具有很好参考价值的文章主要介绍了【基础知识】~ 半加器 & 全加器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 半加器

1.1 定义

半加器,就是不考虑进位的加法器,只有两个输入和两个输出:输入A和B,输出和数sum和进位cout,半加器真值表如下:
【基础知识】~ 半加器 & 全加器

1.2 关系表达式

【基础知识】~ 半加器 & 全加器

1.3 电路设计

【基础知识】~ 半加器 & 全加器

1.4 代码实现

module add_half(
   input                A   ,
   input                B   ,
 
   output	wire        S   ,
   output   wire        C   
);

assign S = A ^ B;
assign C = A & B;
endmodule

2. 全加器

2.1 定义

全加器就是在半加器的基础上引入一个进位输入,总共三个输入两个输出。全加器真值表如下:
【基础知识】~ 半加器 & 全加器

2.2 关系表达式

这里的输出一共有两个,一个sum,一个进位cout。sum的值是A+B+cin然后去掉进位得到的,也就是说A、B、cin 中,如果输入1的个数是奇数,则sum为1,输入1的个数为偶数(含零)则sum为0。根据这个奇偶判定,可以想到用异或操作,所以得到表达式:
【基础知识】~ 半加器 & 全加器
cout的值也好分析,cout是加和出来的进位,也就是说,如果A、B、cin三个数中,有两个及以上个1,则cout为1,这个容易得到表达式:
【基础知识】~ 半加器 & 全加器

2.3 电路设计

2.4 代码实现

module add_full(
   input                A   ,
   input                B   ,
   input                Ci  , 

   output	wire        S   ,
   output   wire        Co   
);
    assign S = A ^ B ^ Ci;
    assign Co = A&B | A&Ci | B&Ci;
endmodule

3. 两个半加器 实现 一个全加器

3.1 设计电路图

【基础知识】~ 半加器 & 全加器

3.2 代码实现

`timescale 1ns/1ns

module add_half(
   input                A   ,
   input                B   ,
 
   output	wire        S   ,
   output   wire        C   
);

assign S = A ^ B;
assign C = A & B;
endmodule

/***************************************************************/
module add_full(
   input                A   ,
   input                B   ,
   input                Ci  , 

   output	wire        S   ,
   output   wire        Co   
);
    wire [1:0] s, c;
    
    add_half m1 (
        .A(A),
        .B(B),
        .S(s[0]),
        .C(c[0]));
    
    add_half m2 (
        .A(s[0]),
        .B(Ci),
        .S(s[1]),
        .C(c[1]));
    
    assign S = s[1];
    assign Co = c[0] | c[1];
endmodule

其实这是一道公司笔试题目,大家可以点击这里

参考文献

文献1
文献2

声明

本人所有系列的文章,仅供学习,不可商用,如有侵权,请告知,立删!!!

本人主要是记录学习过程,以供自己回头复习,再就是提供给后人参考,不喜勿喷!!!

如果觉得对你有用的话,记得收藏+评论!!!文章来源地址https://www.toymoban.com/news/detail-509341.html

到了这里,关于【基础知识】~ 半加器 & 全加器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Quartus-II利用两个半加器实现简单全加器

    软件基于 quartusII 13.1 版本,开发板基于Intel DE2-115 。 1.新建并命名工程 2.选择芯片型号 3.新建半加器原理图

    2023年04月08日
    浏览(29)
  • CMOS 半加器和全加器&&数字集成电路&& Cadence Virtuoso

    NOR: NAND: 最重要的反相器: NOR: NAND: 最简单的反相器: 好,现在开始设计半加器 我是默认你是懂半加器原理的 这里先放一个模块间连线: 然后shift+f看细节图: 这里一个小技巧: 如果发生导线交叉,可以换个材料,否则就会短路。 直接看Schematic吧 到这里,应该能生成

    2024年02月13日
    浏览(34)
  • FPGA:什么是半加器?什么是全加器?多比特数据相加怎么求?如何用面积换速度?

    在FPGA中计算两个数据相加和C语言中的加法不太一样,在FPGA中是二进制相加,要考虑数据的进位、数据时单比特还是多比特,数据若位宽过大引起的时延该怎么解决,本文就对以上问题进行梳理 另外我想挖个新坑,把HDLBits中的内容整理一下,就从加法器进行入手,等写好了

    2024年02月03日
    浏览(22)
  • 【FPGA】Verilog:模块化组合逻辑电路设计 | 半加器 | 全加器 | 串行加法器 | 子模块 | 主模块

    前言: 本章内容主要是演示Vivado下利用Verilog语言进行电路设计、仿真、综合和下载 示例:加法器   ​ 功能特性: 采用 Xilinx Artix-7 XC7A35T芯片  配置方式:USB-JTAG/SPI Flash 高达100MHz 的内部时钟速度  存储器:2Mbit SRAM   N25Q064A SPI Flash(样图旧款为N25Q032A) 通用IO:Switch :

    2024年02月15日
    浏览(33)
  • FPGA基础——全加器

    全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。 一位全加器为例 Ain表示被加数,Bin表示加数,Cin表示低位进位,Cou

    2024年02月09日
    浏览(28)
  • FPGA实现1位全加器和4位全加器

    1、基于Quartus件完成一个1位全加器的设计,分别采用:1)原理图输入 以及 2)Verilog编程 这两种设计方法。 2、在此基础上,用原理图以及Verilog 编程两种方式,完成4位全加器的设计,对比二者生成的 RTL差别;使用modelsim验证逻辑设计的正确性。 num1和num2是加数,cin是低位进

    2024年02月05日
    浏览(29)
  • 一位全加器及四位全加器————FPGA

    环境: 1、Quartus18.0 2、vscode 3、基于Intel DE2-115的开发板 全加器简介: 全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器。

    2024年02月03日
    浏览(36)
  • FPGA——1位全加器和4位全加器的实现

    1、半加器 半加器是实现两个一位二进制数加法运算的器件。它具有两个输入端(被加数A和加数B)及输出端Y。 是数据输入被加数A、加数B,数据输出S和数(半加和)、进位C。 A和B是相加的两个数,S是半加和数,C是进位数。 所谓半加就是不考虑进位的加法,它的真值表如下 (见表

    2024年02月04日
    浏览(51)
  • 基于Quartus件完成1位全加器的设计及4位全加器的设计

    (1)、半加器的设计 半加器: 指对输入的两个一位二进制数相加a与b,输出一个结果位sum和进位cout 半加器真值表: a b sum cout 0 0 0 0 1 0 1 0 0 1 1 0 1 1 0 1 半加器输出表达式: 项目创建: 打开Quartus创建新项目: 设置项目路径及名称(adder4位实验名命名): 选择芯片(EP4CE115

    2024年02月05日
    浏览(26)
  • 【FPGA】如何理解全加器

    半加器 比较容易理解,它的电路指对两个输入数据位(a、b)相加,输出一个结果位(sum)和进位(cout),但没有计算进位输入的加法器电路。 输出表达式 相比半加器, 全加器 是将低位进位输入也代入计算的加法电路,同样输出一个结果位和进位。1位全加器就是计算带进

    2024年02月05日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包