比例道

月に1回更新します

FPGA

jupyter notebookを使う

BNN-PYNQを使うためにPYNQ-Z1ボードを購入した.使い方はココに解説がある.いきなり使う前にjupyter notebookを使ってみようという訳で,ココを参考にリモートからブラウザで使えるようにした. jupyter notebookはキーボードショートカットを覚えないと素…

いいこと言うなあ

アプリケーションの高速化手法は、通常のCPUにも並列処理をするSIMD(Single Instruction Multiple Data)命令、MIMD(Multiple Instruction Multiple Data)命令があるし、GPUで高速化するやり方もある。FPGA、CPU、GPUの3通りの手法の最適化を検討できて、…

PYNQ-Z1 Board買うか

昨日,株とFXでお小遣いを得たので,PYNQ-Z1 Boardを買おうと思う.こいつで動くPYNQプロジェクトはdeep learingの推論だけなんだよな.私がやりたいのは学習だ.そのためにはPYNQ-Z1ではロジックセルもメモリも全然足りない(たぶん二桁以上足りない).で…

FPGAでBNN

近頃,特に外国でdeep learningにFPGAを使う動きが加速している.CPUやGPUやスパコンを使うのに比べ,LSIの設計は難易度が高いので,まだFPGAはマイノリティだ.ある人はこんなことを言っていた. 「FPGAを使いこなすスキルを身に付ける一方で、アプリケーシ…

Deep learningをFPGAで

エンジンのエンジニアが何をやっているんだと言われそうだが,Deep learningをFPGAで行うことに取り組んでいる.GPUはもう飽きたし,GPUのエネルギー効率の悪さは地球環境にとって悪だと思う.既に,amazonやgoogle,intelが同じ課題に取り組んでいる.学会…

2月号の電子情報通信学会誌が珍しく面白い

私はメカ屋なので,日本機械学会と日本ロボット学会に所属しているが,電子情報通信学会にもなぜか入っている.先週2月号が送られてきたが,小特集が"FPGAを用いた計算処理の高速化技術"だった.これが面白い.FPGAの設計技術のキモは40年前のマイコンプログ…

レベルの低い国立機関

私は客員研究員でおじゃましているんだが,横の会議室で怒鳴り声がする.金が足りない,話が違うと叫びあっている.LSIの製造を丸投げで下請け会社に発注したが,仕様をどんどん変更するものだから,当初の見積より金額がかさんでしまい,その金を出せ,出さ…

Vivadoキャンペーン価格と為替

去年も今の時期になるとVivadoの安売りキャンペーンをやっていた.もうすぐライセンスが切れるので,キャンペーンを使ってVivadoの更新をすることにした.お得なのだ.付き合いのある代理店が2社あるので,両方にキャンペーン価格を聞いてみた.同じだろうと…

中国共産党の魔の手がLatticeに伸びる

FPGAの市場はXilinxとAlteraに二分された感があるが,昔はLatticeも低価格FPGAとツールで頑張っていた.買収されると聞いたときは「儲かってないだろうから仕方がないのだろう」と納得したものだ.ところが買収しようとしているファンド(この時点で怪しいと…

相変わらずISEを使っている私

XilinxのVivadoの素晴らしさに触れて感化されたはずだったが,手元にあるのはSPARTAN-6とVirtex-6のボードばかり.結局ISEを使ってしまう.Artix-7の設計で,ボタンとLEDとUARTだけだったが,綺麗にLEDが光る回路を実習したので,それをSPARTAN-6のボードに…

初めてXilinx 7シリーズを使う

特に困ってなかったので,Virtex-6とSpartan-6を使い続けて来たが,タダでArtix-7の評価ボードをもらえたので,初めて7シリーズの設計を行ってみた.7シリーズはISEではなくVivadoだ.Vivadoも初めてだ.概ねISEの知識で使えるのだが,制約ファイルがucfから…

半年ぶりにPlanAhead

やれ過去のプログラムのデバッグ,やれ査読と雑用が続いたが,やっと時間ができたので,FPGAをいじることができた.PlanAheadは半年ぶりに起動する.PlanAheadからSetup ChipScopeを使ってインプリメントして,ChipScopeを使うのは楽ちんだ. 世の中はVivado…

LSI/FPGAの回路アーキテクチャ設計法

森岡澄夫著の本を読んでいる.2012年発行の本なので,もう少し早く読めば良かった.最適な回路アーキテクチャを最初から手戻りなく設計できないってのが身に浸みて理解できた. 9章までと10章からは違う本にしても良い感じ.

シーケンサーのalways文のトリガー

シーケンサーというのはステートマシンのステートの遷移を担当する回路のことだ.always文で書くのだが,clkで仕事させれば良かろうと思い, always @(posedge clk) で作ってみると,動いたり動かなかったり. always @(CURRENT) のようにステートをトリガに…

制約ファイルの伝承

ISEでプロジェクトの下にモジュールをたくさん作ると,生成した回路の出力が予期せぬハイインピーダンスになる現象の理由が分かった.ハイインピーダンスになったときは,ピン指定の制約ファイルが正しく読み込まれていなかったのだ.既に制約ファイルがある…

ISEのバグ

XilinxのISEは最終版14.7を使っている.今日も出力ピンがハイインピーダンスで固定されるという,先日出た現象が起きた.プロジェクトを新規に作り直すと直る.同じプロジェクトに対してモジュールをたくさん作ると発生する現象だ.バグの性質が分かっている…

予期せぬラッチのなぞ

同期設計では「予期せぬラッチ」は禁じ手となっている.だけど,私はそれがなぜなのか知らない.次はこの問題を考えてみようと思う.例によってめちゃくちゃなこと言っているかもしれないので,鵜呑みにしないように. 同期設計では同一クロックで動くFFが組…

ホールドタイムの謎

めちゃくちゃなことを言っているかもしれないので,以下の記述を鵜呑みにしないように. 同期設計では,セットアップ時間よりも早くデータが到着して,そのデータがホールド時間よりも長く維持できていなくてはならないと思っていた.ところが,これが微妙に…

なぜにハイインピーダンス

Avnet製のS6LX150Tボードを使っているんだが,ある端子の信号がいくらやり直してもハイインピーダンスから動かない現象に悩んでいた.2日ほど悩んだ.ボードを変えてみたりしたが現象は変わらない.あきらめかかっていたんだが,もしやと思い,ISEのプロジェ…

わかりやすいFPGA解説サイト見つけた

http://members3.jcom.home.ne.jp/zakii/hdl/0_contents.htm すごく分かりやすい.こういう解説を待っていた.

BUFGは16個ある

分かって書いている訳ではないので,とんちんかんなことを言っているかもしれないが,自分のための覚え書きなので勘弁してほしい. SPARTAN-6には真ん中の辺りにBUFGが16個ある.こいつにクロックをつなげるとデバイス全体にクロックを供給するのに都合が良…

BPIフラッシュのBはByteのB

SPARTAN-6が載っているボードを使っている.コンフィグレーションにはSPIフラッシュとBPIフラッシュが使える.スピードが速いのでもっぱらBPIフラッシュを使っていた.で,疑問なんだがSPIは"Serial Peripheral Interface"の略なんだが,BPIは何の略なんだろ…