インテルのみ表示可能 — GUID: gdw1625069500756
Ixiasoft
インテルのみ表示可能 — GUID: gdw1625069500756
Ixiasoft
2.4.1.7. CDCパスの制約
デザインのマルチビット・クロック・ドメイン・クロッシング (CDC) パスにタイミング制約を適用することは不可欠です。次の制約を使用して、CDC パスを制約することができます。
制約 | 詳細 |
---|---|
set_false_path set_clock_groups -asynchronous |
どちらの制約も、コンパイラーによる非同期ドメイン・クロッシング間のスラック最適化を防ぎます。set_clock_groups は最も積極的な制約です。
|
set_max_skew | 異なるバスビット間の許容スキュー範囲を設定します。
|
set_net_delay -max set_data_delay |
バス転送の任意のビットで許容可能なデータパス遅延の範囲を設定します。
|
次の例では、クロックドメイン clk_a の data_a とクロックドメイン clk_b の data_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 min_clock_period \ -skew_value_multiplier 0.8
以下の例では、DCFIFO ブロックを含むデザインに set_false_path を適用しています。これにより、同期レジスターでのタイミングエラーを回避します。これらの例は、シングルビット・シンクロナイザーの CDC パスを制約するものです。
- 書き込みドメインから読み出しドメインに渡るパスでは、レジスターの delayed_wrptr_g と rs_dgwp の間にフォルスパス割り当てを適用します。
set_false_path -from [get_registers {*dcfifo*delayed_wrptr_g[*]}] \ -to [get_registers {*dcfifo*rs_dgwp*}]
- 読み出しドメインから書き込みドメインに渡るパスでは、レジスターの rdptr_g と ws_dgrp の間にフォルスパス割り当てを適用します。
set_false_path -from [get_registers {*dcfifo*rdptr_g[*]}] \ -to [get_registers {*dcfifo*ws_dgrp*}]
クロック制約が正しく実装されているかは、CDCに関連する次のレポートで確認することができます。