module mult4_to_1_32(out,i0,i1,i2,i3,s0);
output [31:0] out;
input [31:0]i0,i1,i2,i3;
input [1:0]s0;
always @(s0)
begin
case(s0)
2'b00: out=i0;
2'b01: out=i1;
2'b10: out=i2;
2'b11: out=i3;
default: out=i0;
endcase
end
endmodule
我想在modelsim中构建4到1个多路复用器。
我得到这个错误:“编译错误:非法引用net”out“。”
为什么我会收到此错误。你能救我吗?
答案 0 :(得分:1)
out
必须是始终阻止的reg
类型。
IEEE Std 1364-1995及以上
output [31:0] out;
reg [31:0] out;
IEEE Std 1364-2001及以上(重新开始)
output reg [31:0] out;
其他问题,i0
到3
位于always
块的敏感列表中。这推断出复杂的锁存逻辑。
IEEE Std 1364-1995及以上
always @(s0 or i0 or i1 or i2 or i3)
IEEE Std 1364-2001及以上(重新开始)
always @* // or @(*)