FC2カウンター FPGAの部屋 Vivado IP Integrator のチュートリアル(Lab1)3(IP Integrator デザインの生成2)
FC2ブログ

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

FPGAの部屋

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

Vivado IP Integrator のチュートリアル(Lab1)3(IP Integrator デザインの生成2)

Vivado IP Integrator のチュートリアル(Lab1)2(IP Integrator デザインの生成1)”の続き。

21. Vivado IP integrator diagramウインドウ内で、右クリックメニューから Add IP... を選択した。

22.ダイアログの検索フィールドに、gpi と入力すると、AXI GPIO が表示されたので、キーボードのEnter キーを押した。
Vivado_IP_Integrator_22_130720.png

23.Diagram ウインドウに、axi_gpio_1 が追加された。(ちなみに、Diagram ウインドウはフローリングにすることができる)
Vivado_IP_Integrator_23_130720.png

24.同様に、axi_bram_ctrl_1 (AXI BRAM Controller) と blk_mem_gen_1 (Block Memory Generator) を追加した。
Vivado_IP_Integrator_24_130720.png

・Customize Instantiated IP

25.blk_mem_gen_1 (Block Memory Generator) をダブルクリックして、Customize Block を行う(右クリックメニューから Customize Block を選択するのも可)

26.Re-customize IP ダイアログが開いた。
Vivado_IP_Integrator_25_130720.png

27.Basic タブで、Mode は BRAM Controller になっているので、Memory Type を True Dual Port RAM に変更した。OKボタンをクリックした。
Vivado_IP_Integrator_26_130720.png

28.blk_mem_gen_1 (Block Memory Generator) がDual Port に変更された。
Vivado_IP_Integrator_27_130720.png

・各IPをドラッグアンドドロップで移動することができる。

・axi_bram_ctrl_1 (AXI BRAM Controller) と blk_mem_gen_1 (Block Memory Generator) 間のポートを接続する。

29.axi_bram_ctrl_1 (AXI BRAM Controller) のBRAM_PORTA にカーソルを近づけると、カーソルが鉛筆型に変化するので、その状態でポートをクリックして、ドラックすると線が引ける。

30.axi_bram_ctrl_1 (AXI BRAM Controller) の BRAM_PORTAを、blk_mem_gen_1 (Block Memory Generator) のBRAM_PORTAに接続した。同様に、BRAM_PORTB同士も接続した。
Vivado_IP_Integrator_28_130720.png

・Use Block Designer Assistance

Block Designer Assistance は、AXI GPIO , AXI BRAM Controller とZynq-7000 PSの接続を補助する。

31.Run Connection Automation をクリックして、/axi_gpio_1/s_axi を選択する。
Vivado_IP_Integrator_29_130720.png

32.Run Connection Automation ダイアログが開いた。マスタとスレーブを接続するそうだ。OKボタンをクリックした。
Vivado_IP_Integrator_30_130720.png

33.proc_sys_reset や processing_system7_1_axi_periph が自動的に追加され、配線された。(凄い。。。)
Vivado_IP_Integrator_31_130720.png

34.もう一度、Run Connection Automation を選択して、/axi_gpio_1/gpio を選択した。
Vivado_IP_Integrator_32_130721.png

35.Run Connection Automation ダイアログが開いた。外部インターフェースを作るそうだ。ZedBoard のGPIO がリストされている。leds_8bits を選択して、OKボタンをクリックした。
Vivado_IP_Integrator_33_130721.png


Vivado_IP_Integrator_33_2_130721.png 

36.leds_8bits が出来た。
Vivado_IP_Integrator_34_130721.png

37.再度、Run Connection Automation を選択した。今度は、/axi_bram_ctrl_1/S_AXI を選択した。
Vivado_IP_Integrator_35_130721.png

38.Run Connection Automation ダイアログが開いた。マスタとスレーブを接続するそうだ。OKボタンをクリックした。
Vivado_IP_Integrator_36_130721.png

39./axi_bram_ctrl_1/S_AXI が接続された。
Vivado_IP_Integrator_37_130721.png

・今のプロジェクトには、AXI GPIOとAXI BRAM Controller の2つのIPが入っているが、IP Integrator は自動的にメモリマップをしてくれるそうだ

40.しかし、AXI BRAM Controller のメモリマップのRange が4k なので、64Kに修正した。
Vivado_IP_Integrator_38_130721.png

Vivado_IP_Integrator_39_130721.png

Vivado IP Integrator のチュートリアル(Lab1)4(Using MARK_DEBUG)”に続く。

(2013/07/23:ZedBoard の選択をミスっていたので、全面的に修正した)
  1. 2013年07月20日 05:31 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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