Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Public Attributes | List of all members
leon3_funclt_trap::Processor_leon3_funclt Class Reference

#include <processor.hpp>

Inheritance diagram for leon3_funclt_trap::Processor_leon3_funclt:
Collaboration diagram for leon3_funclt_trap::Processor_leon3_funclt:

Public Member Functions

 GC_HAS_CALLBACKS ()
 
 SC_HAS_PROCESS (Processor_leon3_funclt)
 
 Processor_leon3_funclt (sc_module_name name, MemoryInterface *memory=NULL, sc_time latency=sc_time(10, sc_core::SC_NS), bool pow_mon=false)
 
void mainLoop ()
 
void resetOp ()
 
void start_of_simulation ()
 
void end_of_simulation ()
 
void power_model ()
 
void triggerException (unsigned int exception)
 
gs::cnf::callback_return_type sta_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 
gs::cnf::callback_return_type int_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 
gs::cnf::callback_return_type swi_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason)
 
void end_of_elaboration ()
 
Instructiondecode (unsigned int bitString)
 
LEON3_ABIIfgetInterface ()
 
void setProfilingRange (unsigned int startAddr, unsigned int endAddr)
 
 ~Processor_leon3_funclt ()
 

Public Attributes

tlm_utils::tlm_quantumkeeper quantKeeper
 
LEON3_ABIIfabiIf
 
ToolsManager< unsigned inttoolManager
 
Reg32_0 PSR
 
Reg32_1 WIM
 
Reg32_2 TBR
 
Reg32_3 Y
 
Reg32_3 PC
 
Reg32_3 NPC
 
RegisterBankClass GLOBAL
 
Reg32_3 WINREGS [128]
 
Reg32_3 ASR [32]
 
Alias FP
 
Alias LR
 
Alias SP
 
Alias PCR
 
Alias REGS [32]
 
MemoryInterfacemem
 
MemoryInterfaceinstrMem
 
MemoryInterfacedataMem
 
sc_time latency
 
sc_time profTimeStart
 
sc_time profTimeEnd
 
unsigned int undumpedHistElems
 
unsigned int ENTRY_POINT
 
unsigned int MPROC_ID
 
unsigned int PROGRAM_LIMIT
 
unsigned int PROGRAM_START
 
unsigned int curPC
 
IntrTLMPort_32 IRQ_port
 
PinTLM_out_32 irqAck
 
sr_param< boolhistoryEnabled
 
bool m_pow_mon
 
IRQ_IRQ_InstructionIRQ_irqInstr
 
sr_param< doublesta_power_norm
 Normalized static power input. More...
 
sr_param< doubleint_power_norm
 Normalized internal power input (activation independent) More...
 
sr_param< doubledyn_instr_energy_norm
 Normalized average instruction energy. More...
 
gs::gs_param_array power
 Parameter array for power data output. More...
 
sr_param< doublesta_power
 Static power of module. More...
 
sr_param< doubleint_power
 Dynamic power of module (activation independent) More...
 
sr_param< doubleswi_power
 Switching power of module. More...
 
sr_param< sc_core::sc_time > power_frame_starting_time
 Power frame starting time. More...
 
sr_param< doubledyn_instr_energy
 Average dynamic energy per instruction. More...
 
sr_param< uint64_tdyn_instr
 Number of instructions processed in time frame. More...
 
sr_param< uint64_tnumInstructions
 Number of instructions processed. More...
 

Constructor & Destructor Documentation

leon3_funclt_trap::Processor_leon3_funclt::Processor_leon3_funclt ( sc_module_name  name,
MemoryInterface memory = NULL,
sc_time  latency = sc_time(10, sc_core::SC_NS),
bool  pow_mon = false 
)
leon3_funclt_trap::Processor_leon3_funclt::~Processor_leon3_funclt ( )

References i.

Member Function Documentation

Instruction * leon3_funclt_trap::Processor_leon3_funclt::decode ( unsigned int  bitString)

References leon3_funclt_trap::Instruction::setParams().

Referenced by sc_main().

Here is the call graph for this function:

void leon3_funclt_trap::Processor_leon3_funclt::end_of_elaboration ( )
void leon3_funclt_trap::Processor_leon3_funclt::end_of_simulation ( )

References setup::name, and v::report.

leon3_funclt_trap::Processor_leon3_funclt::GC_HAS_CALLBACKS ( )
LEON3_ABIIf & leon3_funclt_trap::Processor_leon3_funclt::getInterface ( )

Referenced by sc_main().

gs::cnf::callback_return_type leon3_funclt_trap::Processor_leon3_funclt::int_power_cb ( gs::gs_param_base &  changed_param,
gs::cnf::callback_type  reason 
)

References GC_RETURN_OK.

Referenced by Processor_leon3_funclt().

void leon3_funclt_trap::Processor_leon3_funclt::mainLoop ( )

References v::info, key_ET, key_PIL, key_S, setup::name, srInfo, and pysc::api::systemc::wait().

Referenced by Processor_leon3_funclt().

Here is the call graph for this function:

void leon3_funclt_trap::Processor_leon3_funclt::power_model ( )
void leon3_funclt_trap::Processor_leon3_funclt::resetOp ( )

References i, and Y.

leon3_funclt_trap::Processor_leon3_funclt::SC_HAS_PROCESS ( Processor_leon3_funclt  )
void leon3_funclt_trap::Processor_leon3_funclt::setProfilingRange ( unsigned int  startAddr,
unsigned int  endAddr 
)

Referenced by sc_main().

gs::cnf::callback_return_type leon3_funclt_trap::Processor_leon3_funclt::sta_power_cb ( gs::gs_param_base &  changed_param,
gs::cnf::callback_type  reason 
)

References GC_RETURN_OK.

Referenced by Processor_leon3_funclt().

void leon3_funclt_trap::Processor_leon3_funclt::start_of_simulation ( )
gs::cnf::callback_return_type leon3_funclt_trap::Processor_leon3_funclt::swi_power_cb ( gs::gs_param_base &  changed_param,
gs::cnf::callback_type  reason 
)

References GC_RETURN_OK.

Referenced by Processor_leon3_funclt().

void leon3_funclt_trap::Processor_leon3_funclt::triggerException ( unsigned int  exception)

Member Data Documentation

LEON3_ABIIf* leon3_funclt_trap::Processor_leon3_funclt::abiIf
Reg32_3 leon3_funclt_trap::Processor_leon3_funclt::ASR[32]

Referenced by Processor_leon3_funclt().

unsigned int leon3_funclt_trap::Processor_leon3_funclt::curPC
MemoryInterface& leon3_funclt_trap::Processor_leon3_funclt::dataMem

Referenced by Processor_leon3_funclt(), and sc_main().

sr_param<uint64_t> leon3_funclt_trap::Processor_leon3_funclt::dyn_instr

Number of instructions processed in time frame.

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::dyn_instr_energy

Average dynamic energy per instruction.

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::dyn_instr_energy_norm

Normalized average instruction energy.

unsigned int leon3_funclt_trap::Processor_leon3_funclt::ENTRY_POINT
Alias leon3_funclt_trap::Processor_leon3_funclt::FP

Referenced by Processor_leon3_funclt().

RegisterBankClass leon3_funclt_trap::Processor_leon3_funclt::GLOBAL

Referenced by Processor_leon3_funclt().

sr_param<bool> leon3_funclt_trap::Processor_leon3_funclt::historyEnabled

Referenced by Processor_leon3_funclt().

MemoryInterface& leon3_funclt_trap::Processor_leon3_funclt::instrMem

Referenced by Processor_leon3_funclt(), and sc_main().

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::int_power

Dynamic power of module (activation independent)

Referenced by Processor_leon3_funclt().

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::int_power_norm

Normalized internal power input (activation independent)

IRQ_IRQ_Instruction* leon3_funclt_trap::Processor_leon3_funclt::IRQ_irqInstr

Referenced by Processor_leon3_funclt().

IntrTLMPort_32 leon3_funclt_trap::Processor_leon3_funclt::IRQ_port

Referenced by sc_main().

PinTLM_out_32 leon3_funclt_trap::Processor_leon3_funclt::irqAck

Referenced by Processor_leon3_funclt(), and sc_main().

sc_time leon3_funclt_trap::Processor_leon3_funclt::latency

Referenced by Leon3::clkcng().

Alias leon3_funclt_trap::Processor_leon3_funclt::LR

Referenced by Processor_leon3_funclt().

bool leon3_funclt_trap::Processor_leon3_funclt::m_pow_mon

Referenced by Processor_leon3_funclt().

MemoryInterface* leon3_funclt_trap::Processor_leon3_funclt::mem
unsigned int leon3_funclt_trap::Processor_leon3_funclt::MPROC_ID
Reg32_3 leon3_funclt_trap::Processor_leon3_funclt::NPC

Referenced by Processor_leon3_funclt().

sr_param<uint64_t> leon3_funclt_trap::Processor_leon3_funclt::numInstructions

Number of instructions processed.

Referenced by Processor_leon3_funclt(), and sc_main().

Reg32_3 leon3_funclt_trap::Processor_leon3_funclt::PC

Referenced by Processor_leon3_funclt().

Alias leon3_funclt_trap::Processor_leon3_funclt::PCR

Referenced by Processor_leon3_funclt().

gs::gs_param_array leon3_funclt_trap::Processor_leon3_funclt::power

Parameter array for power data output.

sr_param<sc_core::sc_time> leon3_funclt_trap::Processor_leon3_funclt::power_frame_starting_time

Power frame starting time.

sc_time leon3_funclt_trap::Processor_leon3_funclt::profTimeEnd

Referenced by Processor_leon3_funclt(), and sc_main().

sc_time leon3_funclt_trap::Processor_leon3_funclt::profTimeStart

Referenced by Processor_leon3_funclt(), and sc_main().

unsigned int leon3_funclt_trap::Processor_leon3_funclt::PROGRAM_LIMIT

Referenced by Processor_leon3_funclt(), and sc_main().

unsigned int leon3_funclt_trap::Processor_leon3_funclt::PROGRAM_START

Referenced by Processor_leon3_funclt(), and sc_main().

Reg32_0 leon3_funclt_trap::Processor_leon3_funclt::PSR

Referenced by Processor_leon3_funclt().

tlm_utils::tlm_quantumkeeper leon3_funclt_trap::Processor_leon3_funclt::quantKeeper

Referenced by Processor_leon3_funclt().

Alias leon3_funclt_trap::Processor_leon3_funclt::REGS[32]

Referenced by Processor_leon3_funclt().

Alias leon3_funclt_trap::Processor_leon3_funclt::SP

Referenced by Processor_leon3_funclt().

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::sta_power

Static power of module.

Referenced by Processor_leon3_funclt().

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::sta_power_norm

Normalized static power input.


Power Modeling Parameters

sr_param<double> leon3_funclt_trap::Processor_leon3_funclt::swi_power

Switching power of module.

Referenced by Processor_leon3_funclt().

Reg32_2 leon3_funclt_trap::Processor_leon3_funclt::TBR

Referenced by Processor_leon3_funclt().

ToolsManager< unsigned int > leon3_funclt_trap::Processor_leon3_funclt::toolManager
unsigned int leon3_funclt_trap::Processor_leon3_funclt::undumpedHistElems

Referenced by Processor_leon3_funclt().

Reg32_1 leon3_funclt_trap::Processor_leon3_funclt::WIM

Referenced by Processor_leon3_funclt().

Reg32_3 leon3_funclt_trap::Processor_leon3_funclt::WINREGS[128]

Referenced by Processor_leon3_funclt().

Reg32_3 leon3_funclt_trap::Processor_leon3_funclt::Y

Referenced by Processor_leon3_funclt().


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