综合工具如何处理模块中未使用的输出端口?

问题描述 投票:0回答:0

我建议我的同事去掉不用的输出端口,但是他告诉我综合工具(比如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
simulation hdl synthesis
© www.soinside.com 2019 - 2024. All rights reserved.