FC2カウンター FPGAの部屋 ChipScope AXI Monitor を試してみた
fc2ブログ

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

FPGAの部屋

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

ChipScope AXI Monitor を試してみた

今回もどのカテゴリに入れて良いか迷う話題。IP Core なんだけどChipScope Pro のコアだし、EDKで使うんだし、困ったがChipScope Analyzer も使うので、ChipScope のカテゴリに入れておいた。

今回は、ChipScope AXI Monitor を試してみることにした。常々、AXIバスの負荷について解析できたら良いと思っている。例えば、DDR2 SDRAMを画像のフレームバッファとして使っている。時間方向に演算するために何画面分フレームバッファとして使えるかを計算する場合がある。その場合には、現在のバス負荷を計算やシミュレーションで求め、それを検証する必要がある。その検証のためにバス負荷を計算できるAXIバスのモニタを使ってみたいと思っている。ChipScope AXI Monitor は結論として、そうしたバスモニタではなかったが、備忘録として書いておこうと思う。

使用したマニュアルは、”LogiCORE IP ChipScope AXI Monitor (v3.03.a)”だ。ここには、AXI Protocol Checkerという項目があって、HDLで合成可能なARM system verilogアサーションを生成するものだそうだ。これもやってみたい。

使用するプロジェクトは、PlanAheadのプロジェクトで、”PlanAhead14.1で、XPS入りのISE14.1のプロジェクトをインポートしてみた2(解決編)”で使用した。AXI4バス・スレーブIP、AXI4バス・マスタIPを使用したキャラクタ・ディスプレイ・コントローラの回路を使用する。

・PlanAheadプロジェクトからXPSプロジェクトをダブルクリックして立ち上げる。ChipScope AXI Monitor IPコアはIP CatalogウインドウのDebugの下にある。
ChipScope_0_120527.png

・今回はこれをAdd IPせずに、DebugメニューからDebug Configuration を選択する。

・Debug Configurationダイアログで、Add ChipScope Peripheral...ボタンをクリックする。
ChipScope_1_120527.png

・Add New ChisScope Peripheralダイアログで、To monitor AXI Interconnect signal(adding AXI Monitor) のラジオボタンをクリックして、OKボタンをクリックする。
ChipScope_2_120527.png

・Debug Configurationダイアログが開く。SystemウインドウのMonitor Hardware Signals で、chipscope_axi_monitor_0 が選択されていると思う。右のMonitor Bus Signals でcdctest_axi_master_0.M_AXI を選択した。
ChipScope_3_120527.png

・Advanced タブをクリックした。Protocol Checker Setting で下の図のようにセットした。
ChipScope_3_5_120527.png

・上の図では表示しきれない部分があったので、もう一度、下図に示す。
ChipScope_3_6_120527.png

・OKボタンをクリックして、Debug Configurationダイアログを閉じると、XPSにchipscope_axi_monitor_0が入っていた。下の方にchipscope_icon_0 も入っている。ChipScopeでは、これが入っている必要がある。
ChipScope_4_120527.png

・XPSのPortタブでのchipscope_axi_monitor_0の設定の状況を下に示す。なお、Addressタブでは、特にアドレスは設定されていなかった。
ChipScope_5_120527.png

・XPSを閉じて、PlanAheadに戻り論理合成、インプリメント、ビットストリームの生成を行った。Critical Warning が出てしまった。
ChipScope_6_120527.png

・PlanAheadからChipScope Pro を立ち上げた。

・Trigger Setupウインドウを開いて、M3を展開し、MON_AXI_AWVALID に1を設定して1の時にトリガが掛かるように設定した。
ChipScope_6_5_120527.png

・Waveformウインドウの波形を示す。まずはWriteから。すべてのAXIバスの信号を見ることが出来る。
ChipScope_7_120527.png

・次はRead。やはり、すべてのAXIバスの信号を見ることが出来る。
ChipScope_8_120527.png

・上の図で、下の方にPC_ERROR_BUS[78}_c4、error_bus_i という信号があるが、これがどうやらAXI Protocol Checkerの信号らしい? error_bus_i を展開するとたくさんの信号が入っているが、これが何を意味するかが良く分からない?
ChipScope_8_6__120527.png

・Trigger Setupウインドウにも、AXI Protocol Checker信号が入っている。試しにRを入れてみてやってみたが、どこでトリガが掛かるか良くわからない。PC_ERROR_BUS[78}_c4、error_bus_i の値も0になっている。
ChipScope_8_5_120527.png

AXI Protocol Checkerについてはよく分からなかった。残念だ。AXI Protocol Checkerに関しての情報をお持ちの方がいらっしゃったら、教えて下さい。

最後にChipScope AXI Monitor を入れた時と入れない時のリソースの比較をしてみようと思う。
最初は、ChipScope AXI Monitor を入れた時のリソースを下に示す。
ChipScope_9_120527.png

次に、ChipScope AXI Monitor を入れない時のリソースを下に示す。
ChipScope_10_120527.png

やはり、かなりの本数のモニタしているので、かなり増えている。LUTは19%から26%に増えている。RAMB16BWER は25%から37%に増えている。

  1. 2012年05月28日 05:25 |
  2. Chipscope
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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