クロック周波数の管理 - 2023.2 日本語

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

Vitis ツールを使用すると、プラットフォームで定義されるデフォルト クロック、ソフトウェア スケーラブルなクロック、またはハードウェア デザインの MMCM から生成された固定周波数クロックを使用してデザインを作成できます。このソリューションは、PL カーネル、AI エンジン グラフ、および GT のようなプラットフォーム IP 間のマルチクロック用の幅広いデザイン要件を満たすように設計されています。

プラットフォーム クロックの識別 で説明されるように、プラットフォームには、デフォルト周波数で使用できるスケーラブル クロック、または XRT が異なる指定周波数にスケーリングできるスケーラブル クロック、または必要に応じてタイミングに合わせてスケーリングできるスケーラブル クロックが含まれます。プラットフォームには固定クロックも含まれます。これは、デフォルト周波数で使用することもできますが、MMCM を使用してデフォルト周波数を分周や逓倍して追加周波数を生成することもできます。

クロック周波数は、--freqhz オプションを使用して、AI エンジン、PL カーネル、またはシステム プロジェクトのリンクに指定できます。--freqhz オプションを指定すると、v++ リンカーが、定義済みのプラットフォーム クロックとの相対的な周波数を調べたり、使用するクロックを選択したりできます。周波数があらかじめ定義されたクロックのいずれかと一致する場合、ツールはそのクロックを使用します。周波数がプラットフォーム クロックの周波数に近い場合は、プラットフォーム クロックが選択されますが、希望する周波数に近いクロックがない場合は、クロック ウィザードをデザインに挿入してクロックを生成します。

システム リンクのプロセスで、複数の --freqhz オプションを指定すると、異なるクロック周波数を使用して複数のカーネルをプラットフォームに接続できます。各カーネル、またはカーネル固有のインスタンス (CU) は、v++ の一般オプション--freqhz オプション構文のようにすると、指定されたクロック周波数に接続できます。

v++ -l -t hw –platform <pfm_name> --freqhz=200000000:mm2s \
--freqhz=200000000:s2mm –config system.cfg
ヒント: 次の図に示すように、v++ --link コマンド中に生成される automation_summary_pre_synthesis.txt を表示し、AI エンジン カーネルおよびシステム内の PL カーネルのクロック割り当てを確認できます。

場合によっては、クロック周波数は指定された --freqhz にある程度近似したものしか達成できません。このような場合、--clock.default_tolerance を指定して、周波数の許容範囲を示すことができます。指定されたクロック周波数が許容範囲内に収まらない場合、警告メッセージが表示され、最も近いデフォルト クロックが使用されます。

コンパイルとリンクに使用されるクロック周波数を特定するには、automation_summary_pre_synthesis.txt レポートを参照してください。このレポートは、リンク中の合成前の段階で生成されるため、プロセスが終了するのを待つ必要はありません。コンパイル時には指定されたクロック周波数が使用されますが、リンク時には、クロック周波数は、指定された値、クロック耐性、使用可能なクロックで決まります。

また、プラットフォーム クロックには、単なるクロック周波数ではなく、特定のクロック ID を識別するクロック インデックスもあります。クロック ID は、プラットフォーム デザインにおける始点と終点を含めてネットワーク パスを定義します。デザインでクロックを指定するには、通常クロック ID の代わりに --freqhz オプションを使用します。クロック ID (--clock.ID) は、このカーネルへのパスに沿って v++ で挿入されるすべての IP に共通のクロック ネットワークが必要な場合にのみ指定します。