見出し画像

RISC-V(RV32I.v)はFPGA上で動作可能か?

背景

今まで散々RV32でアセンブラを動かしてきたが、それはあくまでシミュレーション。実機で動作可能なのかは確認していない。では、FPGAメーカーのEDAツールで合成してみよう。

FPGAとは

FPGA(Field-Programmable Gate Array)は、ユーザーがハードウェアレベルで回路を設計・再構成できる集積回路です。用途に応じて論理ゲートを自由に組み合わせ、特定の機能を実装可能です。柔軟性が高く、プロトタイプ開発や特定の演算処理に適しており、ASICとは異なり、製造後でも再プログラムが可能です。

ChatGPT

FPGA

Tang nano 9k fpga開発ボードgowin GW1NR-9 RISC-V hdmキット

ターゲットはこれにする。
EDAツールのインストール、ライセンスの獲得方法は他のサイトを参考にしてください。

RV32I.v

素のRV32I.vでは合成できません。

  1. #1のディレイを削除

  2. メモリを削減(マクロのメモリに置き換えるべきですが)

  3. クロックのタイミング制約を追加(SDC)

参考サイト

その他も

合成結果

結果

最大動作周波数は9MHz程度
パイプラインを組んでないからね・・・

所感

合成は可能でした。
パイプラインを組んでもいいのですが、趣味程度ならこれでいいのでは?

やはりFPGAにCPUを載せるのはロジックエレメントをかなり食うわけです。
FPGA内にCPUの手は、
餅は餅屋なので専用のシリコンに載ったマイコンを使うべきだと思いますが、
FPGAにCPU載せるのは趣味ですね。


この記事が気に入ったらサポートをしてみませんか?