2.4.2.1. 高速クロック・ドメイン
2.4.2.2. ループの再構築
2.4.2.3. コントロール信号のバックプレッシャー
2.4.2.4. FIFOステータス信号によるフロー・コントロール
2.4.2.5. スキッドバッファーを使用したフロー制御
2.4.2.6. リードモディファイライトメモリー
2.4.2.7. カウンターとアキュムレーター
2.4.2.8. ステートマシン
2.4.2.9. メモリー
2.4.2.10. DSPブロック
2.4.2.11. 一般ロジック
2.4.2.12. モジュラスと除算
2.4.2.13. リセット
2.4.2.14. ハードウェアの再利用
2.4.2.15. アルゴリズム要件
2.4.2.16. FIFO
2.4.2.17. 三進加算器
2.2.5.1. クロックドメイン交差制約ガイドライン
マルチビットクロックドメインの交差には、適切なタイミング制約を適用する必要があります。set_false_path 制約は、他のすべてのパスベースの制約よりも優先されます。したがって、クロックドメインの交差に set_false_path 制約、タイミング解析は、スキューなどの他の優先順位の低い制約を無視できます。
クロックドメインの交差を適切に制約するには、次のガイドラインに従ってください。
- SDCのタイミング制約を見直して、 set_false_path 2つのクロックドメイン間に制約が存在します。
- 2つのクロックドメイン間のフォールスパスをセットアップおよびホールドタイミング解析から削除するには、set_clock_groups 制約ではなく set_false_path 制約。 set_clock_groups よりも優先順位が低い set_false_path。
- 2つのクロックドメイン間のパスをset_net_delay ネットをできるだけ短くします。
- 2つのクロックドメイン間のネットをset_max_skew。 Timing Analyzerレポートで制約と比較して結果を表示できます。
以下は、data_aにclk_a クロックドメイン、および data_bにclk_b クロックドメインのクロックドメイン間の交差の例の制約を示しています。
create_clock -name clk_a -period 4.000 [get_ports {clk_a}]
create_clock -name clk_b -period 4.500 [get_ports {clk_b}]
set_clock_groups -asynchronous -group [get_clocks {clk_a}] -group \
[get_clocks {clk_b}]
set_net_delay -from [get_registers {data_a[*]}] -to [get_registers \
{data_b[*]}] -max -get_value_from_clock_period dst_clock_period \
-value_multiplier 0.8
set_max_skew -from [get_keepers {data_a[*]}] -to [get_keepers {data_b[*]}] \
-get_skew_value_from_clock_period src_clock_period \
-skew_value_multiplier 0.8