Verilog 为什么不是';t ModelSIM显示定时波形,而GTKWave显示定时波形?

Verilog 为什么不是';t ModelSIM显示定时波形,而GTKWave显示定时波形?,verilog,modelsim,icarus,gtkwave,Verilog,Modelsim,Icarus,Gtkwave,我对verilog有点陌生,在所有的基本概念上都很挣扎。 我试图在ModelSim中显示定时波形,在这里,is只是抛出“#(vish-4014)没有找到与“/tb/*”匹配的对象。” 然而,当我用VSCode模拟测试台时,使用icarus和gkwave,它显示了我需要的必要波形。在VS代码中,我运行 iverilog -o tb.vvp tb.v vvp tb.vvp gtkave GTKwave弹出并显示波形。我正在测试的硬件将2个数字作为输入,并返回大小数字(cnsmodule附在下面)

我对verilog有点陌生,在所有的基本概念上都很挣扎。 我试图在ModelSim中显示定时波形,在这里,is只是抛出“#(vish-4014)没有找到与“/tb/*”匹配的对象。”

然而,当我用VSCode模拟测试台时,使用icarus和gkwave,它显示了我需要的必要波形。在VS代码中,我运行

iverilog -o tb.vvp tb.v 
vvp tb.vvp
gtkave
GTKwave弹出并显示波形。我正在测试的硬件将2个数字作为输入,并返回大小数字(cnsmodule附在下面)。我正在模拟的测试台名为“tb.v”,如下所示:

module tb();
reg a0,a1,a2,a3;
wire s0,s1,s2,s3;

level uu(.*);
always begin
    $dumpfile("tb.vcd");
    $dumpvars(0,tb);
  
    a0=2'b01;a1=2'b00;a2=2'b11;a3=2'b10;
    #10;
    
    $finish;
  
end 
endmodule
我正在实例化的相关模块包括:

// Instantiates 3 cnsmodules to input 4 numbers and return them from small to large    
module level(a0,a1,a2,a3,s0,s1,s2,s3);

input a0,a1,a2,a3;
output s0,s1,s2,s3;

wire s0,s1,s2,s3;
wire temp1,temp2;

cnsmodule tvz1(a0,a1,s0,temp1);
cnsmodule tvz2(temp1,a2,s1,temp2);
cnsmodule tvz3(temp2,a3,s2,s3);

endmodule
以及:


我怀疑您的问题在于优化
ModelSIM
对设计的影响,请尝试以下操作,并告诉我该操作是否有效。在顶部栏中单击“模拟”,然后单击“优化选项”,然后单击“将完全可视性应用于所有模块(完全调试模式)”然后选择您的测试台,并尝试现在添加您的信号

    module cnsmodule (a0,a1,sn,ln);
  input a0,a1;
  output sn,ln;
  reg sn,ln;

  always@(*) begin
    if (a0>a1) begin 
      sn=a1; ln=a0;
    end
    
  else begin 
    sn=a0; ln=a1;
  end
end
endmodule