狠狠撸
Search
Submit Search
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
?
14 likes
?
11,965 views
Kei Nakazawa
http://www.zusaar.com/event/14047005 RTLを語る会(9)でのLT資料です
Read less
Read more
1 of 31
Download now
Downloaded 28 times
More Related Content
15.06.27 実録 ソフトウェア開発者が FPGAを独習した最初の3歩@RTLを語る会(9)
1.
実録 ソフトウェア開発者が FPGAを独習した最初の3歩 RTLを語る会(9) 2015/06/27 @muo_jp
2.
自己紹介(@muo_jp) ソフトウェア系 Webな人(Java, ActionScript2/3, JavaScript,
PHP, MySQL)→Androidプログラマ(Java)→Android/iOSなひ と(Java, Objective-C, C++, C#) 仕事: スクールアイドル系プログラマ 好きな言語: C#
3.
ソフトウェア開発者が FPGAを独習する最初の3歩
4.
第-2歩
5.
第-2歩: 暗黒の時代 サーバにFPGA統合を妄想していた-2010ぐらい 2010年にDE0を買った Hello, world!的なものから先にほぼ進まなかった 学び:
VHDL流派の人々とVerilog流派の人々、入り乱れて るので両方読めないと話が始まらなさそう
6.
第-1歩
7.
第-1歩: 文明のきざし 2013-2014付近。ZedBoardにすごい未来を感じる あんまりお金かけたくないな、と思って2014年の夏にMicroZed を購入した ZedBoardのチュートリアルを軽くやっていけばどうにかなる じゃろ→圧倒的なI/O力差で挫折 学び: 初心者はMicroZedよりも大人しくZedBoard買ったほうが いい。結局JTAGケーブル買ったら大差ない値段
8.
第0歩
9.
第0歩: 型を学ぶ ARM Cortex-A9×2!
ZynqでワンチップLinux on FPGA (Design Wave) – 2014/11/12 出た当初はこの本高いなぁ、Web上にある情報でなんとかならないかなぁ、と思っ ていた→諦めて買った ほんと多彩なトピックをカバーしてる。結果は http://www.muo.jp/2015/02/arm- cortex-a92-zynqlinux-on-fpga150.html に書いた(誤植多かったので別途まとめた) 学び: ツール群の扱い方がざっくりと身につかないと、他のことが頭に入ってこな い。まずはこういう本に従ってひと通りを体験するの大事(しかしISEベース...!)
10.
学び: Zynq方面の雰囲気 「ARM無しのFPGA単体で使いたいんですけど?」→「Artixでも使えば^^」 Linuxを使うか否かは別として、チュートリアル的にARMは普通使うぽい http://news.mynavi.jp/articles/2012/02/22/zynq-7020/002.html ARM側の電力削りたければ100MHzでも10MHzでも好きにクロック落とせ Cortex-R系はひとまずやる気ない(後にMPSoCではCortex-A53ベースと Cortex-R5ベースの2ラインに割れたのも面白いところ) RTOSが必要ならSMPではなくAMP構成にしてARM側の1コアを低クロッ ク動作させて使え
11.
第0.5歩 MicroZedにはGPIOが足りないので自分で補う
12.
パーツ集め MicroZedの拡張ヘッダは100pinsの高周波回路用 DigiKeyに売っていたので輸入 さすがにいきなり基板起こすのは大変なのでユニバー サル化の変換基板を探した→サンハヤトのがあった
13.
形になった ハンダが荒い
15.
学び: やっぱりMicroZedよりも ZedBoardを買ったほうがいい
16.
今のところテスタを当てて 電圧測って?????してます
17.
第0.75歩
18.
第0.75歩: Verilogに馴染む Verilog-HDL基礎文法最速マスター を読む 「CPUの創りかた」で紹介されるIC群を作ろうというざっくり した話 わかりやすい。怖がらずにVerilogを読めるようになる HDL設計入門
- Verilog HDL キーワードを漏らさず知れる 学び: 構文的な話はWebでいいかな、という読みで大体okだっ た。実践的なVerilogの書き方についての本欲しい
19.
第1歩
20.
第1歩: 公式リソースで学ぶ http://zedboard.org/sites/default/?les/documentations/ MicroZed_GettingStarted_v1_1.pdf QSPIやmicroSDからLinuxを起動し、PS側に生えてい るGPIOを叩いてLED/スイッチ制御を試した 学び: Railsの「5分でこれ出来るよ!!」という甘い レールに乗ってる感覚。ここと実用物は直結しない
21.
第2歩
22.
第2歩: 続 公式リソースで学 ぶ Avnetのチュートリアル(PDF)に従ってARM側にELFのバイ ナリを転送して実行する Xilinx
SDKへ出した先は普通のCで嬉しい!となる。hw connect armやると本当にCPU止まるところで感動。な お、まだHDL出てこない 学び: Xilinx SDKへ出力後の叩き方は普通にCなのでとて も助かる。名前付けも参考になる。Zynq本も生きてくる
23.
第3歩
24.
第3歩: PS側からLチカする Linux上だと何かと大変というのが前段で分かってい るのでCPUを生で触る 第2歩でXilinxのヘッダやサンプル実装をあちこち眺め た分、MIOの叩き方イメージなどが湧いていた 試行錯誤
25.
惭颈肠谤辞窜别诲冲贬奥冲鲍骋冲惫1冲6.辫诲蹿より
27.
第3歩: サンプルであっさり 解決 XilinxのZynq向けBSP、今のところとても素直な動きをするので 好み Xilinx SDKから普通にブレークポイント止まるしメモリダンプも 効くので、AndroidのNDKより楽 MIOのバンク(0-15,
16-53)とXGpioPsのバンク配置が違うのは 学び: ようやく「試行錯誤すればどうにかゴールへ り着ける」 感じになってきた。後はXilinxのanswersでどうにかなりそう
28.
目下やっていること
29.
ARMv8機能のバックポート 時代はARMv8 Zynq UltraScale+ MPSoCあたりだとCortex-A53積ん でいるの、よいですね ZedBoardシリーズはCortex-A9系、当然ARMv7 ARMv7でもAESアクセラが欲しい!
30.
C#からの高位合成 Vivado HLS側でほどよく他言語利用の枠組みを提供してほし い??? LLVM-backend相当の作りになっていてほしい(情報を集め中) C#をC++に変換するアプローチで良いのかも 自社が出しているOSSの一部にC#→C++変換ツールがたまたま ある このアプローチだと、sourcemapっぽいのは必須
31.
まとめ 素人はMicroZedよりもZedBoardを買うべき Vivadoベースの入門書整備されるとよさそう RTLの独習はできるけれど実用面の壁ありそう VivadoHLSにC#コード食べさせたい
Download