0
点赞
收藏
分享

微信扫一扫

6,verilog语言的操作符


微信公众号:FPGA动力联盟​​

本篇博主介绍verilog语言的操作符,这些操作符大多数都是平时在工程中经常使用的,因此在此篇先完整的罗列出来,大家对这些运算符都了解了吗?

接下来的博文会细说这些操作符的用法。

如下表所示为平时用到的verilog操作符总结:


操作符



类型



操作符



类型



操作符



类型



{ },{{ }}



级联,复制



+,-,*,/,**



算术



%



求模



>,>=,<,<=



关系





逻辑非



&&



逻辑与



||



逻辑或



==



逻辑等



!=



逻辑不等



===



条件等



条件不等



!==



~



按位非



&



按位与



|



按位或



^



按位异或



^~/~^



按位同或



&



缩位与



~&



缩位与非



|



缩位或



~|



缩位或非



^



缩位异或



^~/~^



缩位同或



<< 



逻辑左移



>> 



逻辑右移



<<< 



算术左移



>>> 



算术右移



?:



条件



or



事件或



()



括号


这些操作符之间并不是并列的,和四则运算的乘除优先情况类似,操作符之间有明确的优先级顺序,其中括号“()”的优先级最高。博主在这里就不一一说明了,因为完全没有意义,通常不用死记硬背。实际代码中都是使用括号来方便阅读。例如:

  • 无括号时:1’b1 ? 8’h3 * 8’h5 + 8’h8 : 8’h7 * 8’h2 - 8’h9
  • 有括号时:(1’b1) ? (8’h3 * 8’h5 + 8’h8) : (8’h7 * 8’h2 - 8’h9)

上面的有括号和无括号运算,结果都是一致。但我们在写代码时,肯定是选择第二种,第一种写法需要避免,所以我们在写代码时一定要多用括号,这样才不容易出错!


举报

相关推荐

0 条评论