ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
Classes | Macros | Enumerations
exu.h File Reference
#include "base.h"
#include "paranut-config.h"
#include "mextension.h"
#include "exu_csr.h"
#include <systemc.h>
Include dependency graph for exu.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MExu
 

Macros

#define REGISTERS   32
 

Enumerations

enum  EAluRISCVType {
  RType , IType , SType , BType ,
  UType , JType
}
 
enum  EOpRISCV {
  LOAD = 0x03 , PARA = 0x0B , MISC_MEM = 0x0F , OP_IMM = 0x13 ,
  AUIPC = 0x17 , STORE = 0x23 , OP = 0x33 , LUI = 0x37 ,
  BRANCH = 0x63 , JALR = 0x67 , JAL = 0x6F , SYSTEM = 0x73 ,
  AMO = 0x2F
}
 
enum  EAluFuncRISCV {
  afAdd = 0x0 , afSub = 0x0 , afSll = 0x1 , afSlt = 0x2 ,
  afSltu = 0x3 , afXor = 0x4 , afSrl = 0x5 , afSra = 0x5 ,
  afOr = 0x6 , afAnd = 0x7 , afEq = 0x8 , afBltu = 0x9 ,
  afBlt = 0xA
}
 
enum  EExuState {
  ExuExecuteInsn , ExuMem , ExuMemWB , ExuJump ,
  ExuBranch , ExuCSR , ExuXRET , ExuXRETCsrWait ,
  ExuXRETFinish , ExuHalt , ExuLSUFlush , ExuCACHECONT ,
  ExuCACHECONT2 , ExuExOrIrq , ExuExWaitForCoPUs , ExuExJumpTvec ,
  ExuDiv , ExuMulDivWB , ExuDBGEnter , ExuDBG
}
 
enum  EExuOp {
  OpNOP , OpAlu , OpJump , OpBranch ,
  OpMem , OpCSR , OpXRet , OpHalt ,
  OpParaNut , OpException , OpDebug , OpSFenceVMA ,
  OpMulDiv
}
 

Macro Definition Documentation

◆ REGISTERS

#define REGISTERS   32

Enumeration Type Documentation

◆ EAluFuncRISCV

Enumerator
afAdd 
afSub 
afSll 
afSlt 
afSltu 
afXor 
afSrl 
afSra 
afOr 
afAnd 
afEq 
afBltu 
afBlt 

◆ EAluRISCVType

Enumerator
RType 
IType 
SType 
BType 
UType 
JType 

◆ EExuOp

enum EExuOp
Enumerator
OpNOP 
OpAlu 
OpJump 
OpBranch 
OpMem 
OpCSR 
OpXRet 
OpHalt 
OpParaNut 
OpException 
OpDebug 
OpSFenceVMA 
OpMulDiv 

◆ EExuState

enum EExuState
Enumerator
ExuExecuteInsn 
ExuMem 
ExuMemWB 
ExuJump 
ExuBranch 
ExuCSR 
ExuXRET 
ExuXRETCsrWait 
ExuXRETFinish 
ExuHalt 
ExuLSUFlush 
ExuCACHECONT 
ExuCACHECONT2 
ExuExOrIrq 
ExuExWaitForCoPUs 
ExuExJumpTvec 
ExuDiv 
ExuMulDivWB 
ExuDBGEnter 
ExuDBG 

◆ EOpRISCV

enum EOpRISCV
Enumerator
LOAD 
PARA 
MISC_MEM 
OP_IMM 
AUIPC 
STORE 
OP 
LUI 
BRANCH 
JALR 
JAL 
SYSTEM 
AMO