次のプロンプトでRISC‐Vを生成してみた。
FPGAに実装するハードウェアで実装されたROSIX対応のリアルタイムOS内蔵RISC-Vを開発する
- 言語: SystemVerilog
- ターゲット: FPGA
- ターゲットデバイス: Xilinx Spartan UltraScale+
- RISC-V: RV32IM(ほかは必要な機能を実装する)
- パイプライン: 5段パイプライン
- メモリ: 命令メモリ=64kB以上、データメモリ16kB以上
- メモリはBlockRAM(BRAM)を推論できる記述を使用する
- つぎの機能をハードウェアで実装する
- リアルタイムOS
- POSIX対応
- CPUからAXI4バスを経由してAPBバスで周辺ペリフェラルと接続される
- HyperRAMを接続する
- 周辺ペリフェラル
- UART
- GPIO
- QSPI(将来予定)
- I2C(将来予定)
- 実装の検討結果で必要になったハードウェアや機能は追加する
- ソフトウェアのエコ環境を用意する
- サンプル・アプリケーションを用意する
一般的なCPUにRTOSを組み込んだものを作らせるというものである。
どうも動かないのでシミュレーションで確認するとPOSIXはecallで対応しているけど、ecallの実行タイミングがあまり考慮されてなさそうだな。