RISC-V 動き
Top <=> Core <=> Memory
Mainパッケージ
Topクラス
・IO入出力
・コア生成
・メモリ生成
・コアとメモリポート接続
・コアとTopの出力ポート接続
Memoryクラス
・IO入出力
・メモリの実体生成
・メモリロード
・命令読み出し
・読み込みデータ読み出し
・メモリ書き込み
Coreクラス
・IO入出力
・レジスタ生成
・GP決定(riscv-testsと併用,RISC-V用ユニットテストパッケージ)
IF
・命令呼び出し
・プログラムカウンタ更新
ID
・オペランド解読
・符号拡張即値解読
・各命令のパターン生成
EXE
・オペランド決定
・演算決定
・条件分岐決定
MEM
・メモリ書き込み
・CSR決定
WB
・WB決定
・終了判定(テストプログラムの終了判定に使う,ChiselTestパッケージと併用)
・デバッグ(printf)
Subパッケージ
Constsクラス
・グローバル変数の定義
・定数の定義(Enumに変更できる?)
Instructionsクラス
・RISC-Vの各命令をBitPatで定義