FC2カウンター FPGAの部屋 AXI4バスに接続するビットマップ・ディスプレイ・コントローラの作製7(MCBインプリメント4)

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

AXI4バスに接続するビットマップ・ディスプレイ・コントローラの作製7(MCBインプリメント4)

AXI4バスに接続するビットマップ・ディスプレイ・コントローラの作製6(MCBインプリメント3)”の続き。

前回は、MCBをmicorblaze_0 のAXI4 Liteバスに接続してインプリメントしたが、WriteはできてもReadは出来ていなかった。他に原因があるかもしれないが、本来はMCBはビットマップ・ディスプレイ・コントローラから使用する。microblaze_0 がアクセスするのはおまけなので、MCBを別のAXI4 Interconnect に移動することにした。その場合は、AXI to AXI Connector を間に介してAXI4 Interconnect 同士を接続する。

・まずは下図左のaxi4lite_0 とaxi_s6_ddrx_0 の交点をクリックして、axi_s6_ddrx_0 をNo Connection にした。
BitMapDispCont_38_120730.png

・IP Catalog からAXI to AXI Connector を選択し、右クリックメニューからAdd IP を選択した。
BitMapDispCont_39_120730.png

・ダイアログが開いた。OKボタンをクリックした。
BitMapDispCont_40_120730.png

・XPS Core Config ダイアログが開く。Systemタブの設定項目を下に示す。
BitMapDispCont_41_120730.png

・Interconnect Settings for BUFIF の設定項目を下に示す。(デフォルト値のままとした)
BitMapDispCont_42_120730.png
BitMapDispCont_43_120730.png

・axi2axi_connector_0 が入った。
BitMapDispCont_44_120730.png

次に、AXI4 Interconnect を入れる。

・IP Catalog からAXI Interconnect を選択し、右クリックメニューからAdd IPを選択した。
BitMapDispCont_45_120730.png

・ダイアログが開いた。OKボタンをクリックした。
BitMapDispCont_46_120730.png

・・XPS Core Config ダイアログが開く。Interconnect Strategyタブの設定項目を下に示す。
BitMapDispCont_47_120730.png

・その他の設定項目を下に示す。(すべてデフォルト値のままとした)
BitMapDispCont_48_120730.png
BitMapDispCont_49_120730.png
BitMapDispCont_50_120730.png
BitMapDispCont_51_120730.png

・axi_interconnect_0 が入った。
BitMapDispCont_52_120730.png

・axi2axi_connector_0 のS_AXI にaix4lite_0 をM_AXI にaxi_interconnect_0 を接続した。axi_interconnect_0 にaxi_s6_ddrx_0 を接続した。
BitMapDispCont_53_120730.png

・axi_interconnect_0 をダブルクリックしてダイアログを開き、Master/Slave Specific Settingsタブを開く。axi_s6_ddrx_0:S0_AXIの設定を下の図のように設定した。
BitMapDispCont_54_120730.png

・Portsタブをクリックして、INTERCONNECT_ACLK とINTERCONNECT_ARESETN を下図のように接続した。
BitMapDispCont_55_120730.png

・Addressesタブをクリックした。axi2axi_connector_0 のSizeを512Mバイトとした。これは256Mバイトを使用するaxi_s6_ddrx_0 を収めるためだ。アドレス領域の確保は2のn乗である必要があるので、0x20000000 ~ 0x3fffffff までとした。axi_s6_ddrx_0 はその下なので、0x20000000 ~ 0x2fffffff に変更した。
BitMapDispCont_56_120730.png

・UCFファイルにrzqとzio のIOSTANDARD を追加した。
BitMapDispCont_57_120730.png

・ProjectメニューからDesign Rule Check をやってみたところエラーは無かった。
BitMapDispCont_58_120730.png

次に、SDKにハードウェアをエクスポートしてSDKを立ちあげた。デバックモードでXMDを使用して、MCBのアドレスにWrite/Readしてみたが、Readをするとおかしくなって、以後、正常に出来ていたアクセスもだめになるようだ。
BitMapDispCont_59_120731.png

なお、SDKの使用方法は前回と全く同じなので、”AXI4バスに接続するビットマップ・ディスプレイ・コントローラの作製6(MCBインプリメント3)”を参照。

注意として、AtlysボードでSDKを使用する場合は、内臓のコンフィグ回路はとっても不安定だ。Xilinx純正ダウンロードケーブルを使用するか、XUP USB-JTAG Programming Cableの方が安定して動作する。
  1. 2012年07月30日 05:39 |
  2. AXI4 Master IPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog19.fc2.com/tb.php/2214-8f45e67f
この記事にトラックバックする(FC2ブログユーザー)