Submit Search
FPGAエアプ勢がFPGA触り始めた話
0 likes
121 views
Yuhei Hayashi
FPGAエアプレイな自分がFPGA触り始めた話です 社内勉強会用に作成したのをうp
Technology
Read more
1 of 9
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
More Related Content
PDF
道具を磨き続ける
Takuya Fujimura
PDF
Hachioji.pm15
Hon Dallica
PDF
NetBSD/evbarm (APC9750) への道
tokudahiroshi
PPTX
Jjug ナイト・セミナー くわっちょ 20140822
くわっ ちょ
PDF
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
PDF
Lチカからはじめるfpga入門
Imaoka Micihihiro
PDF
Introduction of FPGA
Imaoka Micihihiro
PDF
[DL Hacks]FPGA入門
Deep Learning JP
道具を磨き続ける
Takuya Fujimura
Hachioji.pm15
Hon Dallica
NetBSD/evbarm (APC9750) への道
tokudahiroshi
Jjug ナイト・セミナー くわっちょ 20140822
くわっ ちょ
PHP-MLを使用して気軽に機械学習にトライしてみる
Ryo Shibayama
Lチカからはじめるfpga入門
Imaoka Micihihiro
Introduction of FPGA
Imaoka Micihihiro
[DL Hacks]FPGA入門
Deep Learning JP
Similar to FPGAエアプ勢がFPGA触り始めた話
(20)
PPTX
研究者のための Python による FPGA 入門
ryos36
PDF
re:Invent 2017 で FPGA に入門してみた
Takahisa Shiratori
PDF
OpenCAPI meetup 20180702
Yutaka Kawai
PPTX
FPGAことはじめ
Takahiro Nakayama
PDF
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
PPTX
FPGAって、何?
Toyohiko Komatsu
PDF
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
PPT
20140310 fpgax
funadasatoshi
PDF
ICD/CPSY 201412
Takefumi MIYOSHI
PDF
ソフトウェア技術者から見たFPGAの魅力と可能性
Kenichiro MITSUDA
PPTX
Kyoto dev caffe
Natsutani Minoru
PDF
FPGA+SoC+Linux実践勉強会資料
一路 川染
PPTX
$30で始めるFPGA
Yukitaka Takemura
PPT
FPGA
firewood
PPTX
Fpga programming introduction
YukiFukuda3
PDF
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
PPTX
Starc verilog hdl2013d
Kiyoshi Ogawa
PDF
FPGA startup 第一回 LT
Yamato Kazuhiro
PDF
FPGAをロボット(ROS)で「やわらかく」使うには
Hideki Takase
PDF
Ptt391
Takefumi MIYOSHI
研究者のための Python による FPGA 入門
ryos36
re:Invent 2017 で FPGA に入門してみた
Takahisa Shiratori
OpenCAPI meetup 20180702
Yutaka Kawai
FPGAことはじめ
Takahiro Nakayama
ACRi_webinar_20220118_miyo
Takefumi MIYOSHI
FPGAって、何?
Toyohiko Komatsu
ソフトウェア技術者はFPGAをどのように使うか
なおき きしだ
20140310 fpgax
funadasatoshi
ICD/CPSY 201412
Takefumi MIYOSHI
ソフトウェア技術者から見たFPGAの魅力と可能性
Kenichiro MITSUDA
Kyoto dev caffe
Natsutani Minoru
FPGA+SoC+Linux実践勉強会資料
一路 川染
$30で始めるFPGA
Yukitaka Takemura
FPGA
firewood
Fpga programming introduction
YukiFukuda3
FPGA・リコンフィギャラブルシステム研究の最新動向
Shinya Takamaeda-Y
Starc verilog hdl2013d
Kiyoshi Ogawa
FPGA startup 第一回 LT
Yamato Kazuhiro
FPGAをロボット(ROS)で「やわらかく」使うには
Hideki Takase
Ptt391
Takefumi MIYOSHI
Ad
FPGAエアプ勢がFPGA触り始めた話
1.
FPGAエアプ勢が FPGA触り始めた話 Yuhei Hayashi iehuuy
2.
つまり F P G
A エ ア プ 背景 ・チームでFPGA機能付きNICを使って開発とかしてたよ ・デジタル回路自体の知識はある ・いつもそこそこ解ってそうな顔で発言 ・SoftwareとHardwareの協調! (ドヤァ ・大学時代に授業で習ってちょっと使ったことはあるレベル ・機能ブロック図書いて満足しちゃう ・HDL? OpenCL? なにそれおいしいの? ^q^ ただ実際は…
3.
理想 FPGAアクセラレーター PAC N3000 触ってみてこうなればいいなという理想 ・仕事面 FPGA開発の勘所をつけたい 設計⇒実装⇒評価の流れ ワシが考えた最強の回路をぱぱっと試しに作りたい FPGAアクセラレーターでパケットを好きにごにょごにょ ・趣味面 周辺回路買ってきてアイデア実現するDIYのスキルつける 趣味で没頭して 作ってみたいものたち
4.
・評価ボード(DE10-Standard) 買う ・本読んで,設計⇒実装⇒デバッグの基本的な流れの習熟 ・付属マニュアル読んで, SoftwareとHardware連携方法の習熟 ・回路間標準IF(Intel
Avalon)の習熟 ・オリジナル回路作成 やったこと(2020年3月末~) DE10-Standard 6万円くらい 特徴 ・FPGA部分とHPS部分に分かれてる ・HPSのマイクロプロセッサ上でLinuxが動く ・IFが割と豊富
5.
基本的な流れの習熟 ・物を揃えて写経すればHDL解らなくても動く物が一応作れる ・開発環境の整え方、波形によるデバッグ、簡単な回路設計、 簡単な周辺回路の作成、CPUバスへの接続などなどが体験できる ・この本が無いと詰んでた感はある ・開発環境のverを合わせないと痛い目みるよ(^ ^) ・誤植が原因で詰まったときはイラッとした ・回路記述言語のVerilogの文法とか学べる本 ・基本的な回路(カウンタとかセレクタとか)の記述例も学べる ・普段Cとかpythonとか触ってる人は、ちょっと癖のある書き方 ・デジタル回路とか知識ある人なら、割とイメージ沿った素直な文法
6.
SoftwareとHardware連携の習熟 ・何か本で学びたかったが、まとまった本が無さそう 仕方なくマニュアル(英語)で学ぶことに… ・HPSのマイクロプロセッサ上で動くLinuxのアプリからFPGA に接続されてるLEDを制御する、という流れ ・流れを追うだけならReference Designとかサンプルコードが あるので簡単.追うだけならね… 流れを一般化すると… ・Memory-MappedなFPGA周辺回路を設計,実装します ・周辺回路をバス接続しAXI Bridge経由でCPUに繋ぎます ・周辺回路用のC言語ヘッダを生成します ・周辺回路のアドレスやスペックを意識したプログラムを書きます ・やっと動きます バスの理解や組み込みの知識が無いとだいぶ理解がしんどい LED pio LED ctlAXI
Bridge
7.
Intel Avalon-MMの習熟 Avalonは回路間IFの業界標準 Avalon-MMはMemory Mapped
IFの業界標準 https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/manual/mnl_avalon_spec.pdf CPU 周辺回路1 Avalon-MM bus 周辺回路2 クロック アドレス データ有効位置 読込命令 書込命令 待ち依頼 読込データ 信号の一例 書込データ レスポンス Master Slave Slave
8.
(なんとか)オリジナル回路作成 みんな大好きFIZZBUZZ Softwareが回路に数値をwrite 組み合わせ回路でfizzbuzz判定 Softwareからreadして判定結果を読み出せる ★FPGA側 ・avalon-MMはとりあえず必要な信号だけ定義 ・除算器はintelのIP使った.結構簡単に組み込めた ・IF向かいの必要回路は、結構テンプレな感じ ・内部のロジックでオリジナル感が出てくる ・仕様が定義できたら後は作業感 ★Software側 ・コアロジック以外はほぼおまじない ・addressにポインタアクセスしてread/writeする Memory-Mappedなのでもちろんメモリアクセスす るのと同じ感覚で触れる ・やっぱFPGAだから爆速なのか?とか思ったが Softwareだけでfizzbuzzやったのに比べそんなに速く ならなかったというオチ バスアクセスとかのオーバーヘッドがデカい? https://github.com/yuheihayashi/fizzbuzz_fpga_io
9.
・設計は命 デバッグが大変すぎるので、設計が下手だと手戻りがデカい IF仕様は標準があるので素直に従うのでおk 内部ロジックは素直にintel純正の既存IP使ったほうが安心 オレオレロジック作るなら、細かい単位で設計⇒コーディング⇒デバッグしておいたほうが吉 ・コーディングはそこまで難しくない 設計仕様に沿って素直に書くだけ ・デバッグがやばい大変. コンパイルに時間がかかるので気軽にTry and Errorができない… RTLシミュレーションとかで早めにバグ潰さないと死ぬ ・基礎は一通り習熟できたので、時間とモチベがあればいろいろなものは作れそう 特にモチベが… ・やっぱり動くと嬉しい.エアプダメゼッタイ ・先生欲しい!誰か詳しい人いませんか!? ・今後はOpenCLとかでラクしてみたい ・Avalon-STの習熟してパケット処理したい わかったこととか
Download