Version 1 (modified by 17 years ago) (diff) | ,
---|
SocLib Components General Index
VciSimpleCrossbar Functional Description
This hardware component is a generic VCI crossbar, it contains two independant crossbars for VCI commands and VCI responses.
When several initiators try to reach the same target, the arbitration policy is round-robin. It gives the system designer a generic "communication black-box" with a parametrized number of VCI initiator ports (NB_INITIATOR), and a parameterized number of VCI target ports (NB_TARGET).
As any VCI advanced compliant interconnect, this component uses the MSB bits of the VCI ADDRESS field to route the command packets to the proper target, thanks to a routing table, implemented as a ROM. This routing table is build by the constructor from the informations stored in the mapping table. It uses the VCI RSRCID field to route the response packet to the initiator.
Component definition
Available in source:trunk/soclib/desc/soclib/vci_simple_crossbar.sd
Usage
VciSimpleCrossbar has no other parameter than VCI ones, it may be used like others, see SoclibCc/VciParameters
Uses( 'vci_simple_crossbar', **vci_parameters )
VciSimpleCrossbar CABA Implementation
The caba implementation is in
- source:trunk/soclib/systemc/include/caba/interconnect/vci_simple_crossbar.h
- source:trunk/soclib/systemc/src/caba/interconnect/vci_simple_crossbar.cc
Template parameters
template<typename vci_param>
Constructor parameters
VciSimpleCrossbar( sc_module_name name, const soclib::common::MappingTable &mt, size_t nb_initiator, size_t nb_target );
Ports
- sc_in<bool> p_resetn : Global system reset
- sc_in<bool> p_clk : Global system clock
- soclib::caba::VciTarget<vci_param> p_from_initiator[] : Ports from VCI initiators
- soclib::caba::VciInitiator<vci_param> p_to_target[] : Ports to VCI targets