当前位置:网站首页>【Verilog向SystemVerilog过渡遇到的问题】~ 信号变量类型的转变、 == 和 ===的区别

【Verilog向SystemVerilog过渡遇到的问题】~ 信号变量类型的转变、 == 和 ===的区别

2022-06-13 11:11:00 AI很不错呦

1. 信号变量类型的转变(reg、wire ===> logic)

很多刚开始学习SV的朋友不理解 为什么 Verilog 中的reg和wire直接可以改成logic运行,确实如此,这是不会有任何编译错误的。但是,随着学习的深入,我觉得有必要理清楚他们的关系。

区别如下:

  1. reg 或者 wire 它是 类型;而我们的logic是 数据类型;不能相提并论,我们的logic可以和bit相提并论。
  2. reg原本的作用是储存数据,对应于SV中的var logic,SV默认就是var型的,所以这就是一般我们不去写出var,而直接写logic的原因;wire就相当于一根线连接就完事了,在SV中我们可以写成wire logic。
  3. 在SV当中,如果我们用于驱动数据的时候,用logic(var logic)就行;如果我们是用于监测数据的时候,我们一般是用wire logic,虽然此时也可以用logic,这就看我们怎么理解了,监测也可以理解成将被监测的数据保存下来。这就因人而异了。

2. 关于 == 和 === , != 和 !== 的区别

== 和 != :这两种表示逻辑符合与逻辑不符合。只能比较’0’和’1’;如若其中存在有x或者z,那么得到的结果 则是z。
=== 和 !== : 表示全等符号,可以比较x和z,严格匹配x与z,但此条语句不可综合。

代码举例:点击查看

==============================================================================
持续更新中…

原网站

版权声明
本文为[AI很不错呦]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_40549426/article/details/125246429