[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.