我这样写代码:
module alu(input[7:0] a,input[7:0] b,input [2:0] op,output reg [7:0] y);
always@(a or b or op) begin
case(op)
3'b000: y = a + b;
3'b001: y = a - b;
3'b010: y = a * b;
3'b011: y = a / b;
3'b100: y = a & b;
3'b101: y = a | b;
3'b110: y = ~a;
3'b111: y = a ^ b;
endcase
$display("base 10 : %dns : op=%d b=%d y=%d" , $stime, op, a, b, y);
$display("base 2 : %dns : op=%b a=%b y=%b" , $stime, op, a, b, y);
end
endmodule
module main;
reg [7:0] a,b;
wire [7:0] y;
reg [2:0] op;
alu alu1(a, b, op, y);
initial begin
a = 8'h07;
b = 8'h03;
op = 3'b000;
$dumpfile("alu.vcd");
$dumpvars;
end
always #50 begin
op = op + 1;
end
initial #1000 $finish;
endmodule
和伊卡洛斯向我展示了图像的答案,在此处输入图像描述 ,我不明白发生了什么。
也许这本身就是一个简单的问题,但我真的需要知道如何解决它,如果你看到我的问题,谢谢大家。