我对verilog有点陌生,并且对所有的基本概念都感到困惑。我试图在ModelSim中显示定时波形,其中只抛出"# (vish-4014)没有找到匹配的'/tb/*'.“(在我的例子中)。
然而,当我在VSCode中模拟测试平台时,使用icarus & gkwave,它显示了所需的必要波形。在VS代码中,我运行
iverilog -o tb.vvp tb.v
vvp tb.vvp
gtkaveGTKwave弹出并显示波形。我正在测试的硬件以两个数字作为输入,并返回小的和大的数字(下面所附的and模块)。我正在模拟的测试平台名为"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以及:
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发布于 2021-04-26 09:25:54
我怀疑您的问题在于ModelSIM对设计所做的优化,尝试以下操作并告诉我,如果这在顶部栏中有效,单击模拟,然后再单击优化选项,然后单击“对所有模块(完全调试模式)应用完全可见性”,然后选择您的测试平台并尝试现在添加信号。
https://stackoverflow.com/questions/67247611
复制相似问题