|
| SC_HAS_PROCESS (AHBMaster) |
|
| AHBMaster (ModuleName nm, 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()) |
| Constructor. More...
|
|
| ~AHBMaster () |
| Destructor. More...
|
|
virtual void | ahbread (uint32_t addr, unsigned char *data, uint32_t length) |
| Read data from AHB (SC_ZERO_TIME version) More...
|
|
virtual void | ahbwrite (uint32_t addr, unsigned char *data, uint32_t length) |
| Write data to AHB (SC_ZERO_TIME version) More...
|
|
virtual void | ahbread (uint32_t addr, unsigned char *data, uint32_t length, sc_core::sc_time &delay, bool &cacheable, tlm::tlm_response_status &response) |
| Read data from AHB. More...
|
|
virtual void | ahbread (uint32_t addr, unsigned char *data, uint32_t length, sc_core::sc_time &delay, bool &cacheable, bool is_lock, tlm::tlm_response_status &response) |
| Read data from AHB. More...
|
|
virtual void | ahbwrite (uint32_t addr, unsigned char *data, uint32_t length, sc_core::sc_time &delay, tlm::tlm_response_status &response) |
| Write data to AHB. More...
|
|
virtual void | ahbwrite (uint32_t addr, unsigned char *data, uint32_t length, sc_core::sc_time &delay, bool is_lock, tlm::tlm_response_status &response) |
| Write data to AHB. More...
|
|
virtual void | ahbaccess (tlm::tlm_generic_payload *trans) |
| Generic AHB access function (blocking and non-blocking) More...
|
|
virtual uint32_t | ahbaccess_dbg (tlm::tlm_generic_payload *trans) |
| Generic AHB debug access function. More...
|
|
virtual uint32_t | ahbread_dbg (uint32_t addr, unsigned char *data, uint32_t length) |
| Debug read from AHB. More...
|
|
virtual uint32_t | ahbwrite_dbg (uint32_t addr, unsigned char *data, uint32_t length) |
| Debug write from AHB. More...
|
|
virtual void | response_callback (tlm::tlm_generic_payload *trans) |
| Function may be implemented by the child for payload checking (e.g. testbench master) More...
|
|
virtual tlm::tlm_sync_enum | nb_transport_bw (tlm::tlm_generic_payload &payload, tlm::tlm_phase &phase, sc_core::sc_time &delay) |
| TLM non-blocking backward transport function. More...
|
|
virtual sc_core::sc_time | get_clock ()=0 |
| Returns clock cycle time from master. More...
|
|
void | ResponseThread () |
| Thread for response processing (read) More...
|
|
void | DataThread () |
| Thread for processing data-phase of write transactions. 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...
|
|
| 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...
|
|
virtual | ~AHBDeviceBase () |
| Empty destructor. More...
|
|
template<class BASE = BaseModule<DefaultBase>>
class AHBMaster< BASE >
Almost all models implementing an AHB master interface (except busses) are derived from class AHBMaster. AHBMaster is a convenience class providing an AHB master socket and implementations of various access functions for reading/writing data over the bus. AHBMaster inherits AHBDevice and can be configured for loosely timed (LT) or approximately timed (AT) level of abstraction.
An overview about how to build own components based on AHBMaster is given in Extending the Library.