Changes between Initial Version and Version 1 of Component/Vci Local Crossbar


Ignore:
Timestamp:
Jan 28, 2008, 6:08:35 PM (16 years ago)
Author:
Nicolas Pouillon
Comment:

Local crossbar

Legend:

Unmodified
Added
Removed
Modified
  • Component/Vci Local Crossbar

    v1 v1  
     1[wiki:Component SocLib Components General Index]
     2
     3= !VciLocalCrossbar Functional Description =
     4
     5This hardware component is a generic VCI crossbar, it contains two
     6independant crossbars for VCI commands and VCI responses.
     7
     8When several initiators try to reach the same target, the arbitration
     9policy is round-robin.
     10It gives the system designer a generic "communication black-box" with
     11a parametrized number of VCI initiator ports (NB_INITIATOR),
     12and a parameterized number of VCI target ports (NB_TARGET).
     13
     14As any VCI advanced compliant interconnect, this component uses
     15the MSB bits of the VCI ADDRESS field to route the command packets
     16to the proper target, thanks to a routing table, implemented as a ROM.
     17This routing table is build by the constructor from the informations stored in
     18the [wiki:Component/MappingTable mapping table].
     19It uses the VCI RSRCID field to route the response packet to the initiator.
     20
     21= Component definition =
     22
     23Available in source:trunk/soclib/desc/soclib/vci_local_crossbar.sd
     24
     25== Usage ==
     26
     27!VciLocalCrossbar has no other parameter than VCI ones, it may be used like others,
     28see [wiki:SoclibCc/VciParameters SoclibCc/VciParameters]
     29{{{
     30Uses( 'vci_local_crossbar', **vci_parameters )
     31}}}
     32
     33= !VciLocalCrossbar CABA  Implementation =
     34
     35The caba implementation is in
     36 * source:trunk/soclib/systemc/include/caba/interconnect/vci_local_crossbar.h
     37 * source:trunk/soclib/systemc/src/caba/interconnect/vci_local_crossbar.cc
     38It wraps a [wiki:Component/VciSimpleCrossbar VciSimpleCrossbar].
     39
     40== Template parameters ==
     41
     42{{{
     43template<typename vci_param>
     44}}}
     45
     46== Constructor parameters ==
     47
     48{{{
     49VciLocalCrossbar(
     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 );
     55}}}
     56
     57== Ports ==
     58
     59 * sc_in<bool> '''p_resetn''' : Global system reset
     60 * sc_in<bool> '''p_clk''' : Global system clock
     61 * soclib::caba::!VciTarget<vci_param> '''p_from_initiator[]''' : Ports from VCI initiators
     62 * soclib::caba::!VciInitiator<vci_param> '''p_to_target[]''' : Ports to VCI targets
     63 * soclib::caba::!VciTarget<vci_param> '''p_initiator_to_up''' : Initiator VCI port to micro-network
     64 * soclib::caba::!VciInitiator<vci_param> '''p_target_to_up''' : Target VCI port to micro-network