FC2カウンター FPGAの部屋 Vivado HLSのExampleを試してみる5(IPにした)
FC2ブログ

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

FPGAの部屋

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

Vivado HLSのExampleを試してみる5(IPにした)

前の記事は、”Vivado HLSのExampleを試してみる4(C/RTL Cosimulation)

今回は、ExampleをIPにしてみようと思う。

Step 5: IP Creation
・Export RTL アイコンをクリックした。
Vivado_HLS_43_130826.png

・Feedback Request ダイアログが表示された。OKボタンをクリックした。
Vivado_HLS_37_130825.png

・Export RTL Dialog が表示された。そのまま、OKボタンをクリックした。
Vivado_HLS_38_130825.png

・左の Explorer に ip フォルダが増えて、圧縮された xilinx_com_hls_example_1_0.zip もできていた。
Vivado_HLS_40_130825.png

・Winodows の Explorer で、ip フォルダを見た。下に示す。
Vivado_HLS_44_130826.png

・ip\hdl\verilog フォルダを見た。下に示す。
Vivado_HLS_45_130826.png

example_BUS_A_if.v が、AXI4 Lite Slave とのインターフェイスを行うVerilog HDLファイルだ。中を見てみると、AXI4 Lite Slave と ap_hs バスのインターフェイスは、AXI4 Lite Slave にマップされたアドレス経由で行われている。下に Address Info を引用する。

//------------------------Address Info-------------------
// 0x00 : Control signals
// bit 0 - ap_start (Read/Write/COH)
// bit 1 - ap_done (Read/COR)
// bit 2 - ap_idle (Read)
// bit 3 - ap_ready (Read)
// bit 7 - auto_restart (Read/Write)
// others - reserved
// 0x04 : Global Interrupt Enable Register
// bit 0 - Global Interrupt Enable (Read/Write)
// others - reserved
// 0x08 : IP Interrupt Enable Register (Read/Write)
// bit 0 - Channel 0 (ap_done)
// bit 1 - Channel 1 (ap_ready)
// others - reserved
// 0x0c : IP Interrupt Status Register (Read/TOW)
// bit 0 - Channel 0 (ap_done)
// bit 1 - Channel 1 (ap_ready)
// others - reserved
// 0x10 : Control signal of a
// bit 0 - a_ap_vld (Read/Write/COH)
// bit 1 - a_ap_ack (Read)
// others - reserved
// 0x14 : Data signal of a
// bit 7~0 - a[7:0] (Read/Write)
// others - reserved
// 0x18 : Control signal of b
// bit 0 - b_ap_vld (Read/Write/SC)
// others - reserved
// 0x1c : Data signal of b
// bit 7~0 - b[7:0] (Read/Write)
// others - reserved
// 0x20 : reserved
// 0x24 : Data signal of c_i
// bit 7~0 - c_i[7:0] (Read/Write)
// others - reserved
// 0x28 : reserved
// 0x2c : Data signal of c_o
// bit 7~0 - c_o[7:0] (Read)
// others - reserved
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)


この方式では、AXI4 Lite バスに接続されたプロセッサ?などの負担が大きくなる。しかもサンプルドライバが必要なはずだ。探してみると、solution1\impl\drivers\example_top_v1_00_a\src にドライバのCソースコードがあった。下に示す。
Vivado_HLS_46_130826.png

ap_hs バスの信号を設定する関数が並んでいた。

これでは、ソフトウェアの負担が大きいので、もう少し、ハードウェアにバスのプロトコル変換を任せることは出来ないのか?と思う。オプションがあるかもしれないので、探ってみようと思う。
  1. 2013年08月26日 05:08 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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