当我在终端中运行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
答案 0 :(得分:2)
首先,模块名称不能包含空格。
您可以将模块名称定义为:
module num_7seg_B(out, w, x, y, z);
但是,不能使用module num_7seg_B SEG_B(out, w, x, y, z);
,因为它具有
num_7seg_B
和SEG_B
之间的空格。
如果将模块名称更改为module num_7seg_B(out, w, x, y, z);
,将摆脱语法错误。
您仍然可以使用SEG_B
作为实例名称。