2013-05-19 37 views

回答

4

這是一個有用的警告:它不是一個錯誤的警告:你爲什麼要消除它?

1)預計是否有高扇出?如果不是,找出它爲什麼發生,如果它來自一個錯誤,(我想要一個寄存器,而不是32!)修復它。
2)如果高扇出是真實的,並且您可以容忍緩慢的定時,則可以增加綜合工具中的扇出限制。
3)如果高扇出是真實的,並且您不能容忍緩慢的定時,那麼請檢查該工具是否複製了足夠多的信號以減少扇出並改善定時。它會在某處報告重複的信號。如果你的程序要求你刪除每一個合成警告(並且我從來沒有在任何地方工作過),那麼你自己複製信號(並添加合成屬性以防止它們被移除!)以減少足夠的扇出以消除警告。但是這會導致混亂,難以維護設計。

0

Design Compiler使用更簡單的模型計算高扇出網絡的延遲以劃分計算工作量。這可能會降低相關網絡(主要包含復位或掃描信號)的時序分析的準確性。

如果時序約束有足夠的餘量或網絡的延遲並不那麼嚴重,則警告可以忽略。如果STA在合成後以完全準確的速度運行,則已經安全。

如果精度比合成運行時更重要,則可以將high_fanout_net_threshold變量設置爲更大的值。只需將其設置爲0即可保證所有淨延遲都將以完全準確的方式進行計算。