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.7k
お手頃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
920
組込みRustでも でかい?JSONを扱いたい!
ciniml
2
950
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.4k
Rusty Stack-chanのすすめ
ciniml
0
290
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
1.5k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
520
ESP32でSORACOM Arcつないでみた
ciniml
2
870
RustでCMSIS-DAP実装してみた。
ciniml
2
700
技書博初出展してみた
ciniml
0
290
Other Decks in Programming
See All in Programming
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
480
Не учите алгоритмы
hellsquirrel
1
700
mandaRa: R言語ユーザのための新しい知識共有の場 / mandara_tokyor111
s_uryu
2
410
メール認証とRuby
uvb_76
0
110
オープンなデータ・ソフトウェアを活用した開発
404background
0
160
WasmOS: Wasmを実行する自作Microkernel
riru
0
360
sbt-assemblyにハマってDB接続できず時間が溶けた話
wakye5815
1
660
品質が高いコードって何?Rev2.1
ickx
1
380
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
22
12k
「Hono遍歴」と「HonoXでブログ作成」
yasu551
0
170
Learning Ruby
okuramasafumi
5
370
PHPでOfficeファイルを取り扱う! PHP Officeライブラリを プロダクトに組み込んだ話
hirobe1999
0
730
Featured
See All Featured
For a Future-Friendly Web
brad_frost
170
8.8k
A Modern Web Designer's Workflow
chriscoyier
689
190k
How to train your dragon (web standard)
notwaldorf
71
5k
YesSQL, Process and Tooling at Scale
rocio
160
13k
Six Lessons from altMBA
skipperchong
19
2.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
The MySQL Ecosystem @ GitHub 2015
samlambert
242
12k
What's in a price? How to price your products and services
michaelherold
236
11k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
How to Ace a Technical Interview
jacobian
272
22k
Docker and Python
trallard
33
2.6k
Into the Great Unknown - MozCon
thekraken
10
810
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