Transaction-Level Modeling Framework for Space Applications
This class is a TLM 2.0 Model of the Aeroflex Gaisler GRLIB APBUART. Further informations to the original VHDL Modle are available in the GRLIB IP Core User's Manual Section 16. More...
#include <apbuart.h>
Public Member Functions | |
SC_HAS_PROCESS (APBUART) | |
SR_HAS_SIGNALS (APBUART) | |
GC_HAS_CALLBACKS () | |
APBUART (ModuleName name, std::string uart_backend="ReporterIO", uint16_t pindex=0, uint16_t paddr=0, uint16_t pmask=4095, int pirq=0, bool console=false, bool powmon=false) | |
~APBUART () | |
Free all counter and unregister all callbacks. More... | |
void | init_generics () |
void | init_registers () |
void | data_read () |
void | data_write () |
void | control_read () |
void | control_write () |
void | status_read () |
void | update_level_int () |
void | send_irq () |
void | uart_ticks () |
void | inc_fifo_level (uint32_t *counter) |
virtual void | dorst () |
void | before_end_of_elaboration () |
Public Member Functions inherited from APBSlave | |
APBSlave (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) | |
APBSlave (ModuleName mn) | |
~APBSlave () | |
Public Member Functions inherited from APBDevice< BaseModule< DefaultBase > > | |
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... | |
Public Member Functions inherited from BaseModule< DefaultBase > | |
BaseModule (ModuleName mn) | |
virtual | ~BaseModule () |
virtual void | init_counters () |
virtual void | init_power () |
Public Member Functions inherited from APBDeviceBase | |
virtual | ~APBDeviceBase () |
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 | |
signal< std::pair< uint32_t, bool > >::out | irq |
sc_event | e_irq |
sc_event | s_irq |
io_if * | m_backend |
uint32_t | g_pirq |
sr_param< bool > | g_console |
sr_param< std::string > | g_backend |
const uint32_t | powermon |
bool | overrun |
bool | level_int |
uint32_t | send_buffer |
uint32_t | recv_buffer_level |
char | recv_buffer [32] |
uint32_t | recv_buffer_start |
uint32_t | recv_buffer_end |
Public Attributes inherited from APBSlave | |
sr_register_bank< unsigned int, unsigned int > | r |
APBSlaveSocket< 32, unsigned int, unsigned int > | apb |
Public Attributes inherited from CLKDevice | |
signal< bool >::in | rst |
Reset input signal. More... | |
signal< sc_core::sc_time >::in | clk |
Clock input signal. More... | |
Static Public Attributes | |
static const uint32_t | DATA = 0x00000000 |
static const uint32_t | STATUS = 0x00000004 |
static const uint32_t | CONTROL = 0x00000008 |
static const uint32_t | SCALER = 0x0000000C |
static const uint32_t | DATA_DEFAULT = 0x0 |
static const uint32_t | STATUS_DEFAULT = 0x00000086 |
static const uint32_t | CONTROL_DEFAULT = 0x80000000 |
static const uint32_t | SCALER_DEFAULT = 0x0 |
static const uint32_t | DATA_MASK = 0x000000FF |
static const uint32_t | STATUS_MASK = 0x00000000 |
static const uint32_t | CONTROL_MASK = 0x7FFFFFFF |
static const uint32_t | SCALER_MASK = 0x00000FFF |
static const uint32_t | fifosize = 32 |
Additional Inherited Members | |
Protected Attributes inherited from APBDevice< BaseModule< DefaultBase > > | |
uint32_t | m_register [2] |
Impementation of the device register file. More... | |
sr_param< uint32_t > | g_pindex |
sr_param< uint8_t > | g_pvendorid |
sr_param< uint16_t > | g_pdeviceid |
sr_param< uint8_t > | g_pversion |
sr_param< uint8_t > | g_pirq |
sr_param< uint32_t > | g_paddr |
sr_param< uint32_t > | g_pmask |
sr_param< uint32_t > | g_ptype |
sr_param< bool > | g_pcacheable |
sr_param< bool > | g_pprefetchable |
Protected Attributes inherited from BaseModule< DefaultBase > | |
ParameterAPI * | m_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 |
This class is a TLM 2.0 Model of the Aeroflex Gaisler GRLIB APBUART. Further informations to the original VHDL Modle are available in the GRLIB IP Core User's Manual Section 16.
APBUART::GC_HAS_CALLBACKS | ( | ) |
APBUART::SC_HAS_PROCESS | ( | APBUART | ) |
APBUART::SR_HAS_SIGNALS | ( | APBUART | ) |
Referenced by data_read(), data_write(), init_registers(), uart_ticks(), and update_level_int().
Referenced by init_registers().
Referenced by init_registers().
Referenced by data_read(), data_write(), and init_registers().
Referenced by init_registers().
Referenced by init_registers().
sc_event APBUART::e_irq |
Referenced by data_read(), send_irq(), and uart_ticks().
Referenced by data_write(), inc_fifo_level(), status_read(), uart_ticks(), and update_level_int().
sr_param<std::string> APBUART::g_backend |
Referenced by before_end_of_elaboration().
Referenced by init_generics().
uint32_t APBUART::g_pirq |
Referenced by send_irq(), and update_level_int().
Referenced by sc_main(), send_irq(), and update_level_int().
bool APBUART::level_int |
Referenced by APBUART(), send_irq(), and update_level_int().
io_if* APBUART::m_backend |
Referenced by before_end_of_elaboration(), data_write(), and uart_ticks().
bool APBUART::overrun |
Referenced by APBUART(), data_write(), and status_read().
char APBUART::recv_buffer[32] |
Referenced by data_read(), and uart_ticks().
uint32_t APBUART::recv_buffer_end |
Referenced by APBUART(), data_read(), and uart_ticks().
uint32_t APBUART::recv_buffer_level |
Referenced by APBUART(), data_read(), status_read(), and uart_ticks().
sc_event APBUART::s_irq |
Referenced by init_registers(), and uart_ticks().
Referenced by init_registers().
Referenced by init_registers().
uint32_t APBUART::send_buffer |
Referenced by APBUART(), data_write(), status_read(), uart_ticks(), and update_level_int().
Referenced by init_registers(), and status_read().
Referenced by init_registers().
Referenced by init_registers().