verilog运算符

这篇具有很好参考价值的文章主要介绍了verilog运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

运算符和表达式

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

算数运算符

算数运算符

说明

+

-

*

/

%

求模

  • 进行整数除法运算时,结果值略去小数部分,只取整数部分;

  • %称为求模(或求余)运算符,要求%两侧均为整型数据;

  • 求模运算结果值得符号位取第一个操作数的符号位;

  • 进行算数运算时,若操作数位不定值X,则整个结果也为x

  • eg:x + a = x;

  • 定义一个a,b都是[1:0]两位的,b是1,c是6

  • a=b+c a=7但是换算成二进制111 但是a是两位的二进制,故a为11舍弃了最高位的1

关系运算符

关系运算符

说明

<

小于

<=

小于或等于

>

大于

>=

大于或等于

  • 运算结果值为1位的逻辑值1或0或x

  • 关系运算时,若关系为真,则返回值为1

  • 若声明的关系为假,则返回值为0

  • 若操作数为不定值x,则返回值为x

  • 所有关系运算符优先级别相同

  • 关系运算符的优先级低于算数运算符

逻辑运算符(其结果只有一个)

PS:进行逻辑运算后的结果为1或0或x 大于1也是真

  • 非零的操作数被认为是真(1'b1)

  • 零被认为是假(1'b0)1'在其中的含义为一位的位宽

  • 不确定的操作数如4'bxx00,被认为是不确定的(可能为0,也可能为非0)(记为1'bx),但4'bxx11被认为是真(记为1'b1,因为它肯定是非零的)

逻辑运算符

使用方法

说明

!a

a的非,若a为0,那么a的非是1

&&

a&&b

a与上b,如果a和b的值都为1,a&&b的结果才为1,表示为真

||

a||b

a或上b,如果a或者b有一个为1,a||b的结果才为1,表示为真

  • &&和||的优先级高于条件运算符外,低于关系运算符、等式运算符等几乎所有运算符

  • 逻辑!的优先级最高

  • eg:(a>b)&&(b>C)可简写为a>b && b>c

  • (a==b)||(x==y)可简写成 a==b||x == y

  • (!a)||(a>b)可简写成 !a||a>b

  • 为了提高程序的可读性,明确表达各运算符之间的优先关系,建议使用括号

位运算符(前面操作数有几位,则输出就为几位)

位运算符

说明

~

按位取反

单目运算符

&

按位与

双目运算符

|

按位或

^~、~^

按位同或

比如a为11 b为00 a的第一个1和b的第一个0按位与 如此类推

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

缩减运算符(与位运算符不同)

  • 缩减运算与位运算类似,但运算过程不同

  • 对单个操作数进行递推运算,即先将操作数的最低位与第二位进行与、或、非运算,再将运算结果与第三位进行相同的运算,依次类推至最高位

  • 运算结果缩减为1位二级制数

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

移位操作符

  • 用法:A>>n 或 <<n

  • 将操作数右移或左移n位,同时用n个0填补移出的空位

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

左移会扩充位数

位拼接运算符

  • 位拼接运算符为{}

  • 将两个或多个信号的某些位拼接起来,表示一个整体信号

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档
verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

表示重复的表达式必须位为常数表达式

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

等式运算符

运算符

说明

==

等于

!=

不等于

===

全等

!==

不全等

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档
verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

条件运算符

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

运算符的优先级(不要去挑战编辑器,不要给自己挖坑,用括号来控制运算的优先级)

verilog 运算符,芯片验证,fpga开发,Powered by 金山文档

条件赋值语句 out = sel ?in1:in0 文章来源地址https://www.toymoban.com/news/detail-726024.html

到了这里,关于verilog运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog运算符优先级

    0 ! ~ 1 * / % 2 + 1 3 4 = = 5 == != === !== 6 ~ 7 ^ ^~ 8 | ~| 9 10 || 11 ?: 从上至下优先级依次降低

    2024年02月16日
    浏览(36)
  • Verilog基本语法之运算符(三)

    运算符按功能分为9类: 算术运算符 逻辑运算符 关系运算符 等式运算符 缩减运算符 条件运算符 位运算符 移位运算符 位拼接运算符 运算符按操作数的个数分为3类: 单目运算符:带一个操作数 逻辑非!,按位取反~,缩减运算符,移位运算符 双目运算符:带两个操作数 算

    2023年04月09日
    浏览(39)
  • Verilog语法——2.模块例化、运算符

    参考资料 【明德扬_verilog零基础入门语法HDL仿真快速掌握-手把手教你写FPGA/ASIC代码设计流程中的应用】 2.1.1 什么是模块例化 例化,即将项目不断拆分成次级功能模块,然后从最简单的模块开始实现,进而完成整个复杂项目 2.1.2 模块例化的方法 针对已经抽象好的模块,需要

    2024年01月16日
    浏览(40)
  • Verilog常用运算符及表达式

    本文详细介绍了Verilog常用的运算符和表达式,特别是分享了处理“计算位宽溢出”和“负数”的可行方式,帮助读者更加轻松地理解和掌握Verilog语言的运算符。 算数运算符:加(+)、减(-)、乘(*)、除(/)、取余(%) 赋值运算符:非阻塞赋值(=)、阻塞赋值(=);

    2024年02月08日
    浏览(53)
  • Verilog学习记录3——三目运算符

    进阶示例: 以牛客网 VL1 四选一多路器 为例 使用三目运算符写法:

    2024年02月11日
    浏览(58)
  • Verilog基础:仿真时x信号的产生和x信号对于各运算符的特性

    相关阅读 Verilog基础 https://blog.csdn.net/weixin_45791458/category_12263729.html?spm=1001.2014.3001.5482         信号爆x也许是所有IC人的噩梦,满屏的红色波形常让人头疼不已,但x信号的产生原因却常常只有几种,只要遵循一定的代码规范,就可以避免产生信号中出现x的问题。         最常

    2024年02月05日
    浏览(48)
  • FPGA四选一的多路选择器(用三元运算符?:解决)

           ?:符号通常用于条件运算符,表示条件判断。它类似于C语言中的三元运算符,用于根据条件选择不同的操作或值。         例如,在Verilog中,条件运算符?:可以用于if-else语句的简写形式。它的一般语法格式如下:         如果表达式为真,则结果为结果1;否

    2024年01月21日
    浏览(49)
  • [开发语言][C++]:递增递减运算符

    递增运算符和递减运算符为对象的+1和-1提供了简洁的书写形式。 自增自减运算符的应用: 这两个运算符除了应用在算术运算,还可应用于迭代器,因为很多迭代器并不支持算术运算。 递增和递减运算符有两种书写形式:前置版本和后置版本。 前置版本 ++i --i :首先将运算

    2024年01月25日
    浏览(47)
  • iOS开发Swift-基本运算符

    一元 单一操作对象 -a    !b    c! 二元 两个操作对象 2 + 3 三元 三目运算符 a ? b : c 赋值运算符不返回任何值,所以 if x = y { ... } 无效。 +   -   *   / 默认不允许数值运算中溢出。 溢出运算符:   a + b a % b = 余数 a = (b * 倍数) + 余数 所以a % b = a % -b ==     !=         

    2024年02月11日
    浏览(44)
  • 【 Python 全栈开发 ⑤ 】Python 数据类型与运算符

    Python 中一共有 6 种基本数据类型,他们是: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) 在这6个基本数据类型中, 不可变数据 有3个: Number(数字) String(字符串) Tuple(元组) 可变数据 有3个: List(列表) Set(集合) Dictiona

    2024年02月02日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包