riscv-lab/chisel/playground/doc/Signal.md

2.9 KiB
Raw Blame History

信号列表

CSR 模块

信号

信号名 用处
wen CSR 写使能write && !illegal_access 为真时,信号有效)
addr CSR 地址
mode 当前模式
rdata 读到的 CSR 数据
wdata 写往 CSR 的数据
write 该指令为 CSR 写指令(即除 ECALL、ERET、EBREAK 这类 CSR 指令外的指令)
only_read 该 CSR 指令只进行读操作
illegal_mode 当前模式低于要操作的 CSR 的最低模式
illegal_write 当前写操作非法(指令为写指令且为非只读操作但访问的 CSR 权限为只读)
illegal_access 当前 CSR 访问非法(模式非法或写非法时,信号有效)
illegal_addr 要访问的 CSR 地址不存在

掩码

掩码名 数值
sstatus_wmask h00000000000c6122
sstatus_rmask h80000003000de762
sie_rmask "h222".U(64.W) & mideleg
sie_wmask "h222".U(64.W) & mideleg
sip_rmask "h222".U(64.W) & mideleg
sip_wmask "h222".U(64.W) & mideleg

Decoder Unit 模块

InstInfo 结构体

信号名 用处
valid 指令有效
inst_legal 指令合法,是已经实现的指令
reg1_ren src1 读寄存器堆使能
reg1_raddr src1 访问寄存器堆地址
reg2_ren src2 读寄存器堆使能
reg2_raddr src2 访问寄存器堆地址
fusel FU 模块选择信号
op FU 模块内部的操作码
reg_wen 写回级是否写回寄存器堆
reg_waddr 寄存器堆写回地址
imm 立即数
inst 原指令

SrcInfo 结构体

信号名 用处
src1_data 当前指令的源操作数 1
src2_data 当前指令的源操作数 2

ExceptionInfo 结构体

信号名 用处
exception 当前指令的异常信息
interrupt 当前指令的中断信息
tval 保留出现异常时的地址或指令