在终端中运行Verilog时如何解决“未知模块类型错误”

时间:2019-04-22 04:42:02

标签: verilog

当我在终端中运行Verilog代码时,它说我的代码第一行有错误。

我不知道是什么问题。

当我在终端上运行时,它显示...

num_7seg_B.v:2: syntax error

我放弃。

module num_7seg_B SEG_B(out, w, x, y, z); output out; input w, x, y, z; wire y1; wire z1; wire y_out; wire z_out; not G1 (y1, y); not G2 (z1. z); and G3 (y_out, x, y1); and G4 (z_out, x, y, z1); or G5 (out, z_out, y_out, w); endmodule and here is test base code module TOP;

   wire w,x,y,z,out;
   reg [3:0] num;
   // instantiation of the module
   num_7seg_B SEG_B(out,w,x,y,z);


   // simulation ends at time 200
   initial #200 $finish;


   // num change from 0 to 15, incremented every 5 seconds
    initial begin
     num=0;
     repeat (15)
    #5 num=num+1; 
   end

   // dump files
   initial
   begin
     $dumpfile("h1_output.vcd");
     $dumpvars;
   end

   // assignment of signals
   assign w=num[3];
   assign x=num[2];
   assign y=num[1];
   assign z=num[0];
   endmodule

1 个答案:

答案 0 :(得分:2)

首先,模块名称不能包含空格。
您可以将模块名称定义为:

module num_7seg_B(out, w, x, y, z);

但是,不能使用module num_7seg_B SEG_B(out, w, x, y, z);,因为它具有 num_7seg_BSEG_B之间的空格。

如果将模块名称更改为module num_7seg_B(out, w, x, y, z);,将摆脱语法错误。

您仍然可以使用SEG_B作为实例名称。