Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
お手頃FPGAボード Tang NanoでRISC-V動かしてみた インターフェース オフ会 @ CQ出版 2019/12/16 Kenta IDA (@ciniml)
Slide 2
Slide 2 text
自己紹介 •井田 健太 (@ciniml) •仕事:FPGAの論理設計 •RISC-V初心者 • 今回初めて触りました 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 2
Slide 3
Slide 3 text
Tang Nanoとは •中国のGOWIN社製FPGAを搭載したFPGAボード •とても安い • Seeed Studioで$4.9 • 秋葉原のShigezoneで¥800 •書き込み回路搭載 • USB Type-Cで接続して書き込み 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 3
Slide 4
Slide 4 text
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
Slide 5
Slide 5 text
とりあえず試してみる •picorv32を最小構成(RV32E)で合成 • パフォーマンスカウンタ無し • 16~31番レジスタ無し (RV32E) 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 5
Slide 6
Slide 6 text
とりあえず試してみる •結果:リソース足りず… • とりあえずLUTが1814必要になった模様 (157.46%) 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 6
Slide 7
Slide 7 text
参考:1つ大きいデバイスなら? •Tang Nanoに載っているのは一番小さいデバイス • GW1N-1 •一つ上のGW1N-2ならリソースが倍 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 7
Slide 8
Slide 8 text
参考:1つ大きいデバイスなら? •結果:配置配線まで成功 • たぶん実機があれば動かせる 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 8
Slide 9
Slide 9 text
違うコアで試す •特集記事を参考に小さそうなコアを探す •SERVが良さそう • https://github.com/olofk/serv 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 9
Slide 10
Slide 10 text
SERVをTang Nanoに載せる •相変わらずRAMが辛いのでデータRAMを省く • 命令メモリとレジスタのみ •データバスにLED出力制御用レジスタをつなぐ • 0x100番地にマップ • 下位3bitをRGB LEDの各色に割り当て 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 10
Slide 11
Slide 11 text
サンプル・プログラムを修正 •SERVにLチカサンプルあり • アセンブリ言語で記述 •ビルド済みの物があるので修正して使用 • LEDのアドレス変更(0x40000000→0x100) • RV32用GCCビルドしてなかったので とりあえずハンドアセンブル… 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 11
Slide 12
Slide 12 text
合成結果 •とりあえず載せられた 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 12
Slide 13
Slide 13 text
デモ •動いたのでデモ 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 13
Slide 14
Slide 14 text
課題 •RAM無いのはさすがに困る •BRAM余ってるので 1インスタンスで済むメモリモジュールを書けば動くはず • 今回は時間の都合上間に合わなかった •C言語でLチカしたい 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 14
Slide 15
Slide 15 text
おしまい 2019/12/16 お手頃FPGAボードTang NanoでRISC-V動かしてみた 15