Verilog语法——按位取反“~“和位宽扩展的优先级

前言

  先说结论,如下图所示,在Verilog中“~ ”按位取反的优先级是最高的,但是在等式计算时,有时候会遇到位宽扩展,此时需要注意的是位宽扩展的优先级高于“~”。

在这里插入图片描述

验证

  仿真代码,下面代码验证的是“~”按位取反和符号扩展的优先级。

module tb();reg [7:0] a;reg b;wire [7:0] b1;wire [7:0] b2;wire [7:0] b3;initial begina=0;b=0;repeat(10)begin#10a={$random}%256;b={$random}%2;endendassign b1=a+~b;assign b2=a+~{7'b0,b};assign b3=a+{~b};
endmodule

  仿真结果
在这里插入图片描述

  如上所示,b1=a+ ~ b相当于b2=a+ ~ {7’b0,b}$,但是实际应该是按照逻辑b3=a+{~ b}或者是b2=a+{ 7’b0,~ b }逻辑才对。

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

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

相关文章

【canvas】canvas基础使用(七):绘制图像

简言 学习canvas如何绘制图片或视频。 绘制图像 给定一个图像,一般使用drawImage()方法绘制。 drawImage 绘制图像 Canvas 2D API 中的 CanvasRenderingContext2D.drawImage() 方法提供了多种在画布(Canvas)上绘制图像的方式。 语法&…

python连接mysql步骤

要在 Python 中连接 MySQL 数据库,你需要遵循以下步骤: 步骤 1: 安装 MySQL Connector/Python 首先,确保你的系统中已安装了 MySQL Connector/Python,这是 MySQL 官方提供的用于在 Python 中连接 MySQL 的驱动程序。你可以通过 …

为什么内存要对齐

1.硬件要求: 许多处理器和硬件架构对于特定数据类型的访问要求内存地址是对齐的。例如,某些处理器可能要求访问4字节整数的地址必须是4的倍数,否则可能会导致性能下降甚至错误。因为可能会导致额外的处理器周期用于处理未对齐的访问&#xff…

Swift中的类

在Swift中,类是一种复合类型,用于创建具有属性和方法的对象。它是面向对象编程的基本构建块之一。 以下是一个简单的类的示例: class Person {var name: Stringvar age: Intinit(name: String, age: Int) {self.name nameself.age age}fu…

四川易点慧电子商务抖音小店安全:护航您的在线交易之旅

在数字化浪潮席卷全球的今天,电子商务已经成为人们日常生活的重要组成部分。四川易点慧电子商务抖音小店作为新兴的电商平台,以其便捷、高效的特点吸引了众多消费者的目光。然而,随着网络交易的日益频繁,安全问题也日益凸显。本文…

揭秘!这些部门对六西格玛技术情有独钟

当下,企业为了提升产品质量、降低成本、提高效率,纷纷寻求先进的管理方法和技术手段。其中,六西格玛技术因其卓越的绩效改善能力,受到了众多企业的青睐。那么,哪些部门对六西格玛技术情有独钟呢?天行健六西…

如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格

文章目录 1. 拉取WPS Office镜像2. 运行WPS Office镜像容器3. 本地访问WPS Office4. 群晖安装Cpolar5. 配置WPS Office远程地址6. 远程访问WPS Office小结 7. 固定公网地址 wps-office是一个在Linux服务器上部署WPS Office的镜像。它基于WPS Office的Linux版本,通过…

每日一题(leetcode765):情侣牵手--并查集和哈希表

代码技巧&#xff0c;在读取列表时都除2&#xff0c;符合情理并且节省了空间。 class Solution { private:int get(vector<int>& f,int x){if(f[x]x){return x;}int newxget(f,f[x]);return newx;}void add(vector<int>& f,int a,int b){int zuaget(f,a);…

EPSON的RX8900CE适合用于安防摄像头产品

安防摄像头产品可以实现视频监控&#xff0c;运动检测&#xff0c;人脸识别等功能&#xff0c;并且可以支持远程访问&#xff0c;成了用户的“千里眼”。之前安防摄像头的价格比较高&#xff0c;一般比较重要的场合才会使用&#xff0c;目前随着安防摄像头价格逐渐降低&#xf…

MASA Framework系列-在电商领域的应用(7)

MASA Framework在电商领域的应用实例可以体现其强大的微服务架构和丰富的功能组件。以下是一个基于MASA Framework构建的电商实例的概述&#xff1a; 一、系统架构 该电商系统采用了MASA Framework的微服务架构&#xff0c;将各个功能模块拆分为独立的服务&#xff0c;如用户…

一进四出学生宿舍智能电表

一进四出学生宿舍电表功能特点** 一、多路电能计量** 该电表采用先进的电路设计&#xff0c;能够同时实现四路电能的独立计量。每路输出都可以单独控制和管理&#xff0c;方便对学生宿舍中各个用电设备的电能消耗进行精确统计。 二、实时电量显示** 电表配备有高清LED显示屏…

用四种方法实现轮播图

1、css3动画实现的轮播图 实现原理如下&#xff1a; 1、设置大的div a)设置绝对定位&#xff0c;定位位置&#xff1b; b)设置图片展示出来的高度和宽度&#xff08;height和width&#xff09;&#xff1b; c)设置overflow:hidden;设置超出部分隐藏&#xff1b;使得图片只能在…

[学习笔记] 网络安全 bp爆破

我们用的靶场是用的一个皮卡丘的漏洞练习平台的一个靶场首先要开启浏览器代理&#xff0c;然后开启在bp上开启就是拦截代理模块里面的拦截它有4个攻击模式&#xff0c;分别是&#xff1a; Sniper&#xff08;狙击手&#xff09;&#xff1a;这种攻击方式主要是将包内各个用$$符…

NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读

NL2SQL进阶系列(5):论文解读业界前沿方案(DIN-SQL、C3-SQL、DAIL-SQL)、新一代数据集BIRD-SQL解读 NL2SQL基础系列(1):业界顶尖排行榜、权威测评数据集及LLM大模型(Spider vs BIRD)全面对比优劣分析[Text2SQL、Text2DSL] NL2SQL基础系列(2):主流大模型与微调方法精选集…

代码对比同步辅助工具,提高开发效率

一开始只是开发抖音的程序&#xff0c;后面复制代码去改成快手、小红书、拼多多等平台的程序。 然后一有些修改调整&#xff0c;可能需要同步到其他平台的代码中&#xff1b; 每次需要打开一个或者多个开发工具IDE&#xff0c;每个IDE打开一个项目&#xff0c;再去对照路径翻…

淘宝天猫商品详情API接口(商品详情页面数据接口,商品销量接口)

淘宝天猫商品详情API接口主要包括商品详情页面数据接口和商品销量接口。这些接口为商家和开发者提供了获取淘宝天猫平台上商品详细信息和销量数据的途径。 商品详情页面数据接口&#xff1a; 通过商品详情页面数据接口&#xff0c;商家和开发者可以获取到商品的详细信息&…

【Java探索之旅】数组概念与初始化指南:动静结合

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、初识数组1.1 为什么要有数组&#xff1f;1.2 数组的的概念 二、数组的创建及初始化…

python学习之:数据类型

大纲&#xff1a; 一、列表list的定义语法 1、 """" 演示数据类型&#xff1a;list列表 语法&#xff1a;变量 [元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;......] """ # 定义一个列表list name_list [itheima, itcast, pyt…

8款AI绘画工具推荐,让你绘画更加生动有趣

大家好&#xff0c;我是你们的AI绘画导购员小助手&#xff01;今天我给大家带来了8款超级厉害的AI绘画工具推荐&#xff0c;它们不仅能让你的绘画更加生动有趣&#xff0c;还能让你的创作达到一个新的高度&#xff01; "爱制作AI"---这是一款非常好用的 AI 写作工具&…

TypeScript-官方基础模板创建的小程序,如何创建js文件

如何创建JS文件&#xff0c;不需要寻找“js”文件类型&#xff0c;只需要创建一个新的“文件”即可。 第一步:先删除 ts文件;如 index.ts 第二步:右键点击项目&#xff0c;选择“新建”&#xff0c;然后选择“文件”。 第三步:在弹出的界面中&#xff0c;在“文件名”中输入“…