RvDecoder
RV32I 命令デコーダ (docs/riscv.md「ISA スコープ」)
命令語を制御信号と符号拡張済み即値へ変換する組合せ回路. 符号は RISC-V Instruction Set Manual の RV32I 基本整数命令セットの表に従う (docs/riscv.md 一次資料表).
即値の形式:
| 形式 | 構成 |
|---|---|
| I | sext(inst[31:20]) |
| S | sext({inst[31:25], inst[11:7]}) |
| B | sext({inst[31], inst[7], inst[30:25], inst[11:8], 1’b0}) |
| U | {inst[31:12], 12’b0} |
| J | sext({inst[31], inst[19:12], inst[20], inst[30:21], 1’b0}) |
OP かつ funct7=0000001 は M 拡張 (乗除算) として muldiv を立て,
種別を md_op (funct3) で渡す.
FENCE (MISC-MEM) は本コアではメモリ順序の並べ替えを行わないため NOP として 受理する.SYSTEM は funct3=000 のとき ECALL / EBREAK / MRET, それ以外 (100 を除く) を Zicsr の CSR 命令として受理する.
Ports
| i_inst | input | logic<32> | 命令語 |
|---|---|---|---|
| o_dec | output | RvPkg Decoded | デコード結果 |