scc 2025.09
SystemC components library
apb::pin::target< DATA_WIDTH, ADDR_WIDTH > Class Template Reference
Inheritance diagram for apb::pin::target< DATA_WIDTH, ADDR_WIDTH >:
Collaboration diagram for apb::pin::target< DATA_WIDTH, ADDR_WIDTH >:

Public Types

using addr_t = typename std::conditional<is_larger(ADDR_WIDTH), sc_dt::sc_biguint<ADDR_WIDTH>, sc_dt::sc_uint<ADDR_WIDTH>>::type
using data_t = typename std::conditional<is_larger(DATA_WIDTH), sc_dt::sc_biguint<DATA_WIDTH>, sc_dt::sc_uint<DATA_WIDTH>>::type
using strb_t = sc_dt::sc_uint<DATA_WIDTH / 8>

Public Member Functions

 target (const sc_core::sc_module_name &nm)

Public Attributes

sc_core::sc_in< bool > PCLK_i {"PCLK_i"}
sc_core::sc_in< bool > PRESETn_i {"PRESETn_i"}
sc_core::sc_in< addr_t > PADDR_i {"PADDR_i"}
scc::sc_in_opt< sc_dt::sc_uint< 3 > > PPROT_i {"PPROT_i"}
scc::sc_in_opt< bool > PNSE_i {"PNSE_i"}
sc_core::sc_in< bool > PSELx_i {"PSELx_i"}
sc_core::sc_in< bool > PENABLE_i {"PENABLE_i"}
sc_core::sc_in< bool > PWRITE_i {"PWRITE_i"}
sc_core::sc_in< data_t > PWDATA_i {"PWDATA_i"}
scc::sc_in_opt< strb_t > PSTRB_i {"PSTRB_i"}
sc_core::sc_out< bool > PREADY_o {"PREADY_o"}
sc_core::sc_out< data_t > PRDATA_o {"PRDATA_o"}
sc_core::sc_out< bool > PSLVERR_o {"PSLVERR_o"}
scc::sc_in_opt< bool > PWAKEUP_i {"PWAKEUP_i"}
tlm::scc::initiator_mixin< tlm::tlm_initiator_socket< 0 > > isckt {"isckt"}
cci::cci_param< bool > use_byte_enable {"", false, "sample PSTRB as byte enable in TLM payload"}

Detailed Description

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
class apb::pin::target< DATA_WIDTH, ADDR_WIDTH >

Definition at line 36 of file target.h.

Member Typedef Documentation

◆ addr_t

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
using apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::addr_t = typename std::conditional<is_larger(ADDR_WIDTH), sc_dt::sc_biguint<ADDR_WIDTH>, sc_dt::sc_uint<ADDR_WIDTH>>::type

Definition at line 40 of file target.h.

◆ data_t

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
using apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::data_t = typename std::conditional<is_larger(DATA_WIDTH), sc_dt::sc_biguint<DATA_WIDTH>, sc_dt::sc_uint<DATA_WIDTH>>::type

Definition at line 41 of file target.h.

◆ strb_t

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
using apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::strb_t = sc_dt::sc_uint<DATA_WIDTH / 8>

Definition at line 42 of file target.h.

Constructor & Destructor Documentation

◆ target()

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::target ( const sc_core::sc_module_name & nm)

Definition at line 86 of file target.h.

Member Data Documentation

◆ isckt

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
tlm::scc::initiator_mixin<tlm::tlm_initiator_socket<0> > apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::isckt {"isckt"}

Definition at line 59 of file target.h.

◆ PADDR_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<addr_t> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PADDR_i {"PADDR_i"}

Definition at line 46 of file target.h.

◆ PCLK_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PCLK_i {"PCLK_i"}

Definition at line 44 of file target.h.

◆ PENABLE_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PENABLE_i {"PENABLE_i"}

Definition at line 50 of file target.h.

◆ PNSE_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
scc::sc_in_opt<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PNSE_i {"PNSE_i"}

Definition at line 48 of file target.h.

◆ PPROT_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
scc::sc_in_opt<sc_dt::sc_uint<3> > apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PPROT_i {"PPROT_i"}

Definition at line 47 of file target.h.

◆ PRDATA_o

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_out<data_t> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PRDATA_o {"PRDATA_o"}

Definition at line 55 of file target.h.

◆ PREADY_o

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_out<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PREADY_o {"PREADY_o"}

Definition at line 54 of file target.h.

◆ PRESETn_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PRESETn_i {"PRESETn_i"}

Definition at line 45 of file target.h.

◆ PSELx_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PSELx_i {"PSELx_i"}

Definition at line 49 of file target.h.

◆ PSLVERR_o

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_out<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PSLVERR_o {"PSLVERR_o"}

Definition at line 56 of file target.h.

◆ PSTRB_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
scc::sc_in_opt<strb_t> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PSTRB_i {"PSTRB_i"}

Definition at line 53 of file target.h.

◆ PWAKEUP_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
scc::sc_in_opt<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PWAKEUP_i {"PWAKEUP_i"}

Definition at line 57 of file target.h.

◆ PWDATA_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<data_t> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PWDATA_i {"PWDATA_i"}

Definition at line 52 of file target.h.

◆ PWRITE_i

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
sc_core::sc_in<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::PWRITE_i {"PWRITE_i"}

Definition at line 51 of file target.h.

◆ use_byte_enable

template<unsigned DATA_WIDTH, unsigned ADDR_WIDTH>
cci::cci_param<bool> apb::pin::target< DATA_WIDTH, ADDR_WIDTH >::use_byte_enable {"", false, "sample PSTRB as byte enable in TLM payload"}

Definition at line 61 of file target.h.


The documentation for this class was generated from the following file:
  • /home/eyck/Projects/MINRES/SystemC-Components/src/interfaces/apb/pin/target.h