4位ALU上的红色输出运行测试平台

时间:2015-03-24 17:51:26

标签: verilog mux alu

所以我试图在verilog中创建一个4位ALU,它可以进行乘法,加法,bcd加法和连接。到目前为止,这是我的代码:

module alu4bit(A,B,S,Y);

input [3:0] A, B;
input [1:0] S;
output [7:0] Y;
reg [7:0] Y;
wire [7:0] A0, A1, A2, A3;


multiplier4bit mod3(A,B,A3);


always @ (A,B,S)
begin
    case (S)
//      2'b00: 
//      2'b01: 
//      2'b10: 
        2'b11: Y = A3;


    endcase
end
endmodule

当试图为我的乘数设置S = 3并且A = 5,B = 5时,我得到红线,XXXXX用于输出。我认为这与我如何设置子模块的输出有关。 A0-3应该是电线吗?希望我收到一条错误消息,但是我有点卡在这一点上。

1 个答案:

答案 0 :(得分:3)

如果您希望多路复用器对A3信号敏感,则需要将其添加到灵敏度列表中:

always @ (A,B,S,A3)

考虑将其简化为:

always @*

请参阅IEEE Std 1800-2012,“9.4.2.2隐式event_expression列表”部分。