一、要求

用16位的加法器设计一个加法器,减法器。当sub为1时,是减法;当sub为0时是加法。

二、原理

  • 当sub为1的时候:

第一个加法器的进位输入为1,经过异或门,将b和sub按位取异或其实是将b按位取反,相当于进行的运算是: a + ~b + 1,得到的结果就是a-b。

  • 当sub为0的时候:

第一个加法器的进位输入为0,经过异或门,将b和sub按位取异或,b的人值不变。相当于进行的运算是: a + b + 0,得到的结果就是a+b。

代码

module top_module(input [31:0] a,input [31:0] b,input sub,output [31:0]sum);
wire [31:0]xor_1;
wire [15:0]sum_1;
wire [15:0]sum_2;
wire cout_1,cout_2;
//xor xor_gate(xor_1,b,sub);//逻辑或,我们这里的设计不应该是逻辑或,应该是下边的按位取或
assign xor_1 = b^{32{sub}} ;//按位异或
assign sum = {sum_2,sum_1};
add16 u1_add16(.a(a[15:0]),.b(xor_1[15:0]),.cin(sub),.sum(sum_1),.cout(cout_1));
add16 u2_add16(.a(a[31:16]),.b(xor_1[31:16]),.cin(cout_1),.sum(sum_2),.cout(cout_2));endmodule

四、仿真波形

可以看出,当sub为0时,结果为a+b;当sub为1时,结果为a-b;

【Verilog】加法器减法器的设计相关推荐

  1. Verilog 加法器/减法器

    目录 1位加法器 8位加法器 8位补码加减法器 32位补码加减法器 1位加法器 // //创建日期:2022/09/21 19:05:50 //设计名称:一位加法器 //课程名称:adder_1 // ...

  2. 超前进位加法器原理与设计

    超前进位加法器原理与设计 一.行波进位加法器关键路径分析 N比特行波进位加法器可由N个全加器级联而成,电路的延迟包括门延迟和线延迟等,分析忽略线延迟. 单比特全加器门电路图 从输入a,b,cin到输出 ...

  3. 四位行波进位加法器_【HDL系列】Sklansky加法器原理与设计

    Sklansky加法器是另一种并行高速的树形加法器,由Sklansky于1959年发表,该加法器对比特位进位层级分组,根据对不同比特组所有可能的进位计算所有可选的和与进位,所以也叫Conditiona ...

  4. HDLBits答案(8)_Verilog半加器、全加器和行波进位加法器原理与设计

    半加器.全加器和行波进位加法器原理与设计 HDLBits链接 半加器 定义: 半加器用于计算2个单比特二进制数a与b的和,输出结果sum(s)和进位carry(c).在多比特数的计算中,进位c将作为下 ...

  5. 基于verilog贪吃蛇游戏设计

    概述 基于verilog贪吃蛇游戏设计.使用verilog语言 小游戏主要分为以下几个模块:顶层模块.VGA显示模块.蛇身控制模块.苹果控制模块. 系统主要分为顶层模块.VGA显示模块.蛇身控制模块. ...

  6. (96)Verilog HDL:点灯设计

    (96)Verilog HDL:点灯设计 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL:点灯设计 5)结语 1.2 FPGA简介 FPGA(Fi ...

  7. (50)Verilog HDL SPI发送设计

    (50)Verilog HDL SPI发送设计 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL SPI发送设计 5)结语 1.2 FPGA简介 F ...

  8. (47)Verilog HDL UART接收设计

    (47)Verilog HDL UART接收设计 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL UART接收设计 5)结语 1.2 FPGA简介 ...

  9. (46)Verilog HDL 自动饮料机设计

    (46)Verilog HDL 自动饮料机设计 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)Verilog HDL 自动饮料机设计 5)结语 1.2 FPGA简介 F ...

最新文章

  1. CDN的工作原理以及其中的一些技术-阿里
  2. Five ways to maximize Java NIO and NIO.2--转
  3. Java程序员的典型工作过程有哪些_Java程序员都要经历哪些阶段
  4. php $handle,laravel $kernel-handle 报错的解决办法_PHP开发框架教程
  5. AC_Dream 1211 Reactor Cooling
  6. [SAP2000] 简单桁架受力求解过程
  7. 7-3 欢迎参加贵工程2021年C语言程序设计大赛! (5 分)
  8. php 检查路劲是否存在,php 检查文件或目录是否存在代码总结
  9. 破解文件系统telnet密码【ZT】
  10. 2016: 神殿(求二进制1的个数最多的那个数)
  11. tomcat源码分析--初始化与启动
  12. 同一个事务里面对同一条数据做2次修改_MySQL事务与MVCC如何实现的隔离级别
  13. Android项目Tab类型主界面大总结
  14. matlab页面背景颜色改变为黑底白字
  15. Elasticsearch实战 | 必要的时候,还得空间换时间!
  16. ContextCapture | 无人机倾斜摄影技术在农村不动产确权中的应用
  17. python数字替换 携程校招
  18. python中的if判断,和while循环的用法
  19. 【无标题】c++日常练习(16)——从中序与前序遍历序列构造二叉树
  20. h5跳转微信公众号文章,小程序,任意站跳转链接制作方法?

热门文章

  1. matlab作业1,matlab作业报告一
  2. PHP接入微信官方支付(native·APIv3)
  3. Java学习之JavaFX安装
  4. 微信小程序,使用canvas画图生成海报并保存手机相册
  5. 阻容降压电路:每个元器件计算选型
  6. SQL server 登录名与用户名
  7. PDF如何修改文件字体大小
  8. 小白如何通过markdown文件自制kindle的 MOBI 格式文档
  9. Hadoop入门——初识Hadoop
  10. 微信小程序014租房-房屋租赁合同系统