AR# 34348

|

14.x タイミング制約 - タイミング解析からクロック ドメインが切り替わるパスを除外する方法

説明

DCM/PLL/MMCM の入力クロックに PERIOD 制約を適用すると、制約が自動的に出力クロックに伝搬されます。これらのクロックは関連するクロックとみなされ Timing Analyzer でクロック ドメインが切り替わるタイミング パスが解析されますが、このようなパスをタイミング解析で除外する方法を教えてください。

ソリューション


ソリューション 1

タイミング解析から一部のパスを除外するには、これらのパスがタイミング パフォーマンスに影響しないことがわかっている場合は、FROM-TO 制約でタイミング無視 (TIG) キーワードを使用します。タイミング無視 (TIG) 制約は、次のように定義します。
  • ソース タイムグループのレジスタ セット
  • デスティネーション タイムグループのレジスタ セット
  • FROM-TO 制約で TIG キーワードを使用してグループ間のパスを除外

clk_in が DCM/PLL/MMCM の入力クロックで、clk_0、clk_90、clk_180 が出力クロックだとすると、次のようになります。

net "clk_in" TNM_NET = clk_in_grp;
net "clk_0" TNM_NET = clk0_grp;
net "clk_90" TNM_NET = clk90_grp;
net "clk_180" TNM_NET = clk180_grp;
TIMESPEC TS_clk_in = PERIOD "clk_in_grp" 10ns HIGH;

1. clk_in 信号が DCM/PLL/MMCM 以外の同期エレメントも駆動するとすると、次のようになります。

TIMEGRP "clk_out_grp" = "clk0_grp" "clk90_grp" "clk180_grp";
TIMESPEC TS_01 = FROM "clk_in_grp" TO "clk_out_grp" TIG;
TIMESPEC TS_02 = FROM "clk_out_grp" TO "clk_in_grp" TIG;

これらの制約により、DCM/PLL/MMCM の入力クロックと出力クロックの間にあるクロック ドメインが切り替わるパスが無視されます。

2. ckl_in 信号が DCM/PLL/MMCM のみを駆動するとすると、次のようになります。

TIMESPEC TS_01 = FROM "clk0_grp" TO "clk90_grp" TIG;
TIMESPEC TS_02 = FROM "clk0_grp" TO "clk180_grp" TIG;
TIMESPEC TS_03 = FROM "clk90_grp" TO "clk0_grp" TIG;
TIMESPEC TS_04 = FROM "clk90_grp" TO "clk180_grp" TIG;
TIMESPEC TS_05 = FROM "clk180_grp" TO "clk0_grp" TIG;
TIMESPEC TS_06 = FROM "clk180_grp" TO "clk90_grp" TIG;

これらの制約により、DCM/PLL/MMCM の出力クロックの間にあるクロック ドメインが切り替わるパスが無視されます。

フォルス パス制約の詳細は、『タイミング制約ユーザー ガイド』 (UG612) を参照してください。
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/ug612.pdf

ソリューション 2

自動伝搬させる代わりに、UCF で手動で DCM/PLL/MMCM 出力クロックに関連しない PERIOD 制約を追加することもできます。関連する PERIOD 制約を適用しなければ、クロック ドメインが切り替わるパスは解析されません。次の例を参照してください。

自動伝搬 :

net "clk_in" TNM_NET = clk_in_grp;
TIMESPEC TS_clk_in = PERIOD "clk_in_grp" 10ns HIGH;
TIMESPEC TS_clk0 = PERIOD "clk0" TS_clk_in HIGH; (Note 1)
TIMESPEC TS_clk90 = PERIOD "clk90" TS_clk_in PHASE + 2.5 ns HIGH; (注記 1)
TIMESPEC TS_clk180 = PERIOD "clk180" TS_clk_in PHASE + 5 ns HIGH; (note 1)

注記 1 : これらの制約は、自動的に出力クロックに伝搬されます。

関連しない PERIOD 制約を手動で追加 :

TIMESPEC TS_clk0 = PERIOD "clk0" 10 ns HIGH;
TIMESPEC TS_clk90 = PERIOD "clk90" 10 ns HIGH;
TIMESPEC TS_clk180 = PERIOD "clk180" 10 ns HIGH;

関連する PERIOD 制約の詳細は、『タイミング制約ユーザー ガイド』 (UG612) を参照してください。
http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/ug612.pdf
AR# 34348
日付 12/15/2012
ステータス アクティブ
種類 一般
ツール 詳細 概略
People Also Viewed