今日在见到一段Verilog代码,让我有些摸不着头,代码内容如下:
if (&compare_valid & rdata_valid_flag_reg & pnf_persist_compare) pnf_persist1 <= 1'b1; else pnf_persist1 <= 1'b0;
常用的约简运算符的关键字和位操作符关键字一样,仅仅由单目运算和双目运算的区别。
如果看到这里依然不能理解的我给出一个一元简约运算符的 Verilog 实例如下:
wire [3 : 0] wire1; wire wire2; assign wire1 = 4'b1010; assign wire2 = &wire1; //&即为一元约简运算符“与”
其等效为:
wire [3 : 0] wire1; wire wire2; assign wire1 = 4'b1010; assign wire2 = wire1[0] & wire1[1] & wire1[2] & wire1[3]; //即为一元约简运算符“与” 等效效果
相信这些可以让更多人理解了吧。