Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Protected Member Functions | List of all members
leon3_funclt_trap::WB_plain_op Class Reference

#include <instructions.hpp>

Inherits leon3_funclt_trap::Instruction.

Inherited by leon3_funclt_trap::ADD_imm, leon3_funclt_trap::ADD_reg, leon3_funclt_trap::ADDcc_imm, leon3_funclt_trap::ADDcc_reg, leon3_funclt_trap::ADDX_imm, leon3_funclt_trap::ADDX_reg, leon3_funclt_trap::ADDXcc_imm, leon3_funclt_trap::ADDXcc_reg, leon3_funclt_trap::AND_imm, leon3_funclt_trap::AND_reg, leon3_funclt_trap::ANDcc_imm, leon3_funclt_trap::ANDcc_reg, leon3_funclt_trap::ANDN_imm, leon3_funclt_trap::ANDN_reg, leon3_funclt_trap::ANDNcc_imm, leon3_funclt_trap::ANDNcc_reg, leon3_funclt_trap::MULScc_imm, leon3_funclt_trap::MULScc_reg, leon3_funclt_trap::OR_imm, leon3_funclt_trap::OR_reg, leon3_funclt_trap::ORcc_imm, leon3_funclt_trap::ORcc_reg, leon3_funclt_trap::ORN_imm, leon3_funclt_trap::ORN_reg, leon3_funclt_trap::ORNcc_imm, leon3_funclt_trap::ORNcc_reg, leon3_funclt_trap::SDIV_imm, leon3_funclt_trap::SDIV_reg, leon3_funclt_trap::SDIVcc_imm, leon3_funclt_trap::SDIVcc_reg, leon3_funclt_trap::SETHI, leon3_funclt_trap::SLL_imm, leon3_funclt_trap::SLL_reg, leon3_funclt_trap::SMAC_imm, leon3_funclt_trap::SMAC_reg, leon3_funclt_trap::SMUL_imm, leon3_funclt_trap::SMUL_reg, leon3_funclt_trap::SMULcc_imm, leon3_funclt_trap::SMULcc_reg, leon3_funclt_trap::SRA_imm, leon3_funclt_trap::SRA_reg, leon3_funclt_trap::SRL_imm, leon3_funclt_trap::SRL_reg, leon3_funclt_trap::SUB_imm, leon3_funclt_trap::SUB_reg, leon3_funclt_trap::SUBcc_imm, leon3_funclt_trap::SUBcc_reg, leon3_funclt_trap::SUBX_imm, leon3_funclt_trap::SUBX_reg, leon3_funclt_trap::SUBXcc_imm, leon3_funclt_trap::SUBXcc_reg, leon3_funclt_trap::TADDcc_imm, leon3_funclt_trap::TADDcc_reg, leon3_funclt_trap::TSUBcc_imm, leon3_funclt_trap::TSUBcc_reg, leon3_funclt_trap::UDIV_imm, leon3_funclt_trap::UDIV_reg, leon3_funclt_trap::UDIVcc_imm, leon3_funclt_trap::UDIVcc_reg, leon3_funclt_trap::UMAC_imm, leon3_funclt_trap::UMAC_reg, leon3_funclt_trap::UMUL_imm, leon3_funclt_trap::UMUL_reg, leon3_funclt_trap::UMULcc_imm, leon3_funclt_trap::UMULcc_reg, leon3_funclt_trap::XNOR_imm, leon3_funclt_trap::XNOR_reg, leon3_funclt_trap::XNORcc_imm, leon3_funclt_trap::XNORcc_reg, leon3_funclt_trap::XOR_imm, leon3_funclt_trap::XOR_reg, leon3_funclt_trap::XORcc_imm, and leon3_funclt_trap::XORcc_reg.

Collaboration diagram for leon3_funclt_trap::WB_plain_op:

Public Member Functions

 WB_plain_op (Reg32_0 &PSR, Reg32_1 &WIM, Reg32_2 &TBR, Reg32_3 &Y, Reg32_3 &PC, Reg32_3 &NPC, RegisterBankClass &GLOBAL, Reg32_3 *WINREGS, Reg32_3 *ASR, Alias &FP, Alias &LR, Alias &SP, Alias &PCR, Alias *REGS, MemoryInterface &instrMem, MemoryInterface &dataMem, PinTLM_out_32 &irqAck)
 
virtual ~WB_plain_op ()
 
- Public Member Functions inherited from leon3_funclt_trap::Instruction
 Instruction (Reg32_0 &PSR, Reg32_1 &WIM, Reg32_2 &TBR, Reg32_3 &Y, Reg32_3 &PC, Reg32_3 &NPC, RegisterBankClass &GLOBAL, Reg32_3 *WINREGS, Reg32_3 *ASR, Alias &FP, Alias &LR, Alias &SP, Alias &PCR, Alias *REGS, MemoryInterface &instrMem, MemoryInterface &dataMem, PinTLM_out_32 &irqAck)
 
virtual unsigned int behavior ()=0
 
virtual Instruction * replicate () const =0 throw ()
 
virtual void setParams (const unsigned int &bitString)=0 throw ()
 
virtual std::string getInstructionName () const =0 throw ()
 Returns the instruction name. More...
 
virtual std::string getMnemonic () const =0 throw ()
 
virtual unsigned int getId () const =0 throw ()
 Gets the ID of the instruction as returned by the decoder. More...
 
void annull ()
 
void flush ()
 
void stall (const unsigned int &numCycles)
 
bool IncrementRegWindow () throw ()
 
bool DecrementRegWindow () throw ()
 
int SignExtend (unsigned int bitSeq, unsigned int bitSeq_length) const throw ()
 
void RaiseException (unsigned int pcounter, unsigned int npcounter, unsigned int exceptionId, unsigned int customTrapOffset=0)
 
bool checkIncrementWin () const throw ()
 
bool checkDecrementWin () const throw ()
 
virtual ~Instruction ()
 

Protected Member Functions

void WB_plain (Alias &rd, unsigned int &rd_bit, unsigned int &result) throw ()
 
- Protected Member Functions inherited from leon3_funclt_trap::Instruction
void IncrementPC () throw ()
 

Additional Inherited Members

- Public Attributes inherited from leon3_funclt_trap::Instruction
unsigned int totalInstrCycles
 
- Protected Attributes inherited from leon3_funclt_trap::Instruction
Reg32_0 & PSR
 
Reg32_1 & WIM
 
Reg32_2 & TBR
 
Reg32_3 & Y
 
Reg32_3 & PC
 
Reg32_3 & NPC
 
RegisterBankClass & GLOBAL
 
Reg32_3 * WINREGS
 
Reg32_3 * ASR
 
Alias & FP
 
Alias & LR
 
Alias & SP
 
Alias & PCR
 
Alias * REGS
 
MemoryInterface & instrMem
 
MemoryInterface & dataMem
 
PinTLM_out_32 & irqAck
 
const unsigned int NUM_REG_WIN
 
const bool PIPELINED_MULT
 

Constructor & Destructor Documentation

leon3_funclt_trap::WB_plain_op::WB_plain_op ( Reg32_0 &  PSR,
Reg32_1 &  WIM,
Reg32_2 &  TBR,
Reg32_3 &  Y,
Reg32_3 &  PC,
Reg32_3 &  NPC,
RegisterBankClass &  GLOBAL,
Reg32_3 *  WINREGS,
Reg32_3 *  ASR,
Alias &  FP,
Alias &  LR,
Alias &  SP,
Alias &  PCR,
Alias *  REGS,
MemoryInterface &  instrMem,
MemoryInterface &  dataMem,
PinTLM_out_32 &  irqAck 
)
leon3_funclt_trap::WB_plain_op::~WB_plain_op ( )
virtual

Member Function Documentation

void leon3_funclt_trap::WB_plain_op::WB_plain ( Alias &  rd,
unsigned int &  rd_bit,
unsigned int &  result 
)
throw (
)
inlineprotected

References result.


The documentation for this class was generated from the following files: