このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。
IP コア生成ワークフローを使用したザイリンクス Pure FPGA ボード上の DUT レジスタへのアクセス
この例では、 HDL Coder™ IP コア生成ワークフローを使用して、エンベデッド ARM® プロセッサーを使用せず、 HDL Coderによって生成された AXI インターフェイスを使用してテスト対象デザイン (DUT) を制御するザイリンクス パーツのリファレンス デザインを開発する方法を示します。 )。この例では、 HDL Verifier™ AXI Manager IP を使用して、 MATLAB®からHDL Coderで生成された DUT レジスタにアクセスします。あるいは、ザイリンクス JTAG AXI マスターを使用し、Tcl コマンドを記述して Vivado® Tcl コンソールを使用して DUT レジスタにアクセスすることもできます。ザイリンクス JTAG AXI マスターの場合は、カスタム リファレンス デザインを作成する必要があります。FPGA デザインは、Xilinx Kintex®-7 KC705 ボードに実装されています。
要件
Xilinx Vivado Design Suite (サポートされているバージョンはHDL の言語サポートおよびサポートされるサードパーティ製ツールとハードウェア (HDL Coder)にリストされています)
Xilinx Kintex-7 KC705 開発ボード
ザイリンクス FPGA ボード用HDL Coderサポート パッケージ
ザイリンクス FPGA ボード用HDL Verifierサポート パッケージ
ザイリンクス Kintex-7 KC705 開発ボード
この図は、Xilinx Kintex-7 KC705 開発ボードを示しています。
リファレンス設計例
エンベデッド ARM プロセッサーやEmbedded Coder ™ サポート パッケージを使用せずに、 HDL Coder IP コア生成ワークフローを使用することでメリットを享受でき、なおかつHDL Coderで生成された AXI4-Lite レジスターを利用できるデザインには、これらの IP セットの 1 つを含めることができます。
HDL Verifier AXI Manager + HDL Coder IP コア
ザイリンクス JTAG マスター + HDL CoderIP コア
MicroBlaze™ + HDL Coder IP コア
PCIe エンドポイント + HDL Coder IP コア
この例には 2 つのリファレンス デザインが含まれています。
Default System リファレンス デザインは、読み取りおよび書き込みコマンドを発行するためにMathWorks® IP とMATLABコマンド ライン インターフェイスを使用します。このデザインを使用するには、 HDL Verifier製品が必要です。
ザイリンクスの JTAG to AXI Master リファレンス デザインは、JTAG to AXI Master に Vivado IP を使用しており、読み出しおよび書き込みコマンドを発行するには Vivado Tcl コンソールを使用する必要があります。
この図に示すように、2 つのリファレンス デザインは、使用する JTAG マネージャー IP が異なるだけです。
HDL Verifier AXI Manager リファレンス デザイン
HDL ワークフロー アドバイザーの IP コア生成ワークフローの [ターゲット リファレンス デザインの設定] ステップで、ホスト マシンとターゲット ハードウェアの間で通信するインターフェイスに [AXI Manager の挿入 (HDL Verifierが必要)]パラメーターを設定します。このオプションは、インターフェイスの AXI マネージャー IP をリファレンス デザインに自動的に追加し、追加された IP を AXI4 スレーブ インターフェイスを使用して DUT IP に接続します。次のセクションでは、JTAG AXI Manager IP をリファレンス デザインに自動挿入する手順について詳しく説明します。
IPコアワークフローの実行
JTAG AXI Manager IP を使用するデフォルト システム リファレンス デザインの IP コア ワークフローを実行するには、次の手順に従います。このリファレンス デザインを使用すると、KC705 ボード上の LED を点滅させる HDL IP コアを生成できます。HDL IP コアを生成するには、次の手順に従います。
1. MATLABで次のコマンドを実行して、Xilinx Vivado ツール パスを設定します。コマンドを実行するときに独自の Xilinx Vivado インストール パスを使用します。
hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath', ... 'C:\Xilinx\Vivado\2020.2\bin\vivado.bat');
2.MATLABでこのコマンドを実行して、LED 点滅を実装するSimulinkモデルを開きます。
open_system('hdlcoder_led_blinking')
3.hdlcoder_led_blinking/led_counter
サブシステムを右クリックし、HDL コード、続いて HDL ワークフロー アドバイザー を選択して、 led_counter
サブシステムから HDL ワークフロー アドバイザーを起動します。
4.ステップ 1.1 で、ターゲット ワークフロー をIP Core Generation
に設定し、ターゲット プラットフォーム をXilinx Kintex-7 KC705 development board
に設定します。「このタスクを実行」をクリックします。
5.ステップ 1.2 で、リファレンス デザイン をDefault System
に設定します。「リファレンス デザインパラメーター」で、「Insert AXI Manager (HDL Verifier required)」をJTAG
に設定します。「このタスクを実行」をクリックします。
6.ステップ 1.3 で、Blink_frequency、Blink_direction、および Read_back ポートのインターフェイスをAXI4-Lite
に設定します。LED ポートのインターフェースをLEDs General Purpose [0:7]
に設定します。
7.ワークフローの残りの手順を実行して、ビットストリームを生成し、ターゲット デバイスをプログラムします。
Zynq ベースのリファレンス デザインとは異なり、この図に示すように、Generate Software Interface Model タスクは存在しません。
IPコアレポートからアドレスを決定する
HDL Coder IP コアのベース アドレスは、AXI Manager IP を使用する Default System リファレンス デザインの0x40000000
として定義されます。この図に示すように、生成された IP コア レポートでアドレス設定を確認できます。
IP コア レポートのレジスタ アドレス マッピング テーブルにオフセットが示されています。
HDL Verifierコマンド ライン インターフェイス
ザイリンクス FPGA ボード用のHDL Verifierサポート パッケージをお持ちの場合は、AXI Manager リファレンス デザインを選択すると、 MATLABコマンド ライン インターフェイスを使用して、 HDL Coder製品によって生成された IP コアにアクセスできます。
DDR メモリへの書き込みと読み取りを行うには、次の手順に従います。
1. AXI マネージャー オブジェクトを作成します。
h = aximanager('Xilinx')
2.書き込みコマンドを発行します。たとえば、DUT を無効にします。
h.writememory('40000004',0)
3.DUTを再度有効にします。
h.writememory('40000004',1)
4.読み取りコマンドを発行します。たとえば、現在のカウンタ値を読み取ります。
h.readmemory('40000108',1)
5.オブジェクトを削除して JTAG リソースを解放します。オブジェクトを削除しないと、FPGA のプログラミングなどの他の JTAG 操作が失敗します。
delete(h)
ザイリンクス JTAG から AXI マスターへのリファレンス デザイン
リファレンス デザインでザイリンクス JTAG to AXI Master IP を使用するカスタム リファレンス デザインを作成し、 addpath
コマンドを使用してリファレンス デザイン ファイルをMATLABパスに追加します。
リファレンス デザイン プラグイン ファイルで定義されているベース アドレスを使用して、Xilinx JTAG to AXI Master IP を使用してHDL Coder IP コア レジスタにアクセスします。
AXI 読み取りおよび書き込み用の Vivado Tcl コマンド
この例では、スタンドアロン Vivado Tcl コンソールを使用して基本的なコマンドを実行し、読み取りと書き込みを実行します。これらのコマンドを使用して JTAG デバイスを開き、DUT への書き込みを「有効」および「無効」に設定できます。これらのコマンドを Vivado Tcl コンソールに直接入力することも、Tcl ファイルに保存して後で実行することもできます。簡単にするために、これらの Tcl コマンドをファイルopen_jtag.tcl
にコピーします。
# Open connection to the JTAG Master open_hw connect_hw_server open_hw_target refresh_hw_device [lindex [get_hw_devices] 0]
# Create some reads/writes create_hw_axi_txn wr_enable [get_hw_axis hw_axi_1] ... -address 44a0_0004 -data 0000_0001 -type write create_hw_axi_txn wr_disable [get_hw_axis hw_axi_1] ... -address 44a0_0004 -data 0000_0000 -type write
Vivado Tcl コンソールを起動し、作成したファイルを読み込みます。
system('vivado -mode tcl -source open_jtag.tcl&')
JTAG マスターの使用が完了したら、次の Tcl コマンドを使用して接続を閉じます。
# Close and disconnect from the JTAG Master close_hw_target; disconnect_hw_server;
概要
JTAG AXI Manager IP を使用すると、Kintex-7 などの ARM プロセッサが組み込まれていないシステムでHDL Coder IP コア レジスタとインターフェイスすることができます。この IP は、ソフト プロセッサ (MicroBlaze など) 用のソフトウェアをハンド コーディングする前に、スタンドアロンHDL Coder IP コアをデバッグする最初のステップとして、または実行中のシステムのパラメーターを調整する方法として使用できます。
参考
aximanager
| writememory
| readmemory
関連するトピック
- AXI マネージャーのセットアップ
- HDL ワークフロー アドバイザーのご利用の前に (HDL Coder)
- カスタム IP コアの生成 (HDL Coder)
- トラブルシューティング