verilog语句中“|”和“&”的含义?
时间:10-02
整理:3721RD
点击:
最近看到IP核中用到的一些语句不知道什么意思,也不知道该在哪里去查找语法含义,下面语句中用到的“|”和“&”,请用到过的前辈指点哈!谢谢!
reg [43:0]bank_hit;
reg [2:0] two_t_enable_r;
bank_conflict_r <= (~(|bank_hit)); //“|”在这表示什么意思?
assign conflict_detect = (MULTI_BANK_EN) ?
((|(row_conflict_r[3:0] & bank_hit_r[3:0]))////“|”在这表示什么意思?
| bank_conflict_r) & af_valid_r2 :
row_conflict_r[0] & af_valid_r2;
if(&two_t_enable_r) //"&"表示什么意思?
reg [43:0]bank_hit;
reg [2:0] two_t_enable_r;
bank_conflict_r <= (~(|bank_hit)); //“|”在这表示什么意思?
assign conflict_detect = (MULTI_BANK_EN) ?
((|(row_conflict_r[3:0] & bank_hit_r[3:0]))////“|”在这表示什么意思?
| bank_conflict_r) & af_valid_r2 :
row_conflict_r[0] & af_valid_r2;
if(&two_t_enable_r) //"&"表示什么意思?
"&""|" 夹在两个信号中间:Bitwise And/Or -- 两个多bit信号按位与/或,结果仍为多bit
"&""|" 放在单个信号前面:Reduction And/Or -- 将这个多位信号的每位之间进行与/或,结果为单bit
你可以查Verilog 2001标准。
two_t_enable_r[0] &two_t_enable_r[1] & two_t_enable_r[2]
与和或信号
谢谢!
谢谢!
谢谢!
((|(row_conflict_r[3:0] & bank_hit_r[3:0]))////“|”在这表示什么意思?
先row_conflict_r[3:0] 和bank_hit_r[3:0]按位与,得到的结果是4位的,然后是或缩位运算,最终得到的结果是1位的
谢谢指导!
学习了
