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.8k
お手頃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
1.5k
組込みRustでも でかい?JSONを扱いたい!
ciniml
3
1.2k
ATOMDisplay_DisplayModule_M5Stack_UG_2023_Tokyo.pdf
ciniml
1
1.6k
Rusty Stack-chanのすすめ
ciniml
0
460
Raspberry Pi Picoデバッガ使用のすすめ
ciniml
0
1.9k
ベアメタル向けRust stdクレートの実装調査
ciniml
2
680
ESP32でSORACOM Arcつないでみた
ciniml
2
1.1k
RustでCMSIS-DAP実装してみた。
ciniml
2
870
技書博初出展してみた
ciniml
0
350
Other Decks in Programming
See All in Programming
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
110
最新TCAキャッチアップ
0si43
0
140
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
AWS IaCの注目アップデート 2024年10月版
konokenj
3
3.3k
距離関数を極める! / SESSIONS 2024
gam0022
0
280
Better Code Design in PHP
afilina
PRO
0
130
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.7k
Quine, Polyglot, 良いコード
qnighy
4
640
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
Featured
See All Featured
For a Future-Friendly Web
brad_frost
175
9.4k
Writing Fast Ruby
sferik
627
61k
Optimizing for Happiness
mojombo
376
70k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Six Lessons from altMBA
skipperchong
27
3.5k
Teambox: Starting and Learning
jrom
133
8.8k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
126
18k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
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