为什么gtkwave不接受我的verilog代码?

时间:2013-12-09 02:42:44

标签: verilog

我想在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

3 个答案:

答案 0 :(得分:3)

$转储文件( “main.vcd”); 与 gtkwave task.vcd

...如果使用正确的文件名,它会有所帮助。我刚刚添加perror()作为错误消息,以便在VCD加载器失败时提供更多信息。 (SVN提交#954)谢谢。

答案 1 :(得分:1)

另请注意,在较新版本的gtkwave上,只需双击桌面,资源管理器等VCD文件的图标即可。这适用于Linux和OSX。 sample icons for save and VCD file在Windows(和其他人)上,您可以将图标拖动到gtkwave的实时会话中。

答案 2 :(得分:0)

对你帮不了多少,但是你读过GtkWave documentation吗?他们谈论使用名为vermin而非iverilog的程序进行编译。看看第30页和第78页。我看到gtkwave命令没有调试选项,所以我真的帮不了多少。但是这样的一般性错误似乎表明你很可能会遗漏一些明显的错误(或者说gtkwave程序员在报告错误方面非常糟糕)。