AXI4 Lite Slave IPの作製

 キャラクタROM をAXI4 Lite Slave として実装する1(AXI4 Lite バスの勉強)
キャラクタ・ディスプレイ・コントローラのキャラクタROMをAXI4 Lite Slave として実装することにした。今回はそのためのAXI4 Liteバスの仕様を勉強することにする。
 キャラクタ ROMをAXI4 Lite Slave として実装する2(AXI4 Lite バスの勉強2)
今回はAXI4 Lite バスのWriteとReadトランザクションのタイミングチャートを書いてみた。
 キャラクタ ROMをAXI4 Lite Slave として実装する3(IPをXPSプロジェクトに追加する) 
実際にVerilog でキャラクタROMをAXI4 Liteバスに接続するIPを作ってみた。ファイル名は char_rom_axi_lite.v とした。IPをXPSに追加するまでの手順。
 キャラクタ ROMをAXI4 Lite Slave として実装する4(UARTをXPSプロジェクトに追加する)
今 回は、前回XPSプロジェクトに追加したキャラクタROMをAXI4 Liteバスに接続するIPをテストするために、UARTをXPSプロジェクトに追加しようと思う。こうすることで、TeraTermでアドレスを入力し たらキャラクタコードを返すアプリが作れるはずだ。
 キャラクタ ROMをAXI4 Lite Slave として実装する5(インプリメント) 
今回はPlanAheadでインプリメントを行った。
 キャラクタ ROMをAXI4 Lite Slave として実装する6(シミュレーション)
前回でインプリメントは終了したが、まだchar_rom_axi_lite の単体テストを行ってなかった。今回はchar_rom_axi_lite の単体でのシミュレーションを行った。
 キャラクタ ROMをAXI4 Lite Slave として実装する7(SDK1)
ハードウェア情報をExportしてSDKを起動した。XMDでコマンドを入れて、キャラクタ ROMのデータをReadできることが確認できた。
 キャラクタ ROMをAXI4 Lite Slave として実装する8(SDK2) 
前 回はXMDを使用してキャラクタROMのドットデータをReadしたが、今度はソフトウェアを作成して表示した。前回確認できたが axi_uartlite がstdin, stdoutに割り振られていたので、TeraTerm を起動してXPAR_CHAR_ROM_AXI_LITE_0_S_AXI_RNG00_BASEADDRからのアドレスのオフセット値を入力して、その アドレスのキャラクタROMのドットデータを表示した。

AXI4 Lite Master BFM の Verilog HDL コード

AXI4 Lite Master BFM の Verilog HDL コードを貼っておく。AXI4 Lite Master BFM は、AXI4 Master BFM のラッパーとして作られている。
Verilog HDL の task で書いてあって、下に示す。7つの task がある。
inserted by FC2 system