假设有一个简单的模块 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