BNN-PYNQ の走り書き

アドレスはハードコーディング library/driver/platform-xlnk.cpp: platform = new XlnkDriver(0x43c00000, 64 * 1024);FoldedMVInit でメモリアロケーションしている。accelBufIn と AccelBufOut は thePlatform->allocAccelBuffer で取得している。これは…

FTDI と Vivado の Jtag

Vivado で JTAG 認識しなくなった時のリカバリー方法。hw_manager まではつながるけど、その先。陥った©状態は、USB-UART は動くのに JTAG を認識してくれない。PYNQ や ARTY-Z7 では USB-UART に FTDI の 2232HQ というのをつかっている。Zybo も同じ。この…

alliance

今やるべき事かどうかわからないが、alliance インストールしている。え!!X window が必要なの? configure: error: requires the X window system to compile and run. Please do not use the configure option '--without-x'.つかえねーじゃん。ubuntu …

BNN-PYNQ をリビルドする

Linux では簡単 tkat0.hateblo.jp 方法はこちらが詳しい。 Windows ではコンパイル時にエラー これはどうも clang の 4.5.2(?) のバグらしい。(clang のバージョンなのか g++ のバージョンなのか不明)c++ - Clang on Cygwin with C++11 - Stack Overflowこ…

BNN-PYNQ をリビルドする

type_info の unknown type name error: unknown type name 'type_info' const type_info*https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Building-Xilinx-Binary-Neural-Network-in-HLS-Error-on-Windows/td-p/757041 https://github.com/jingpu/H…

とりあえず Ubuntu をアップグレード

手元の VMWare 上の Ubuntu が 14.04 だったので、16.04 にしてみた。が、upgrade しようとすると、The required dependency 'apt (>= 1.0.1ubuntu2.13)' is not installed.だと。apt が古いのか?14.04 --> 16.04 failed; apt (>= 1.0.1ubuntu2.13)' is not…

新人をバイナリアンに育てる ~ その10 ~

やはりこういう地味なものは、地味にしか展開しない。新人、高橋君8月に突入。C言語は初めてで、ポインタの前の配列で苦戦。 新人高橋君 日報 8/1(月) 18:21 作業報告します今日行ったこと -"C言語入門書の次に読む本"を409ページ中122-137まで読み進める …

RAM Disk が足りない

RAMDISK incomplete write で落ちたとき、RAMDISK が足りないのかもしれない。 RAMDISK: gzip image found at block 0 mmc0: new high speed SD card at address 09c1 mmcblk0: mmc0:09c1 SD02G 1.83 GiB mmcblk0: p1 p2 mmcblk0: p2 size 6995968 extends b…

新人をバイナリアンに育てる ~ その9 ~

新人で C の初心者高橋君。Linux のコマンドを理解し、Emacs(Mule) でメールが打てるようになりました。プログラムも配列を VRAM に見立てて線を書いたりしています。いままで、報告の箇条書きのマークに ー をつかってましたが、ちゃんと - を使うようにな…

新人をバイナリアンに育てる ~ その8 ~

新人で C の初心者高橋君。4週間本を読んで配列を理解し、配列を VRAM に見立てて線を書いたりしています。ラインを書くプログラムは出来たようですが、まだまだ改良点があるようです。argc や argv の解析は C 初心者には難しいのでごく簡単な字句解析を教…

新人をバイナリアンに育てる ~ その7 ~

新人で C の初心者高橋君。4週間本を読んで配列を理解し、社長からコメントをもらいます。 新人「ー拡張させてみたが予想以上にソースが煩雑なため訂正予定」 社長「重要なことは”煩雑”であることを一歩引いて感じることができるかどうかだね。 あと、無駄…

新人をバイナリアンに育てる ~ その6 ~

新人で C の初心者高橋君。4週間本を読んで配列を理解しました。バイナリアンになるためについに fopen/fclose を勉強します。 いままで、あまり具体的に指示を出していなかったためプログラムを書くのに四苦八苦していました。ここは、いままでの私の講師…

新人をバイナリアンに育てる ~ その5 ~

ここまで新人:高橋君たんたんと本を読んでます。もちろん手も動かしてますが。FORTRAN は経験ありでも C は初めてです。配列で四苦八苦しています。バイナリアンの道はまだはじまったばかりです。しかし、社長の私は期待しすぎて、ついに4週目の木曜日に決…

新人をバイナリアンに育てる ~ その4 ~

新人:高橋君、あまりに難しいことを頼んだため飽和中。数学はできるけど、C 言語は配列で四苦八苦している。FORTRAN できるって言ってたじゃん。FORTRAN の配列と C の配列は違うの?と思っても後の祭り。社長の私が導入をミスったのだ。がんばれ、新人。 …

新人をバイナリアンに育てる ~ その3 ~

サブタイトル:そら飛ぶ バイナリアン新人の高橋君 GNU Development Tools を2週間で読了。どんな本かというと、、、 オーバーシー・パブリッシング - GNU開発ツール このウェブサイトには目次もある。 http://www.oversea-pub.com/wp/wp-content/uploads/2…

新人をバイナリアンに育てる ~ その2 ~

サブタイトル:そら飛ぶ バイナリアンこのブログは 2011 年に新人教育をしたメールの断片から書きこおこしている。もう6年も前の話であることに注意。新人君(高橋くん - 仮名 - )は理工学系大卒のピカピカの新人。数学は得意で球の体積を積分で簡単に出せ…

新人をバイナリアンに育てる ~ その1~

以前新人教育をしたメールの文章をブログに書き起こす。登場人物は 高橋(仮名)くん。まずやったこと。例の自費出版本の GNU Development Tools を読ませた。 6/8 17:59 日報 GNU Development Tools 第4章コンパイルについて読み終わる。 同じくGNU Develpome…

risc-v を試してみる(途中)

まずは toolchain のインストール github.com git submodule update --init --recursiveの llvm でえらく時間がかかっているんですけど。 あとは export RISCV=/path/to/install/riscv/toolchain $ ./build.shでできるらしい。 その後、github.comここのを使…

PYNQ の Binary NN やってみたよ

とりあえず qiita.com のとおりやってみる。sudo -H でやった方がいいことに後で気づく。 update は結構時間かかった。Cifar10.ipynb 当たり前だけど、うまくいくね。それじゃ、ガゼルはどうよ? 馬と判断されました。鹿じゃないんだね。

Python をさわってみて

Python 実によくできた言語だと思います。C や Perl でどんな風に書いたら可読性が”落ちるのか”を研究していて、そういう書き方が”できない”ようにしているようです。(あくまで個人的な感想)インデントで整形というのがその典型です。これは構文解析が楽に…

Polyphony で 64bit Fibonacci (本編スピンアウト 64bit Fibonacci the movie)

あらすじ ~ TV とは違う Movie ならではの展開 ~ 32bit で気を良くした Polyphony サポートチームは 64bit の Fibonacci にチャレンジした。64bit は 32 を2つにしたというだけではない。次から次へと襲う難題。チームは問題を解決できるのか?本編からス…

PYNQ で fibonacci (完結編)

前回までのあらすじ Polyphony で高位合成をして fib.py を verilog に落とし、ついでにインタフェース情報も JSON で吐き出したものを yml に(python で)書き直し、それを手で書き直したものをつかい vivado のシミュレーションに成功。さらに IPXACT 化し…

polyphony + msgpack-rpc を試す(なんかシミュレーションはうまくいきましたよ変)

自動生成の json とか yml とかに間違いが いろいろ自動生成に間違いがありインタフェース名がまずかったようで、そこをなおしたら動いた。 以前より性能がよくなっているじゃん。def fib じゃなくて def fibonacci にすべきだったんだね。 とりあえずは手で…

Polyphony + msgpack-rpc をつかってみる(未達成編)

Python base の高位合成と msgpack-rpc をつかって処理をやってみようという話 元記事は フィボナッチを求める回路をPolyphonyとMessagePack-RPCでFPGAに実装してみた(シミュレーション編) - Qiita あと、PYNQ 祭りの資料 Pynq祭り資料 msgpack-rpc を使うモ…

Python の Parser

訳があって Python の Parser をしらべていたら、Python のコードがかなり整理されていることに気が付いた。文法もどうやら、adsl という形でちゃんと定義されている。ソース内(https://github.com/python/cpython)には Grammar/Grammar というファイルと Pa…

cygwin を更新したら、、、vim の動きが変わりましたよ

毎度のことだが、cygwin を更新したら、デフォルトの vim の動きが変わってしまった。 /etc/vimrc を読むらしい。 勝手に以前に編集した(直前に編集した)場所に戻るようになってしまった。 これが原因らしいよ。 if has("autocmd") augroup fedora autocmd…

Polyphony の開発の位置づけ

とりあえず master が clone されることが多いので stable 版になります。いまは 2.1.0。 最新版は branch を切って開発。現時点で 0.3.0 です。 pip3 でインストールされるのは現時点で 2.2.0 です。整理は必要ですが、現時点ではこんな感じ。あー自分のメ…

Polyphony で tests suite を試す。

Polyphony で tests suite を試す方法を記します。 Linux とか cygwin とか まず Python 3 の環境 + pip3 の環境をいれてください。ubuntu なら apt-get でインストールできます。 > sudo apt-get install python3-pipその後 pip3 でインストール > sudo pip…

Polyphony で SPI

Vivado HLS でいろいろ試していたのですが、結局、この手のは Python で書いて、Polyphony で Verilog に落とすことにしました。polyphony のバージョンは 0.3.0 を使用。 GitHub - ktok07b6/polyphony: Polyphony is Python based High-Level Synthesis com…

hls::stream + axiu + SDSoC の実験

SDSoC (2016.2) のサンプルで pacektize して minmax を使うものがある。Xilinx/SDSoC/2016.2/samples/platforms/zc702_axis_io/samples/streamこれに自分の stream を差し込んでみた。xilinx のサンプルは ap_axiu を直接つかっていて hls::stream を使って…