如何在另一个模块中使用模块?

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

以上是关于如何在另一个模块中使用模块?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jahia 7 的其他模块中使用模块的属性?

Perl - 如何使用在另一个 Perl 脚本的模块中创建的进程句柄

如何在另一个模块/路由器中使用组件

如何在不使用 Gradle 复制 jar 的情况下将一个模块的源包含在另一个模块中?

如何在另一个模块中设置全局变量?

如何将字符串数据从活动发送到片段?