27,verilog中整数运算的位宽和符号规则
注:学习、交流就在博主的个人weixin公众号 “FPGA动力联盟” 留言或直接+博主weixin “fpga_start” 私信~
在verilog中,整数(integer number)可以用作表达式中的操作数。一个整数可以表示为:
1, 一个无位宽(size)、无基数(base)的整数(例如:12,默认32bit)
2, 一个无位宽、有基数的整数(例如:'d12、'sd12,默认32bit)
3, 一个有位宽、有基数的整数(例如:16’d12、16’sd12,16bit)
下面的例子大家都能理解吗?不了解的话,请继续下滑!
integer IntA;
IntA = -12 / 3; // The result is -4. -12为32bit有符号负数,3为32bit有符号正数
IntA = -’d 12 / 3; // The result is1431655761. -’d 12为32bit无符号数,3为32bit有符号正数
IntA = -’sd 12 / 3; // The result is -4. -’sd12为32bit有符号负数,3为32bit有符号正数
IntA = -4'sd 12 / 3; // The result is 1. -4’sd12为4bit有符号正数4,3为32bit有符号正数
此示例展示了verilog的四种书写表达式“负12 除以 3”的方式。我们要特别注意:-12 和 -'d12 虽然都是以相同的二进制补码的形式表示,但是在verilog表达式中,-'d12 被认为是无符号数,而-12被认为是有符号数。
总结:没有基数base说明符的整数的负值应与具有基数说明符的整数的含义不同,没有基数说明符的整数应看作是有符号数,而带有无符号基数说明符的整数应看作为无符号数。
参考文献:
1,IEEE verilog-2001标准
27,verilog中整数运算的位宽和符号规则相关推荐
- 非整数倍数数据位宽转换8to12
非整数倍数数据位宽转换8to12 题目描述 实现数据位宽转换电路,实现8bit数据输入转换为12bit数据输出.其中,先到的数据应置于输出的高bit位. 电路的接口如下图所示.valid_in用来指示 ...
- 【杂七杂八】excel中根据RTL信号位宽生成拼接取位
前言 作为一个不务正业的芯片前端,总会遇到掉奇奇怪怪的需求,就比如题目这个啊,我写完之后就觉得非常的拗口.那么具体的需要是啥呢?就是比如说有了下面这个excel表: 信号名 width sig0 3 ...
- [牛客网刷题]L32 非整数倍数据位宽转换24to128
1.题目描述 实现数据位宽转换电路,实现24bit数据输入转换为128bit数据输出.其中,先到的数据应置于输出的高bit位.电路的接口如下图所示.valid_in用来指示数据输入data_in的有效 ...
- 【linux】shell中整数运算的加、减、乘、除
1.使用双括号"(( ))" shell中变量实现加法的方法 d= $(($d + 2)) 例子如下 #!/bin/bash d=0 echo "d=$d"fo ...
- Verilog学习之数据常量表达与位宽
本文原创内容,转载请标明出处. 原文链接:https://blog.csdn.net/Cixil/article/details/89422200 Verilog的表示形式 Verilog中整数,整型 ...
- Verilog基础:表达式位宽的确定(位宽拓展)
相关文章 Verilog基础:位宽拓展和有符号数运算的联系 Verilog基础:表达式符号的确定 Verilog基础:数据类型 表达式位宽 如果想要在计算表达式时获得和谐一致的结果,那么控制表达式中的 ...
- 13,Verilog数据的位宽扩展规则
通常情况下,我们在实际工程中会遇到数据位宽扩展的问题(比如一个数是4bit,需要扩展为8bit),而且该数据既可能是有符号数,也可能是无符号数,此时我们该如何扩展呢?这就需要用到前面说到的拼接运算符了 ...
- 关于verilog中的signed类型
在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合:也可以使用有符号数,即包括0和正负数的集合.在更加复杂的系统中,也许这两种类型的数,我们都会用到. 有符号数通常以2的补码形式 ...
- Verilog十大基本功5 (关于verilog中的signed类型)
来自:https://www.cnblogs.com/lianjiehere/p/3968103.html 在数字电路中,出于应用的需要,我们可以使用无符号数,即包括0及整数的集合:也可以使用有符号数 ...
最新文章
- DataGridView使用小结
- elasticsearch 分布式部署
- 压缩感知(II) A Compressed Sense of Compressive Sensing (II)
- 寄存器在哪里_二、汇编之寄存器
- 据调查95%以上的AI从业者不具备修改模型或者提出新模型的技术能力
- oracle 取当天日期减一天 应该如何写
- 远程桌面无法连接服务器,启动Terminal Services 服务报1053错误
- Java 算法 等差数列
- mysql事务日志备份_事务日志备份 (SQL Server)
- fedora 14 64位安装 flash player
- Vue之import
- BGPVRP5.0的10条选路原则,以及NE20的IBGP负载均衡
- html5里面怎么引入字体
- 统计字符数 —— C++
- 高红梅:第三章 第二节 身份焦虑与英雄梦
- 谷歌经典bert模型从下载源码到运行成功
- 你们知道官网购买服务器可以返佣吗
- [error] id returned 1 exit status原因及解决办法
- 企业微信如何通过红包活动引流?
- EarthSDK 项目开发使用说明