[wiki:Component SocLib Components General Index] = !VirtualDspinNetwork = == 1) Functional Description == The Virtual Dspin Network aims to connect a two-dimensionnal array of TSAR clusters together. It virtualizes two virtual channels (usually the primary channel and the memory-coherence channel) on two physical networks [wiki:Component/VirtualDspinArray VirtualDspinArray] of different size (usually one for command paquets and one for response paquets). It implements the optimized and confined broadcast protocol and the Hypertransport routing. == 2) Component definition & usage == source:trunk/soclib/soclib/module/network_component/virtual_dspin_network/caba/metadata/virtual_dspin_network.sd == 3) CABA implementation == === CABA sources === * interface : source:trunk/soclib/soclib/module/network_component/virtual_dspin_network/caba/source/include/virtual_dspin_network.h * implementation : source:trunk/soclib/soclib/module/network_component/virtual_dspin_network/caba/source/src/virtual_dspin_network.cpp === CABA Template parameters === * int io_mask_size - Size in bits of IO checking * int io_number_size - Size in bits of IO index * int x_addressing_size : Size in bits of first coordinate addressing * int y_addressing_size : Size of second coordinate addressing * int cmd_data_size : Size in bits of command flits * int cmd_io_mask_offset : Emplacement of IO checking in command paquets * int cmd_io_number_offset : Emplacement of IO index in IO table in command paquets * int cmd_x_addressing_offset : Emplacement of target x in first flit in command paquets * int cmd_y_addressing_offset : Emplacement of target y in first flit in command paquets * int cmd_eop_offset : Emplacement of eop checking in command paquets * int cmd_broadcast_offset : Emplacement of broadcast checking in command paquets * int rsp_data_size : Size in bits of response flits * int rsp_io_mask_offset : Emplacement of IO checking in response paquets * int rsp_io_number_offset : Emplacement of IO index in IO table in response paquets * int rsp_x_addressing_offset : Emplacement of target x in first flit in response paquets * int rsp_y_addressing_offset : Emplacement of target y in first flit in response paquets * int rsp_eop_offset : Emplacement of eop checking in response paquets * int in_fifo_size : Size of input fifos * int out_fifo_size : Size of output fifos * int x_min_offset : Emplacement of x_min for broadcast confinement * int x_max_offset : Emplacement of x_max for broadcast confinement * int y_min_offset : Emplacement of y_min for broadcast confinement * int y_max_offset : Emplacement of y_max for broadcast confinement === CABA Constructor parameters === {{{ VirtualDspinNetwork( sc_module_name insname, // instance name int size_x, // width of network int size_y, // height of network clusterCoordinates * aIO_table); // list of IO Clusters }}} === CABA ports === * sc_in p_clk; // Global system clock * sc_in p_resetn; // Global system reset * DspinOutput *** p_out_cmd; // For each cluster and each virtual network : out command * DspinInput *** p_in_cmd; // For each cluster and each virtual network : in command * DspinOutput *** p_out_rsp; // For each cluster and each virtual network : out response * DspinInput *** p_in_rsp; // For each cluster and each virtual network : in response == 4) TLMT implementation == The TLM-T implementation is not available yet.