Verilog 错误意外“=”,需要标识符或 type_identifier
Verilog Error unexpected '=', expecting identifier or type_identifier
我现在晚上正在构建一个测试平台,我不确定我应该如何连接我之前构建的几个模块。这是我使用的模块,所有模块都经过测试并且可以正常工作。
counter11bit_abc ctr2(ctr_enable, ctr_clr, clk_out, counter);
register10bit_abc dut3(clk_out, d_in, q_out);
clk #(400) clk1(clk_enable, clk_out);
hc85_abc dut4(a_in, b_in, ia_lt_b, ia_eq_b, ia_gt_b, qa_lt_b, qa_eq_b, qa_gt_b);
我需要连接以下端口:
assign a_in = counter [3:0];
assign b_in = counter [7:4];
assign ia_lt_b = counter [8];
assign ia_eq_b = counter [9];
assign ia_gt_b = counter [10];
assign d_in[0] = ia_gt_b;
assign d_in[1] = ia_eq_b;
assign d_in[2] = ia_lt_b;
声明如下:
wire [9:0] d_in;
wire [9:0] q_out;
wire [3:0] a_in, b_in;
wire ia_lt_b, ia_eq_b, ia_gt_b, qa_lt_b, qa_eq_b, qa_gt_b;
reg clk_enable;
reg ctr_enable;
reg ctr_clr;
wire clk_out;
wire [10:0] counter;
对于最初的部分,我下拉如下:
initial
clk_enable = 1;
ctr_enable = 1;
ctr_clr = 1;
#400
ctr_clr = 0;
#1000000
现在编译器给我一个抱怨
near "=": syntax error, unexpected '=', expecting IDENTIFIER or
TYPE_IDENTIFIER
那是 "ctr_enable = 1;"
所在的行
有谁知道可能导致此问题的原因吗?我已经为此工作了一个多小时,尽我所能。谢谢。
在 Verilog 中,initial
将仅适用于以下语句,除非包含在 begin
/end
中,与缩进无关(因为它不是 Python)。
因此,您的第二行 (ctr_enable = 1
) 完全独立于 always
关键字。修复是添加 begin
/end
:
initial begin
clk_enable = 1;
ctr_enable = 1;
ctr_clr = 1;
#400
ctr_clr = 0;
#1000000;
end
我现在晚上正在构建一个测试平台,我不确定我应该如何连接我之前构建的几个模块。这是我使用的模块,所有模块都经过测试并且可以正常工作。
counter11bit_abc ctr2(ctr_enable, ctr_clr, clk_out, counter);
register10bit_abc dut3(clk_out, d_in, q_out);
clk #(400) clk1(clk_enable, clk_out);
hc85_abc dut4(a_in, b_in, ia_lt_b, ia_eq_b, ia_gt_b, qa_lt_b, qa_eq_b, qa_gt_b);
我需要连接以下端口:
assign a_in = counter [3:0];
assign b_in = counter [7:4];
assign ia_lt_b = counter [8];
assign ia_eq_b = counter [9];
assign ia_gt_b = counter [10];
assign d_in[0] = ia_gt_b;
assign d_in[1] = ia_eq_b;
assign d_in[2] = ia_lt_b;
声明如下:
wire [9:0] d_in;
wire [9:0] q_out;
wire [3:0] a_in, b_in;
wire ia_lt_b, ia_eq_b, ia_gt_b, qa_lt_b, qa_eq_b, qa_gt_b;
reg clk_enable;
reg ctr_enable;
reg ctr_clr;
wire clk_out;
wire [10:0] counter;
对于最初的部分,我下拉如下:
initial
clk_enable = 1;
ctr_enable = 1;
ctr_clr = 1;
#400
ctr_clr = 0;
#1000000
现在编译器给我一个抱怨
near "=": syntax error, unexpected '=', expecting IDENTIFIER or TYPE_IDENTIFIER
那是 "ctr_enable = 1;"
所在的行有谁知道可能导致此问题的原因吗?我已经为此工作了一个多小时,尽我所能。谢谢。
在 Verilog 中,initial
将仅适用于以下语句,除非包含在 begin
/end
中,与缩进无关(因为它不是 Python)。
因此,您的第二行 (ctr_enable = 1
) 完全独立于 always
关键字。修复是添加 begin
/end
:
initial begin
clk_enable = 1;
ctr_enable = 1;
ctr_clr = 1;
#400
ctr_clr = 0;
#1000000;
end