Verilog 表达式宽度32与逻辑门阵列端口1的宽度1不匹配
我有两个问题Verilog 表达式宽度32与逻辑门阵列端口1的宽度1不匹配,verilog,Verilog,我有两个问题 无输出 表达式宽度32与逻辑门阵列端口1的宽度1不匹配 当我写和(OutAnd,a,b),它显示一个错误 Expression width 32 does not match width 1 of logic gate array port 1. 我怎样才能修好它 顺便说一下。我禁止使用&运算符、过程分配和始终阻塞 这是我的密码: 铝钒 和门的输出被定义为1位,并且您希望在其中放入32位,这可能会导致错误或警告。要解决此问题,您有两种方法:使用以下语法实例化32和门 and u1
和(OutAnd,a,b)代码>,它显示一个错误
Expression width 32 does not match width 1 of logic gate array port 1.
我怎样才能修好它
顺便说一下。我禁止使用&
运算符、过程分配和始终阻塞
这是我的密码:
铝钒
和
门的输出被定义为1位,并且您希望在其中放入32位,这可能会导致错误或警告。要解决此问题,您有两种方法:使用以下语法实例化32和门
and u1 (OutAnd[0], a[0], b[0]);
and u1 (OutAnd[1], a[1], b[1]);
and u1 (OutAnd[2], a[2], b[2]);
.
.
.
and u1 (OutAnd[31], a[31], b[31]);
或者使用generate语句,这里是一个示例代码
genvar i;
generate
for(i = 0;i < 32;i = i + 1) begin
and u1(OutAnd[i], a[i], b[i]);
end
endgenerate
genvari;
生成
对于(i=0;i<32;i=i+1)开始
和u1(OutAnd[i],a[i],b[i]);
结束
最终生成
and u1 (OutAnd[0], a[0], b[0]);
and u1 (OutAnd[1], a[1], b[1]);
and u1 (OutAnd[2], a[2], b[2]);
.
.
.
and u1 (OutAnd[31], a[31], b[31]);
genvar i;
generate
for(i = 0;i < 32;i = i + 1) begin
and u1(OutAnd[i], a[i], b[i]);
end
endgenerate