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 Instructionreplicate () 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_0PSR
 
Reg32_1WIM
 
Reg32_2TBR
 
Reg32_3Y
 
Reg32_3PC
 
Reg32_3NPC
 
RegisterBankClassGLOBAL
 
Reg32_3WINREGS
 
Reg32_3ASR
 
AliasFP
 
AliasLR
 
AliasSP
 
AliasPCR
 
AliasREGS
 
MemoryInterfaceinstrMem
 
MemoryInterfacedataMem
 
PinTLM_out_32irqAck
 
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: