前回はChipScope Pro を挿入してインプリメントすることが出来た。今回はChipScope Pro Analyzer を使用して、実際にAXI VDMA のAXIバスのアクセスの様子を見ていこう。
・最初に、Windows のスタートメニューからChipScope Pro Analyzer を単体で立ち上げた。
・左上端のアイコンOpen Cable/Search JTAG Chain をクリックして、ダウンロード・ケーブルを認識させる。

・ARMプロセッサとZynq XC7020 が認識される。

・ChipScope Pro Analyzer に信号が表示されたが、まだ信号名が入っていない。

・信号名を入力する。FileメニューからImport... を選択する。

・ZedBoard_OOB_Design\hw\xps_proj\implementation\chipscope_axi_monitor_0_wrapper フォルダの下に、chipscope_axi_monitor_0.cdc があるので、Select New File ボタンをクリックして選択する。下のリストボックスでDEV: 1 UNIT:0 (ILA) が表示されているのを確認する。

・AXIバスの信号名が入って、バスが自動的にまとまられた。

・次に、もう1つのChipScope Pro のチャネルも信号名を入力する。同様にFileメニューからImport... を選択し、ZedBoard_OOB_Design\hw\xps_proj\implementation\chipscope_ila_0_wrapper フォルダの下にchipscope_ila_0.cdc がSelect New File ボタンをクリックして選択する。下のリストボックスでDEV: 1 UNIT:1 (ILA) を選択する。

・こちらの信号名も入力された。

・AXIバスの信号をフリーランでキャプチャした。Readのトランザクションが並んでいることがわかる。(AXIバスの動作周波数は175MHz動作で、HD解像度のピクセルクロックと同じに設定されているようだ)

・1つのAXIバスのReadトランザクションを拡大してみた。

0x1A012F00 から8バイト単位で16個のピクセルデータをReadしているのがわかった。
・0x1A0XXXXX アドレスにアクセスが来ているようだったので、0x1A000000 & ARVALID & ARREADY でトリガを掛けた。

・トリガが掛かった。

・最初のAXIバスのReadトランザクションを拡大した。

・トリガを変更して、0x1BXXXXXX & ARVALID & ARREADY でトリガを掛けたら、トリガが掛からなかった。
これで
スタートアドレスが、0x1A000000 であることがわかった。
次にエンドアドレスを検証してみよう。すべてのピクセルデータは、1920ピクセル x 1080ライン x 4バイト = 8294400 = 0x7E9000 なので、エンドアドレス+1 は、0x1A7E9000 であるはずだ。
・0x1A7E8FXX & ARVALID & ARREADY でトリガを掛けた。

・計算通りに、トリガが掛かってからのアクセスは2つしか無い。

・最後のトランザクションを拡大した。

・0x1A7E9000 & ARVALID & ARREADY でトリガを掛けたところ、トリガは掛からなかった。

これで、アドレスは、
0x1A000000 <= フレームバッファ・アドレス < 0x1A7E9000 で確定した。
フレームバッファのアドレスがわかったので、ここにカメラのデータを書き込もうと思うが、このペンギン画面はある一定時間の後に、(10分くらいだろうか?)消えてしまう。これはわざと消しているのか?それともバグで消えてしまうのか?今のところ分からない。ちなみに、
アナログ・デバイセズ社のリファレンス・デザインは、1時間動作させているが、正常に動作している。
とりあえず、このアドレスを使用して、今のカメラ表示回路を載せようと思う。HDMIは既存のシステムが使用しているので、VGAポートだけに出力する。800 x 600 の現在の画像で出力するので、HDMI画面は表示されている時は乱れるが、それでOKとしよう。
- 2013年01月31日 05:08 |
- ZedBoard
-
| トラックバック:0
-
| コメント:0