Note: Abbreviation in Rocke Core
Understanding naming is important to get started. Here we introduce some common abbreviations. The normal abbreviations like inst=instruction are not included.
- ibuf: Instrucion Buffer (Fetch)
- id: Instruction Decode
- ex: Execute
- mem: Memory Access
- wb: Write Back
- ctrl: Control
- raddr1/2/3, rs1/2/3: Read Address (register number)
- waddr, rd: Write Address (register number)
- rf: Register File
- imem: Instruction Cache
- dmem: Date Cache
- *d: * Decode (killd = kill decode)
- *x: * Execute (killx = kill execute)
- *m: * Memory (killm = kill memory)
- ren: Read Enable
- op1/2: Operand
- xcpt: Exception
- br: Branch
- cfi: Control Flow Instruction
- npc: next PC
- ll: Long Lantency
- icache/dcache: instruction/data cache
The lines in the decoded bits will also help, see IDecode.scala
. *_ctrl
contains the signals of all the bits. For example, ex_ctrl.wxd
is True means the instruction in the execute stage is an instruction which will write a register.