dc综合中高扇出的处理?
时间:10-02
整理:3721RD
点击:
本人刚学DC,问题可能比较浅薄,请大家谅解。
1。对于普通net, 扇出> max_fanout 时,DC 自动插入buffer, 是否需要command 的支持?(例如,插入gate clock,scan 等时,compile -gate_clock -scan)
2。对于gate clock, 扇出>max_fanout, DC 不会插入buffer, 因为功能优先级较高?后端插入时钟树时,如何判断buffer 是否插入? fanout 小的gate clock处插入buffer ,与fanout 大的gate clock 匹配?
3。DC如何优化高扇出的net? a.增加驱动能力,how? b.增加buffer, how? a与b如何平衡?
希望大家赐教!
1。对于普通net, 扇出> max_fanout 时,DC 自动插入buffer, 是否需要command 的支持?(例如,插入gate clock,scan 等时,compile -gate_clock -scan)
2。对于gate clock, 扇出>max_fanout, DC 不会插入buffer, 因为功能优先级较高?后端插入时钟树时,如何判断buffer 是否插入? fanout 小的gate clock处插入buffer ,与fanout 大的gate clock 匹配?
3。DC如何优化高扇出的net? a.增加驱动能力,how? b.增加buffer, how? a与b如何平衡?
希望大家赐教!
正常的流程,DC不会动clock,一般需要把clock设置成dont_touch,drive 0等。 clock是后端工具来做的,专业术语叫CTS。所以dc综合出来你可以看到一个clock可能有上万个闪出,这是正常的。
对于高扇出的net,如果你设置了max_fanout,那么dc会自动把高扇出的线通过buf来驱动,比如set max_fanout 8,dc综合出来之后,每个cell的fanout都不会超过8.
在DC里面max_fanout 的单位好像是电容单位
