Changes between Version 2 and Version 3 of Component/Vci Local Crossbar
- Timestamp:
- Feb 9, 2008, 11:36:38 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Vci Local Crossbar
v2 v3 1 1 [wiki:Component SocLib Components General Index] 2 2 3 = !VciLocalCrossbar Functional Description=3 = !VciLocalCrossbar = 4 4 5 This hardware component is a generic VCI crossbar, it contains two 6 independant crossbars for VCI commands and VCI responses. 5 == 1) Functional Description == 6 7 This hardware component is a VCI compliant full crossbar, it contains two 8 independant crossbars for VCI commands and VCI responses. It must only 9 be used in clusterized architecture, to interconnect a limited number of 10 VCI initiators and targets in a local sub-system. The associated sub-system 11 is identified by a global index. 12 13 * The number of VCI initiators is a parameter that should not be larger than 4. 14 * The number of VCI targets is a parameter that should not be larger than 4. 15 16 The !VciLocalCrossbar component has a dedicated VCI interface (both initiator and target) 17 to connect the local subsystem to the global VCI interconnect. 7 18 8 19 When several initiators try to reach the same target, the arbitration 9 20 policy is round-robin. 10 It gives the system designer a generic "communication black-box" with11 a parametrized number of VCI initiator ports (NB_INITIATOR),12 and a parameterized number of VCI target ports (NB_TARGET).13 21 14 22 As any VCI advanced compliant interconnect, this component uses … … 19 27 It uses the VCI RSRCID field to route the response packet to the initiator. 20 28 21 = Component definition=29 == 2) Component definition & usage == 22 30 23 Available insource:trunk/soclib/module/network_component/vci_local_crossbar/caba/metadata/vci_local_crossbar.sd31 source:trunk/soclib/module/network_component/vci_local_crossbar/caba/metadata/vci_local_crossbar.sd 24 32 25 == Usage == 26 27 !VciLocalCrossbar has no other parameter than VCI ones, it may be used like others, 28 see [wiki:SoclibCc/VciParameters SoclibCc/VciParameters] 33 See [wiki:SoclibCc/VciParameters SoclibCc/VciParameters] 29 34 {{{ 30 35 Uses( 'vci_local_crossbar', **vci_parameters ) 31 36 }}} 32 37 33 = !VciLocalCrossbar CABA Implementation=38 == 3) CABA Implementation == 34 39 35 The caba implementation is in 36 * source:trunk/soclib/module/network_component/vci_local_crossbar/caba/source/include/vci_local_crossbar.h 37 * source:trunk/soclib/module/network_component/vci_local_crossbar/caba/source/src/vci_local_crossbar.cpp 38 It wraps a [wiki:Component/VciSimpleCrossbar VciSimpleCrossbar]. 40 === CABA sources === 39 41 40 == Template parameters == 42 * interface : source:trunk/soclib/soclib/module/network_component/vci_local_crossbar/caba/source/include/vci_local_crossbar.h 43 * implementation : source:trunk/soclib/soclib/module/network_component/vci_local_crossbar/caba/source/src/vci_local_crossbar.cpp 41 44 42 {{{ 43 template<typename vci_param> 44 }}} 45 46 == Constructor parameters == 45 === CABA Constructor parameters === 47 46 48 47 {{{ 49 48 VciLocalCrossbar( 50 sc_module_name name, 51 const soclib::common::MappingTable &mt, 52 const soclib::common::IntTab &index, 53 size_t nb_initiator, 54 size_t nb_target ); 49 sc_module_name name, // instance name 50 const soclib::common::MappingTable &mt, // mapping table 51 const soclib::common::IntTab &index, // global sub-system index 52 size_t nb_initiator, // number of VCI initiators 53 size_t nb_target ); // number of VCI targets 55 54 }}} 56 55 57 == Ports==56 === CABA Ports === 58 57 59 58 * sc_in<bool> '''p_resetn''' : Global system reset