Verilog设计_全加器

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

一种全加器的设计。

目录

一、全加器

二、代码实现


一、全加器

全加器是用门电路实现两个二进制数相加并求和的组合线路,也称为一位全加器,是一种常用的设计。全加器可以处理低位进位,并输出本位加法进位。多个一位全加器进行级联可以得到多位全加器,例如常用的二进制四位全加器74LS283。

真值表:

输入

输出

C(i-1)

Ai

Bi

Si

Ci

0

0

0

0

0

0

0

1

1

0

0

1

0

1

0

0

1

1

0

1

1

0

0

1

0

1

0

1

0

1

1

1

0

0

1

1

1

1

1

1

Ai和Bi为相加数,低位进位C(i-1),输出本位和为Si,向高位进位Ci。

表达式:

Si = Ai⊕Bi⊕C(i-1)

Ci = Ai&Bi + C(i-1) & (Ai+Bi)

二、代码实现

上代码:

module full_adder #(parameter N=8)(
    input clk,
    input rst_n,
    input [N-1:0]ain,
    input [N-1:0]bin,
    input cin,
    output reg [N:0] sum
);

    reg [N:0] c;
    integer i;

    always@(posedge clk or negedge rst_n)begin
        if(!rst_n)begin
	        c   <= 0;
	        sum <= 0;
        end
    end

    always@(*)begin
	    c[0] = cin;
	    for(i=0;i<N;i=i+1)begin
		    sum[i] = ain[i] ^ bin[i] ^ c[i];
		    c[i+1] = (ain[i] & bin[i]) | (ain[i] & c[i]) | (bin[i] & c[i]);
	    end
	    sum[N] = c[N]; // 进位
    end

endmodule

总体使用了参数化设计。cin是接收到的进位,输出的sum最高位是本位的进位,与低位共同组成和。

测试波形:

verilog实现全加器,一些Verilog设计,fpga开发,linux,模块测试,硬件工程,单片机

为了更直观的观察,采用十进制显示。 文章来源地址https://www.toymoban.com/news/detail-730728.html

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

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

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

相关文章

  • FPGA面试题【Verilog实现一个2位带进位全加器,画出门级电路】

    目录 题目 核心思路 答案 FPGA全貌 Verilog实现一个2位带进位全加器,画出门级电路 思路见代码注释   第1节 什么是 FPGA FPGA 的全称为 Field-Programmable Gate Array,即现场可编程门阵列。 FPGA 是在 PAL、 GAL、 CPLD 等可编程器件的基础上进一步发展的产物, 是作为专用集成电路( ASI

    2024年02月08日
    浏览(53)
  • verilog全加器和四位加法器

    半加器: 保存为half_addr.bsf之后,可以在该项目中添加半加器 全加器: 通过RTL-Viewer查看半加器和全加器 添加全加器到项目 在process里面先后执行start fitter 和start time analyzer 生成testbench模板 修改testbench文件: 添加到项目 注意在联合modelsim时让generate functinal simulation netlist值为

    2024年02月07日
    浏览(47)
  • 用Verilog编写1位全加器,并进行波形仿真

    Quartus II+ModelSiml 全加器英语名称为full-adder,是用门电路实现两个二进制数相加并求出和的组合线路,称为一位全加器。一位全加器可以处理低位进位,并输出本位加法进位。

    2024年02月11日
    浏览(42)
  • 使用verilog编写三八译码器及四位全加器

    目录 一、三八译码器原理 二、使用verilog编写三八译码器 1.使用verilog代码如下: 2.verilog的数据类型 (1)wire类型 (2)reg类型 三、使用verilog编写全加器 1.一位全加器  2.四位全加器 3.八位全加器  总结 三八译码器的输入信号有三个,相当于有八个二进制编码可以输入,每个

    2024年02月04日
    浏览(45)
  • 北邮22级信通院数电:Verilog-FPGA(6)第六周实验:全加器(关注我的uu们加群咯~)

    北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 目录 一.verilog 代码 add.v 二.管脚分配 三.实验效果 3.1说明 ​编辑 3.2实验

    2024年02月06日
    浏览(46)
  • 基于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日
    浏览(40)
  • 实验四 QUARTUS开发环境实验 设计半加器、全加器和四位全加器 blueee的学习笔记

    一、实验目的 1、通过实验,能熟悉QUARTUS开发环境,能够掌握QUARTUS的原理图输入法设计电路,掌握使用相关仿真工具进行功能和时序仿真的方法; 2、通过实验,加深对全加器电路的理解,并能使用QUARTUS的原理图输入法完成全加器的设计,并能在QUARTUS中完成相关的仿真验证

    2024年02月05日
    浏览(98)
  • FPGA入门:QuartusⅡ实现半加器,全加器,四位全加器

    1、半加器是指对输入的两个一位二进制数相加,输出一个半加结果位和半加进位的组合电路,是没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。 2、半加器的真值表如下; S位结果位,C为进位 3、由真值表可以推出半加器的逻辑表达式为: 4、半加器逻辑电

    2023年04月25日
    浏览(45)
  • FPGA实现1位全加器和4位全加器

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

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

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

    2024年02月04日
    浏览(63)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包