半减器、全减器和减法器原理和设计

        减法器可由基础的半减器和全减器模块组成,或者基于加法器和控制信号搭建。定义N比特被减数X,减数Y,差为D(difference);来自低比特借位Bi,向高比特借位Bi+1,i为比特序号;所以,有以下结论:

1、半减器

        半减器用于计算两比特Xi和Yi的减法,输出结果Di和向高位的借位Bo(Borrow output)。其真值表、逻辑表达式、Verilog描述和门电路图如下:

1.1、真值表


1.2、逻辑表达式

xor表示异或。

1.3、Verilog设计

1.4、门电路图

2、全减器

全减器不同于半减器在于,全减器输入来自低位的借位Bi(Borrow input),另外两个输入Xi,Yi,输出为Di和向高位的借位Bo。其真值表、逻辑表达式、Verilog描述和门电路图如下:

2.1、真值表


2.2、逻辑表达式

2.3、Verilog设计

2.4、门电路图

三、减法器

        此前,我们介绍了相当数量的加法器设计,而减法器与加法器具有相同的设计方法。用如下符合表示全减器:

根据此全减器搭建16比特减法器,如下图所示,姑且称之为行波借位减法器。

                                                        “行波借位减法器”

        除了使用半减器和全减器搭建减法器外,减法器使用控制信号便可以与加法器共用相同的结构。X与Y均采用二进制补码表示,则:

其中~Y表示对Y按比特取反。

                                                        加减法器

        以上是基于行波进位加法器修改的电路结构,使其同时具有加法和减法的功能。由加或者减的控制信号,决定该部件的功能。输入c0=0时表示加法;c0=1时表示减法。为了溢出与符号位考虑,以上结构最后进位输出需要与控制信号进行异或以满足减法器的需求。比如0-0的情况。

以下两条RISC-V算术指令:ADD和SUB

ADD rd, rs1, rs2

SUB rd, rs1, rs2

处理器根据指令译码,判断ADD或者SUB,来共用加法减法单元。

四、Verilog设计

设计一个16比特的减法器

(1)基于全减器设计“行波借位减法器”,基础的全减器模块

                           加减法器
(2)根据行波进位加法器,通过控制信号,使其同时具有加法和减法的功能,注意进位。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/132576.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Kubernetes集群中部署 dolphindcheduler-3.1.8

温故知新 📚第一章 前言📗背景📗目的📗总体方向 📚第二章 部署📗安装helm📗安装dolphindcheduler(使用k8s的部署用户操作)📕通过命令验证📕通过Ku…

轻松学会寻找不同操作系统电脑的IP地址的技巧!

TCP/IP计算机网络使用两种IP地址——公共(也称为外部)和私有(有时称为内部或本地)。 在设置文件服务器或网站时,你可能需要公共IP地址,而专用IP地址对于与本地设备通信、转发路由器端口或访问路由器以进行…

华为OD机考算法题:数字加减游戏

目录 题目部分 解读与分析 代码实现 题目部分 题目数字加减游戏难度难题目说明小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字 s 变成数字 t 。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减…

SAP ABAP基础知识 访问外部数据库-开发篇

前言 本文主要介绍通过ABAP语言访问外部数据库的几种方式 一、外部数据库配置 本文示例中的代码访问了两个外部数据库 MTD : 外部oracle数据库,其中示例表 ZTTEMP 字段( ZZTNO,WERKS) S4Q : 外部HANA数据库(开发系统访问测试系统的数据库), 使用表USR02,ZTTEMP 二、ABAP访问…

c语言练习58:⾃定义类型:结构体

⾃定义类型:结构体 结构体的概念 结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 结构体是一个种自定义的数据类型,它可以由很多个默认数据类型组成。它主要用于描述复杂场景下的变量。 例如,想…

前端深入理解JavaScript中的WeakMap和WeakSet

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 1. WeakMap和WeakSet概述 1.1 WeakMap 1.2 WeakSet 2. WeakMap深入解析 2.1 WeakMap的创建和使用 2.2 WeakMap…

软件流程图怎么画?详细画法看这里

软件流程图怎么画?软件流程图是软件开发过程中必不可少的一环,可以帮助开发人员更好地理解和规划软件开发的流程。在制作软件流程图的时候,我们可以使用一些制作工具。下面就给大家介绍一款好用的绘制工具。 我们可以使用【迅捷画图】来进行流…

Android端Base64解码表情emoj乱码

一、背景:H5端用户评论中包含表情包,通过JSBridge 传递给客户端,Android Base64解码之后,显示乱码(是菱形问号)。小程序和iOS可以正常解码出表情。用Base64在线编码解码(Base64 在线编码解码 | …

BOM操作

文章目录 BOM事件页面加载调整窗口事件定时器停止计时器Location对象History对象Offsetleft获取元素偏移Offset与style的区别可视区client系列滚动scroll系列Mouseover和mousenter区别 动画原理实现动画封装给不同对象添加定时器缓动动画原理多个位置间移动 BOM事件 页面加载 …

BeanUtils.copyProperties的使用场景

1. 常见场景 我们如果有两个具有很多相同属性名的JavaBean对象a和b,想把a中的属性赋值到b,例如 接口中将接收到的前端请求参数XxxReqVo,我们想把这个入参转化为XxxQuery对象作为数据库的查询条件对象 传统做法是手动set,即 XxxBean xxxBea…

Python Opencv实践 - HoG特征计算

参考资料:https://www.cnblogs.com/alexme/p/11361563.html https://blog.csdn.net/qq_43348528/article/details/108638030 import cv2 as cv import numpy as np import matplotlib.pyplot as plt from skimage import exposure from skimage.feature i…

靶场溯源第二题

关卡描述:1. 网站后台登陆地址是多少?(相对路径) 首先这种确定的网站访问的都是http或者https协议,搜索http看看。关于http的就这两个信息,然后172.16.60.199出现最多,先过滤这个ip看看 这个很…

SSM - Springboot - MyBatis-Plus 全栈体系(八)

第二章 SpringFramework 四、SpringIoC 实践和应用 4. 基于 配置类 方式管理 Bean 4.4 实验三:高级特性:Bean 注解细节 4.4.1 Bean 生成 BeanName 问题 Bean 注解源码: public interface Bean {//前两个注解可以指定Bean的标识AliasFor…

Mendeley在linux中无法打开APPimage

原因:FUSE 库为用户空间程序提供了一个接口,可以将虚拟文件系统导出到 Linux 内核。由于缺少这个关键库,AppImage 无法按预期工作。 1 安装fuse,打开终端,输入命令 sudo apt install libfuse2 输入用户密码结,果如下 2 确保APPimage作为程序运行 右击…

docker 获取Nvidia 镜像 | cuda |cudnn

本文分享如何使用docker获取Nvidia 镜像,包括cuda10、cuda11等不同版本,cudnn7、cudnn8等,快速搭建深度学习环境。 1、来到docker hub官网,查看有那些Nvidia 镜像 https://hub.docker.com/r/nvidia/cuda/tags?page2&name11.…

【计算机视觉 | 图像模型】常见的计算机视觉 image model(CNNs Transformers) 的介绍合集(五)

文章目录 一、MoCo v3二、AmoebaNet三、Residual Multi-Layer Perceptrons四、FractalNet五、LV-ViT六、RepVGG七、Transformer in Transformer八、SimpleNet九、SpineNet十、Bottleneck Transformer十一、ZFNet十二、DetNet十三、Invertible Rescaling Network十四、SNet十五、…

SVN 索引版本与打包版本号不匹配

今天突然遇到了一个问题,SVN上传不了,错误提示如下: 解决方法: 1.其实,这是SVN库不小心搞坏了,只能重新再创建一个SVN仓库了。

Redis:分布式锁误删原因分析

一、线程阻塞 例如,线程一获取分布式锁,但是线程一阻塞时间过长,导致锁超时释放。此时线程二获取分布式锁。当线程一阻塞结束后,释放分布式锁,但是释放的却是线程二的锁。此时线程二就不安全了,线程三也可…

Linux下修改jar包中的配置文件application.conf

文件位置 jar包文件工程目录 打包后解压jar包目录 提取和上传 jar tf XXX.jar # 获取包内文件 application.conf是jar包的配置文件,如果修改需要 提取文件 jar xf my-app.jar application.conf 修改后上传文件 jar uf my-app.jar application.conf

解决开了burp suite ,火狐访问不了其他网站的问题

问题描述: 有软件正在阻止 Firefox 安全地连接至此网站 www.baidu.com 很像是一个安全(连接加密)的网站,但我们未能与它建立安全连接。这个问题是由 PortSwigger CA 所造成,它是您的计算机或您所在网络中的软件。 您…