HDLBITS笔记五加法器减法器
加法器-减法器可以通过选择负掉其中一个输入来从加法器构建,这相当于反转输入然后加1。最终结果是一个可以执行两个操作的电路:(a + b + 0)和(a + ~b + 1)。
在下面构建加法器-减法器。
为您提供了一个 16 位加法器模块,您需要对其进行两次实例化:
module add16 ( input[15:0] a, input[15:0] b, input cin, output[15:0] sum, output cout );
使用 32 位宽异或栅极,每当 sub 为 1 时反相 b 输入。(这也可以看作是b[31:0]XOXRed,sub复制了32次。看复制操作员.).还要将sub连接到加法器。
分析:图中电路实现的是加法器和减法器的操作。其中减法器为A-B可由A+(~B+1)构成,即直接用补码的形式将B取反然后再加1。当sub为0时,cin置0,进位输入为0,还是进行加法操作;当sub为1时,cin置1,进位输入为1,B取反然后再加1。
错误代码:
错误结果:
由上述结果可知:上述错误的产生均为sub等于1时没有向高位进位而导致的错误。由此可知错误产生在assign sub1=b[31:0]^sub这一行。再通过分析可知:图中电路要实现的是31位的加法器减法器,而上述错误代码只使用了一个sub,而首次输入结果又为0,因此导致该32位加法器减法器只在sub等于0时结果正确。可将代码修改如下:
正确代码:
module top_module(input [31:0] a,input [31:0] b,input sub,output [31:0] sum
);wire [31:0] sub1;wire [15:0] sum1;wire [31:16] sum2;wire c1;assign sub1=b[31:0]^{32{sub}};add16 u1 (.a(a[15:0]),.b(sub1[15:0]),.cin(sub),.sum(sum1),.cout(c1));add16 u2 (.a(a[31:16]),.b(sub1[31:16]),.cin(c1),.sum(sum2));assign sum = {sum2,sum1};
endmodule
HDLBITS笔记五加法器减法器相关推荐
- HDLBITS笔记15:组合逻辑之7420芯片
由于组合逻辑电路中前面的部分过于简单,这里不做介绍.给出更多逻辑门(链接:Gates - HDLBits (01xz.net)的代码: module top_module( input a, b,ou ...
- HDLBITS笔记30:rule 90、rule 100以及Conway‘s game of life 16*16
目录 ## 题目1:rule 90规则90是具有有趣属性的一维元胞自动机. 题目2:rule 100 题目3:Conwaylife ## 题目1:rule 90 规则90是具有有趣属性的一维元胞自动机 ...
- HDLBITS笔记34:Lemmings1、Lemmings2、Lemmings3、Lemmings4
目录 题目1:Lemmings1 题目2:Lemmings2 题目3:Lemmings3 题目4: Lemmings4 题目1:Lemmings1 游戏Lemmings涉及具有相当简单大脑的小动物.如 ...
- Verilog练习:HDLBits笔记15
四.Sequential Logic Finite State Machines 1.Simple FSM 1(asynchronous reset) Problem Statement: This ...
- HDLBITS笔记29:移位寄存器(包括4位移位寄存器,创建100位左/右旋转器,算术偏移,线性反馈移位寄存器等)
题目1:4位移位寄存器(4-bit shift register) 构建一个具有异步复位.同步加载和使能功能的 4 位移位寄存器(右移位). reset:将移位寄存器重置为零. load: 加载数据[ ...
- HDLbits笔记-移位寄存器
Circuits----sequential Logic 文章目录 Circuits----sequential Logic 前言 一.shift registers(移位寄存器) 1.异步置零的移位 ...
- HDLBITS笔记26:边沿检测(正边沿、任意边沿,边沿捕获寄存器、双边沿触发触发器)
在做接下来的题目前,首先需要理解什么是边沿检测. **边沿检测:**边沿指的是上升沿或者下降沿,检测指的是检测输入信号的变化,或者FPGA内部电路逻辑信号的跳变.在做边沿检测时,应该注意到复位信号,如 ...
- HDLBITS笔记35:独热编码状态机,ps/2数据包解析器,ps/2数据包和数据路径
目录 题目1:Fsm onehot(热编码的有限状态机) 题目2:Fsm ps2(ps/2数据包解析器) 题目3:Fsm ps2data(ps/2数据包解析器和数据路径) 题目1:Fsm onehot ...
- HDLBITS笔记27:计数器(4位计数器、计算0-9/0-10计数器、具有控制信号的计数器)
目录 题目1:4位二进制计数器(four-bit-binary counter) 题目2:计数器10(decade counter) 题目3:计数器10(dacade counter again) 题 ...
最新文章
- 【深度学习入门到精通系列】U-net网络分析
- java.sql.SQLException: 关闭的 Resultset: next
- 【Luogu】P3950部落冲突(树链剖分)
- 《网络安全原理与实践》一2.1 安全区介绍
- commonjs是什么_JavaScript模块化标准CommonJS/AMD/CMD/UMD/ES6Module的区别
- 可怕的乖孩子_当今的中国,有句很可怕的话:所有的乖孩子注定不幸福!
- 第二代飞信机器人“小达”问世了
- 《Cortex-M0权威指南》之体系结构---栈空间操作
- java 包装类详解_解析包装类
- 经济学入门书籍选择参考(业余爱好者)
- vue根据文件名后缀区分
- 高中数学必修一,集合知识概念运算归纳总结
- Windowns11并未完全抛弃IE内核,可向下兼容至IE7
- Arcmap 安装完后使用出现visual fortran run-time error的解决方法
- 编译原理—语法制导翻译、S属性、L属性、自上而下、自下而上计算
- golang语言的入门基础,及window和linux系统上环境的搭配及运行
- rootless宁静机制_乘风破浪的姐姐 英文名决定了你的江湖地位!
- 《算法通关之路》-数学之美
- Basler相机学习一
- 《Head First设计模式》读书笔记