Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

RvDecoder

RV32I 命令デコーダ (docs/riscv.md「ISA スコープ」)

命令語を制御信号と符号拡張済み即値へ変換する組合せ回路. 符号は RISC-V Instruction Set Manual の RV32I 基本整数命令セットの表に従う (docs/riscv.md 一次資料表).

即値の形式:

形式構成
Isext(inst[31:20])
Ssext({inst[31:25], inst[11:7]})
Bsext({inst[31], inst[7], inst[30:25], inst[11:8], 1’b0})
U{inst[31:12], 12’b0}
Jsext({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 デコード結果