我建议我的同事去掉不用的输出端口,但是他告诉我综合工具(比如DC)会自动去掉不用的端口。我并不熟悉 DC 的工作原理。有人可以对设计中这种未使用的输出端口给出一些见解吗?具体来说,DC 会一直自动优化这些未使用的端口还是取决于设置?
从设计者的角度来看,保留那些未使用的端口,以供将来使用,并且完全不影响功能。保留它们是合理的。
但是从验证的角度来看,未使用的端口会消耗仿真资源,并使代码不易于阅读。
有人可以就如何以更好的方式处理它提出任何建议吗?
以下是演示子模块-a包含几个未使用的输出端口而主模块-b没有负载的简化代码。
//main module B
module b(
input clk,
input rst_n,
output b_out
);
wire out0;
//unused output from module a
wire out1;
wire out2;
wire out3;
wire out4;
wire out5;
c c_inst(.in0(out0));
a a_inst(.out0(out0),
.out1(out1),
.out2(out2),
.out3(out3),
.out4(out4),
.out5(out5));
//logic implementation omit
endmodule
//sub module A
module a(
input clk,
input rst_n,
input in0,
output out0,
output out1,
output out2,
output out3,
output out4,
output out5,
);
//logic implementation omit
endmodule // a
//sub module C
module c(input in0);
//logic implementation omit
endmodule