Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Classes | Public Member Functions | Public Attributes | List of all members
APBCtrl Class Reference

#include <apbctrl.h>

Inheritance diagram for APBCtrl:
Collaboration diagram for APBCtrl:

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_tget_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...
 

Additional Inherited Members

- Protected Attributes inherited from AHBSlave<>
sr_param< uint64_tm_reads
 Stores the number of Bytes read from the device. More...
 
sr_param< uint64_tm_writes
 Stores the number of Bytes written from the device. More...
 
- Protected Attributes inherited from AHBDevice< BaseModule< DefaultBase > >
uint32_t m_register [8]
 Impementation of the device register file. More...
 
ParameterArray g_bars
 
ParameterArray g_bar0
 
ParameterArray g_bar1
 
ParameterArray g_bar2
 
ParameterArray g_bar3
 
sr_param< uint32_tg_hindex
 
sr_param< uint8_tg_hvendorid
 
sr_param< uint16_tg_hdeviceid
 
sr_param< uint8_tg_hversion
 
sr_param< uint8_tg_hirq
 
sr_param< uint32_tg_bar0haddr
 
sr_param< uint32_tg_bar0hmask
 
sr_param< uint32_tg_bar0htype
 
sr_param< boolg_bar0hcacheable
 
sr_param< boolg_bar0hprefetchable
 
sr_param< uint32_tg_bar1haddr
 
sr_param< uint32_tg_bar1hmask
 
sr_param< uint32_tg_bar1htype
 
sr_param< boolg_bar1hcacheable
 
sr_param< boolg_bar1hprefetchable
 
sr_param< uint32_tg_bar2haddr
 
sr_param< uint32_tg_bar2hmask
 
sr_param< uint32_tg_bar2htype
 
sr_param< boolg_bar2hcacheable
 
sr_param< boolg_bar2hprefetchable
 
sr_param< uint32_tg_bar3haddr
 
sr_param< uint32_tg_bar3hmask
 
sr_param< uint32_tg_bar3htype
 
sr_param< boolg_bar3hcacheable
 
sr_param< boolg_bar3hprefetchable
 
- Protected Attributes inherited from BaseModule< DefaultBase >
ParameterAPIm_api
 Internal module gs param api instance. More...
 
ParameterArray m_generics
 Configuration generic container. More...
 
ParameterArray m_counters
 Performance counter container. More...
 
ParameterArray m_power
 Power counters container. More...
 
- Protected Attributes inherited from CLKDevice
sc_core::sc_time clock_cycle
 

Member Function Documentation

APBCtrl::GC_HAS_CALLBACKS ( )
APBCtrl::SC_HAS_PROCESS ( APBCtrl  )

Member Data Documentation

amba::amba_master_socket<32, 0> APBCtrl::apb

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