例如
module top
debouncer debouncer(...);
endmodule
module debouncer
...
endmodule
我可以在顶部模块中将去抖动器实例化为“去抖动器”吗,或者这是非法的吗?
是的,模块 instance 名称匹配 Verilog 中的 module 名称是合法的,当您只需要模块的一个实例时,这样做是很常见的。但是,您可以通过简单地使用您最喜欢的模拟器编译您的文件来为自己快速验证这一点。以下是合法语法并为我编译:
module top;
debouncer debouncer();
endmodule
module debouncer;
endmodule