Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
お手頃FPGAボード Tang NanoでRISC-V動かしてみた
Search
Kenta IDA
December 16, 2019
Programming
0
2k
お手頃FPGAボード Tang NanoでRISC-V動かしてみた
12/16日に開催された、CQ出版のインターフェース2019年12月号の特集のオフ会で発表した、Tang NanoでRISC-Vコアを動かしてLチカしてみた内容の発表資料です。
Kenta IDA
December 16, 2019
Tweet
Share
More Decks by Kenta IDA
See All by Kenta IDA
日本の家電とMatterの世界
ciniml
0
380
Matter開発環境をざっくり眺める
ciniml
0
2.1k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.4k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.8k
Rusty Stack-chanのすすめ
ciniml
0
680
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
2.2k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
800
ESP32でSORACOM Arcつないでみた
ciniml
2
1.4k
RustでCMSIS-DAP実装してみた。
ciniml
3
1.1k
Other Decks in Programming
See All in Programming
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
AIエージェントの設計で注意するべきポイント6選
har1101
5
2.4k
TestingOsaka6_Ozono
o3
0
180
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
160
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
190
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
26k
AIコーディングエージェント(NotebookLM)
kondai24
0
240
チームをチームにするEM
hitode909
0
400
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
200
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
180
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
190
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
331
21k
We Have a Design System, Now What?
morganepeng
54
7.9k
エンジニアに許された特別な時間の終わり
watany
106
220k
For a Future-Friendly Web
brad_frost
180
10k
Mind Mapping
helmedeiros
PRO
0
39
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Test your architecture with Archunit
thirion
1
2.1k
Designing for Timeless Needs
cassininazir
0
93
The Cult of Friendly URLs
andyhume
79
6.7k
Mobile First: as difficult as doing things right
swwweet
225
10k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Ethics towards AI in product and experience design
skipperchong
1
140
Transcript
お手頃FPGAボード Tang NanoでRISC-V動かしてみた インターフェース オフ会 @ CQ出版 2019/12/16 Kenta IDA
(@ciniml)
自己紹介 •井田 健太 (@ciniml) •仕事:FPGAの論理設計 •RISC-V初心者 • 今回初めて触りました 2019/12/16 お手頃FPGAボードTang
NanoでRISC-V動かしてみた 2
Tang Nanoとは •中国のGOWIN社製FPGAを搭載したFPGAボード •とても安い • Seeed Studioで$4.9 • 秋葉原のShigezoneで¥800 •書き込み回路搭載
• USB Type-Cで接続して書き込み 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 3
RISC-Vのコアは載るのか? •わりと厳しい… • LUT:1152, FF:864, BRAM:18kbit x4 •レジスタファイルだけでも32x36 = 1152[kbit]
• FFで構成するのは不可 • BRAMで構成するしかない •RV32Eでも32x20=640[kbit] 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 4
とりあえず試してみる •picorv32を最小構成(RV32E)で合成 • パフォーマンスカウンタ無し • 16~31番レジスタ無し (RV32E) 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた
5
とりあえず試してみる •結果:リソース足りず… • とりあえずLUTが1814必要になった模様 (157.46%) 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 6
参考:1つ大きいデバイスなら? •Tang Nanoに載っているのは一番小さいデバイス • GW1N-1 •一つ上のGW1N-2ならリソースが倍 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 7
参考:1つ大きいデバイスなら? •結果:配置配線まで成功 • たぶん実機があれば動かせる 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 8
違うコアで試す •特集記事を参考に小さそうなコアを探す •SERVが良さそう • https://github.com/olofk/serv 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 9
SERVをTang Nanoに載せる •相変わらずRAMが辛いのでデータRAMを省く • 命令メモリとレジスタのみ •データバスにLED出力制御用レジスタをつなぐ • 0x100番地にマップ • 下位3bitをRGB
LEDの各色に割り当て 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 10
サンプル・プログラムを修正 •SERVにLチカサンプルあり • アセンブリ言語で記述 •ビルド済みの物があるので修正して使用 • LEDのアドレス変更(0x40000000→0x100) • RV32用GCCビルドしてなかったので とりあえずハンドアセンブル…
2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 11
合成結果 •とりあえず載せられた 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 12
デモ •動いたのでデモ 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 13
課題 •RAM無いのはさすがに困る •BRAM余ってるので 1インスタンスで済むメモリモジュールを書けば動くはず • 今回は時間の都合上間に合わなかった •C言語でLチカしたい 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた
14
おしまい 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 15