Tang Nano 1k(FPGA:GW1NZ-LV1 QN48C6/I5)用のRISC-Vプロジェクト
RISC-Vの仕様に基づいて実装した、RISC-V32Iコアです。
GW1NZ-LV1へRV32Iを搭載するために、実用上問題ない範囲で仕様から一部を変更してます。
- プログラムカウンタ 32bit → 16bit
- J-immの有効長 21bit → 18bit
- FENCEはNOPとして実装
- リソースが少ないので、シフトは、1ビットシフトを回数分実行(遅い)
4入力LUT:1012/1152
FF:116/957
BlockRAM:4/4(2個:汎用レジスタ、2個:メインメモリ(4096バイト))
論理合成。配置・配線ツール:Gowin_V1.9.8.09 Education(云源软件-教育版)
Education版も徐々にバージョンアップして、Tangシリーズを概ねカバーしています。(Tnag Nanoだけは絶版なので無視なのか?)
FPGAへの書き込みツール(どうしても無理な時):Programmer2
GowinツールのProgrammerで概ね、書き込みできます。
動作するプログラムはタイマ割込みにてLEDを点滅するプログラムです。
ボタンAで発光する色の変更。ボタンBはリセットです。
BSDライセンス
本プロジェクトを使用する際は、自己責任でお願いします。
riscv-testsのrv32uiのテストは通ってます。
FENCEはNOPでもパスしてくれるみたい。
以上