FC2カウンター FPGAの部屋 ZedBoardにビットマップ・ディスプレイ・コントローラを追加する7(GPIOを使ってBDCをスタート)
FC2ブログ

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

FPGAの部屋

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

ZedBoardにビットマップ・ディスプレイ・コントローラを追加する7(GPIOを使ってBDCをスタート)

ZedBoardにビットマップ・ディスプレイ・コントローラを追加する6(完成とは言えない)”の続き。

前回は、ビットマップ・ディスプレイ・コントローラが動いたけど、最初にリセットが解除されてから85秒間のWaitが必要だった。それはとっても面倒なので、ARMの初期化ルーチンが終了してから、ビットマップ・ディスプレイ・コントローラが動作するように変更した。GPIOを使用して、ARMのソフトウェアでビットマップ・ディスプレイ・コントローラのスタートの合図をすることにした。
前からあるのだが、init_doneという信号をビットマップ・ディスプレイ・コントローラに追加した。DDR3 SDRAMやそのコントローラーの初期化が終了して準備が出来た段階でinit_doneを0から1にすると、ビットマップ・ディスプレイ・コントローラが動作を開始する。init_doneへ1を出力するのは、XPSに追加したGPIOだ。それでは詳しく見ていこう。

・XPSに1ビット幅のaxi_gpio を追加した (axi_gpio_0) 。

・axi_gpio_0 の外部ポートを削除した。

・bitmap_disp_cntrler_axi_master_0 のinit_done とaxi_gpio_0 のGPIO_IO_O を接続した。
ZedBoad_BitMap_DispCnt_73_120930.png

・なぜか?アドレスがマップされていなかったので、マップした。
ZedBoad_BitMap_DispCnt_74_121001.png

・XPSの生成ファイルをクリアした。

・PlanAheadで論理合成、インプリメント、ビットストリームの生成まで行った。

・SDKにハードウェアをエクスポートして、SDKを立ち上げた。

・ビットストリームをZedBoardにダウンロードしてから、SDKをデバックモードにした。
ZedBoad_BitMap_DispCnt_75_121001.png

この状態ではディスプレイに表示されていない。信号なしの状態だ。

・axi_gpio_0 から1をbitmap_disp_cntrler_axi_master_0 のinit_done に入力した。
ZedBoad_BitMap_DispCnt_76_121001.png

ディスプレイにランダムなパターンが表示された。
ZedBoad_BitMap_DispCnt_77_121001.jpg

思惑通りに行って、とっても嬉しい。デバックモードでビットマップ・ディスプレイ・コントローラをスタートさせるまでに時間があったし、当然といえば当然なのだと思う。本番でもWait時間が足りなかったら、ソフトウェアループさせるか、タイマーでビットマップ・ディスプレイ・コントローラを起動させれば良いと思う。
次は、キャラクタが化けるのを修正したい。腹案が3つあるので、まずは1つ目から確認してみよう。

(追記)
SDKからRunでビットマップ・ディスプレイ・コントローラが動作しました。問題ないようです。
  1. 2012年10月02日 05:04 |
  2. ZedBoard
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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