HDL编码器で生成されたIPコアのJTAG AXI Managerを使用した制御
この例では,リファレンス設計へのHDL校验™AXI经理IPの自動挿入を指定する方法を示します。この例では,高密度脂蛋白编码器™ で生成された FPGA IP コアを MATLAB® または Simulink® を使用して構成する方法も示します。
オンボードのメモリ位置にアクセスし,FPGAロジックの調査や制御をMATLABまたは仿真软件金宝appから迅速に行うには,JTAG AXI经理IPを使用します。Matlabでは,作成したaximanager
系统对象™を物理JTAGケーブルを介してAXI经理IPに接続し,MATLABコマンドラインから下位メモリの位置に対して読み取りや書き込みのコマンドを実行できます。金宝appSimulinkでは,AXI经理阅读(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックとAXI Manager Write(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックでAXI经理IPを駆動し,高密度脂蛋白编码器で生成されたテスト対象デバイス(DUT)の出力端子と入力端子に対してJTAGインターフェイスから読み取りや書き込みの操作を実行できます。
この例では,ZedBoard™を使用してFPGA設計を実装します。
要件
用于Xilinx FPGA板金宝app的HDL验证器™支持包
Xilinx FPGA金宝app板的HDL Coder™支持包
HDLの言語サポトおよびサポトされるサドパティ製ルとハドウェアにリストされている,サポートされているバージョンのXilinx®Vivado™设计套件
ZedBoard
AXI Manager IPを含むリファレンス設計の生成
Xilinx Vivadoルパスを設定します。コマンドを実行するときに独自のXilinx Vivado。
hdlsetuptoolpath (“ToolName”,“Xilinx Vivado”,“路径”,...“C: \ Xilinx \ Vivado \ 2020.2 \ bin \ vivado.bat ');
JTAG AXI Managerの挿入の有効化
1.Matlabコマンドプロンプトで次のコマンドを実行してhdlcoder_led_blinking
モデルを開きます。
open_system (“hdlcoder_led_blinking”)
この例では,led_counter
サブシステムをハ,ドウェアに実装します。このサブシステムは,ハ,ドウェア上の带动を点滅させるカウンタ,をモデル化したものです。2の入力端子Blink_frequency
およびBlink_direction
は领着の点滅頻度および方向をそれぞれ決定する制御端子です。出力端子领导
はハドウェア上のledに接続します。出力端子Read_back
を使用してデタをmatlabに読み戻すことができます。
2.hdlcoder_led_blinking / led_counter
サブシステムからled_counter
サブシステムを右クリックして[hdlコ,ド]、[hdlワクフロアドバザ]を選択し,hdlワクフロアドバザを開きます。
3.[タ,ゲットを設定]、[タゲットデバスおよび合成ルを設定]タスクで,[タ,ゲットワ,クフロ,]をIP核生成
に設定します。
4.[タ,ゲットプラットフォ,ム]をZedBoard
に設定します。このオプションが表示されない場合は,[さらに取得]を選択してサポトパッケジンストラを開きます。サポトパッケジンストラで,Xilinx Zynq平台
を選択し,サポトパッケジンストラの手順に従ってンストルを完了します。
5.[このタスクを実行]をクリックして[タゲットデバスおよび合成ルを設定]タスクを実行します。
6.[タ,ゲットを設定]、[タ,ゲットのリファレンス設計を設定]タスクで,(系统默认)を選択し,[插入JTAG AXI管理器(需要HDL验证器)]リファレンス設計パラメ,タ,をJTAG
に設定します。
7.[このタスクを実行]をクリックして[タ,ゲットのリファレンス設計を設定]タスクを実行します。
HDL IPコアの生成とAXI Manager IPを含むプロジェクトの作成
Dut内の各端子をIPコアのタゲットンタフェスのいずれかにマッピングします。この例では,入力端子“Blink_frequency”と“Blink_direction”をAXI4-Lite
インターフェイスにマッピングするため,それらの端子のAXIインターフェイスを介してアクセスできるレジスタがHDL编码器で生成されます。出力端子“领导”にいては,この例では,ZedBoardのLEDハドウェアに接続する外部ンタフェスled通用用途[0:7]
にマッピングします。
1.[タ,ゲットを設定]、[タ,ゲット,ンタ,フェ,スを設定]タスクで,“Blink_frequency”、“Blink_direction”,および“Read_back”に対してAXI4-Lite
を選択します。
2.“领导”に対してled通用用途[0:7]
を選択します。
3.JTAG AXI Managerを含むリファレンス設計プロジェクトを作成します。
プロジェクトを作成するには,[プロジェクトを作成]タスクを右クリックし,[選択したタスクまで実行]を選択します。
Vivadoプロジェクトで,JTAG AXI经理IPがリファレンス設計に挿入されていることを確認できます。[タ,ゲット周波数を設定]タスクのターゲット周波数が100 MHz以下の場合,このリファレンス設計を使用して,DUTのクロックでJTAG AXI经理IPが駆動されます。
[タ,ゲット周波数を設定]タスクのターゲット周波数が100 MHzを超える場合は,このリファレンス設計を使用して,タイミングの問題を回避するためにclk_wiz_IOによって生成される50 MHzの固定クロックでJTAG AXI经理IPが駆動されます。
ホスト▪▪ンタ▪▪フェ▪▪スモデルの生成
DUTをSi金宝appmulinkモデルのAXI经理阅读(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックとAXI Manager Write(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックに置き換えて,ホスト@ @ @フェ@ @ @ @ @ @ @次の手順に従ってホスト▪▪ンタ▪▪フェ▪▪スモデルを生成します。
1.[組み込みシステムの統合]、[ソフトウェアe .ンタe .フェe .スを生成]タスクで,[ホストタ,ゲット,ンタ,フェ,ス]をJTAG AXI管理器(HDL验证器)
に設定します。
2.[ホストe .ンタe .フェe .スモデルの生成]を選択します。
3.[このタスクを実行]をクリックします。
次のスクリ,ンショットは,gm_hdlcoder_led_blinking_Hostinterface.slx
ホスト▪▪ンタ▪▪フェ▪▪スモデルを示しています。このホストインターフェイスモデルを仿真软金宝app件テストベンチとして使用してDUTのレジスタを調整できます。
ワークフローの残りの手順を実行して,ビットストリームを生成し,ターゲットデバイスをプログラムします。
JTAG AXI Managerを使用したHDL Coder IPコアの制御
HDL编码器IPコアを制御するSimuli金宝appnkモデル
1.gm_hdlcoder_led_blinking_Hostinterface
モデルを開きます。
2.gm_hdlcoder_led_blinking_Hostinterface
、led_counter
、AXI4SlaveWrite
サブシステムに移動します。AXI Manager Write(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックを構成します。
次の図は,現在のHDLワークフローアドバイザーの構成に対応するAXI经理写ブロックの既定の構成を示しています。
3.gm_hdlcoder_led_blinking_Hostinterface
、led_counter
、AXI4SlaveRead
サブシステムに移動します。AXI经理阅读(用于Xilinx FPGA金宝app板的HDL验证器支持包)ブロックを構成します。
次の図は,現在のHDLワークフローアドバイザーの構成に対応するAXI经理阅读ブロックの既定の構成を示しています。
gm_hdlcoder_led_blinking_Hostinterface
モデルを実行して,金宝appSimulinkから読み取りと書き込みの処理を実行します。
次の図は,“Read_back”レジスタ(领の出力)の時間経過に伴うサンプル数を示しています。
Matlabコマンドラaapl . exeコマンドラaapl . exe . exe
AXI经理IPのオブジェクトを作成して,MATLABコマンドラインからDUTを制御することもできます。
1.AXI Managerオブジェクトを作成します。
H = aximanager(“Xilinx”)
2.の点滅頻度を変更します。
h.writememory (400 d0100, 0)
の点滅頻度が低くなったことを確認します。领导の点滅頻度を 0 から 15 に変更して頻度を上げます。
h.writememory (400 d010015)
3.現在のカウンタ値を読み取ります。
h.readmemory (400 d0108, 1)
4.完了したらオブジェクトを削除してjtagリソ,スを解放します。オブジェクトを削除しないと,他のjtagの操作が失敗します。
删除(h)
カスタムリファレンス設計のJTAG AXI Manager
[插入AXI管理器(需要HDL验证器)]リファレンス設計パラメ,タ,は,カスタムリファレンス設計に既定で追加されます。パラメ,タ,の既定値は从
です。カスタムリファレンス設計で,次のプロパティを使用してこのパラメ,タ,を制御できます。
AddMATLABAXIManagerParameter—插入AXI Managerパラメタの可視性を制御する。
MATLABAXIManagerDefaultValue—AXI Manager IPを挿入するかどうかを指定する。
次の図に示すように,カスタムリファレンス設計ワ,クフロ,の“plugin_rd.m”ファ电子邮箱ルでプロパティを追加して,[插入AXI管理器(需要HDL验证器)]パラメ,タ,を[タ,ゲットのリファレンス設計を設定]タスクで表示するように設定し,既定値としてJTAG
を割り当てることができます。