SoCRocket
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().