このアンサーでは、Vivado で発生する CDC タイミング違反の解決方法に関する提案を示します。
Vivado はデフォルトで、デザインのすべてのクロック間におけるパスのタイミングをとります。そのため、タイミングがとられた CDC のパスが意図するものかそうでないかを確認する必要があります。
(A) 非同期 CDC に関するタイミング違反
非同期 CDC パスについては一般に、スキューが大きくなる、および/またはパスの要件が非現実的なものになります。
クロック関連性レポート (report_clock_interaction) を使用してクロックの関連性をチェックすることを強く推奨します。
通常、安全な非同期 CDC 回路が実装されている場合は非同期パスを無効にできます。
可能な場合は set_clock_groups または set_false_path を使用してください。
(B) 同期 CDC に関するタイミング違反
異なる MMCM/PLL からのクロック間のパスは、確実にタイミングがとられていますが、スキューが大きいと実現困難なものになります。
そのため、非同期として処理することを推奨します。
同期 CDC スキューの削減 :
両方のクロック ネットに同じ CLOCK_ROOT を使用します。
ファンアウトが最も大きいクロックとして両 CLOCK_ROOT を同じクロック領域に設定します。
AR# 64995 | |
---|---|
日付 | 11/04/2015 |
ステータス | アクティブ |
種類 | 一般 |
ツール |