Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
1.9k
お手頃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
75
Matter開発環境をざっくり眺める
ciniml
0
1.8k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.3k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.7k
Rusty Stack-chanのすすめ
ciniml
0
600
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
2.1k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
760
ESP32でSORACOM Arcつないでみた
ciniml
2
1.3k
RustでCMSIS-DAP実装してみた。
ciniml
3
970
Other Decks in Programming
See All in Programming
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
420
業務自動化をJavaとSeleniumとAWS Lambdaで実現した方法
greenflagproject
1
120
KotlinConf 2025 現地参加の土産話
n_takehata
0
100
XSLTで作るBrainfuck処理系
makki_d
0
210
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
320
Javaに鉄道指向プログラミング (Railway Oriented Pro gramming) のエッセンスを取り入れる/Bringing the Essence of Railway-Oriented Programming to Java
cocet33000
2
580
既存デザインを変更せずにタップ領域を広げる方法
tahia910
1
240
Beyond Portability: Live Migration for Evolving WebAssembly Workloads
chikuwait
0
380
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
SODA - FACT BOOK
sodainc
1
1.1k
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
Using AI Tools Around Software Development
inouehi
0
1.2k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Faster Mobile Websites
deanohume
307
31k
Embracing the Ebb and Flow
colly
86
4.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Into the Great Unknown - MozCon
thekraken
39
1.8k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Docker and Python
trallard
44
3.4k
Designing for humans not robots
tammielis
253
25k
Bash Introduction
62gerente
614
210k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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