2015-10-24 3 views
1

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?

modelsim

+0

Peut-être que la sortie est mise en mémoire tampon. Essayez de remplacer $ stop par $ finish. – toolic

+0

@toolic J'ai essayé '$ finish' et aussi' # 10; 'les deux ne montrent aucune différence. –

Répondre

0

Essayez d'exécuter vos simulations avec le -displaymsgmode=both argument optionnel. Les messages peuvent être cachés de votre transcription parce que displaymsgmode est défini sur wlf. Pour plus d'informations, reportez-vous au modelsim manual à la page 581.