Changes between Version 1 and Version 2 of Component/Virtual Dspin Array


Ignore:
Timestamp:
Jul 8, 2009, 4:45:16 PM (15 years ago)
Author:
noe.girand@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Virtual Dspin Array

    v1 v2  
    55== 1) Functional Description ==
    66
    7 This hardware component is a VCI compliant ring, implemented as a combinational daisy-chain and well suited for FPGA implementations.it contains two independent rings for   VCI commands and VCI responses. It is composed of an two-dimensionnal array of [wiki:Component/VirtualDspinRouter VirtualDspinRouter].
     7The Virtual Dspin Array is a two-dimensionnal array composed of [wiki:Component/VirtualDspinRouter VirtualDspinRouter], for routing paquets of two virtual channels on the same physic network.
    88
    99== 2) Component definition & usage ==
     
    1515=== CABA sources ===
    1616
    17  * interface      : source:trunk/soclib/soclib/module/network_component/virtual_dspin_array/caba/source/include/virtual_dspin_array.h
    18  * implementation : source:trunk/soclib/soclib/module/network_component/virtual_dspin_array/caba/source/src/virtual_dspin_array.cpp
     17 || interface           || source:trunk/soclib/soclib/module/network_component/virtual_dspin_array/caba/source/include/virtual_dspin_array.h ||
     18 || implementation      || source:trunk/soclib/soclib/module/network_component/virtual_dspin_array/caba/source/src/virtual_dspin_array.cpp ||
     19
     20=== CABA Template parameters ===
     21
     22|| int io_mask_size             || Size in bits of IO checking ||
     23|| int io_number_size           || Size in bits of IO index ||
     24|| int x_addressing_size        || Size in bits of first coordinate addressing ||
     25|| int y_addressing_size        || Size of second coordinate addressing ||
     26
     27|| int cmd_data_size            || Size in bits of command flits ||
     28|| int cmd_io_mask_offset       || Emplacement of IO checking in command paquets ||
     29|| int cmd_io_number_offset     || Emplacement of IO index in IO table in command paquets ||
     30|| int cmd_x_addressing_offset  || Emplacement of target x in first flit in command paquets ||
     31|| int cmd_y_addressing_offset  || Emplacement of target y in first flit in command paquets ||
     32|| int cmd_eop_offset           || Emplacement of eop checking in command paquets ||
     33|| int cmd_broadcast_offset     || Emplacement of broadcast checking in command paquets ||
     34
     35|| int rsp_data_size            || Size in bits of response flits ||
     36|| int rsp_io_mask_offset       || Emplacement of IO checking in response paquets ||
     37|| int rsp_io_number_offset     || Emplacement of IO index in IO table in response paquets ||
     38|| int rsp_x_addressing_offset  || Emplacement of target x in first flit in response paquets ||
     39|| int rsp_y_addressing_offset  || Emplacement of target y in first flit in response paquets ||
     40|| int rsp_eop_offset           || Emplacement of eop checking in response paquets ||
     41
     42|| int in_fifo_size             || Size of input fifos ||
     43|| int out_fifo_size            || Size of output fifos ||
     44|| int x_min_offset             || Emplacement of x_min for broadcast confinement ||
     45|| int x_max_offset             || Emplacement of x_max for broadcast confinement ||
     46|| int y_min_offset             || Emplacement of y_min for broadcast confinement ||
     47|| int y_max_offset             || Emplacement of y_max for broadcast confinement ||
    1948
    2049=== CABA Constructor parameters ===
    2150
    22 {{{
    23 VirtualDspinArray( sc_module_name insname,                    // instance name
    24                          const soclib::common::MappingTable &mt, // mapping table
    25                          const soclib::common::IntTab &ringid,   // global subsystem index
    26                          const int &wrapper_fifo_depth,          // wrapper fifo depth
    27                          int nb_attached_initiator,              // number of VCI initiators
    28                          int nb_attached_target);                // number of VCI targets
    29 }}}
    30 
     51|| sc_module_name insname                                               || instance name ||
     52|| int size_x                                                           || width of network ||
     53|| int size_y                                                           || height of network ||
     54|| bool broadcast0                                                      || broadcast activated on first channel ||
     55|| bool broadcast1                                                      || broadcast activated on second channel ||
     56|| bool io0                                                             || IO activated on first channel ||
     57|| bool io1                                                             || IO activated on second channel ||
     58|| clusterCoordinates<x_addressing_size, y_addressing_size> * aIO_table || list of IO Clusters ||
    3159
    3260=== CABA ports ===
    3361
    34  * sc_in<bool>                            p_clk;           // Global system clock
    35  * sc_in<bool>                            p_resetn;        // Global system reset
    36  * soclib::caba::!VciInitiator<vci_param>* p_to_target;    // Ports to VCI targets
    37  * soclib::caba::!VciTarget<vci_param>   * p_to_initiator; // Ports to VCI initiators
     62|| sc_in<bool>                  || p_clk        || Global system clock ||
     63|| sc_in<bool>                  || p_resetn     || Global system reset ||
     64|| !DspinOutput<cmd_data_size>  || *** p_out    || For each cluster and each virtual channel : out ||
     65|| !DspinInput<cmd_data_size>   || *** p_in     || For each cluster and each virtual channel : in ||
     66
    3867
    3968== 4) TLMT implementation ==