我在这里为我的作业设计了一个单元,
module homework1(a, b, sel, y);
input signed [7:0] a, b;
input [1:0] sel;
output reg signed [7:0] y;
always @(a or b or sel) begin
case (sel)
2'b00: y = a + b;
2'b01: y = a - b;
2'b10: y = (a > b) ? a : b;
2'b11: y = (a > b) ? b : a;
endcase
end
endmodule
我在这里设计了一个非常简单的测试平台文件来与 Modelsim 一起运行,
module testbench();
reg signed [7:0] a, b;
reg [1:0] sel;
wire signed [7:0] y;
homework1 target(a, b, sel, y);
initial begin
$display("Hello!");
$monitor($time, "a = %d, b = %d, sel = %b, y = %d", a, b, sel, y);
#10 sel = 0; a = 32; b = 25;
#10 a = 46; b = 0;
#10 a = 18; b = 52;
#10 a = 37; b = 37;
#10 a = 37; b = 37;
#10 $stop;
end
endmodule
我使用 Modelsim 运行测试平台,虽然波形按预期输出,但文本输出却不是。有什么想法吗?
它似乎可以在旧版本的 Modelsim 中使用。我现在用的是10.3d。有什么设置可能会导致这种情况吗?
尝试使用
-displaymsgmode both
可选参数运行模拟。由于 displaymsgmode 设置为 wlf,这些消息可能会从您的记录中隐藏。
请参阅第 581 页的modelsim 手册了解更多信息。