我在verilog中实例化一个模块时遇到了一些麻烦。我正在使用 Altera Quartus 平台来开发和仿真 verilog 代码。
我遵循了这个例子(在其他几个例子中): http ://www.asic-world.com/verilog/verilog_one_day4.html
我编写了一个模块(最大值),它可以找到两个有符号输入之间的最大值。
我正在开发的另一个模块是用于基因序列比对的收缩阵列。细节并不重要,但是当我尝试实例化最大模块时出现错误。
到目前为止,这是我的代码:
module maximum (a, b, out);
input signed [15:0] a;
input signed [15:0] b;
output reg signed [15:0] out;
always @* begin
if (a>b)
assign out = a;
else
assign out = b;
end
endmodule
我在另一个模块 systolic_PE 中实例化(所有这些都在同一个文件 seqalign.v 中)
maximum m0(.a(tempB), .b(diag), .out(tempA));
我得到了错误:
'在文本“m0”附近的 seqalign.v(139) 处出现 Verilog HDL 语法错误;期待“<=”或“=”
我检查了到目前为止我所做的一切,我似乎看不到我错过的任何东西.. 有人可以指导我吗?
另附注: verilog 中模块的实例化
我试图在 if 语句中实例化我的模块,所以我尝试在 always @(posedge clk) 块中的 if 语句之外,我得到了错误
seqalign.v(88) 的 HDL 语法错误,靠近文本“(”;期待“;”