我有一个在其他模块中多次实例化的模块。该模块的两个输入很少使用,为避免代码膨胀,我不想在每个实例中都将它们连接起来。有没有办法标记这两个端口到编译器以指示它们可以保持未连接状态?
例如
module mymod(input logic foo, unused1, unused2, output logic out);
//...
endmodule
module top(...);
//...
mymod(.foo(1'b0));
endmodule
由于端口不匹配错误而无法编译。如何更改代码,以便unused1
和unused2
不需要连接?
答案 0 :(得分:2)
是的,您可以为未连接的端口指定默认值(请参阅1800-2017 LRM中的23.2.2.4默认端口值)
module mymod(input logic foo, unused1='0, unused2='0, output logic out);
//...
endmodule
另一种选择是在实例化时显式保留这些端口的未连接状态。
mymod(.foo(1'b0), .unused1(), .unused2() );
但是,无论哪种情况,您的工具对于未连接的端口可能都有特定的要求,您必须按照他们的要求处理。