常见Verilog 运算符(逻辑、按位、缩位、迭代连接、移位)
发布时间
阅读量:
阅读量
Verilog逻辑运算符与按位运算符:
差异: 位运算符执行逐位的逻辑处理(例如:与、或、非),其输出位数与输入保持一致;
逻辑运算符则执行整体逻辑判断,不关注具体某一位的数值,而是将输入视为一个整体进行运算,最终输出结果为单一比特;
举例说明:
与:& 表示按位与操作;&& 表示逻辑与操作;
或:| 表示按位或操作;|| 表示逻辑或操作;
非:~ 表示按位非操作;! 表示逻辑非操作;
缩位运算符:
合理运用缩位运算符有助于精简代码结构,减少冗余操作;
例如:
&a 可用于执行变量a各二进制位之间的与运算,其等效表达式为 a(0)&a(1)&...&a(n)
|a 可用于执行变量a各二进制位之间的或运算,其等效表达式为 a(0)|a(1)|...|a(n)
迭代连接运算符应用分析
连接功能: 通过将多个寄存器类型或线网类型的变量依次串联,生成一个位宽更宽的变量;
例如:
a = 2'b10;
b = 3'b010;
则{a,b} = 5'b10010;
迭代功能: 将某一变量重复多次并进行拼接,从而构成一个位宽更大的变量;(实际上属于连接功能的一种特殊情形:所连接的元素相同)
例如:
a = 2'b10;
则{4{a}},即{a,a,a,a}
注意:
全部评论 (0)
还没有任何评论哟~
