【发布时间】:2013-05-19 00:38:13
【问题描述】:
我在同步时收到此警告。带有 synopsys 设计编译器的 vhdl 代码。 如何消除此警告?
【问题讨论】:
我在同步时收到此警告。带有 synopsys 设计编译器的 vhdl 代码。 如何消除此警告?
【问题讨论】:
这是一个有用的警告:它是一个警告而不是一个错误:你为什么要消除它?
1) 是否期望高扇出?如果没有,找出它发生的原因,如果它是由错误引起的,(我想要一个寄存器,而不是 32 个!)修复它。
2) 如果高扇出是真实的,并且您可以容忍缓慢的时序,则增加综合工具中的扇出限制。
3) 如果高扇出是真实的,并且您不能容忍缓慢的时序,则检查该工具是否复制了足够多的信号次数以减少扇出并改善时序。它会在某处报告重复的信号。
4) 如果您的流程要求您删除每个综合警告(我从未在任何地方工作过),然后自己复制信号(并添加综合属性以防止它们被删除!)以减少扇出以消除警告。 但这会导致设计混乱、难以维护。
【讨论】:
Design Compiler 使用更简单的模型计算高扇出网络的延迟,以限制计算工作量。这会降低相关网络上时序分析的准确性,这些网络主要承载复位或扫描信号。
如果时序约束有足够的余量或网络延迟不是那么关键,则可以忽略该警告。如果 STA 在综合后以完全准确的方式运行,它已经是安全的。
如果精度比综合运行时间更重要,high_fanout_net_threshold 变量可以设置为更大的值。只需将其设置为 0 即可保证以完全准确的方式计算所有网络延迟。
【讨论】: