Transaction-Level Modeling Framework for Space Applications
#include <apbctrl.h>
Public Member Functions | |
GC_HAS_CALLBACKS () | |
SC_HAS_PROCESS (APBCtrl) | |
uint32_t | exec_func (tlm::tlm_generic_payload &ahb_gp, sc_core::sc_time &delay, bool debug) |
Encapsulation function for functional part of the model (decoder) More... | |
void | setAddressMap (const uint32_t binding, const uint32_t pindex, const uint32_t paddr, const uint32_t pmask) |
Helper function for creating slave map decoder entries. More... | |
int | get_index (const uint32_t address) |
Get slave index for a given address. More... | |
unsigned int | getPNPReg (const uint32_t address) |
Returns a PNP register from the APB configuration area (upper 4kb of address space) More... | |
void | dorst () |
Reset Callback. More... | |
sc_core::sc_time | get_clock () |
Return clock cycle for ahb interface. More... | |
void | checkMemMap () |
Check memory map for overlaps. More... | |
APBCtrl (ModuleName nm, uint32_t haddr=0xfff, uint32_t hmask=0, bool mcheck=0, uint32_t hindex=0, bool pow_mon=0, AbstractionLayer ambaLayer=amba::amba_LT) | |
Constructor. More... | |
~APBCtrl () | |
Desctructor. More... | |
void | init_generics () |
Initialisation function for model generics. More... | |
void | end_of_elaboration () |
Systemc end of elaboration hook. Enables power monitoring. More... | |
void | start_of_simulation () |
Set up slave map and collect plug & play information. More... | |
void | end_of_simulation () |
SystemC end of simulation hook. More... | |
void | power_model () |
Calculate power/energy values from normalized input data. More... | |
gs::cnf::callback_return_type | sta_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason) |
Static power callback. More... | |
gs::cnf::callback_return_type | int_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason) |
Dynamic/Internal power callback. More... | |
gs::cnf::callback_return_type | swi_power_cb (gs::gs_param_base &changed_param, gs::cnf::callback_type reason) |
Dynamic/Switching power callback. More... | |
Public Member Functions inherited from AHBSlave<> | |
SC_HAS_PROCESS (AHBSlave) | |
AHBSlave (ModuleName mn, uint8_t hindex, uint8_t vendor, uint8_t device, uint8_t version, uint8_t irq, AbstractionLayer ambaLayer, BAR bar0=BAR(), BAR bar1=BAR(), BAR bar2=BAR(), BAR bar3=BAR()) | |
~AHBSlave () | |
virtual uint32_t | exec_func (tlm::tlm_generic_payload &gp, sc_time &delay, bool debug=false)=0 |
Interface to functional part of the model. More... | |
virtual void | b_transport (tlm::tlm_generic_payload &gp, sc_time &delay) |
TLM blocking transport functions. More... | |
virtual uint32_t | transport_dbg (tlm::tlm_generic_payload &gp) |
TLM debug transport function. More... | |
virtual tlm::tlm_sync_enum | nb_transport_fw (tlm::tlm_generic_payload &trans, tlm::tlm_phase &phase, sc_core::sc_time &delay) |
TLM non-blocking transport function. More... | |
void | requestThread () |
Accept new transaction (busy or not) More... | |
void | responseThread () |
Thread for interfacing functional part of the model in AT mode. More... | |
virtual void | transport_statistics (tlm::tlm_generic_payload &gp) throw () |
Collect common transport statistics. More... | |
virtual void | print_transport_statistics (const char *name) const throw () |
Print common transport statistics. More... | |
Public Member Functions inherited from AHBDevice< BaseModule< DefaultBase > > | |
AHBDevice (ModuleName mn, uint32_t hindex, uint8_t vendorid, uint16_t deviceid, uint8_t version, uint8_t irq, BAR bar0, BAR bar1=BAR(), BAR bar2=BAR(), BAR bar3=BAR()) | |
AHBDevice (ModuleName mn) | |
void | init (uint32_t hindex, uint8_t vendorid, uint16_t deviceid, uint8_t version, uint8_t irq, BAR bar0, BAR bar1=BAR(), BAR bar2=BAR(), BAR bar3=BAR()) |
void | init_ahb_generics () |
virtual | ~AHBDevice () |
Empty destructor. More... | |
virtual const uint16_t | get_ahb_device_id () const throw () |
Returns the device id. More... | |
virtual const uint8_t | get_ahb_vendor_id () const throw () |
Returns the vendor id. More... | |
virtual const uint32_t * | get_ahb_device_info () throw () |
virtual const uint32_t | get_ahb_base_addr_ () const throw () |
virtual sc_dt::uint64 | get_ahb_base_addr () throw () |
virtual const uint32_t | get_ahb_size_ () const throw () |
virtual sc_dt::uint64 | get_ahb_size () throw () |
virtual const AMBADeviceType | get_ahb_bar_type (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_bar_base (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_bar_mask (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_bar_addr (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_bar_size (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_bar_relative_addr (uint32_t bar, uint32_t addr) const throw () |
const bool | get_ahb_bar_prefetchable (uint32_t bar) const throw () |
const bool | get_ahb_bar_cachable (uint32_t bar) const throw () |
virtual const uint32_t | get_ahb_hindex () const throw () |
Returns the bus id of the module (hindex) More... | |
virtual void | print_ahb_device_info (char *name) const |
Prints the device info of the device. More... | |
Public Member Functions inherited from BaseModule< DefaultBase > | |
BaseModule (ModuleName mn) | |
virtual | ~BaseModule () |
virtual void | init_registers () |
virtual void | init_counters () |
virtual void | init_power () |
Public Member Functions inherited from AHBDeviceBase | |
virtual | ~AHBDeviceBase () |
Empty destructor. More... | |
Public Member Functions inherited from CLKDevice | |
SR_HAS_SIGNALS (CLKDevice) | |
CLKDevice () | |
virtual | ~CLKDevice () |
virtual void | onrst (const bool &value, const sc_core::sc_time &time) |
virtual void | onclk (const sc_core::sc_time &value, const sc_core::sc_time &time) |
void | set_clk (sc_core::sc_clock &clk) |
void | set_clk (sc_core::sc_time period) |
void | set_clk (double period, sc_core::sc_time_unit base) |
virtual void | clkcng () |
Public Attributes | |
amba::amba_master_socket< 32, 0 > | apb |
APB master multi-socket. More... | |
Public Attributes inherited from AHBSlave<> | |
::amba::amba_slave_socket< 32 > | ahb |
tlm_utils::peq_with_get < tlm::tlm_generic_payload > | m_RequestPEQ |
Event queues for AT mode. More... | |
tlm_utils::peq_with_get < tlm::tlm_generic_payload > | m_ResponsePEQ |
Public Attributes inherited from CLKDevice | |
signal< bool >::in | rst |
Reset input signal. More... | |
signal< sc_core::sc_time >::in | clk |
Clock input signal. More... | |
APBCtrl::GC_HAS_CALLBACKS | ( | ) |
APBCtrl::SC_HAS_PROCESS | ( | APBCtrl | ) |
amba::amba_master_socket<32, 0> APBCtrl::apb |
APB master multi-socket.
Referenced by AMBABasePlatform::AMBABasePlatform(), checkMemMap(), exec_func(), sc_main(), and start_of_simulation().