在Verilog中,模块例化是通过实例化一个模块来创建该模块的一个实例。实例化时,你需要提供连接到模块端口的实际信号。以下是一个例子:

假设有一个简单的模块 MyModule:
module MyModule (
  input wire a,
  input wire b,
  output wire result
);

  // 一些逻辑
  assign result = a & b;

endmodule

然后,你可以在另一个模块中实例化它:
module TopModule;
  // 输入信号
  reg a, b;
  
  // 输出信号
  wire result;

  // 实例化 MyModule 模块
  MyModule my_instance (
    .a(a),
    .b(b),
    .result(result)
  );

  // 在仿真中对输入进行赋值

endmodule

在这个例子中,TopModule 模块实例化了 MyModule 模块,创建了一个名为 my_instance 的实例。连接输入和输出信号时,使用了点-名称(dot-name)的语法,表示将 TopModule 模块的 a 信号连接到 MyModule 模块的 a 端口,b 信号连接到 b 端口,result 信号连接到 result 端口。

实例化模块允许你在更大的设计中重用功能模块,并使代码更易于维护。在实际的硬件设计中,可能会存在多个模块实例,形成层次结构,以构建复杂的系统。


转载请注明出处:http://www.zyzy.cn/article/detail/11033/Verilog