インテル® Quartus® Primeプロ・エディションのユーザーガイド: デザイン上の推奨事項

ID 683082
日付 4/13/2020
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

3.3.1. 同期レジスターチェインの長さ

Synchronization Register Chain Lengthオプションは、各レジスターチェインのMTBFを削減する可能性がある最適化から保護する必要があるレジスターの数を指定し、 Optimize Design for MetastabilityオプションでMTBFを増やすために最適化するレジスターの数を制御します。

たとえば、 Synchronization Register Chain Lengthオプションが2に設定されている場合、レジスターの複製やロジックのリタイミングなどの最適化は、識別されたすべての同期チェインの最初の2つのレジスターで実行されません。また、最初の2つのレジスターは、Optimize Design for Metastabilityオプションがオンになっている場合にMTBFを改善するために最適化されます。

Synchronization Register Chain Lengthオプションのデフォルト設定は3です。同期チェインの最初のレジスターは、MTBFを削減する可能性のある操作から常に保護されますが、より多くのシンクロナイザー・チェインを保護するには、保護の長さを設定する必要があります。 Intelは、すべての同期レジスターが保持され、MTBF用に最適化されるように、このオプションをデザイン内の同期チェインの最大長に設定することを推奨します。

Assignments > Settings > Compiler Settings > Advanced Settings (Synthesis)をクリックして、グローバルSynchronization Register Chain Lengthオプションを変更します。

また、Assignment EditorでノードまたはエンティティーにSynchronization Register Chain Lengthを設定することもできます。この値を同期チェインの最初のレジスターに設定して、このチェインで保護および最適化するレジスターの数を指定できます。この個別の設定は、MTBFが低い特定の同期チェインで作成した追加のレジスターを保護および最適化する場合、または最大周波数またはタイミングパフォーマンスが満たされていない特定のチェインでMTBFのレジスターを最適化する場合に役立ちます。 Tclでグローバル設定を行うには、次のコマンドを使用します。

set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH <number of registers>

Tclを使用してデザインインスタンスまたは特定のチェインの最初のレジスターに割り当てを適用するには、次のコマンドを使用します。

set_instance_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH <number of registers> -to <register or instance name>