如何在另一个模块中使用模块?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在另一个模块中使用模块?相关的知识,希望对你有一定的参考价值。
我正在尝试设计一个简单的8位2的补码。这是我的代码:
twos_complement_of_8bits.v
//`include "complementor.v"
module twos_complement_of_8bits(output [7:0] out, input [7:0] in);
integer i;
initial
begin
for(i = 0; i <= 7; i = i + 1)
complementor C(out[i], in[i]);
end
assign out = out + 1;
endmodule
我在此行出现错误:
complementor C(out[i], in[i]);
Syntax error near 'C' found.
我该如何解决?
答案
我认为您可以取消complementor
模块,然后按如下所示更改twos_complement_of_8bits
:
module twos_complement_of_8bits (output [7:0] out, input [7:0] in);
assign out = ~in + 1;
endmodule
如果没有给您想要的输出,请显示一些期望的输出值。
在更复杂的情况下,您可以放置模块实例的数组或使用generate
块。
这里是如何使用generate
块的示例:
module twos_complement_of_8bits (output [7:0] out, input [7:0] in);
wire [7:0] out_ones;
genvar i;
generate
for (i=0; i<=7; i=i+1) begin
complementor C[i] (out_ones[i], in[i]);
end
endgenerate
assign out = out_ones + 1;
endmodule
以上是关于如何在另一个模块中使用模块?的主要内容,如果未能解决你的问题,请参考以下文章
Perl - 如何使用在另一个 Perl 脚本的模块中创建的进程句柄