关于DC综合的几个问题。望各位不吝指教!
时间:10-02
整理:3721RD
点击:
1、用Design Compiler进行综合的时候,对于异步复位信号的处理,我是对其设置了驱动无限大,和dont_touch属性。不知道一般该如何处理呢?
2、我们知道做完一件事情之后,我们都需要知道这件事情做得是否达到预期目的。比如你买张火车票,买完之后,你会看看这张火车票到哪,何时出发等等(类
似design metrics了)。同理Design Compiler处理rtl之后的输出就是一个netlist,我所知道的就是看几个report,有没有一些综合上的错误和时序上的错误。
如report_design,report_constraint,report_timing等等。就这些就可以了吗?(就这几个就能确认综合的netlist就是我想要的吗?)还有没有其他的确认
方法?我怎么知道我综合出的这个netlist在各方面都是正确的?
3、compile之后,check_design得到的这类东西需要处理吗?
Warning: In design 'md5_core', port 'seq_bus_wdata[0]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[4]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[3]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[2]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_control', output port 'md5_buf_ren' is connected directly to output port 'md5_step_update'. (LINT-31)
Warning: In design 'md5_lut', input port 'clk' is unloaded. (LINT-8)
Warning: In design 'md5_lut', net 'net13' driven by pin 'clk' has no loads. (LINT-2)
Warning: In design 'md5_lut', a pin on submodule 'C4141' is connected to logic 1 or logic 0. (LINT-32)
Pin 'D2_16' is connected to logic 0.
Pin 'D2_15' is connected to logic 0.
Pin 'D2_14' is connected to logic 0.
Pin 'D2_13' is connected to logic 0.
Warning: In design 'md5_lut_MUX_OP_64_6_32', port 'D63_9' is not connected to any nets. (LINT-28)
测试阶段,有些端口线,留着,但是没用。不影响功能,这些东西不处理会如何?
4、关于unmapped cell的问题。DC先将rtl设计转换成generic library表示的形式,然后map时候,在具体的technology library找到相关单元。如果找不到,就报告
unmapped cell。这个理解对吗?
如果用synthetic library了,也会出现unmapped cell?
出现unmapped cells,一般当如之奈何?
5、报告说有几个high-fanout nets.用report_net可查看是哪几个.比如设计中的时钟和异步复位信号 bus_clk,bus_rstn.综合时候,都被我设置
dont_touch_network.异步复位信号bus_rstn被设置了驱动无限大。
对于这种高扇出,需要什么处理办法呢?
2、我们知道做完一件事情之后,我们都需要知道这件事情做得是否达到预期目的。比如你买张火车票,买完之后,你会看看这张火车票到哪,何时出发等等(类
似design metrics了)。同理Design Compiler处理rtl之后的输出就是一个netlist,我所知道的就是看几个report,有没有一些综合上的错误和时序上的错误。
如report_design,report_constraint,report_timing等等。就这些就可以了吗?(就这几个就能确认综合的netlist就是我想要的吗?)还有没有其他的确认
方法?我怎么知道我综合出的这个netlist在各方面都是正确的?
3、compile之后,check_design得到的这类东西需要处理吗?
Warning: In design 'md5_core', port 'seq_bus_wdata[0]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[4]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[3]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_core', port 'seq_bus_addr[2]' is not connected to any nets. (LINT-28)
Warning: In design 'md5_control', output port 'md5_buf_ren' is connected directly to output port 'md5_step_update'. (LINT-31)
Warning: In design 'md5_lut', input port 'clk' is unloaded. (LINT-8)
Warning: In design 'md5_lut', net 'net13' driven by pin 'clk' has no loads. (LINT-2)
Warning: In design 'md5_lut', a pin on submodule 'C4141' is connected to logic 1 or logic 0. (LINT-32)
Pin 'D2_16' is connected to logic 0.
Pin 'D2_15' is connected to logic 0.
Pin 'D2_14' is connected to logic 0.
Pin 'D2_13' is connected to logic 0.
Warning: In design 'md5_lut_MUX_OP_64_6_32', port 'D63_9' is not connected to any nets. (LINT-28)
测试阶段,有些端口线,留着,但是没用。不影响功能,这些东西不处理会如何?
4、关于unmapped cell的问题。DC先将rtl设计转换成generic library表示的形式,然后map时候,在具体的technology library找到相关单元。如果找不到,就报告
unmapped cell。这个理解对吗?
如果用synthetic library了,也会出现unmapped cell?
出现unmapped cells,一般当如之奈何?
5、报告说有几个high-fanout nets.用report_net可查看是哪几个.比如设计中的时钟和异步复位信号 bus_clk,bus_rstn.综合时候,都被我设置
dont_touch_network.异步复位信号bus_rstn被设置了驱动无限大。
对于这种高扇出,需要什么处理办法呢?
讨论一下: 未连接的线网是不是会自动优化掉。
高扇出部分可以在设计中加BUFFER增加驱动能力。
异步复位端应该设为“false path”,否则工具会相对于你的时钟信号计算时序!
也想知道:未连接的线网是不是会自动优化掉
在做DC时遇到和搂主一样的warning,不知道会不会多后面的布局布线产生影响?
能解释下原理以及怎么设“FALSE Path”么?
不容易啊
来个自问自答。
1、在综合阶段还没有reset tree,所以就是设置false_path。
2、处理综合log中的error和warning信息。
看有无unmap cell。
看area是否满足需求。
看timing有无violation。
还可以看看power。
最后对rtl和netlist做一次FV。
3、都是连接方面的问题。确认这些连接是否是设计所需要的。
4、unmapped cell的问题必须解决。
看看能否用库中别的cell代替。
5、高扇出一般是clock和reset。
其他信号尽量避免出现。
好难、、
