FC2カウンター FPGAの部屋 ar37425のAXI4 Masterサンプルを試す1(AXI_Master IPの登録、接続)
FC2ブログ

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

FPGAの部屋

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

ar37425のAXI4 Masterサンプルを試す1(AXI_Master IPの登録、接続)

AXI4バスのマスタIPのテスト1(構想編)”の続き。

ar37425\axi_master_v1_00_a\hdl\verilog\axi_master.vのサンプルコードを”AtlysボードでXPSプロジェクトを試す1(XPSのプロジェクト作成、インプリメント)”のXPSプロジェクトに接続してみようと思う。

1.ar37425.zipをダウンロードして、Atlys_XPS_CamDisp\pcoresの下に全てコピーした。(12.3 EDK、12.3 ISE - カスタム AXI IP コアの作成方法を参照した)
Atlys_29_120104.png

2.ProjectメニューからRescan User Repositoriesを選択した。

3.IP CatalogウインドウのProject Local PCores -> USERにAXIのIPが追加された。
Atlys_30_120104.png

3B.Addressタブの情報を下に示す。
Atlys_37_120104.png

4.AXI Masterで右クリックメニューからAdd IPを選択した。

5.XPS Core Config - axi_master_0 ダイアログが立ち上がる。User, System, Interconnect Setting for BUSIFの各タブの情報を下に示す。UserタブのC_M_AXT_TARGETのみを0xD0000000に変更した。
Atlys_31_120104.png

Atlys_32_120104.png

Atlys_33_120104.png

6.Instantiate and Connect IPダイアログでは、MjcroBlazeにつなぎたくないので、Usre will make necessary connections and settings のラジオボタンをクリックした。
Atlys_34_120104.png

7.axi_master_0が入って、No Connectionになった。
Atlys_35_120104.png

8.Bus InterfaceタブでMCB_DDR2をダブルクリックする。

9.Xilinx Memory Interface Generatorダイアログが開く。Next->ボタンをクリックして行って、Multi-port Configurationにする。Port1にチェックを入れた。
Atlys_36_120104.png

10.FPGA OptionsでFinishボタンをクリックした。

11.MCB_DDR2にS1_AXIポートが追加された。
Atlys_38_120104.png

12.axi_master_0のM_AXIのNo Connectionをクリックして、プルダウンメニューからaxi4_0を選択した。
Atlys_39_120105.png

13.MCB_DDR2のS1_AXIポートのNo Connectionをクリックすると、MCB_DDR2.S1_AXI Connection Dialogが出る。Select AXI Interconnectでaxi4_0を選択し、Select Master(s)でaxi_master_0.M_AXIを選択した。
Atlys_40_120105.png

14.これで、MCB_DDR2のS1_AXIポートとaxi_master_0のM_AXIポートがaxi4_0(axi_interconnect)経由で接続された。
Atlys_41_120105.png

axi_masterやMCB_DDR2のclkポートなどを接続するのを忘れていたので、接続する。

15.MCB_DDR2のS1_AXIのs1_axi_aclkとaxi_master_0のACLKをclk_100_0000MHzPLL0に接続する必要があるが、GUIではできないようだ?
Atlys_42_120105.png

16.system.mhsに記述を追加することにする。”BEGIN axi_s6_ddrx”の中に”PORT s1_axi_aclk = clk_100_0000MHzPLL0”を追加した。”BEGIN axi_master”の中に”PORT ACLK = clk_100_0000MHzPLL0”を追加した。

17.system.mhsをセーブして、ProjectメニューからRescan User Repositoriesを選択した。

18.MCB_DDR2のS1_AXIのs1_axi_aclkとaxi_master_0のACLKがclk_100_0000MHzPLL0に接続された。
Atlys_43_120105.png

19.Portsタブで、axi_master_0のERRORのConnected Porsをクリックする。External Portsを選択して、右側にaxi_master_0_ERROR_pinと入るので、_pinを削除した。これでリターンキーを押した。
Atlys_44_120105.png

20.External Portsにリストされた。
Atlys_45_120105.png

21.axi_master_0_ERRORの出力ピンを設定する。UCFファイルを開く。

NET axi_master_0_ERROR LOC = "T3" | IOSTANDARD = "LVCMOS33";


を追加した。

22.MCB_DDR2のS1_AXIポートのアドレスを設定する。system.mhsの”BEGIN axi_s6_ddrx”の中に

PARAMETER C_S1_AXI_BASEADDR = 0xD0000000
PARAMETER C_S1_AXI_HIGHADDR = 0xD7FFFFFF


を追加した。

23.system.mhsをセーブして、ProjectメニューからRescan User Repositoriesを選択した。

24.MCB_DDR2のC_S1_AXI_BASEADDRが0xD0000000に設定された。
Atlys_46_120104.png
  1. 2012年01月05日 04:45 |
  2. AXI4 Master IPの作製
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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