我想在gtkwave上显示我的代码波形,但是在我在CMI中输入这些语句之后:
iverilog -o task_compiled task.v
vvp task_compiled
=> VCD信息:为输出打开的dumpfile main.vcd
gtkwave task.vcd
=> GTKwave Analyzer ......
error opening .vcd file `task.vcd`
如果这是一个愚蠢的问题,我提前道歉,但我已经厌倦了
浪费我的时间在这件事上。我只想做我的作业
timescale 1ns/10ps
module main(A_i, B_i, C_i, Y_o);
input A_i, B_i, C_i;
output Y_o;
wire w1, w2, w3, w4;
assign Y_o = w4 ~& w2;
assign w1 = B_i & C_i;
assign w2 = w1 | w3;
assign w3 = w4 | A_i;
assign w4 = A_i ~| w1;
endmodule
module main_tb;
reg a1, b1, c1;
wire y1;
initial begin
$dumpfile("main.vcd");
$dumpvars(0,a1,b1,c1,y1);
a1 = 0;
b1 = 0;
# 10 a1 = 1;
# 10 b1 = 1;
# 10 a1 = 0;
# 10 $finish;
end
main m1 (a1, b1, c1, y1);
endmodule
答案 0 :(得分:3)
$转储文件( “main.vcd”); 与 gtkwave task.vcd
...如果使用正确的文件名,它会有所帮助。我刚刚添加perror()作为错误消息,以便在VCD加载器失败时提供更多信息。 (SVN提交#954)谢谢。
答案 1 :(得分:1)
另请注意,在较新版本的gtkwave上,只需双击桌面,资源管理器等VCD文件的图标即可。这适用于Linux和OSX。 在Windows(和其他人)上,您可以将图标拖动到gtkwave的实时会话中。
答案 2 :(得分:0)
对你帮不了多少,但是你读过GtkWave documentation吗?他们谈论使用名为vermin
而非iverilog
的程序进行编译。看看第30页和第78页。我看到gtkwave
命令没有调试选项,所以我真的帮不了多少。但是这样的一般性错误似乎表明你很可能会遗漏一些明显的错误(或者说gtkwave程序员在报告错误方面非常糟糕)。