微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > verilog语句中“|”和“&”的含义?

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)  //"&"表示什么意思?

"&""|" 夹在两个信号中间: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位的


谢谢指导!

学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top