0
\$\begingroup\$

My original file has the following

module circuit_320a(A,B,C,D,N,F);
    output N,F;
    input A,B,C,D;
    wire w1,w2,w3,w4;
    and #(30) G1(w1,C,D);
    or #(30) G2(w2,w1,B);
    and #(30) G3(w3,w2,A);
    not #(30) G5(N,c);
    and #(30) G4(w4,B,N);
    or #(30)(F,w3,w4);

endmodule

and my testbench has these

`include "ask.v"

module t_circuit_320a_delay;
    wire N,F;
    reg A,B,C,D;

t_circuit_320a_delay M1 (A,B,C,D,N,F);
initial
  begin
     A=1'b0; B=1'b1; C=1'b0; D=1'b1;
  end

  initial #200 $finish;

   $dumpfile("ask.vcd"); 
   $dumpvars(0, ask_tb);

endmodule

When I try to compile I get syntax errors, why is that?

I have named the original file ask.v and the testbench ask_tb.v

Errors

\$\endgroup\$
4
  • \$\begingroup\$ Please share the complete error messages. It will make it much easier to find the problem. \$\endgroup\$
    – The Photon
    Mar 30 '19 at 21:54
  • \$\begingroup\$ One thing, you didn't name your last or gate like you did the other gates. \$\endgroup\$
    – The Photon
    Mar 30 '19 at 21:56
  • \$\begingroup\$ @ThePhoton yes one moment please , see edits \$\endgroup\$
    – user170589
    Mar 30 '19 at 21:56
  • \$\begingroup\$ @ThePhoton Yes because it is the output of the schematic \$\endgroup\$
    – user170589
    Mar 30 '19 at 21:58
0
\$\begingroup\$

You need to read the FAQ.

Specifically, the $ commands need to be in an initial block, to wit:

`include "ask.v"

module t_circuit_320a_delay;
    wire N,F;
    reg A,B,C,D;

  circuit_320a M1 (A,B,C,D,N,F);

  initial begin
     A=1'b0; B=1'b1; C=1'b0; D=1'b1;
  end

  initial #200 $finish;

  initial begin
    $dumpfile("ask.vcd");
    $dumpvars(0, t_circuit_320a_delay);
  end

endmodule

It will also help if you instantiate the correct module. t_circuit_320a_delay should be instatiating circuit_320a, not itself, and the $dumpvar call needs to refer to t_circuit_320a_delay, not the name of the file.

\$\endgroup\$
2
  • \$\begingroup\$ I still get errors , please see the edit \$\endgroup\$
    – user170589
    Mar 30 '19 at 23:03
  • \$\begingroup\$ Neverimind I had a syntax error , wrote inital instead of initial \$\endgroup\$
    – user170589
    Mar 30 '19 at 23:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy