Version 6 (modified by 17 years ago) (diff) | ,
---|
SocLib Components General Index
PibusBcu
1) Functional Description
This hardware component is a PIBUS controller. It can be used in conjunction with the VciPiInitiatorWrapper and the VciPiInitiatorWrapper to build a system using a PIBus interconnect.
The tree basic functionalities ot the BCU are :
- arbitration between simultaneous initiator requests.
- selection of the adressed target, by decoding the MSB address bits.
- time-out, when the selected target does not complete the transaction.
The main features are the following :
- The default master mechanism is not supported.
- The supported PIBUS response codes are PI_ACK_RDY, PI_ACK_WAT, and PI_ACK_ERR.
- The arbitration policy between initiators is round-robin.
- This component uses the mapping table to build the ROM that decodes the address MSB bits and give the target index used to activate the proper p_sel[i] signal.
- The COUNT_REQ[i] register counts the total number of transactions for initiator i.
- The COUNT_WAIT[i] register counts the total number of wait cycles for initiator i.
2) Component definition & usage
source:trunk/soclib/soclib/module/network_component/pibus_bcu/caba/metadata/pibus_bcu.sd
Uses( 'pibus_bcu' )
3) CABA Implementation
CABA sources
- interface : source:trunk/soclib/soclib/module/network_component/pibus_bcu/caba/source/include/pibus_bcu.h
- implementation : source:trunk/soclib/soclib/module/network_component/pibus_bcu/caba/source/src/pibus_bcu.cpp
CABA Constructor parameters
PiBcu( sc_module_name name, // Instance Name const soclib::common::MappingTable &mp, // Mapping Table size_t nb_master, // Number of initiators size_t nb-slave, // Number of targets uint32_t time_out); // Time-out (number of cycles)
CABA Ports
- sc_in<bool> p_resetn : Global system reset
- sc_in<bool> p_clk : Global system clock
- sc_out<bool> *p_gnt : Pointer to the grant ports array
- sc_in<bool> *p_req : Pointer to the request ports array
- sc_out<bool> *p_sel : Pointer to the select ports array
- sc_in<sc_uint<32> > p_a : Pibus address
- sc_in<bool> lock : Pibus lock (used for bursts)
- sc_in<sc_uint<2> > p_ack : Pibus response code
- sc_out<bool> p_tout : Pibus Time-out
4) TLM-T Implementation
There is no TLM-T implementation for this component.