This class is a base class for grlib models. It implements the device plug and play informations. Together with the APBBridge class it implements the plug and play feature of the grlib.
More...
|
| APBDevice (ModuleName mn, uint32_t bus_id, uint8_t vendorid, uint16_t deviceid, uint8_t version, uint8_t irq, AMBADeviceType type, uint16_t mask, bool cacheable, bool prefetchable, uint16_t address) |
|
| APBDevice (ModuleName mn) |
|
void | init_apb (uint32_t pindex, uint8_t vendorid, uint16_t deviceid, uint8_t version, uint8_t irq, AMBADeviceType type, uint16_t mask, bool cacheable, bool prefetchable, uint16_t address) |
|
void | init_apb_generics () |
| Initialize the APBDevice generics. More...
|
|
virtual | ~APBDevice () |
| Empty destructor. More...
|
|
virtual uint16_t | get_apb_device_id () const |
| Returns the device id. More...
|
|
virtual uint8_t | get_apb_vendor_id () const |
| Returns the vendor id. More...
|
|
virtual const uint32_t * | get_apb_device_info () |
|
virtual const AMBADeviceType | get_apb_type () const |
|
virtual uint32_t | get_apb_base () const |
|
virtual uint32_t | get_apb_mask () const |
|
virtual sc_dt::uint64 | get_apb_base_addr () |
|
virtual uint32_t | get_apb_base_addr_ () const |
|
virtual sc_dt::uint64 | get_apb_size () |
|
virtual uint32_t | get_apb_size_ () const |
|
virtual uint32_t | get_apb_relative_addr (uint32_t addr) const |
|
virtual uint32_t | get_apb_pindex () const |
| Returns the bus id of the module (pindex) More...
|
|
virtual void | print_apb_device_info (char *name) const |
| Prints the device info of the device. More...
|
|
virtual | ~APBDeviceBase () |
| Empty destructor. More...
|
|
template<class BASE = BaseModule<DefaultBase>>
class APBDevice< BASE >
This class is a base class for grlib models. It implements the device plug and play informations. Together with the APBBridge class it implements the plug and play feature of the grlib.
All simulation models that are supposed to be connected to the TLM APBCTRL must be derived from class APBDevice. Similar to the concept of AHBDevice, the child inherits Plug & Play configuration records representing its device type and address. At start_of_simulation the APBCTRL iterates through the connected slaves collecting all APB bar and mask settings for building up its routing table.
Modules, like the MCTRL, which posses an AHB as well as an APB interface must be derived from AHBDevice and APBDevice.
- See Also
- APBCtrl