Verilog刷题笔记15

题目:
An adder-subtractor can be built from an adder by optionally negating one of the inputs, which is equivalent to inverting the input then adding 1. The net result is a circuit that can do two operations: (a + b + 0) and (a + ~b + 1). See Wikipedia if you want a more detailed explanation of how this circuit works.

Build the adder-subtractor below.

You are provided with a 16-bit adder module, which you need to instantiate twice:

module add16 ( input[15:0] a, input[15:0] b, input cin, output[15:0] sum, output cout );

Use a 32-bit wide XOR gate to invert the b input whenever sub is 1. (This can also be viewed as b[31:0] XORed with sub replicated 32 times. See replication operator.). Also connect the sub input to the carry-in of the adder.
在这里插入图片描述
我的解法:

module top_module(
    input [31:0] a,
    input [31:0] b,
    input sub,
    output [31:0] sum
);
    wire [15:0] sum1,sum2;
    wire [31:0]b1;
    wire cout;
    assign b1={32{sub}}^b;
    add16 add161(.a(a[15:0]),.b(b1[15:0]),.cin(sub),.cout(cout),.sum(sum1));
    add16 add162(.a(a[31:16]),.b(b1[31:16]),.cin(cout),.cout(),.sum(sum2));
    assign sum = {sum2,sum1};
endmodule

结果正确:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

15.云原生之k8s容灾与恢复实战

云原生专栏大纲 文章目录 Velero与etcd介绍Velero与etcd备份应用场景Velero与etcd在k8s备份上的区别 Velero备份恢复流程备份工作流程Velero备份时,若k8s集群发送变化,会发发生情况?Velero 备份pv,pv中数据变化,会发发…

k8s---对外服务 ingress

目录 目录 目录 ingress与service ingress的组成 ingress-controller: ingress暴露服务的方式 2.方式二:DaemonSethostnetworknodeSelector DaemonSethostnetworknodeSelector如何实现 3.deploymentNodePort: 虚拟主机的方式实现http代…

CHAPTER 9: 《DESIGN A WEB CRAWLER》第9章 《设计一个web爬虫》

CHAPTER 9: 《DESIGN A WEB CRAWLER》第九章 设计一个web爬虫 在本章中,我们将重点介绍网络爬虫设计:一种有趣而经典的系统设计 面试问题。 网络爬虫被称为机器人或蜘蛛。它被搜索引擎广泛用于发现网络上的新内容或更新内容。内容可以是网页、图像、视频…

TCP的三次握手,四次挥手

三次握手 第一次握手:客户端发送SYN报文,井发送seq为x序列号给服务端,等待服务端的确认第二次握手:服务端发送SYNACK报文,并发送seq为Y的序列号,在确认序列号为x1第三次握手:客户端发送ACK报文&…

基于Python flask京东服装数据分析可视化系统,可视化多种多样

技术介绍 京东服装品牌数据分析系统是基于Python Flask框架开发的一款用于分析和展示京东服装品牌数据的Web应用程序。该系统利用Flask提供了一个简单而强大的后端框架,结合Request库进行网络爬虫获取京东服装品牌数据,并使用Pyecharts进行可视化展示&a…

【Internet Protocol】ip介绍,如何组局域网实现远程桌面和文件共享

文章目录 1.何为“上网”1.1 定义1.2 为什么连了WiFi就能上网了? 2.ip2.1 什么是ip2.2 为什么区分广域网和局域网,ip的唯一性2.3 如何查看设备的ip2.4 什么叫"ping"2.5 区分是否两个ip是否在同一局域网2.5.1 最稳妥的方式:ip&m…

VirtualBox安装kail虚拟机并配置内外网双网卡网络

VirtualBox安装kail虚拟机并配置内外网双网卡网络 Kali Linux是一份基于Debian的发行,它带有一套安全和计算机取证工具。本文档适用于在VirtualBox平台上安装kali-2023.4虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径…

95%数据格式都支持?3D模型格式转换引擎HOOPS Exchange真绝了!

一、HOOPS Exchange概述 HOOPS Exchange是一款用于读写专有和开放CAD数据格式的通用工具包,专为开发3D工程应用程序而设计,通过单一界面,即可读取和写入30多种CAD文件格式,无需依赖任何CAD系统。HOOPS Exchange可以无缝集成到CAD…

【计算机图形学】习题课:Viewing

【计算机图形学】Viewing 部分问题与解答 CS100433 Computer Graphics Assignment 21 Proof the composed transformations defined in global coordinate frame is equivalent to the composed transformations defined in local coordinate frame but in different composing…

rust跟我学五:是否安装双系统

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎么得到检测双系统的。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址:[我的Ru…

ubuntu opengl安装使用

文章目录 1.opengl的安装2.安装GLFW3.安装glad4.调用示例参考 1.opengl的安装 OpenGL到底是什么。一般它被认为是一个API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL本身并不是一个API&…

Linux 系统之部署 h5ai 目录列表程序

一、h5ai 介绍 1.1)h5ai 简介 h5ai 是用于 HTTP Web 服务器的现代文件索引器,专注于您的文件。目录以吸引人的方式显示,浏览它们通过不同的视图、面包屑和树概述得到增强。最初 h5ai 是 HTML5 Apache Index 的首字母缩写,但现在它…

申请开启|成为亚马逊云科技 Community Builder,共建云端社区!

在探索由技术打造的云端世界时,和同行者一起学习,与技术专家共同探讨是开发者成长的最佳助力! 亚马逊云科技开发者社区 Community Builders 为技术爱好者和新兴思想领袖提供技术资源、学习和交流机会,帮助开发者探索、分享技术相关…

CMake+QT+大漠插件的桌面应用开发(QThread)

文章目录 CMakeQT大漠插件的桌面应用开发(QThread)简介环境项目结构配置编译环境代码 CMakeQT大漠插件的桌面应用开发(QThread) 简介 在CMakeQT大漠插件的桌面应用开发中已经给出了QT配合大漠插件开发桌面应用的样例 不过由于主…

macOS系统下载安装IDEA 操作流程

目录 第一步 进入官网,选择箭头指向的版本 第二步 下载完成后打开,拖动安装包安装​编辑 第三步 点击" project",在JDK下拉框选择"Download JDK" 第四步 下载完成以后,点击右下角的Create按钮。 第一步 进…

vscode开发java项目

安装java扩展 创建项目 vscode命令行面板搜索java命令行 出现如下提示 No build tools构建项目如下 java项目使用vscode单独打开文件夹(工作区中运行有问题),vscode中可直接点击右上角运行按钮执行 maven中spring boot项目 代码错误可以点…

jeecgboot 前端bug or 后端 看图

无法显示文本 只能显示value 很恶心 如果用 varchar 就可以 不知道有没有别的方式 用int 解决 ,可能是我没有发现好的方法

QT中操作word文档

QT中操作word文档: 参考如下内容: C(Qt) 和 Word、Excel、PDF 交互总结 Qt对word文档操作总结 QT中操作word文档 Qt/Windows桌面版提供了ActiveQt框架,用以为Qt和ActiveX提供完美结合。ActiveQt由两个模块组成: QAxContainer模…

【0到1的设计之路】计算机系统的状态机模型

Perface 在开始本文之前需要先介绍一下状态机的概念: 状态机不是实际机器设备,而是一个数学模型,通常体现为一个状态转换图。涉及到的相关概念是 State 状态,Event 事件,Action 动作,Transition 转换。状态…

[C++] opencv - Mat::convertTo函数介绍和使用场景

Mat::convertTo()函数 Converts an array to another data type with optional scaling. 该函数主要用于数据类型的相互转换。 The method converts source pixel values to the target data type. saturate_cast<> is applied at the end to avoid possible overf…