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

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

FPGAの部屋

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

FPGAの部屋のまとめサイトの更新(2017年7月14日)

FPGAの部屋のまとめサイトを更新しました。
DNNAWS-FPGA を追加して、その他のカテゴリーの記事を更新しました。
なお、以前あったDeep Learning はDNN とマージしました。
  1. 2017年07月14日 03:58 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

技術書典2に行ってきました

昨日、技術書展2 に行ってきました。

秋葉原のアキバ・スクエアでやってました。
tech_book_1_170410.jpg

開場する11時前に行ったのですが、すごい人で、雨の中並んでいました。
tech_book_2_170410.jpg

1時間くらい並んでやっと会場に入れました。いろいろな自作の技術書がたくさんありました。やはりソフトウェアの本が多かったですね。FPGAの本もありました。Lattice のFPGAの基板も売っていて、本も売っている方もいました。

私が買ったのは、ひでみさんのFPGA本、AGPF WORKS (とっても内容があって1,000円では安かったです)、買いたくても買えなかったFPGA技術SPECIAL、「TesorFlow はじめました」とこれはオライリーの本の「Caffe をはじめよう」です。
tech_book_3_170410.jpg

雨の中並ぶのは大変でしたが、とっても楽しかったです。また技術書典3があったら行きたいですね。
そうそう、傘を畳むときに水しぶきをかけてしまった並んでいた時の隣の方、すみませんでした。
あと、オライリーの売り場で「本当にオライリーなんだ」と言ってしまって、ツィートされていました。疑って申し訳ない。でも、薄くて背表紙に何も書いてなかったので、もしかして、お礼―リーなのかな?と思っちゃったんですよ。。。
  1. 2017年04月10日 05:27 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

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

FPGAの部屋のまとめサイトを更新しました。
FPGAのマイクロプロセッサ演算処理のFPGAへの適用方法を追加して、その他のカテゴリーの記事を更新しました。
  1. 2017年03月06日 04:39 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

特殊電子回路株式会社の基板年賀状が届きました

昨日、話題の特殊電子回路株式会社の基板年賀状が届きました。
なひたふさん、特殊電子回路株式会社で1回買っただけなのに申し訳ありません。ありがとうございます。
kiban_nengajyo_1_170104.jpg

kiban_nengajyo_2_170104.jpg

部品を購入して作ってみようと思います。
  1. 2017年01月04日 05:37 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

2016年のFPGAの部屋のブログのまとめ(7月~12月)

2016年のFPGAの部屋のブログを振り返ってみた。その2。

7月
PmodHB5 のセンサー・フィードバック処理IP を作ってみた3
Zybotの車輪のセンサー・フィードバックのデータを取得した
AXI4 Slave Bus Functional Model のVerilog HDL版4(今回の修正は、Xilinx社のIP はAxREADY がいつもは 1 になっていることから、AxREADYがいつも 1 になるように変更した。これがデフォルトのモードで、AWREADY_IS_USUALLY_HIGH、ARREADY_IS_USUALLY_HIGH を 0 にすることで、従来のAxREADY がいつもは 0 のモードにすることができる)
AXI4 Slave Bus Functional Model のVHDL版4
Vivado HLS で DMA Write IP を作る(絶対アドレス指定編)(AXI4 Master でフィルタを実装するコードを考えていると、やはり、memcpy() と中のフィルタ処理を重ね合わせられないので、すべてVivado HLS で作ると性能が出しにくい。
そこで、フィルタ部分はAXI4 Stream で作っておいて、DMA 部分は別にAXI4 Master Read - AXI4 Stream のDMA Read とAXI4 Stream - AXI4 Master Write の DMA Write の2つのIP をVivado HLS で作った方が良さそうだ)
Zybot が走った(Ubuntu 上でPWMモジュールIP とモーター・モニタIP を制御するアプリケーション・ソフトウェアを作成して、Zybot を走らせた)
Vivado HLS で DMA Read IP を作る(絶対アドレス指定版)
ガボール・フィルタ (Gabor Filter) による白線検出1
(ガボール・フィルタ (Gabor Filter) を使用して白線を検出してみようと思う)
ガボール・フィルタ (Gabor Filter) による白線検出2(カーネルサイズ 21 のガボール・フィルタで道路の白線を検出してみたが、今回はカーネルサイズ21だとハードウェアが大きいので、カーネルサイズを 9 にしてみた。更に、カーネルのパラメータを取得した)
ガボール・フィルタ (Gabor Filter) による白線検出11(その他の道路写真での検証)(ガボール・フィルタは完成した(パラメータを調整する必要はあると思う)が、まだ1枚の道路の写真しか試していないので、もう少し違った写真で試した)

8月
Gabor FilterをZYBO_0_162_2 へ実装してみた(ガボール・フィルタをZYBO用のプロジェクトに実装した)
Zybot にカメラを搭載して、白線を写してみた
Maker Faire Tokyo 2016 に行ってきました
ビットマップ・ディスプレイ・コントローラをAXI4-Stream対応にする1(構想編)(メラ・コントローラはAXI4-Stream版がすでに作ってあるが、ビットマップ・ディスプレイ・コントローラのAXI4-Stream版がないのでそれを作ることにした)
Gabor FilterをZYBO_0_162_2 へ実装してみた4(ZYBOで確かめた)(ガボール・フィルタをZYBO用のプロジェクトに実装して、白線がどのように表示されるか確かめた)
宝篋山に登ってきました
Vivado HLS でAXI4-Stream Master Model IP を作る
(久しぶり Verilog HDL を使って、AXI4-Stream版ビットマップ・ディスプレイ・コントローラを作っている。ビットマップ・ディスプレイ・コントローラはAXI4-Stream Slave なので、シミュレーションするには AXI4-Stream Master が必要となる。始めは、HDL で AXI4-Stream Master IP を作ろうとしたのだが、考えてみれば、Vivado HLS で、C++ で AXI4-Stream Master IP を作ってもよいのじゃないか?ということで、Vivado HLS 2016.2 を使用して作ってみた)
ビットマップ・ディスプレイ・コントローラをAXI4-Stream対応にする5(IP作成)(AXI4-Stream版ビットマップ・ディスプレイ・コントローラが出来上がったのでIP にした)
スペアリブの煮込みを作りました
MT9D111インターフェース基板2の作製1(KiCadでの設計)(CMOS カメラ MT9D111 のインターフェース基板は以前作成したが、Zybot で使用するのに、ケーブルで伸ばしたいので、バッファを入れた基板を作成することにした。この基板はGNDとVCCのピンを間違っていた。orz)
Zybot のカメラ画像をBMPファイルに変換するアプリケーションを作成した(Zybot の白線の画像や白線検出した結果の画像をBMPファイルに変換するアプリケーションを作成した。これで、白線の画像をGabor Filter で検出するときのパラメータを最適化することができる)
Vivado HLS で生成した AXI4 Master DMA IP を使用したカメラ画像表示システム1(プロジェクト作成)(今まで作ってきた AXI4-Stream版ビットマップ・ディスプレイ・コントローラ IPと AXI4-Stream版カメラ・コントローラ IP、Vivado HLS で作成したAXI4 Master DMA Write IP、Vivado HLS で作成したAXI4 Master DMA Read IP を使って、カメラ表示システムを作ってみることにした)
Zybot のカメラ画像でGabor Filterのパラメータを取得した(Zybot のカメラ画像を取得してBMPファイルに変換するアプリケーション・ソフトウェアを作成した。今回は、このアプリケーションで取得したZybot のカメラ画像からGabor Filterのパラメータを取得した)
Zybot による白線間の自動走行1(Gabor fillter の修正、C ソースコード)

9月
FPGAコンパイルマシンが届きました(新しいパソコン)
リコンフ研に行ってきました
Vivado HLSで作ったDMA Read IP を実機でテスト1(動作しない)(DMA Read IP が今も動いていないので、来年はちゃんと動くようにしたい)
Zybotのカメラによる白線追従走行(Zybot の白線検出、追従走行のアプリケーション・ソフトウェアを作って、白線追従走行させてみました。動画ありますので、見てください。まだ、限定的な状況でしか白線走行できません)
Zybot で Gabor filter を使う際のDMA Write IP(Gabor filter をソフトウェアで 250 ms ごとに切り替えていた。これは、500 ms に1回 Gabor filter の画像が取得できることを表している。この時間を短くしたいということで、AXI VDMA をVivado HLS 2016.2 で作成したDMA Write IP に差し替えようと思う。つまり、ハードウェアで自動的に左右のGabor filter を切り替えて、異なるアドレスのフレームバッファに書き込むことにしよう)
飛行ドローンを買ってみた
Vivado HLS でFIFO を作ってみた1(指示子を入れない場合)

10月
Zybot で Gabor filter を使うためのZYBO_0_5 プロジェクト5(走行テスト)(、ハードウェアで自動的に左右のGabor filter を切り替えて、異なるアドレスのフレームバッファに書き込むことにしたプロジェクトを使用した白線走行の動画がある)
Zybot で隊列走行をさせたい(妄想編)(マーカーをRGBからHSVに変換して色相を見て追従走行する)
Vivado HLS でRGB2HSV IPを作る1(UNROLL指示子による性能向上)
PYNQボード1(PYNQボードが届いた)
PYNQボード用PSの設定方法(Vivado のブロックデザインでPS の設定はどうやるのか?というのが疑問だったので、調べてみた)
PYNQボードのデバイス・ツリー(devicetree)
Vivado HLS 2016.3 での変更点
Vivado 2016.2 のプロジェクトをVivado 2016.3 にアップグレードすると動作しなかった
Vivadoを使用してZYBO_0_163_6フォルダのプロジェクトにRGB2HSV IPを追加4(RGB2HSV)(HSV2RGB変換をARMプロセッサで動作するソフトウェアとして実装して結果を確認し、次にHSV2RGB変換時にS = V = 255 としてH を変換して結果を確認した)
MT9D111をコードを伸ばしてステレオ・カメラにする1(I2Cのプルアップ抵抗)(Zybot にMT9D111 カメラ・モジュールを搭載しているが、インターフェース基板をZYBO に直付けしている。ステレオ・カメラにするためには、延長コードをつけてカメラ・モジュールを 15 cm 程度延ばす必要がある。延長するとI2Cが通らなくなるので、カメラ・モジュールのI2Cのプルアップ抵抗を変更してみたが駄目だった)
MT9D111をコードを伸ばしてステレオ・カメラにする2(SCL, SDAの波形計測)(SCL, SDAの波形をオシロスコープで計測した。測定ポイントはコードを延ばした先のカメラ・インターフェース基板のコネクタ部分だ)
2台の Zybot での隊列走行1(構想編)(今まで作ってきたRGB2HSV変換IP を使って、2台のZybot で隊列走行をさせたいと思う。それではどのようにやるか?を検討していこう)
MT9D111をコードを伸ばしてステレオ・カメラにする3(I2CリピータIO付きカメラ・インターフェース基板)(秋月電子のI2C リピーターIC の PCA9515AD を使ったカメラ・モジュールのインターフェース基板をKiCad で作成した。この基板もGNDとVCC が間違っていた)

11月
Intel SoC FPGA デベロッパー・フォーラム
JACORN2016に参加しました
RAMの初期化ファイルのあるAXI4 Slave BFM(VHDL版)(Xilinx社のIP はAxREADY がいつもは 1 になっていることから、AxREADYがいつも 1 になるように変更した。これがデフォルトのモードで、AWREADY_IS_USUALLY_HIGH、ARREADY_IS_USUALLY_HIGH を 0 にすることで、従来のAxREADY がいつもは 0 のモードにすることができる)
RAMの初期化ファイルのあるAXI4 Slave BFM(Verilog HDL版)
坂東市いわい将門ハーフマラソン(2016)
MT9D111をコードを伸ばしてステレオ・カメラにする6(I2CリピータIO付きカメラ・インターフェース基板が届いた)(GND とVCC が間違っていたので、I2CリピーターIC から煙が出た。慌てて、修正した基板を発注した)
Vivadoを使用してZYBO_0_163_6フォルダのプロジェクトにRGB2HSV IPを追加6(UbuntuでRGB2HSVを試す)(BOOT.bin や devicetree.dtb を作成して、SDカードに書き込み、ZYBOに挿入して電源ONした。Ubuntu が起動して、それ上でカメラの動作を確認できた。今回は、RGB2HSV IP を使うアプリケーション・ソフトウェアを作成して、RGB2HSV変換を行った)
つくばマラソンの10Kmに出場しました
Vivado HLS によるAXI4 マスタ・インターフェースのバースト転送2(Vivado HLS 2015.4 時代からは、Vivado HLS によるAXI4 マスタ・インターフェースのバースト転送が memcpy() 関数を使うだけでなく、ある条件の for 文で AXI4 マスタポートを使用したときにも適用されるようになった。それをテストしてみた)
2台の Zybot での隊列走行3(追従用Zybotの戦略)(隊列走行の前走車のアプリケーションはできた。今回は追従用Zybot の戦略を考える)
SDSoC 2016.2 でラプラシアンフィルタをテスト1(SDSoC を試したのはSDSoC 2015.2 の時だったが、今回、SDSoC 2016.2 でもう一度、確かめてみよう)
2台の Zybot での隊列走行4(追従走行用アプリケーションの作成1)(追従用Zybot の戦略を考えたが、今回はそれに基づいて追従走行用アプリケーション・ソフトウェアを作成し、認識テストを行った)

12月
2台の Zybot での隊列走行5(追従走行を試してみた)(追従走行用アプリケーション・ソフトウェアを作成し、認識テストを行った。今回は、実際に2台の Zybot を使用して追従走行を試してみた。動画あります)
Zybot に超音波距離センサを搭載する1(概要)(「2台の Zybot での隊列走行5(追従走行を試してみた)」で曲がりなりにも 2 台の Zybot で隊列走行ができるようになった。その際に前走車の走り方によっては隊列走行が崩れる時がよくある。そこで、カメラの画角から外れてしまっても、追従車は予測で走れるようにしたいのだが、何か物体があったらぶつかってしまう。そこで、ぶつからないように超音波距離センサをつけたいと思う)
Xilinx 社のマイクロプロセッサまとめ1(PicoBlaze, MicroBlaze MCS)
Zybot に超音波距離センサを搭載する2(Arduino でセンサをテストする)(動作した)
Zybot をステレオカメラにする1(カメラ・インターフェース基板の実装とテスト)(”I2Cリピーター付きカメラ・インターフェース基板2が来ました”で届いた基板に部品を実装してZYBO に延長ケーブルを付けてテストしてみた。テストの結果、問題なく動作した。これでステレオカメラにすることができる。なお並べてZYBOに実装することもできる)
Zybot に超音波距離センサを搭載する3(Vivado HLSでインターフェースIPを作製)
Xilinx 社のマイクロプロセッサまとめ2(MicroBlaze)
Zybot に超音波距離センサを搭載する8(ZYBO_0_162_7 に 2 つのIP を追加2)(Synchronizer を追加して完成した)
Xilinx 社のマイクロプロセッサまとめ3(Zynq)
第2回FPGAスタートアップセミナーに参加しました
Zybot に超音波距離センサを搭載する10(Zybot に取り付けた)(超音波距離センサ・インターフェースIP をLinuxからも使うことができた)
Vivado 2016.2 からVivado 2016.4 へアップグレード
Vivado HLSのビデオ プロセッシング関数を使用したOpenCVのFPGAアクセラレーション
SDSoC のプラットフォームのお勉強1(SDSoC のプラットフォームの生成方法について学ぶことにした)
SDSoC のプラットフォームのお勉強3(ハードウェア・プラットフォームの試作1)(試しにハードウェア・プラットフォームを作成してみる)


1年を振り返ってみると、Vivado HLS を使いまくった1年だった気がする。
来年はSDSoC も自由にプラットフォームを作りれるようになりたい。
Zybot の実装も順調に進めてきた。来年はステレオカメラにしよう。
  1. 2016年12月31日 07:26 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

2016年のFPGAの部屋のブログのまとめ(1月~6月)

2016年のFPGAの部屋のブログを振り返ってみた。

1月
Vivado HLS勉強会4(AXI4 Master)を公開しました(今年はVivado HLS の記事をFPGAマガジンにも書かせてもらった)
筑波山神社に歩いて初詣に行ってきました
ZYBO_0_2 と ZYBO_1_XGA_test との接続テスト(ZYBO_0 にDigilent 社の rgb2dvi IP を実装することができた。(ZYBO_0_2))
Vivado HLS勉強会5(AXI4 Stream)を公開しました
ステレオカメラによる距離測定テスト1(構想編)(”ZYBO_0 を変更3(Ubuntu 14.04 LTSのBOOT.binを変更)”でステレオカメラの要素技術は大体クリア出来たので、ステレオカメラを構築していくことを考えてみよう。)
牛久シティマラソンの5kmに参加しました
Digilent社のボード・ファイルのインストール(ボード・ファイルにはお世話になった)
ZYBO_0_2 と ZYBO_1_XGA_test との接続テスト時の画像のバグのデバック2(アプリの変更)(HDMIの出力を入力するときの左端の画像がおかしい問題は解決した)
FreeCADでDIP ICの3Dモデルを作る1(3D CadソフトのFreeCADを勉強してDIP ICパッケージのモデルを作った。実際に3Dプリンタでプリントしてみた)
デバイスドライバ udmabuf を使用する1(@ikwzm さんのLinuxでユーザー空間で動作するプログラムとハードウェアがメモリを共有するためのデバイスドライバ udmabuf を使わせて頂いた。便利に使っている。感謝)
マウスコンピュータのノートパソコン、LB-J321E-SSD2 が来ました(ノートパソコンを購入した)
・ステレオカメラによる距離測定テスト6(ステレオカメラのテスト)(SDKを立ち上げて、ベアメタル・アプリケーションを作製して自分のカメラと、ZYBO_0_2 からHDMI ポート経由で送られてきた画像が表示できるか?を確認した)
LinuxでSDカードをバックアップ、リストア(Linux環境でのSDカードのバックアップ、リストア方法)

2月
MPSoCのお勉強1(概要)
MPSoCのVivado プロジェクトを作ってみよう1(MPSoC のプロジェクトを作製した)
守谷ハーフマラソン(うちの奥さんが5km で世代別優勝した。びっくりしたな。。。)
ZYBO をUbuntu 14.04 LTS にアップグレードした場合のエコーバック(解決方法を教えて頂いた)
ステレオカメラによる距離測定テスト10(左右カメラの視差の測定)(左目カメラ画像に右目カメラ画像の一部を表示するアプリケーションだ。右目カメラ画像の一部を表示するエリアは、左目カメラ画像の輝度を 1/2 にして、そこに輝度を 1/2 にした右目カメラ画像を足し合わせる。デフォルトでは、右目カメラ画像の縦方向真ん中で、横方向左端の 160 ピクセル X 120 行を切り取って、左目カメラ画像に表示する。)
ステレオカメラによる距離測定テスト13(チェッカーボードの撮影結果)(カメラで撮影した画像に思いっきり樽型ひずみが出ていた)
OpenCV 2.4.10 の stereo_calib.cpp をやってみた
MPSoC勉強会で”MPSoCのPLの性能について”という発表をしてきた(サポート用のブログ)
OpenCV 2.4.10 の stereo_match.cpp をやってみた
左目カメラ画像と右目カメラ画像をBMPファイルに変換するアプリケーションを作成した

3月
ZYBO_0_2のビットマップ・ディスプレイ・コントローラのバグフィックス(ZYBO_0_2 のビットマップ・ディスプレイ・コントローラのワードレーンがおかしいようなので修正を行った)
ZYBO_0_2のビットマップ・ディスプレイ・コントローラのバグフィックス2(今回は、右目カメラ画像に出ている黒いドットを消すことができた。原因は、ビットマップ・ディスプレイ・コントローラの出力の display_enable が 1 クロックずれていたことだった)
hls::LineBufferとhls::Windowでラプラシアンフィルタを実装する1(あるところから hls::LineBuffer と hls::Window を教えて頂いたので、それを使ってラプラシアンフィルタを実装した。ありがとうございました)
OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた3(いろいろと失敗してきた”OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた”ですが、ついにうまく行った。勝因は、チェスボードに黒枠をつけたのと、チェスボードが大きめに画面に写っていたほうが良いみたいだ)
hls::LineBufferとhls::Windowでラプラシアンフィルタを実装する7(2 つの実装を実際に使用する 800 x 600 ピクセルの解像度に変更して、どの位リソースを使うかと、今までは 100 MHz で合成してきたが、どの位の動作周波数で合成できるかを探ってみた)
OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた4(stereo_match_cam.cpp の作成)(前回で、”OpenCV 2.4.10 の stereo_calib.cpp を自分のカメラ画像でやってみた”が上手く行った。でも、これは、右目カメラ画像と左目カメラ画像をBMPファイル変換して、そのBMPファイルに対して stereo_match を起動して、disparity を計測した。これだとBMPファイルにする手間があるので、右目カメラ画像と左目カメラ画像をバッファしているフレームバッファから直接、画像を取得して、stereo_match するようにソフトウェアを書き換えた。これを stereo_match_cam.cpp とした)

4月
Vivado HLS 2015.4 で OpenCV を使ってみた2(テストベンチに Mat を使って実装した)
Vivado HLS 2015.4 で OpenCV を使ってみた3(Sobelフィルタを試した1)
Vivado HLS 2015.4 で OpenCV を使ってみた7(FAST Corners Detection 1)
かすみがうらマラソンに出場しました
OpenCV の X軸方向 Sobel フィルタ IP のカメラ表示システム(”Vivado HLS 2016.1 で OpenCV の Sobel フィルタを試してみた”で作った X軸方向 Sobel フィルタの IP をカメラ表示システムに入れて、Sobel フィルタ出力が表示された)
FASTXコーナー検出IPのカメラ表示システム5(Vivado HLS 2016.1でやってみた3)(前回は、hls::Duplicate() で複製された img_1_ の data_stream に hls::FASTX() と hls::Dilate() の最大レイテンシの 7 行と 3 行を足した 10 行分より多い 2 の 13 乗の 8196 個の FIFO バッファを付けるように STREAM ディレクティブを指定した。
今回は、前回作製した FASTX コーナー検出IP を使用して、Vivado 2016.1 で論理合成、インプリメントを行って、SDKでZYBO にコンフィグレーションしアプリケーションを起動して、 FASTX コーナー検出できた)
FASTX コーナー検出の改良3(threshold をソフトウェアで変更可能にする)( threshold を変更できるFASTX コーナー検出IP をカメラ表示システムに組み込んで実際に表示してみた)
AXI VDMAのMM2Sを使用してビデオ出力1(構想編)(これはうまく行かなかったな。どうもAXI VDMA とは相性が良くないようだ)

5月
定期戦に行ってきました
AXI VDMAのMM2Sを使用してビデオ出力7(実機でテスト)(cam_disp_axis.c を AXI VDMA の MM2S を使う仕様に変更して、ZYBO実機でテストしてみたが、何も表示されない。やはり、AXI VDMA とは相性が悪い)
KiCad-4.0.2 と FreeRouter インストール覚書
Vivado HLS を使用した車の白線検出1(初めに)(車の白線検出をハードウェア化してみたいということで、OpenCVを使用して車の白線検出を行い、それをVivado HLS でハードウェア化してみることにした)
Vivado HLS を使用した車の白線検出4(ヒストグラム均一化)(cannyフィルタでエッジ検出した後でHough 変換を行って、直線検出したが、最後の暗い画像では、道路の白線を検出することはできなかった。今回は、canny フィルタの前に equalizeHist() を行うことで、ヒストグラムの均一化したところ、白線検出できるようになった)
Vivado HLS を使用した車の白線検出5(hls::HoughLine2())(前回はヒストグラムの均一化を行ってから、グレー変換、Canny フィルタ、Hough 変換を行うと白線検出をすることができた。今回は、”Vivado HLS を使用した車の白線検出1(初めに)”で使用した”ka367/Lane-Detecting-Using-Hough-Transform”が動作して、C シミュレーションとC コードの合成をすることができた。でも、ロジックが大きすぎてZYBOに入らない。。。)
Vivado HLS を使用した車の白線検出7(Canny フィルタ1)(前回、白線検出ハードウェアはとてもZYBO には入らないということがよく分かった。それでも Canny フィルタだけはハードウェアにしたいということでやってみた)
ZYBO 上のOpenCV で白線検出2(equalizeHist() を使用した場合2)(前回は、equalizeHist() を使用し、Canny フィルタを掛けて、HoughLine 変換で道路の白線検出を行った。しかし、画像を読み込む時点で白黒画像に変換していた。ハードウェアでは、カメラで撮影した画像を白黒変換して、Canny フィルタを掛ける予定なので、白黒画像変換の部分の経過時間も測る必要がある。それでC++ ソースコードを修正した。更に、白黒画像変換+Canny フィルタの経過時間を測定した)
Z-turn Board が届きました
ZYBO 上のOpenCV で白線検出3(Canny フィルタのみの場合)(今回は前回のコードはそのままに、10行目の”#define HIST”をコメントアウトして、equalizeHist() を使用しないで、Canny フィルタのみで白線検出を行うことにする。なお、Canny フィルタのスレッショルドは、試行錯誤して、最適化したつもりだ)

6月
Vivado HLS を使用した車の白線検出10(ラプラシアンフィルタ1)(Cannyフィルタのロジック量が大きいので、ラプラシアンフィルタに変更したら良好な結果を得た)
Z-turn Board のPS設定をサンプル・プロジェクトからコピーする
Zybot の作製1(構想編)(Zybot を作製しようとしている。Zybot はZYBO を搭載した車といっても本物の車のサイズではなくミニカーの部類だ)
Zybot の作製2(組み立て1)(Zybot 組み立てマニュアルを参照して、Zybot を途中まで組み立ててみた。なお、これは、Zybot の仮組でとりあえずモーターを動かして、車を動かすのを目的とする)
Vivado HLS で PWM モジュールIP を作ってみた(Zybot のモーターコントロール用Hブリッジ回路のPmodの Digilent PmodHB5 を制御するPWM モジュールIP をVivado HLS 2016.1 で作ってみた)
Altera SDK for OpenCL勉強会に行ってきた
レジスタ設定用AXI4 Master IPをVivado HLS で作ってみた(PWM モジュールIP をシミュレーションするために、レジスタ設定用AXI4 Master IPをVivado HLS で作ってみた)
PmodHB5 のセンサー・フィードバック処理IP を作ってみた
Vivado HLS 2016.2 で volatile を使用する場合
Zybot の車輪が回転した(モーター・センサポートのSA, SB の波形有り)
舌下免疫療法(スギ花粉症)
KiCad-4.0.2 のフットプリント作成方法

7月~12月編に続く。

今年は中身が濃い気がするな。。。
  1. 2016年12月30日 07:45 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

第2回FPGAスタートアップセミナーに参加しました

昨日は第2回FPGAスタートアップセミナーに参加しました。
そこでライトニング・トークをさせていただきました。第1回でFPGAの部屋のブログを宣伝していただいたということなので、より詳しい情報をお知らせしたかったためです。
ライトニング・トークのスライド”FPGAの部屋、slide share、xilinxツールのご紹介”をSlideShareで公開しました。
一部、まずい部分は修正させていただきました。後、会場で聞かれた点を加筆しました。
ライトニング・トークは10分の予定が20分近くしゃべらせて頂いたような。。。実際のツール(Vivado と Vivado HLS)もご紹介しました。
懇親会も途中まで参加させて頂いて、楽しい時間を過ごせました。皆さん、そして会場を提供頂いたサイボウズ様、ありがとうございました。とっても素敵な会場でした。
  1. 2016年12月19日 04:36 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0
»