set_bus_skew の例 1 - 2023.2 日本語

Vivado Design Suite ユーザー ガイド: 制約の使用 (UG903)

Document ID
UG903
Release Date
2023-11-01
Version
2023.2 日本語

この例では、CDC はハンドシェイク メカニズムの一部です。データがサンプリングできるようになると、ソース クロック ドメインで send 信号が生成されます。デスティネーション クロック ドメインでは、この send 信号に 4 段のシンクロナイザーが使用されます。4 段のシンクロナイザーの後、この信号は CDC デスティネーション レジスタのクロック イネーブル ピンを駆動します。このようなクロック イネーブル制御 CDC 構造では、バス スキューはデータが有効であるデスティネーション クロック サイクル数を表すので、バス スキューを CE パス上の段数に調整する必要があります。

ソース クロック周期が 5 ns でデスティネーション クロック周期が 2.5 ns である場合、CDC パスのバス スキューは 10 ns (4 × 2.5 ns) に設定する必要があります。

set_bus_skew -from [get_cells src_hsdata_ff_reg*] -to [get_cells dest_hsdata_ff_reg*] 10.000
図 1. set_bus_skew の例 1

注記: この CDC を完全なものにするため、set_max_delay 制約を追加してソース レジスタとデスティネーション レジスタが遠くに配置されすぎないようにする必要があります。
set_max_delay -datapath_only -from [get_cells src_hsdata_ff_reg*] -to [get_cells dest_hsdata_ff_reg*] 10.000