”
キャラクタROMをAXI4 Lite Slave として実装する2(AXI4 Lite バスの勉強2)”の続き。
前回、AXI4 Liteバスのプロトコルを検討したので、実際にVerilog でキャラクタROMをAXI4 Liteバスに接続するIPを作ってみた。ファイル名は char_rom_axi_lite.v とした。使用するPlanAheadプロジェクトは、”
XPS入りのPlanAhead14.1プロジェクトを作る1(プロジェクトの生成)”、
”XPS入りのPlanAhead14.1プロジェクトを作る2(XPSの設定、インプリメント)”、”
XPS入りのPlanAhead14.1プロジェクトを作る3(SDK)”で新規作成したXPSプロジェクト入りのPlanAheadプロジェクトを使用する。(PlanAhead14.1を使用している)
・”
12.3 EDK、12.3 ISE - カスタム AXI IP コアの作成方法”に書いてあるar37425.zipをダウンロードした。
・ar37425\axi_lite_slave_v1_00_a フォルダをAtlys_EDK_test_PA\Atlys_EDK_test_PA.srcs\sources_1\edk\system\pcores にコピーした。
・フォルダ名をaxi_lite_slave_v1_00_a から char_rom_axi_lite_v1_00_a に変更した。
・Atlys_EDK_test_PA\Atlys_EDK_test_PA.srcs\sources_1\edk\system\pcores\char_rom_axi_lite_v1_00_a\data の下のファイル名を下図のように変更した。

・char_rom_axi_lite_v2_1_0.mpd のBEGIN からの行を下のように変更した。
BEGIN char_rom_axi_lite
## Peripheral Options
OPTION IPTYPE = PERIPHERAL
OPTION IMP_NETLIST = TRUE
OPTION STYLE = HDL
OPTION DESC = CharROM AXI Lite Slave
OPTION LONG_DESC = Character ROM AXI4-Lite Slave
OPTION HDL = MIXED
OPTION RUN_NGCBUILD = FALSE
・char_rom_axi_lite_v2_1_0.pao の内容を下の2行に書き換えた。(コメントは残してあります)
lib char_rom_axi_lite_v1_00_a char_gen_rom.v verilog
lib char_rom_axi_lite_v1_00_a char_rom_axi_lite.v verilog
・PlanAheadプロジェクトを立ちあげて、XPSプロジェクトを起動した。まだ、IP Catalog のProject Local PCores -> USER にはCharROM AXI Lite Slave がエントリされていない。

・XPSのProject メニューからRescan User Repositories を実行した。
・IP Catalog のProject Local PCores -> USER にCharROM AXI Lite Slave がエントリされた。

・CharROM AXI Lite Slave を右クリックしてAdd IPした。
・Add IP Instance to Desgin ダイアログが出る。Yesボタンをクリックした。

・XPS Core Config ダイアログが出るが壊れている。Cancelボタンをクリックした。

やはり壊れていた。前にも”
キャラクタ・ディスプレイ・コントローラをAXI4スレーブにする9(インプリメント1)”で XPS Core Config ダイアログが壊れていたが、C_USE_ADVANCED_PORTS のENTITYを追加した覚えがある。
ウィザードが先に進むので進めてからCharROM AXI Lite Slave を削除することにする。
・Instantiate and Connect IPダイアログが出るので、OKボタンをクリックした。

・CharROM AXI Lite Slave が追加されたので、右クリックメニューからDelete Instance を選択する。
・Delete IP Instance ダイアログでDelete instance and all its connections(デフォルト)を選択して、OKボタンをクリックすると、CharROM AXI Lite Slaveが消えた。

・Atlys_EDK_test_PA\Atlys_EDK_test_PA.srcs\sources_1\edk\system\pcores\char_rom_axi_lite_v1_00_a\data の char_rom_axi_lite_v2_1_0.mui にC_USE_ADVANCED_PORTS のENTITYを追加した。
<!ENTITY C_S_AXI_RNG03_HIGHADDR '
<widget id="C_S_AXI_RNG03_HIGHADDR">
<key>C_S_AXI_RNG03_HIGHADDR</key>
<label>Slave AXI RNG03 High Address </label>
<tip></tip>
</widget>
'>
<!ENTITY C_USE_ADVANCED_PORTS '
<widget id="C_USE_ADVANCED_PORTS">
<key>C_USE_ADVANCED_PORTS</key>
<label>C_USE_ADVANCED_PORTS </label>
<tip></tip>
</widget>
'>
]>
・XPSのProject メニューからRescan User Repositories を実行した。
・CharROM AXI Lite Slave を右クリックしてAdd IPした。Add IP Instance to Desgin ダイアログが出てから、XPS Core Config ダイアログが出た。今度はエラーはない。

・XPS Core Config ダイアログのSystemタブで、S_AXI -> Slave AXI Supports Write の手のマークをクリックしてAutoを外してチェックを外した。CharROM AXI Lite Slave では、ReadのみでWriteは使用しないためだ。

・前と同様に、Instantiate and Connect IPダイアログが出るので、OKボタンをクリックした。
・XPSプロジェクトにCharROM AXI Lite Slave が追加された。ポートの接続もされているし、アドレスも割り振られていた。


- 2012年06月11日 05:41 |
- AX4 Lite Slave IPの作製
-
| トラックバック:0
-
| コメント:0