Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
お手頃FPGAボード Tang NanoでRISC-V動かしてみた
Kenta IDA
December 16, 2019
Programming
0
810
お手頃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
ベアメタル向けRust stdクレートの実装調査
ciniml
2
260
ESP32でSORACOM Arcつないでみた
ciniml
2
330
RustでCMSIS-DAP実装してみた。
ciniml
2
320
技書博初出展してみた
ciniml
0
150
Wio Terminalのなんやかんや
ciniml
2
950
Seeeduino XIAOでCMSIS-DAPデバッガを作る
ciniml
1
1.3k
Other Decks in Programming
See All in Programming
TDX22: User-Mode DB Ops
ca_peterson
3
1.1k
【PHPerKaigi2022】Mongo に溜まった約1.6億件の記事データを BigQuery へ …
userkazun
0
110
Micro Frontends with Module Federation: Beyond the Basics @codecrafts2022
manfredsteyer
PRO
0
100
Kueue入門/Kueue Introduction
bells17
0
510
クリエイティブ系のウェブサイト制作で役立つCSS技法 / CSS for develop creative website
clockmaker
2
1.6k
Microsoft Teams の 会議アプリ開発のはじめかた / How to start Microsoft Teams app development
karamem0
0
1.6k
2022 FrontEnd Training
mixi_engineers
1
280
Licences open source : entre guerre de clochers et radicalité
pylapp
1
280
From Java 11 to 17 and beyond
josepaumard
0
300
C言語でメモリ管理を考えた話
hkawai
0
190
Explore Java 17 and beyond
josepaumard
3
650
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
1.1k
Featured
See All Featured
From Idea to $5000 a Month in 5 Months
shpigford
372
44k
Unsuck your backbone
ammeep
659
55k
Docker and Python
trallard
27
1.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
638
52k
A Philosophy of Restraint
colly
192
14k
Building Applications with DynamoDB
mza
83
4.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
3
440
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
396
62k
A designer walks into a library…
pauljervisheath
196
16k
Teambox: Starting and Learning
jrom
121
7.6k
Code Review Best Practice
trishagee
41
6.7k
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