インプリメンテーション

ここでは、インプリメンテーションで利用できる Vivado® ML の機能について簡単に説明します。タブをクリックすると、各機能の説明を表示できます。

インプリメンテーション

インプリメンテーション

Vivado インプリメンテーションは、ザイリンクス® デバイス用の配置配線ツールであり、合成済みネットリストからビットストリームやデバイス イメージを生成します。これにより、最小規模の MPSoC から、最大規模のモノリシック デバイスや数百万個のロジック セルを含む SSIT (スタックド シリコン インターコネクト テクノロジ) デバイスまで、あらゆるサイズのプラットフォームおよびカスタム デザインを構築できます。Vivado インプリメンテーションは、機械学習の予測機能でガイドされ、最先端のパーティショニング、配置、および配線アルゴリズムで実行されます。ML モデルを適用することで、配線の遅延や密集度を正確に見積もり、短時間でより高い QoR (結果の品質) を達成できます。ザイリンクス デザイン制約 (XDC) ファイルを使用して性能、リソース使用量、消費電力の目標デザインを達成し、Vivado プロジェクトや Tcl スクリプト内でデザインが合成されます。

インプリメンテーションは、簡単操作のプッシュボタン モードから、性能要求が厳しいデザインに対応する高度にカスタマイズされた Tcl スクリプトまで、あらゆる操作モードをサポートしています。配置前、配置後、配線後など、任意のコンパイル ステージでタイミング、使用率、消費電力、その他デザインの品質を評価する詳細な解析を実行できます。デザインのデータベースは、デザイン チェックポイント (DCP) ファイルを使用して任意のコンパイル ステージを保存/復元でき、これらを可視化して必要に応じて制約を適用することも可能です。

主な特長

インプリメンテーションには次のプロセスが含まれます。

  • ロジックの最適化: 合成後、ロジック ネットリストはグローバル レベルでさらに最適化され、使用率やロジック段数の削減が図られます。
  • 消費電力の最適化: アクティビティ ゲーティング手法を使用して消費電力を削減します。ユーザーによる介入は不要で、機能が変更されることもなく、タイミングに最小限の影響のみ発生します。
  • 配置: タイミング要件、フロアプラン要件、手動の配置要件などを含む XDC 制約に従って、論理ネットリストのセルが物理的なデバイス リソースに配置されます。最初は、デザイン階層に基づいて、I/O やクロッキング リソース、ロジック クラスターの配置から開始されます。グローバル配置、詳細配置、そして配置後の最適化が実行されます。配置は、配線の遅延や密集度を概算するために ML モデルでガイドされるため、従来の統計的手法に比べて、より高速に高精度なコンパイルが可能です。
  • 配線: ネットリスト コンポーネント間の接続がデバイスの物理的なインターコネクト リソースに割り当てられます。配置と同様に、配線も I/O やクロッキングなどのグローバル リソースから開始し、その後 XDC タイミング制約に従ってリソースの割り当てに優先順位が付けられます。最後の配線フェーズでは、配線をさらに最適化して最終的なセットアップとホールド要件を満たします。配置段階で配線密集度を予測する ML モデルを使用した場合は、配線密度が軽減されています。
  • 物理的な最適化: これは、配置配線全体をとおして適用されるタイミング主導のプロセスです。ロジックの最適化とは異なり、物理的な最適化では、配置配線の結果に基づく最も正確なタイミング データが使用されます。タイミング インパクトが評価され、実行した最適化のみがタイミングの改善につながります。最適化の手法には、複製、リタイミング、レジスタの再配置のほか、ターゲット アーキテクチャに固有の手法があります。 また、配置後と配線後に個別に物理的な最適化を実行することで、結果をさらに向上させることができます。

デザイン解析は、インプリメンテーションのどの段階でも実行できます。主な解析機能は次のとおりです。

  • タイミング、電力、および物理的制約の変更と検証を可能にする包括的な XDC 制約管理システム。
  • Report Timing Summary: 特定のタイミング目標に向けてインプリメンテーションを進める、XDC 制約をサポートする画期的なスタティック タイミング解析ツール。クリティカル タイミング パス、クロックの関連性、およびクロック ドメイン クロッシング (CDC: クロック乗せ換え) のタイミング レポートを生成する。
  • Report Power: 消費電力解析用の XDC スイッチング アクティビティをサポートするベクターレス伝搬。電力消費の多いエリアを特定するためのレポートを生成する。
  • Device ウィンドウ: 論理ネットリストの回路図と共にデザインの配置と配線をグラフィカルに表現したもの。物理的、論理的、ソース コードのデザイン ビューを使用してクロスプローブが可能になり、クリティカル タイミング パスをすばやく特定してトレースできる。

Vivado インプリメンテーションでは、プッシュボタン操作の簡単なフローから、異なるコンパイル ストラテジを使用して模索したり、タイミング要件が厳しいデザインでは反復実行できる、あらゆるレベルのフローに対応します。

インプリメンテーション..

  • Vivado プロジェクト フローと非プロジェクト フローをサポート
  • 対話形式または Tcl スクリプトを使用してバッチ モードで実行
  • 複数のスレッドを実行してコンパイル時間を短縮
  • さまざまなデザイン目標のソリューションを探求するためのコンパイル ストラテジを提供
  • 以前の実行からのデータを再利用するインクリメンタル コンパイル モードをサポート (コンパイルの高速化またはタイミング クロージャのいずれを優先するかを指定可能
ロジック合成

ロジック合成

Vivado 論理合成は、すべてのザイリンクス デバイスを対象とするデザイン作成ツールであり、最適なプラットフォーム、IP、カスタム デザインを作成できます。論理合成は、SystemVerilog、VHDL、Verilog で記述された RTL (レジスタ転送レベル) デザインを、ダウンストリーム インプリメンテーション用にライブラリ セルの合成済みネットリストに変換します。合成はターゲット テクノロジを認識するため、専用のシリコン構造 (LUTRAM、ブロック RAM、シフト レジスタ、 加算器/減算器、DSP ブロック) に直接マップする RTL 記述から関数を推論できます。デザインの目標を達成するために属性、ツール オプション、ザイリンクス デザイン制約 (XDC) を使用して、合成結果が出力されます。論理合成は Vivado プロジェクトや Tcl スクリプト内で動作し、高位合成や IP インテグレーターなど、RTL 記述を生成するその他の高位設計手法のための強固な基盤を提供します。

論理合成には、コンパイル時間を短縮するために機械学習を導入しました。ML モデルは、デザインのあらゆる部分に対して合成の最適化を予測することで、全体的な効率を向上させます。

主な特長

論理合成では、業界標準に準拠した最新の合成可能な構造をサポートしています。

  • SystemVerilog、Verilog、VHDL、VHDL-2008 ハードウェア記述言語 (HDL)
  • 同一デザインに異なるタイプの HDL を混在させ、それぞれのタイプにパラメーターとジェネリック文を渡すことが可能
  • 推論された複雑な関数を適切なデバイス リソースに確実にマッピングするための言語テンプレート

エラボレート済みデザインの回路図を使用することで HDL 記述を可視化でき、関連する HDL ソース コードにクロスプローブできます。

論理合成は、推論と最適化のすべての側面を制御します。次の割り当てが可能です。

  • ツールやコマンド オプションを使用してグローバルに割り当てる
  • BLOCK_SYNTH XDC 制約を使用して論理階層の特定モジュールまたはインスタンスに割り当てる
  • HDL 属性を使用してセルやネットに割り当てる

制御の種類:

  • 階層を維持、フラット化、再構築する
  • テクノロジ固有の構造を推論する/推論しない
  • メモリ アレイのマッピングに使用する専用のメモリ リソース タイプを選択する
  • 有限ステート マシン (FSM) のエンコーディング タイプを割り当てる
  • 性能、使用率、消費電力に優先順位を付ける
  • 論理リタイミングなどの高度な最適化を適用する
  • ゲーテッド クロックをレジスタ イネーブル信号へ変換する

Vivado 論理合成は、プッシュボタン操作の簡単なフローから、異なるコンパイル ストラテジを使用して模索するフローまであらゆるレベルのカスタマイズをサポートします。

論理合成

  • Vivado プロジェクト フローと非プロジェクト フローをサポート
  • 対話形式または Tcl スクリプトを使用してバッチ モードで実行
  • 複数のプロセスを実行してコンパイル時間を短縮
  • さまざまなデザイン目標のソリューションを探求するためのコンパイル ストラテジを提供
  • 以前の実行からのデータを再利用してコンパイル時間を短縮するインクリメンタル コンパイル モードをサポート
設計手法

設計手法

Vivado 環境で UltraFast 設計手法を使用することで、適切な制約を定義し、ツールを起動して正しく結果を分析できるため、全体的な生産性を向上させることができます。UltraFast 設計手法とは、Vivado エキスパートたちが長年培ってきた経験と、ツールやテクノロジを駆使したカスタマー デザインのデザイン クロージャ成功事例に基づいた最善の設計ガイドラインです。

主な特長

UltraFast については、以下のユーザー ガイドで詳しく説明しています。

UltraFast 設計手法ガイドラインに従った設計をサポートするため、Vivado には UltraFast 設計手法レポートが組み込まれています。Vivado プロジェクトに対応するレポートがデフォルトで生成されるため、資料を一切読まずに UltraFast の機能を最大限に活用できます。Report Methodology 機能によって、現デザインで検出された設計手法の違反リストが生成され、これらはすぐに確認できるようにカテゴリ別と重要度別に分類されます。設計手法の違反内容を確認して対処することで、インプリメンテーション プロセスを進めることができ、最短時間でデザイン クロージャを達成できる可能性が高くなります。容認できると判断された違反については、今後レポートされないように無効化できます。

UltraFast 設計手法の重要な項目の一つに、完全かつ正確な制約を指定することがあります。タイミング制約ウィザード (TCW) では、タイミング制約を分析し、不足している制約を補ったり、正しくない制約を修正するための手順ガイドを提供します。完全な制約は、制約が適用されていないタイミング パスに起因するハードウェアのバグの発生を低減できる一方で、無効な制約は、間違ったタイミング クリティカリティへとコンパイル プロセスをミスリードする可能性があります。

正確な電力解析には、正確な電力制約が不可欠です。消費電力制約アドバイザーは、デザインのスイッチング アクティビティを分析し、不適切な指定が疑われる部分をピンポイントで特定し、ターンキー XDC 電力制約ファイルを生成し、適切な解析が可能になります。Vivado の電力レポートにも、電力制約の詳細として低/中/高品質を示す信頼性レベルが含まれ、電力制約の完成度をフィードバックします。信頼性レベルが「高」の場合は、最も正確な電力解析が可能になり、これはハードウェアの測定値に近いものになります。

自動化されたデザイン クロージャ

自動化されたデザイン クロージャ

Vivado 用の UltraFast 設計手法には、タイミング クロージャを自動化する独自のアプローチがあります。ベスト プラクティス以外にも、Vivado エキスパートたちは最も困難なデザインのクロージャを達成し、あらゆるソリューションを蓄積してきました。これらのソリューションは、UltraFast 設計手法のタイミング クロージャ ガイドで説明されているように、プロシージャ形式になりがちですが、Vivado の自動化されたタイミング クロージャは、さらに進化しており、特定のタイミング エラーに対応してこれらのステップを実行し、問題ごとにターンキー ソリューションを生成します。これらのソリューションは、ツール レポートを確認してソリューションを作成し、各ソリューションをコンパイルして結果確認した後、タイミング クロージャを達成するまで反復実行を繰り返すといった時間のかかるマニュアル プロセスが不要になるため、すべてのレベルのハードウェア設計者に大きなメリットをもたらします。

主な特長

RQA (Report QoR Assessment) 機能は、デザインがタイミング目標を満たす可能性を予測します。可能性の度合いを示す 1 ~ 5 のシンプルなスコアが表示され、1 が最も可能性が低く、5 が最も可能性が高いことを示します。評価スコアのほかにも、RQA はスコアの原因となる問題の種類、手法違反のサマリ、また低いスコアを改善するための次のステップの提案を示します。RQA 機能をコンパイル プロセスの早い段階で実行することで、コンパイルを続行するか、またはコンパイルが成功する可能性が極めて低い場合には無駄な労力を回避する判断が可能になります。

Report QoR Suggestion (RQS) 機能は、Vivado におけるタイミング クロージャ自動化の基盤となるものです。RQS の中心は分析エンジンで、現在のコンパイルの実行で最もクリティカルなパスを修正するための提案を生成します。提案は、Vivado 固有のオブジェクト タイプであり、元のタイミング クロージャ問題を回避するために、デザインを別の方法でどのようにコンパイルするかをコントロールしますこれらの提案は、後続のコンパイル実行時に適用され、Vivado は適切なコンパイル ステージでそれぞれの提案に従うため、ユーザーが介入する必要はありません。RQS は、コンパイルの実行を繰り返し、最短でタイミングを満たす必要がある場合に有効です。また、プロジェクト モードと非プロジェクト モードの両方をサポートしています。

タイミング要件が厳しいデザインでは、デザインを模索することが一般的であり、多くのコンパイル ストラテジが同時に実行されます。場合によっては、ストラテジ数が 20 以上になることもあり、デザインの反復実行が非常に長くなり、演算リソースに大きな負担がかかります。Vivado は、機械学習を導入し、すべてのストラテジの中から可能性の高い上位 3 つのコンパイル ストラテジを予測します。最適なストラテジを予測するために使用する ML モデルは、Vivado のあらかじめ定義されているストラテジだけでなく、数十種類のカスタム ストラテジとコマンド オプションから選択できます。最大 3 つのストラテジに絞ることで、ソリューション空間が縮小し、計算リソースの負担も軽減します。その結果、デザインの反復作業が効率化し、時間を大幅に短縮できます。

ML ストラテジの予測は、Report QoR Suggestions 機能で生成されます。

IDR (Intelligent Design Run) は、RQA、RQS、および ML Strategy Prediction を構築ブロックとして使用し、最も満たすのが難しいタイミング要件を持つデザインに対して、ガイドラインに従った積極的なタイミング クロージャ プロセスを作成します。IDR は複数のフェーズで実行されます。

  • まず最初に、配線後の結果を分析し、途中のステージで分析結果に基づいてシーケンスを構成しながら、一連の提案とコンパイルの実行を繰り返します。
  • 最初のフェーズが終わり、デザインがタイミングを満たしていない場合は、ML ストラテジが予測されてコンパイルが実行されます。
  • ML ストラテジでタイミングを満たしたソリューションが得られない場合、RQS を使用して最良の結果が最終段階のコンパイルに渡され、タイミング クロージャ モードでインクリメンタル コンパイルが実行されます。

IDR は、Vivado プロジェクト フローに特別なデザイン ラン セットとして組み込まれているため、非常に強力なタイミング クロージャ オプションをプッシュボタン操作で実行できます。

資料

機能カテゴリやワークロードで目的の資料を検索およびフィルタリング

デフォルト デフォルト タイトル ドキュメント タイプ 日付

ビデオ

ビデオの検索およびフィルタリング

デフォルト デフォルト タイトル 日付