FC2カウンター FPGAの部屋 その他のFPGAの話題
FC2ブログ

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

FPGAの部屋

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

FPGAの部屋のまとめサイトの更新(2019年9月23日)

FPGAの部屋のまとめサイトを更新しました。 2019 年 9 月 23 日までの記事を更新しました。
  1. 2019年09月23日 06:52 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

FPGAの部屋のまとめサイトの更新(2019年6月24日)

FPGAの部屋のまとめサイトを更新しました。Donkey Car, ROS, Jetson Nano の記事を追加して、その他の記事を更新しました。
  1. 2019年06月24日 20:32 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

MIPIボード用PMOD拡張ボードをテストする3(実機でテスト)

MIPIボード用PMOD拡張ボードをテストする2(PMODテスト用IPの作成)”の続き。

今回は、PMOD 拡張ボードのPMOD の動作を確認するためにPMOD テスト用IP を作成し、Vivado に持っていって論理合成を行ったのだが、前回の回路では、clkcfg のDTS ファイルにfclk1 のエントリが無いので、クロックが主力されなかった。DTS ファイルに fclk1 のエントリを作れば良いのだが、面倒なので、fclk0 からクロックをもらってしまった。目で見て分からなくなったが、オシロスコープで確認すれば良いということにした。

もう一度、ブロック・デザインを貼っておく。
PMOD_B4MIPI_B_test_24_190524.png

ex_board_test_0 の ap_clk を fclk0 からもらっている。
論理合成を行って、出力ポートの位置とインターフェース仕様を決定した。
信号名とFPGAのピン番号の対応表を示す。

信号名   ピン番号
HD_GPIO_1 F8
HD_GPIO_2 F7
HD_GPIO_4 F6
HD_GPIO_5 G5
HD_GPIO_6 A6
HD_GPIO_9 E6
HD_GPIO_10 E5
HD_GPIO_11 D6


制約を示す。

set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[7]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[6]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[5]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[4]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[3]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[2]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[1]}]
set_property IOSTANDARD LVCMOS18 [get_ports {outc_V_0[0]}]
set_property PACKAGE_PIN F8 [get_ports {outc_V_0[0]}]
set_property PACKAGE_PIN F7 [get_ports {outc_V_0[1]}]
set_property PACKAGE_PIN F6 [get_ports {outc_V_0[2]}]
set_property PACKAGE_PIN G5 [get_ports {outc_V_0[3]}]
set_property PACKAGE_PIN A6 [get_ports {outc_V_0[4]}]
set_property PACKAGE_PIN E6 [get_ports {outc_V_0[5]}]
set_property PACKAGE_PIN E5 [get_ports {outc_V_0[6]}]
set_property PACKAGE_PIN D6 [get_ports {outc_V_0[7]}]


これで、論理合成、インプリメンテーション、ビットストリームの生成を行った。レポートを示す。
PMOD_B4MIPI_B_test_17_190525.png

design_1_wrapper.bit が生成された。これを”Fixstars Tech Blogの「Ultra96 Linux で MIPI カメラから画像を取得する」をやってみる2”の fpga.bif を使って fpga.bin を生成した。
bootgen -image fpga.bif -arch zynqmp -w -o fpga.bin
PMOD_B4MIPI_B_test_19_190525.png

fpga.bin を Ultra96 のDebian に SFTP した。
fpga.bin を /lib/firmware/ にコピーした。
PMOD_B4MIPI_B_test_20_190525.png

sudo ./init_camera.sh
を実行すると、GPIO の PMOD に波形が出力された。
PMOD 1 ピンの波形を示す。
PMOD_B4MIPI_B_test_21_190525.jpg

381,470 Hz だった。
パラメータを示す。概ね大丈夫そうだ。
PMOD_B4MIPI_B_test_22_190525.jpg

PMOD の途中の信号線をすべて確かめた。最後の PMOD 10番ピンの波形を示す。
PMOD_B4MIPI_B_test_23_190525.jpg
  1. 2019年05月25日 18:03 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

FPGAの部屋のまとめサイトの更新(2019年3月25日)

FPGAの部屋のまとめサイトを更新しました。PetaLinux, Docker, Edge TPU の記事を追加して、その他の記事を更新しました。
  1. 2019年03月25日 05:06 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

FPGAの部屋のブログの今年を振り返る

今年もこの記事を含めて、37+30+29+29+33+30+28+38+35+36+30+28 = 383 記事書きました。技術的な記事ばかりじゃなく、映画を見たよとか、走ったよという記事もありますが、よく記事を書いたと思います。

記事で書いてきたことは、やはり、畳込みニューラルネットワークをFPGA で実装したという記事が多いです。今年は、「ゼロから作るDeep Learning」の環境から、Keras + TensorFlow の環境に乗り換えることができました。それに、HLS ストリームを使用して、CNN のテンプレートを作ることもできました。このテンプレートを使用するとパラメータを入れてインスタンスするだけで、CNN が構成できるようになりました。
そうそう、白線間走行用CNN で走る Zybot に自宅に作ったコースを走らせるというプロジェクトですが、うまく行かなくて止まっています。来年は、Ultra96 に換装してガボールフィルタを使った自作走行システムで走らせながらCNN の学習データを取得するか?もしくは、自分でラジコンで走らせながら学習データを取得したいですね。そして、その学習データを元に白線間走行用CNN の学習を行ってZybot に白線間を走らせたいです。

それに常用しているVivado HLS 、もうこれなしではIP 作れないと言っても過言ではないかも?です。今年は、筑波大学でVivado HLS のセミナをやったのと、近隣の研究所でVivado HLS のセミナを開催中です。

そうそうUltra96 を使うようになって、低速コネクタに挿入してPMOD に変換する変換基板も作りました。そして、カメラを接続して、BMPファイルを作れるのを確認できました。その過程でOV5642 も使えるようになったのが嬉しかったです。来年はできればコミケなどで頒布したいですね。

2018.3 から SDSoC もWebPACK が出て無料で使えるようになりました。SDSoC はチューニングがVivado HLS ほどできないところはありますが、使っていきたいと思います。

トランジスタ技術11月号に、「手書き数字認識用FPGAニューラル・ネットワーク・システムの製作」という題名で書かせていただきました。付録のDVD にZYBO Z7-20 用のMNIST のCNN を使用した判定システムのVivado プロジェクトが入っています。ただ、使用しているカメラのMT9D111 が廃番になってしまいました。その代わりにOV5642 カメラのシステムを開発中です。
  1. 2018年12月31日 06:03 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

FPGAの部屋のまとめサイトの更新(2018年12月23日)

FPGAの部屋のまとめサイトを更新しました。
主にUltra96 の記事を追加しました。2018年12月22日までの記事を更新しました。
  1. 2018年12月23日 06:02 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

AVNET社主催の「ハイパフォーマンス・エクストリームコンピューティング・セミナー」に行ってきました

昨日、AVNET社主催の「ハイパフォーマンス・エクストリームコンピューティング・セミナー」に行ってきました。

やはり、Xilinx 社がクラウドでのFPGA に力を入れているのがよく分かるセミナーでした。
Alveo アクセラレータカードも展示してあって、デモが動いていました。
ALVEO_181208.jpg

デモでニューラルネットワークの画像認識が動作していたのですが、変換時間が1.66 ms くらいで1時間に3000枚程度認識できると表示が出ていましたが計算が合っていません。4つ同時に動いているのかな?と、聞いてみようと思いましたが、聞きそびれました。

セミナもHPC や金融などのセミナでした。
やはり、株の発注をFPGAでやっているんですね。サブ・マイクロ秒というように聞こえました。FPGA で発注判断とかもしちゃうみたいです。CPU介さないようですね。シビアな世界ですが、そのサブ・マイクロ秒サーバー側できちんと順番に受け取れるか?という疑問があります。きっと、サーバーのなるだけ近くにFPGAを置くようにしているのでしょう?場所争いがシビアなんでしょうね。。。

そうそう、7nm プロセスでは、DSP が浮動小数点数演算サポートになるそうです。いよいよIntel のStratix 10 と肩を並べるのですね。

最後の黒田さんのプレゼンは、高位合成のチューニングの勘所をとても詳しく解説してくれました。さすがだなと楽しく拝見していましたが、このセミナでは、詳しく説明しすぎじゃないのかな?と思いながら聞いていました。

懇親会でもいろいろな方にお会い出来てとっても楽しく過ごせました。思いもかけない方にお会いしましたね。

久しぶりのXilinx のセミナで楽しかったです。ありがとうございました。
  1. 2018年12月08日 07:55 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0
»