Logo SoCRocket

Transaction-Level Modeling Framework for Space Applications

Public Member Functions | Public Attributes | List of all members
AMBABasePlatform Class Reference

#include <ambabase.h>

Inheritance diagram for AMBABasePlatform:
Collaboration diagram for AMBABasePlatform:

Public Member Functions

 AMBABasePlatform (sc_core::sc_module_name mn, uint32_t ahbctrl_ioaddr=0xFFF, uint32_t ahbctrl_iomask=0xFFF, uint32_t ahbctrl_cfgaddr=0xFF0, uint32_t ahbctrl_cfgmask=0xFF0, bool ahbctrl_rrobin=false, bool ahbctrl_split=false, uint32_t ahbctrl_defmast=0, bool ahbctrl_ioen=true, bool ahbctrl_fixbrst=false, bool ahbctrl_fpnpen=true, bool ahbctrl_mcheck=true, uint32_t apbctrl_haddr=0xfff, uint32_t apbctrl_hmask=0, bool apbctrl_mcheck=true, uint32_t apbctrl_hindex=0, uint32_t irqmp_paddr=0, uint32_t irqmp_pmask=0xFFF, uint32_t irqmp_ncpu=2, uint32_t irqmp_eirq=1, uint32_t irqmp_pindex=0, bool pow_mon=false, amba::amba_layer_ids ambaLayer=amba::amba_LT)
 
void clkcng ()
 
void dorst ()
 
- 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)
 

Public Attributes

AHBCtrl ahbctrl
 
APBCtrl apbctrl
 
Irqmp irqmp
 
- 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 CLKDevice
sc_core::sc_time clock_cycle
 

Constructor & Destructor Documentation

AMBABasePlatform::AMBABasePlatform ( sc_core::sc_module_name  mn,
uint32_t  ahbctrl_ioaddr = 0xFFF,
uint32_t  ahbctrl_iomask = 0xFFF,
uint32_t  ahbctrl_cfgaddr = 0xFF0,
uint32_t  ahbctrl_cfgmask = 0xFF0,
bool  ahbctrl_rrobin = false,
bool  ahbctrl_split = false,
uint32_t  ahbctrl_defmast = 0,
bool  ahbctrl_ioen = true,
bool  ahbctrl_fixbrst = false,
bool  ahbctrl_fpnpen = true,
bool  ahbctrl_mcheck = true,
uint32_t  apbctrl_haddr = 0xfff,
uint32_t  apbctrl_hmask = 0,
bool  apbctrl_mcheck = true,
uint32_t  apbctrl_hindex = 0,
uint32_t  irqmp_paddr = 0,
uint32_t  irqmp_pmask = 0xFFF,
uint32_t  irqmp_ncpu = 2,
uint32_t  irqmp_eirq = 1,
uint32_t  irqmp_pindex = 0,
bool  pow_mon = false,
amba::amba_layer_ids  ambaLayer = amba::amba_LT 
)
inline
Parameters
ahbctrl_ioaddrThe MSB address of the AHBCtrl I/O area
ahbctrl_iomaskThe AHBCtrl I/O area address mask
ahbctrl_cfgaddrThe MSB address of the AHBCtrl configuration area (PNP)
ahbctrl_cfgmaskThe address mask of the AHBCtrl configuration area
ahbctrl_rrobinAHBCtrl arbitration: 1 - round robin, 0 - fixed priority arbitration (only AT)
ahbctrl_splitEnable support for AHB SPLIT response in the AHBCtrl (only AT)
ahbctrl_defmastID of the default master at the AHBCtrl
ahbctrl_ioenAHBCtrl AHB I/O area enable
ahbctrl_fixbrstEnable support for fixed-length bursts in the AHBCtrl
ahbctrl_fpnpenEnable full decoding of PnP configuration records in the AHBCtrl.
ahbctrl_mcheckCheck if there are any intersections between core memory regions in the AHBCtrl.
apbctrl_haddrThe MSB address of the APBCtrl AHB area. Sets the 12 MSBs in the AHB address
apbctrl_hmaskThe 12bit AHB area address mask of the APBCtrl
apbctrl_mcheckCheck if there are any intersections between APB slave memory regions in the APBCtrl
apbctrl_hindexAHB bus index of the APBCtrl
irqmp_paddrUpper 12bit of the Irqmp APB address.
irqmp_pmaskUpper 12bit of the Irqmp APB mask.
irqmp_ncpuNumber of CPU which receive interupts stored in Irqmp Status Register.
irqmp_eirqInterrupt channel which hides all the extended interrupt channels.
irqmp_pindexIrqmp APB slave index.
pow_monEnable power monitoring in AHBCtrl and APBCtrl

References AHBSlave< BASE >::ahb, ahbctrl, AHBCtrl::ahbOUT, APBCtrl::apb, and apbctrl.

Member Function Documentation

void AMBABasePlatform::clkcng ( )
inlinevirtual

Reimplemented from CLKDevice.

References ahbctrl, apbctrl, CLKDevice::clock_cycle, and CLKDevice::set_clk().

Here is the call graph for this function:

void AMBABasePlatform::dorst ( )
inlinevirtual

Reimplemented from CLKDevice.

References ahbctrl, apbctrl, APBCtrl::dorst(), and AHBCtrl::dorst().

Here is the call graph for this function:

Member Data Documentation

AHBCtrl AMBABasePlatform::ahbctrl

Referenced by AMBABasePlatform(), clkcng(), and dorst().

APBCtrl AMBABasePlatform::apbctrl

Referenced by AMBABasePlatform(), clkcng(), and dorst().

Irqmp AMBABasePlatform::irqmp

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