J'ai conçu une unité pour mes devoirs ici,Modelsim Testbench ne génère pas de sortie de la console
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
J'ai créé un fichier testbench assez simple à courir avec Modelsim ici,
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
I utilisé Modelsim pour exécuter le banc d'essai, et tandis que la forme d'onde est sorti comme prévu, mais pas la sortie de texte. Des idées?
Il semble fonctionner dans une ancienne version de Modelsim. J'utilise 10.3d maintenant. Tous les paramètres qui pourraient provoquer cela?
Peut-être que la sortie est mise en mémoire tampon. Essayez de remplacer $ stop par $ finish. – toolic
@toolic J'ai essayé '$ finish' et aussi' # 10; 'les deux ne montrent aucune différence. –