高位設計フローの特長

ここでは、高位設計を効率化するための Vivado™ Design Suite の機能について簡単に説明します。各機能の詳細は、タブをクリックしてください。

Vitis 高位合成 (HLS) ツール

近年、AI、ワイヤレス、医療、防衛、および民生用アプリケーションで使用されている高度なアルゴリズムは、従来に比べてはるかに高機能化されています。すべての Vivado™ Edition に無償アップグレードとして含まれる Vitis™ 高位合成ツールを使用すると、C++ 仕様をそのまま AMD のプログラマブル デバイスに実装できるため、IP の生成を迅速化できます。手作業で同等の RTL デザインを作成する必要はありません。Vitis HLS ツールは、Vitis と Vivado の両方の設計環境をサポートしているため、ソフトウェアおよびハードウェアの設計者は効率的にカーネルや IP を設計できます。

  • アルゴリズム記述、データ型の仕様 (整数、固定小数点、浮動小数点)、およびインターフェイス (FIFO、メモリ、AXI4) の抽象化
  • 任意精度データ型、ストリーム、およびベクトル化されたデータ型のビルトイン サポートを提供する広範なライブラリ
  • 指示子で駆動される、アーキテクチャを認識した合成機能を使用することで高 QoR を実現
  • 手作業でコード化した RTL に匹敵する QoR を迅速に生み出す
  • C/C++ テストベンチ シミュレーションを使用する迅速な検証、自動の VHDL/Verilog シミュレーションおよびテスト ベンチ生成
  • AMD のオンチップ メモリ、DSP エレメント (浮動小数点タイプを含む) を自動的に使用
画像を拡大
AMD Vitis HLS Diagram

ライブラリ

Vitis HLS ツールには、次のライブラリが含まれています。

ライブラリ名 説明

任意精度データ型

整数および固定小数点 (ap_int.h) タイプ

HLS ストリーム

ストリーミング データ構造用のモデル。最高のパフォーマンスとエリアの達成を目的とする (hls_stream.h)

ベクトル型

ベクトル化された型と演算 (hls_vector.h)、任意精度型を含む

HLS Math

標準 C (math.h) および C++ (cmath.h) Math ライブラリの合成を幅広くサポート。

浮動小数点型と固定小数点型の関数をサポート: abs、atan、atanf、atan2、atan2、ceil、ceilf、copysign、copysignf、cos、cosf、coshf、expf、fabs、fabsf、floorf、fmax、fmin、logf、fpclassify、isfinite、isinf、isnan、isnormal、log、log10、modf、modff、recip、recipf、round、rsqrt、rsqrtf、1/sqrt、signbit、sin、sincos、sincosf、sinf、sinhf、sqrt、tan、tanf、trunc

Vitis HLS ツールは、GitHub で入手できる、性能に最適化された Vitis ライブラリもサポートしており、これらを利用することで既存のアプリケーションに最小限の変更または変更なしですぐに高速化を実現できます。高機能演算、統計、線形代数、DSP などの一般的な Vitis アクセラレーション ライブラリは、さまざまなアプリケーションに対応する基本的な機能を提供します。これらのライブラリは、OpenCV 関数によるビジョン/画像処理、数理ファイナンス、データベース、データ分析、データ圧縮などの多くのワークロードを高速化できます。

詳細は、Vitis HLS のサイトをご覧ください。

IP インテグレーター

Vivado™ Design Suite は、業界初のプラグアンドプレイ IP を使用する統合設計環境を提供し、その IP インテグレーター機能を活用することによって、従来の RTL 設計の限界を超える優れた生産性をもたらします。

Vivado IP インテグレーターは、グラフィカルおよび Tcl ベースで、検証しながら開発を進めることができるデザイン開発フローを提供します。この機能は、主要 IP インターフェイスの自動接続、ワンクリックでの IP サブシステム生成、リアルタイム DRC、インターフェイス変更伝搬、そして高性能デバッグ機能の併用をサポートする、デバイスとプラットフォームに対応できる対話型の環境です。

設計者は、IP 間の接続を行う際に信号レベルのアブストラクションではなく、インターフェイス レベルで対応できるため、生産性が劇的に向上します。多くの場合、AXI4 インターフェイス規格を使用しますが、IP インテグレーターでは、その他にもさまざまなインターフェイスがサポートされています。

インターフェイス レベルで作業を進められるため、デザイン チームは、Vitis HLS や Model Composer、AMD SmartCore™、LogiCORE™ IP、アライアンス メンバー IP、あるいはユーザーが独自に開発した IP を利用する複雑なシステムをすばやく組み立てることができます。Vivado の IP インテグレーターおよび HLS 機能を組み合わせて利用することによって、RTL デザインより最大 15 倍の開発コスト削減が可能です。

画像を拡大
AMD Vivado IP Integrator Diagram
  • Vivado IP インテグレーターの主な機能と利点

    Vivado 統合設計環境に密接統合
    • IP インテグレーターの階層的サブシステムをデザインにシームレスに統合
    • IP インテグレーター デザインをすばやく統合して再利用のためにパッケージ化
    • グラフィカルおよび Tcl ベースのデザイン フローをサポート
    • 迅速なシミュレーションおよび複数のデザイン ビューでクロスプロービングが可能
    あらゆるデザイン ドメインをサポート
    • プロセッサを使用するデザインおよびプロセッサなしのデザインをサポート
    • アルゴリズムの統合 (Vivado HLS および Model Composer) および RTL レベル IP の統合
    • DSP、ビデオ、アナログ、エンベデッド、コネクティビティ、およびロジックの組み合わせ
    • DFX フロー ベースのプロジェクトをサポート
    設計者の生産性向上
    • デザイン アセンブリ中に複雑なインターフェイス レベルの接続に対して DRC を実行
    • 一般的な設計エラーの検証および修正
    • 相互接続された IP へパラメーターを自動的に伝搬
    • システム レベルの最適化
    • 自動化された設計アシスト機能
    コラボレーション サポートを向上
    • コラボレーション サポートを向上
    • ブロック デザイン コンテナーを用いたチームベースの設計により、再利用性とモジュール設計を実現
    • ソース ファイルと生成ファイルを分けることでリビジョン管理が改善
    • 2 つのブロック デザインを比較するための Block Design Diff ツール

Vitis 高位合成と Vitis Model Composer を使用する C ベースの IP 生成

プログラマブル ソリューション向け ESL (電子システム レベル) デザイン ツールのリーディング プロバイダーとして、Vivado では、C、C++、SystemC 用の Vitis™ 高位合成を提供しています。DSP 用の Vitis Model Composer をアドオンで購入可能です。これらのソリューションでは、高級言語で記述された IP 仕様を VHDL や Verilog に直接合成できるため、IP の検証時間が 100 倍以上高速化し、RTL 変換は最大 4 倍高速化します。密接に統合されたツールは、個々に、または Vivado ML で使用される再利用可能な IP と組み合わせて利用できます。

抽象化シェルを使用した高速コンパイル 

抽象化シェルは、複雑で大規模なデザインのコンパイルを高速化する新しい技術です。デザイン内のリコンフィギャラブル モジュールを指定して個別にコンパイル可能です。修正が必要な部分のみを選択して再コンパイルできるため、デザイン全体を再コンパイルする必要がありません。

この機能により、従来のコンパイルと比較して、平均 5 倍、最大 17 倍のコンパイル時間短縮が可能になります。またデザイン内の複数モジュールを指定して、同時にコンパイルすることも可能です。

主な特長

抽象化シェルの利点

  • 各リコンフィギャラブル モジュールのコンパイル実行時間およびメモリ使用率を削減
  • 複数のリコンフィギャラブル パーティションがある場合、すべてのリコンフィギャラブル モジュールを同時に実行
  • スタティック デザイン内の機密情報をすべて隠す
  • スタティック デザイン内の IP のライセンス チェックを回避
  • 複数のチームでリコンフィギャラブル パーティションを分担し、デザインのコラボレーションが可能
画像を拡大
AMD Vivado Abstract Shell Chart

お客様の声

Vitis Model Composer

Vitis™ Model Composer は、MathWorks MATLAB® および Simulink® 環境内での効率的なデザイン探索を可能にするモデルベースの設計ツールであり、自動コード生成機能により AMD デバイスをベースとする迅速な製品化をサポートします。性能に最適化された高位ブロックを使用してアルゴリズムを設計し、繰り返し作業しながら、システム レベルのシミュレーションによって機能の正しさを検証できます。Vitis Model Composer は、自動最適化機能を使用して、設計をプロダクション品質のインプリメンテーションに変換します。このライブラリでは、AMD デバイス上でのアルゴリズム設計や実装をサポートするパフォーマンスに最適化された合計 210 個の HDL、HLS、および AI エンジン ブロックを提供します。カスタマイズした HDL、HLS、AI エンジン コードをブロックとしてツールに取り込むことも可能です。Vitis Model Composer には、2020.2 以降、スタンドアロン ツールとして提供されなくなった AMD System Generator for DSP の機能がすべて含まれています。

Vitis Model Composer では、次のことが可能になります。

  • AI エンジンとプログラマブル ロジックをターゲットとする最適化されたブロックを使用してデザインを作成する。
  • シミュレーション結果を視覚化して分析し、MALTAB® および Simulink® を使用して生成されたゴールデン リファレンスと出力を比較する。
  • AI エンジン ブロックとプログラマブル ロジック (HLS、HDL) ブロックの協調シミュレーションをシームレスに実行する。
  • デザインのコード (AI エンジンのデータフロー グラフ、RTL、HLS C++) とテストベンチを自動生成する。
  • カスタマイズした HLS、AI エンジン、および RTL コードをブロックとしてインポートする。

注記:
Vitis Model Composer は、Vivado Design Suite のすべてのエディションでアドオン ライセンスとして購入できます。
ダウンロードおよび購入方法については、Vitis Model Composer のページをご覧ください。

AMD Vitis Model Composer Diagram

主な特長

  • デザインの反復作業を迅速化

    高位記述:

    アルゴリズムを中心とする機能重視の構築ブロックを利用することで、各分野の専門家が簡単にデザインを模索できるようになります。

    ベクトルと行列をサポート:

    フレーム ベースのアルゴリズム設計が可能になるため、実装のために中間の低レベル モデルに移行する時間と労力を削減できます。

    アプリケーション特定ライブラリ:

    性能に最適化された DSP、コンピューター ビジョン、演算、および線形代数ライブラリが、AMD のデバイス上でのシミュレーションおよび高性能実装用ブロックとして提供されています。

    カスタム ブロックとして合成可能な C/C++ ブロックをインポート:

    シミュレーションやコード生成のために独自のカスタム ブロックを作成できるため、差別化されたアルゴリズム設計が柔軟になります。

    Simulink とのシームレスな統合:

    Simulink 製品ファミリのブロックと直接接続することで、システム レベルのモデリングやシミュレーションが可能になり、Simulink のグラフィカル環境のスティミュラス生成やデータ視覚化機能をフルに活用できます。

    整数、浮動/固定小数点をサポート:

    Simulink のネイティブ浮動小数点と整数データ型、および Vitis HLS でサポートされている固定小数点と half データ型をサポートしています。

  • アルゴリズムをアーキテクチャに変換

    自動最適化:

    Simulink 内でアルゴリズム仕様を分析し、自動最適化を実行してマイクロアーキテクチャに変換します。スループットが最適化され、ブロック RAM の使用率が削減し、ブロックの同時実行が可能になります。

    IP 作成が迅速化:

    シミュレーション可能なデザインを Vivado IP インテグレーターで使用できる RTL IP パッケージに変換することで、プラグアンドプレイ IP 統合設計環境を活用して複雑なデザインに対応できます。

    System Generator for DSP の利用:

    Model Composer の使いやすさとシミュレーション速度の利点を生かして、一部のデザインの合成済み RTL を新しいカスタム ブロックとして既存の System Generator for DSP デザインにエクスポートします。

    Vitis HLS へエクスポート:

    シミュレーションで出力されるテスト ベクターの記録など、アルゴリズムのさらなる最適化に必要なものをすべて自動生成し、アルゴリズムの設計、シミュレーション、検証用の Simulink グラフィカル環境と Vitis HLS を関連付ける高度な機能です。

    RTL インターフェイスにマッピングするためのユーザー インターフェイス:

    実装用にサポートされている RTL インターフェイス (AXI4-Lite、AXI4-Stream、AXI4-Stream Video、FIFO、ブロック RAM) やビデオ フォーマット (AXI4-Stream Video) にユーザー デザインの入力や出力をマッピングするための使いやすいグラフィカル インターフェイスです。

    テスト ベンチの自動生成: シミュレーションからテスト ベクターを自動記録し、実行可能なデザインと生成されたコードの機能的な同等性を検証するためのテスト ベンチを自動生成します。

    整数、浮動/固定小数点をサポート:

    Simulink のネイティブ浮動小数点と整数データ型、および Vitis HLS でサポートされている固定小数点と half データ型をサポートしています。

サポートとリソース