FC2カウンター FPGAの部屋 2012年09月23日
FC2ブログ

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

FPGAの部屋

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

ZedBoardにビットマップ・ディスプレイ・コントローラを追加する1(XPSの設定1)

前回でZedBoardにキャラクタ・ディスプレイ・コントローラを移植できた。AXI4バスのIPにしておいたので、簡単に移植できた(バグがなければ)。今度は、ビットマップ・ディスプレイ・コントローラとキャラクタROMのIPをZedBoardのプロジェクトに追加しようと思っている。ついでにaxi_timer も追加したい。

ZedBoard用のPlanAheadプロジェクトを生成し、EDK(XPS)プロジェクトを追加して、ZedBoardのPS設定のXMLファイルをロードした。この辺のやり方は、”WebPACK14.2でZedBoardのPS & PLチュートリアルをやってみた1(XPSプロジェクトの生成)”を参照した。ただし、今回もWebPACKを使用していない。
ZedBoad_BitMap_DispCnt_1_120923.png

今回はHigh Performance AXI 32b/64b Slave Ports にビットマップ・ディスプレイ・コントローラを接続して、DDR3 SDRAMを使う予定なので、どのくらいのレイテンシがあるか、とっても楽しみだ。キャラクタROM IPは、32b AXI Master Ports に接続する。

・H:\HDL\FndtnISEWork\Spartan6\Atlys\test\Atlys_XPS_CamDisp_PA_142\Atlys_XPS_CamDisp_PA_142.srcs\sources_1\edk\system\pcores からbitmap_disp_cntrler_axi_master_v1_00_a とchar_rom_axi_lite_v1_00_a をK:\HDL\FndtnISEWork\Zynq-7000\ZedBoard\ZedBoard_BitMap_DispCont_142\ZedBoard_BitMap_DispCont_142.srcs\sources_1\edk\system\pcores にコピーした。

・bitmap_disp_cntrler_axi_master_v1_00_a を、HDMI端子出力用からVGA端子出力用に書き換えた。dvi_disp.vhd やDigilent社のライブラリを削除して、その他のHDLファイルを書き換えた。

・bitmap_disp_cntrler_axi_master_v1_00_a の.mpd, .pao ファイルを書き換えた。

・char_rom_axi_lite_v1_00_a は修正点は無い。

・IP Catalog にUSERが増えて、その中にbitmap_disp_cntrler_axi_master とCharROM AXI Lite Slave が追加された。最初にbitmap_disp_cntrler_axi_master を右クリックメニューからAdd IPを行う。
ZedBoad_BitMap_DispCnt_2_120923.png

・確認のダイアログが出る。Yesボタンをクリックした。

・XPS Core Config ダイアログが出る。System タブでC_M_AXI_DATA_WIDTH を64にした。(ビットマップ・ディスプレイ・コントローラのAXI4バスの幅は64ビット長)また、C_M_AXI_SUPPORTS_WRITE のチェックを外した。ビットマップ・ディスプレイ・コントローラはピクセルデータをDDR3 SDRAMからReadするだけで、Writeはしない)
ZedBoad_BitMap_DispCnt_3_120923.png

・XPS Core Config ダイアログのOKボタンをクリックした。

・IPコアをどのプロセッサに接続するかを決めるダイアログが出る。processing_system7_0 が選ばれている。
ZedBoad_BitMap_DispCnt_4_120923.png

・S_AXI_HP0 でプロセッサと接続された。
ZedBoad_BitMap_DispCnt_5_120923.png

・Zynqタブで見ると、確かにHigh Performance AXI 32b/64b Slave Ports の1つのポートを使用している。
ZedBoad_BitMap_DispCnt_6_120923.png

・次に、CharROM AXI Lite Slave の右クリックメニューからAdd IPを行う。

・確認のダイアログが出る。Yesボタンをクリックした。

・XPS Core Config ダイアログが出る。そのままOKボタンをクリックした。
ZedBoad_BitMap_DispCnt_7_120923.png

・IPコアをどのプロセッサに接続するかを決めるダイアログが出る。processing_system7_0 が選ばれている。
ZedBoad_BitMap_DispCnt_8_120923.png

・キャラクタROM IP は、M_AXI_GP0 で接続された。
ZedBoad_BitMap_DispCnt_9_120923.png

・Zynqタブでも、32b AXI Master Ports にキャラクタROM IPが接続されていた。
ZedBoad_BitMap_DispCnt_10_120923.png

・IP Catalog のDMA and Timer を開いて、AXI Timer/Counter をAdd IPした。
ZedBoad_BitMap_DispCnt_11_120923.png

・確認のダイアログが出る。Yesボタンをクリックした。

・XPS Core Config ダイアログが出る。そのままOKボタンをクリックした。
ZedBoad_BitMap_DispCnt_12_120923.png

・IPコアをどのプロセッサに接続するかを決めるダイアログが出る。processing_system7_0 が選ばれている。
ZedBoad_BitMap_DispCnt_13_120923.png

・axi_timer が、M_AXI_GP0 に接続された。
ZedBoad_BitMap_DispCnt_14_120923.png


今回は64ビット幅のデータバスだったから、素直にHigh Performance AXI 32b/64b Slave Ports に接続されたと思う。だが、High Performance AXI 32b/64b Slave Ports に接続したいAXI4 Master IPはどうやって指定するのだろう?32ビットデータバス幅のAXI4 Master IPは32b GP AXI Slave Ports に接続されないのだろうか?

ZedBoardにビットマップ・ディスプレイ・コントローラを追加する2(XPSの設定2)”に続く。

  1. 2012年09月23日 05:55 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0