Vivado ハードウェア デバッグ

Vivado デバッグは、すばやく簡単かつ効率的にデバッグするためのさまざまなソリューションを提供します。これらのソリューションには、ハードウェア上ではユーザー デザインの動作を続けた状態で、ロジックからシステム レベルのデバッグまでのさまざまな機能を実行するツール、IP、およびフローが含まれます。

さらに Vivado は統合設計環境を提供するため、インターフェイスに統一性があり、互いに情報交換ができる 1 つの IDE 内で、異なるデバッグ タスクを実行できます。

ツールおよび機能

ハードウェア マネージャー

Vivado IDE のハードウェア マネージャーを使用することで、デバイスをプログラムし、ビットストリーム生成後にデザインをデバッグすることが可能になります。ハードウェア マネージャーを使用すると、ユーザーは 1 つまたは複数の FPGA デバイスを含むハードウェア ターゲットを接続してプログラミングし、Tcl または GUI インターフェイスを介して Logic Analyzer、Serial I/O Analyzer、および Memory Calibration Debug などのデザイン内のデバッグ IP と相互作用できます。

主な特長:

  • FPGA 用デバイス プログラマ、コンフィギュレーション メモリ デバイス、eFUSE AES キー/レジスタ
  • システム モニター (SYSMON) へのアクセス - ADC およびオンチップ センサー
  • スクリプト記述サポートによりデバッグが自動化
  • hw_server を使用するネットワーク経由のベーシック リモート デバッグ
  • XVC (ザイリンクス仮想ケーブル) を使用する高度なリモート デバッグ機能

その他の情報、資料、ビデオ チュートリアルへのアクセス:
デザイン ハブ > Vivado Design Suite – プログラミングおよびデバッグ

Vivado Lab Edition – ハードウェア マネージャーとそのすべての機能は、Vivado Design Edition の一部として、または Vivado Lab Edition と呼ばれるスタンドアロンのインストール パッケージとして利用できます。このエディションは、インストール後のディスク フットプリントが小さい (〜2.4GB) 軽量インストール パッケージ (〜1GB) となります。通常、ディスク スペース、メモリ、または接続性に制限のあるラボ環境で使用されます。詳細は、Vivado のダウンロードおよびインストールのページを参照してください。

ロジック デバッグ

Vivado は、実装済みデザインのインシステム ロジック デバッグを簡単に実行できるさまざまなデバッグ IP およびツールを提供します。

  • ILA – イベントでトリガーを生成し、内部信号からのデータをキャプチャするために使用
  • System ILA - AXI インターフェイスのトランザクションレベル デバッグに使用
  • VIO – 内部信号の監視および駆動に使用
  • JTAG-to-AXI – Tcl による AXI インターフェイスとの直接相互作用に使用

ツール内のさまざまなデバッグ フローによって、任意の設計段階でデザイン内にこれらのデバッグ IP を簡単に追加および設定できます。

デバイスがプログラムされた後、Vivado ロジック解析ツールを使用して、ハードウェア マネージャーでこれらの IP から情報を取得します。ロジック解析ツールの複数のダッシュボードによって、ロジック デバッグ IP のステータスや動作の制御が表示されます。

主な特長:

  • 直感的かつ生産的なデバッグ フローと手法
    • RTL、GUI、XDC でのデバッグ ネットの特定をサポート
    • 合成後のデザインに ILA を追加するためのネットリスト挿入をサポート
    • すべてのデバッグ IP に対する HDL インスタンシエーションをサポート
    • アドバンス デバッグ フロー (ECO、インクリメンタル) がサポートされて 1 日のデバッグ効率が向上
    • 合成およびインプリメンテーション中におけるデバッグ ネット/インターフェイスの保持をサポート
    • インターフェイスのトランザクション レベル デバッグを可能にする IPI デバッグ フロー

  • 柔軟な解析ツール – Vivado ロジック解析
    • ILA/VIO と相互に作用するためのカスタマイズ可能なダッシュボード機能
    • データの測定およびキャプチャの設定が簡単
    • コンフィギュレート可能な波形ビューアを使用してキャプチャ データを解析

その他の情報、資料、ビデオ チュートリアルへのアクセス:
デザイン ハブ > Vivado Design Suite – プログラミングおよびデバッグ

AXI トランザクションレベル デバッグ – Vivado IP インテグレーター (IPI) ツール内では、AXI インターフェイスをトランザクション レベルでデバッグすることも可能です。IP インテグレーターを使用すると、さまざまなインターフェイスや信号のデバッグが容易になり、これらのインターフェイスを System ILA へ接続する作業が自動化されます。インターフェイス情報はインプリメンテーション フロー全体をとおして保持され、動作時には、発行された AXI 読み出し/書き込みの転送に基づいて、AXI インターフェイスのすべてのトランザクションとイベントが Waveform ウィンドウに表示されます。

トランシーバー デバッグ

Vivado は、FPGA トランシーバーをすばやくかつ簡単にデバッグおよび最適化する方法を提供します。カスタマイズ可能なデバッグ IP (IBERT) や Vivado シリアル I/O 解析ツールがあり、これらを併用することで、複数チャネル上のビット誤り率 (BER) 測定や 1D/2D アイ スキャンを実行でき、またシリアル I/O チャネルがシステム内のその他の機能と相互作用中にリアルタイムにトランシーバー パラメーターを調整できます。

トランシーバーの PMA 評価機能とデモンストレーション用に設計された IBERT コアには、データ パターン ジェネレーターおよびチェッカー機能も含まれており、トランシーバー DRP ポートへのアクセスもサポートされています。FPGA 内に IBERT コアが実装されると、Vivado シリアル I/O 解析が IP と相互に作用するため、ユーザーはリンク (ボード上のチャネルに類似) を確立し、スキャンを実行して結果をグラフィカルに表示することによって、リンクのマージンを解析できます。

主な特長:

  • 異なるスキャン アルゴリズムを使用する RX マージン解析
  • カスタム リンクの作成をサポートするリンク ベースのアナライザー
  • リンクの自動検出機能
  • 異なる設定の複数スキャンを実行する際にリンク スイープの自動化をサポート
  • トランシーバー パラメーターをリアルタイムに自動スイープ

その他の情報、資料、ビデオ チュートリアルへのアクセス:
デザイン ハブ > Vivado Design Suite – プログラミングおよびデバッグ

In-System IBERT – この IP は、ユーザー デザイン内の UltraScale/UltraScale+ トランシーバーの評価と監視を目的としています。FPGA 上で実行されているユーザー デザインからの実際のデータを利用して、トランシーバーのアイスキャンを描画できます。トランシーバー ベースのザイリンクス IP と同様に使用されるスタンドアロン IP として、IP カタログから利用できます。ユーザーは、この IP を PCIe Gen3 IP と同様に、 GT Wizard のサンプル デザインに自動的に追加することもできます。

メモリ キャリブレーション デバッグ

メモリ キャリブレーション デバッグ ツールを使用すると、UltraScale/UltraScale+ のメモリ インターフェイス (DDR4/3、RLDRAM3、QDRII+、および LPDDR3) のキャリブレーションまたはデータ エラーをすばやくデバッグできます。ユーザーは、ハードウェア上で動作中のデザインのコア コンフィギュレーション、キャリブレーション ステータス、メモリ インターフェイスのデータ マージンをいつでも表示して解析できます。

キャリブレーション データのデバッグでは、表示された情報を使用して、エラーのあるキャリブレーション ステージ、エラーの原因となるバイト/ニブル、およびキャリブレーション アルゴリズムの問題点を特定できます。さらに、通常動作中に有効な読み出しマージンを判断することも可能です。各ビットのマージンを解析することで、特定データ ビット上のシグナル インテグリティやボード問題の有無を判断するのに役立ちます。

その他の情報は、US/US+ のメモリ インターフェイス製品ガイド (PG150) を参照してください。
デザイン ハブ > メモリ インターフェイス (DDR3/DDR4RLDRAM 3QDRII+)

リモート デバッグ

FPGA デバッグは、通常、ターゲット FPGA デバイスまたはボードの JTAG ピンに接続された JTAG ケーブルを介して実行されますが、このデバッグ方法は常に効率的とは限りません。リモート デバッグでは、物理的な JTAG ピンにアクセスすることなく FPGA デバッグが可能です。

ザイリンクス仮想ケーブル (XVC) ソリューションは、JTAG ケーブルのように機能し、物理ケーブルを使用せずに FPGA または SoC デザインにアクセスしてデバッグを可能にする TCP/IP ベースのプロトコルです。XVC ソリューションは、ハードウェア コンポーネントとソフトウェア コンポーネントで構成されています。

vivado-debug-xvc
  • XVC サーバーはソフトウェア コンポーネントで、TCP/IP ソケットを介して hw_server や FPGA と通信するための TCP/IP プロトコルを実装しています。通常、外部プロセッサ、ホスト PC、または FPGA 内に組み込まれたプロセッサ (Zynq/MPSoC) によって駆動されます。XAPP1251 では、PetaLinux を使用して Zynq デバイス上で XVC サーバーを駆動する方法を示しています。XVC プロトコルの仕様とサンプル デザインは、Github で入手できます。

  • Debug Bridge は、ハードウェア コンポーネントです。このザイリンクス IP は、外部インターフェイスとその他のデバッグ IP 間にさまざまな接続モードを提供します。この場合、ユーザーが FPGA デザイン内に直接インスタンシエートする必要があります。

XVC ソリューションは、次のようなユーザー ニーズに基づいて強化および拡張できる多くの機能をサポートしています。

  • SDK を使用する MicroBlaze システムのデバッグを可能にする MDM をサポート
  • JTAG ケーブルと XVC 間の動的切り替えをサポート
  • リコンフィギャラブル パーティション内でのデバッグをサポート
  • デバッグ IP へのアクセス制御用に個別のデバッグ ネットワークを作成

その他の情報および資料:
デザイン ハブ > Vivado Design Suite – プログラミングおよびデバッグ

Debug over PCIe (PCIe 経由のデバッグ)

データセンター アプリケーションの場合、FPGA は PCIe リンクを介して PCIe ホスト システムに接続され、ハードウェア デバイスへのその他の接続はありません。XVC ソリューションを使用すると、標準の JTAG デバッグ インターフェイスではなく、PCIe リンクを介してデバッグを実行できます。

Debug over PCIe アプリケーションの主要コンポーネントを次に示します。

vivado-debug-overpcie
  • XVC 機能を備えた PCIe デザインは、FPGA 内で実行されます。XVC 機能は、基本的に Debug Bridge IP を PCIe ブロック インターフェイスに接続します。
  • ソフトウェア側では、ホスト PC が FPGA を接続する XVC 機能を使用して、最新の PCIe ドライバーと XVC サーバーを駆動します。
  • これらのコンポーネントが配置されると、Vivado ソフトウェアは hw_server をホスト PC 上のローカルで実行するか、またはリモートで実行することによって PCIe システムと通信できます。

完全なソリューションは、UltraScale/UltraScale+ の PCIe ブロック IP のサンプル デザインで提供しています。詳細は、UltraScale Gen3 PCIe ブロックの製品ガイド (PG156) および UltraScale+ PCIe ブロックの製品ガイド (PG213) を参照してください。

ビデオ

オンライン ビデオ


すべてのビデオ