FC2カウンター FPGAの部屋 Vivado HLSのExampleを試してみる3(インターフェイス)

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

FPGAの部屋

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

Vivado HLSのExampleを試してみる3(インターフェイス)

Vivado HLSのExampleを試してみる2(シミュレーションと合成)”の続き。

今日はInterface について調べてみた。

・example_csynth.rpt を開いて、右のウインドウからOutline タブをクリックした。

・Interface をクリックすると、example_csynth.rpt のInterface 部分が表示された。
Vivado_HLS_30_130824.png

・ap_... というインターフェイスのプロトコル用信号と、a, b, c の信号が並んでいた。このバスのインターフェースを調べてみよう。

・インターフェースは、example.cpp で pragma として定義されていた。
 a が ap_hs, b が ap_vld, c が ap_none の register 指定だ。
Vivado_HLS_13_130823.png

Vivado Design Suite ユーザー ガイド 高位合成 UG902 (v2013.2) 2013 年 6 月 19 日”(以下マニュアルと書く)の69ページから”インタフェイスの管理”として書かれている。

下に、図 1-37 :データ型とインターフェイス合成のサポート を引用させていただきます。
Vivado_HLS_31_130824.png

各インターフェイスの対応が書いてある。使用しているインターフェイスは、ap_none, ap_vld, ap_hs なので、どのインターフェイスもPointer Variable に対応している。各インターフェイスとAXI4バスの対応も書かれている。このExample に使用されているインターフェイスはAXI4 Lite に対応している。

インターフェイス タイプ ap_none、 ap_stable、 ap_ack、 ap_vld、 ap_ovld、 および ap_hs の場合は、個別の入力ポートおよび出力ポートとして合成されるそうだ。(マニュアルの71ページ)

ap_hs (ap_ack、 ap_vld、 および ap_ovld) (マニュアルの75ページ)
ap_hs インターフェイスでは、clock, ap_rst, ap_start, ap_idle, in_vld, in_ack, out_vld, out_ack を使用している。
ap_ack はその内のack だけ、ap_vld はその内のvld だけを使用するそうだ。

下に、図 1-41 : ap_hs インターフェイスの動作 を引用させていただきます。
Vivado_HLS_32_130824.png

これを元の最初のInterface を見てみると、a には、ack と vld があるが、b には、vld のみ、c にはなにもないことがわかる。
Vivado_HLS_30_130824.png

VHDLファイルの entity の Port 部分を見ても同様になっている。
Vivado_HLS_24_130824.png

これらのインターフェイスはAXI4 Lite Slave に接続されるようだ。マニュアルの89ページ、”AXI4-Lite スレーブ インターフェイス”を参照のこと。

Vivado HLSのExampleを試してみる4(C/RTL Cosimulation)”に続く。
  1. 2013年08月25日 05:30 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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