FC2カウンター FPGAの部屋 2013年を振り返る3(10月~12月)
FC2ブログ

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

FPGAの部屋

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

2013年を振り返る3(10月~12月)

10月
Vivado HLSで作ったラプラシアン・フィルタIPを使ってみる1、"Vivado HLSでラプラシアン・フィルタ式のみをaxi lite slaveモジュールにする2"でラプラシアン・フィルタの式のみをEDKの pcore として出力したので、XPSのプロジェクトに入れてハードウェア化してLinuxのソフトウェアから使ってみようと思う。
Vivado HLSで作ったラプラシアン・フィルタIPを使ってみる3、これで、ISEに戻って、インプリメント、ビットストリームの生成を行って、SDKでBOOT.bin を再生成して、SDカードに入れてブートしてみたが、問題なくブートできた。ソフトウェアを作って動作させたら、約1.94秒となった。完全にソフトウェアで実行した前回の 1.94 / 0.39 ≒ 5 倍になった。
Vivado HLSでラプラシアン・フィルタ関数をaxi masterモジュールにする1、今回は、ラプラシアン・フィルタ関数自体をVivado HLSで、AXI4 Master を使用したIPとして生成して見ようと思う。
Vivado HLSでラプラシアン・フィルタ関数をaxi masterモジュールにする2、前回、Vivado HLS の Export RTL で EDK用の pcore を作ってみたが、カメラ画像フレーム・バッファ読み込み用アドレスとラプラシアン・フィルタの結果を書き出すフレーム・バッファのアドレスは、parameter 指定の固定アドレスだったので、AXI4 Lite Slave でAXI4 Master のRead/Writeするアドレスを渡す仕様に変更した。結局、動作しなかった。
自分の写真を彫った光るアクリルサインを作りました、Make用です。
ガーミンのランナー用GPSトレーナーForeAthlete 10Jを購入しました、走っている時の瞬間タイムが見たくて、アマゾンでガーミンのランナー用GPSトレーナーForeAthlete 10Jを購入しました。走るのが好きになってきました。
ラプラシアン・フィルタのAXI4 Master IPを作製する1(仕様の検討)、Vivado HLSでラプラシアン・フィルタをAXI Master で構成するC言語のソースを書いて、IPとしてZedBoardのLinux用ハードウェアに実装してみたが、動作しなかった。そこで、Vivado HLSが出力したIPのトップファイルのポート構成はそのままで、自分でHDLを書いて、ラプラシアン・フィルタのAXI4 Master IPを完成させてみることにした。
AXI4 Master Interfaceモジュールの作製1(仕様の検討)、今までのカメラ・コントローラやビットマップ・ディスプレイ・コントローラは、複数のアドレス転送を許さなかったので、今回は複数のアドレス転送を許す汎用AXI4 Master Interfaceモジュールを作製することにした。

11月
Sublime Text3 エディタ、このエディタをメインに使うことにした。
Maker Faire Tokyo 2013 に出展します
Maker Faire Tokyo 2013 に出展しました
シミュレーション用 同期FIFO IP、axi_slave_BFM.v を変更して、ネストされたアドレス転送を受け付けることにした。そのためには、ネストされたReadアドレス転送を溜めておくためにFIFOが必要となる。それで、シミュレーションに使用するために汎用の同期FIFO を作ることにした。
坂東ハーフマラソン、FPGAXに参加
AXI4 Slave Bus Functional Model (axi_slave_BFM.vhd)、AXI4 Slave Bus Functional Model (axi_slave_BFM.vhd) を貼っておく。今回のBFMは今まで公開したBFMをアドレス転送をネストできるように変更したものだ。よりXilinx社のAXI Interconnect に近くなったと思う。但し、ネストできるアドレス転送は15なので、より多いと思う。
AXI4 Master Interfaceモジュールの作製4(axi4_master_inf.v のHDLソース)、AXI4 Masterアクセスをする汎用モジュール axi4_master_inf.v を貼っておく。
AXI4 Master アクセスのラプラシアン・フィルタ IP1(構想)、以前にもラプラシアン・フィルタをFPGAのハードウェアで作ったことがあるが、それは、1連のパイプラインされた構造だった。1ピクセルの画像データが入ってきて、パイプラインにデータが満たされていれば、ラプラシアン・フィルタ後のデータが出てくる構造だ。今回はわざとこの構造は取らずに、C言語からHLSで合成したようにシリアライズしてみようと思うのだが、なかなかわざと遅くしようと作ったことがなので、戸惑っている。ともかくC言語からHDLを合成したようにメモリベースで、ある程度シリアライズされた構成で作ってみようと思う。
つくばマラソンに出てきました

12月
AXI4 Master アクセスのラプラシアン・フィルタ IP9(できた。完成)、うまく表示されました。完成。。。トータルの実行時間は 23.6msec 程度だったが、ハードウェア処理のラプラシアン・フィルタ部分のみの経過時間を計測したところ、10.1msecとなった。
Verilog HDL で unsigned, signed の演算をする1、今までは、厳密な言語仕様のVHDLで演算をしてきた。math_realパッケージをuse すれば、log2 も sin() も cos() も使用することができる。演算を本格的に使う場合は、VHDLを使って来たが、Verilog HDL も簡単な演算は使ってみようということでやってみることにした。
Zynq勉強会用AXI4バスの演習資料の作製、今、Zynq勉強会をやっている。その勉強会用にAXI4バスの演習資料を作成しようとしている。ブログに書きながら作っていこうと思う。
ZedBoard AXI4 Lite Slave 演習1、以前、実習したZynq用ツールのチュートリアル1,2,3を元に実習を行う。使用するISEのバージョンはISE14.7とする。
AXI4 Lite Master BFM の Verilog HDL コード、AXI4 Lite Master BFM の Verilog HDL コードを貼っておく。AXI4 Lite Master BFM は、AXI4 Master BFM のラッパーとして作られている。
ZedBoard AXI4 Lite Slave 演習3(実機テスト)、前回、インプリメントが終了した。今回は、ハードウェアをSDKにエクスポートして、SDKを立ちあげソフトウェアを作製した。そして、ZedBoardにビットストリームをダウンロードし、ソフトウェアを実行して実行した。
ISE14.5以降の ISE で SDK と ChipScope Pro の協調デバックをする方法、ISE14.5以降でSDKとChipScope Pro(以下、ChipScope)を同時に使えなかったので、それを使う方法を書いた。

AXI4 Lite Slave遠州の文章を公開している。


今年は、 Zynq, AXI4バスに始まって、Zynq, AXI4バスに終わる年だった。来年も同様に追いかけて行きたい。Vivado や Vivado HLS, IP Integrator も試してみたいと思っている。
  1. 2013年12月28日 22:34 |
  2. その他のFPGAの話題
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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