FC2カウンター FPGAの部屋 Vivado HLS勉強会第2日目

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

FPGAの部屋

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

Vivado HLS勉強会第2日目

Vivado HLS勉強会第1日目に続き、2日目です。
今日はAXI4 バスを生成するというお題でした。AXI Lite Slave, AXI Master, AXI Stream。

Vivado HLS勉強会3 (AXI4-Lite Slave)
  • Vivado HLS勉強会1、2で使用した掛け算のプロジェクトをAXI4-Lite Slaveインターフェースにする
    • Vivado HLS 2014.4
      • Vivado HLS 2014.4のプロジェクトを新規作成
      • C++ソースコードとテストベンチは勉強会2の物を使用する
      • INTERFACEディレクティブ(AXI4 Lite Slave mode)
      • CからHDLを生成
      • C/RTLコシミュレーション
      • VivadoでC/RTLコシミュレーションの波形を確認
      • IPとしてパッケージ
    • Vivado 2014.4
      • Vivadoでプロジェクトを作製
      • AXI4 Lite Slave (multi_apuint) IPをIP Catalogに登録
      • ブロックデザインにIPを追加し、回路を構成
      • 制約ファイルを追加
      • 論理合成、インプリメント、ビットストリームの生成
      • ハードウェアをエクスポートして、SDK起動
      • Vivado HLSが作ったドライバを使用し、ソフトウェアを作製
      • 実機確認

Vivado HLS勉強会4 (AXI4 Master)
  • ソフトウェアとして作製したCソースを使用する
    • Vivado HLS 2014.4
      • Vivado HLS 2014.4のプロジェクトを新規作成
      • ソースコードとテストベンチをコピー
      • Cシミュレーション
      • CからHDLを生成
      • C/RTLコシミュレーション
      • VivadoでC/RTLコシミュレーションの波形を確認
      • IPとしてパッケージ
  • memcpy()関数を使用してバースト転送を行う
    • Vivado HLS 2014.4
      • Vivado HLS 2014.4のプロジェクトを新規作成
      • ソースコードとテストベンチをコピー
      • Cシミュレーション
      • CからHDLを生成
      • C/RTLコシミュレーション
      • VivadoでC/RTLコシミュレーションの波形を確認
      • IPとしてパッケージ
  • 更にディレクティブやソースの変更でHLSに最適化
  • @tu1978さんが書き換えてくれたコードを使用しています
    • Vivado HLS 2014.4
      • Vivado HLS 2014.4のプロジェクトを新規作成
      • ソースコードとテストベンチをコピー
      • Cシミュレーション
      • CからHDLを生成
      • C/RTLコシミュレーション
      • VivadoでC/RTLコシミュレーションの波形を確認
      • IPとしてパッケージ

Vivado HLS勉強会5 (AXI4 Stream)
  • Vivado HLS 2014.4
    • AXI4 Streamのラプラシアンフィルタ用プロジェクト作製
    • ソースコードなどをコピーして、Add Sources
    • Cシミュレーション
    • CからHDLを生成
    • C/RTLコシミュレーション
    • VivadoでC/RTLコシミュレーションの波形を確認
    • IPとしてパッケージ
勉強会全体で実機確認は2回です。パソコンなどの備え付けのセミナルームではなく、会議室みたいなところで、ノートパソコン持ち込んでもらってやっているので、機材の都合で難しいです。

疲れました。いろいろと課題も見えてきました。このような内容なので、ZynqやAXIバスを知らないとメリットが良くわからないかもしれません。AXIバスは簡単にかけて、AXIバスをHDLで自分で書いていた人から見れば感動モノなんですが、やったこと無い人にはどうなのか?
またZynqは一番AXIバスの恩恵を受けますが、Zynqをわからない人にはわからないという懸念が有ります。
つまり今のところ、多少、AXIバス、Zynqの説明はしますが、両方わかっている人向けになっています。
実機はZYBOを使用しました。

なお、勉強会4 では、3つのラプラシアンフィルタの実装を示して、実装の違いによる速度の違いを実感してもらいました。
  1. 2015年09月16日 04:35 |
  2. Vivado HLS
  3. | トラックバック:0
  4. | コメント:3

コメント

おつかれさまです。

数週間かけて検証して行った内容を、二日間に凝縮したのですから教える方も教わる方も大変だったでしょうね。
こんなことが出来るんだって思った人が、こんなことやってみたいって思えたら成功ではないでしょうか。
  1. 2015/09/16(水) 08:55:45 |
  2. URL |
  3. おる #-
  4. [ 編集 ]

こんばんわ。

>つまり今のところ、多少、AXIバス、Zynqの説明はしますが、両方わかっている人向けになっています。

いやー、両方とも「しっかり」分かっている人じゃないと・・・^^;)。RTLを使って手組みをしたらトンでもない代物を、如何にスパッと簡単に・・・と見せる、もしくは見せ掛けるのが高位合成の醍醐味ですから、たたき台にするお題目が難しいものでないと意義が薄れますし、今時の複雑な物と言うならZynqやAXIバスぐらいは持ち出して画像処理とかやらないと複雑とは言えなくなりますし・・・。
 で、「両方わかっている人向け」の割り切りでも、宜しいんじゃないかと。
  1. 2015/09/16(水) 23:15:15 |
  2. URL |
  3. くり #195Lvy4Y
  4. [ 編集 ]

おるさん、くりさん、コメントありがとうございます。

おるさん、そういうことをコメントで書いてくれた人がいました。良かったです。嬉しいですね。

くりさん、普通の大学院生の人向けには難しいかも?ということで、やはり、2日目は眠そうにしている人もいましたが、全部のハンズオンをやってくれました。

来年はCOJTの人向けにやってくれと言われていますが、この学生さんはZynqもAXIバスも実験で説明を受けているので、やりやすいかもしれません。あまりやりたくないですけど、毎年ツールを最新版に書き換えるのはやりたくないです。。。
COJTはキャンパスOJTで外部講師が学生実験の面倒を見ています。
http://inf.tsukuba.ac.jp/ET-COJT/
  1. 2015/09/17(木) 03:25:49 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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