Advertisement

常见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)

还没有任何评论哟~