wiki:Component/VirtualDspinRouter

Version 6 (modified by noe.girand@…, 15 years ago) (diff)

--

SocLib Components General Index

VirtualDspinRouter

1) Functional Description

This is the elementary node of a Virtual Dspin Array.

The Virtual Dspin Router is a component which connects up to five input (one local, four for the adjacent Virtual Dspin Router) to five output (idem) for each virtual channel.

Both channels share the same bus for routing. Thus, each input has a time multiplexing register, to decide

2) Component definition & usage

source:trunk/soclib/soclib/module/network_component/virtual_dspin_router/caba/metadata/virtual_dspin_router.sd

3) CABA implementation

CABA sources

interface source:trunk/soclib/soclib/module/network_component/virtual_dspin_router/caba/source/include/virtual_dspin_router.h
implementation source:trunk/soclib/soclib/module/network_component/virtual_dspin_router/caba/source/src/virtual_dspin_router.cpp

CABA Internal registers

sc_signal<int> r_output_index for each channel & each output, input index (INFSM)
sc_signal<bool> r_tdm for each input, Time Multiplexing
sc_signal<sc_uint<data_size> > r_buf for each channel & each input, fifo extension
sc_signal<int> r_infsm for each channel & each input FSM state

CABA Template parameters

int data_size Size of flit
int io_mask_offset Emplacement of IO checking
int io_mask_size Size of IO checking
int io_number_offset Emplacement of IO index in IO table
int io_number_size Size of IO index
int x_addressing_offset Emplacement of target x in first flit
int x_addressing_size Size of target x
int y_addressing_offset Emplacement of target y in first flit
int y_addressing_size Size of target y
int eop_offset Emplacement of eop checking
int broadcast_offset Emplacement of broadcast checking
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

sc_module_name insname instance name
int x x position in the network
int y y position in the network
bool n North connexion enabled
bool s South connexion enabled
bool e East connexion enabled
bool w West connexion enabled
bool broadcast0 Broadcast activated for channel 0
bool broadcast1 Broadcast activated for channel 1
bool io0 IO enable for channel 0
bool io1 IO enable for channel 1
clusterCoordinates<x_addressing_size, y_addressing_size> * aIO_table list of IO Clusters

CABA ports

sc_in<bool> p_clk Global system clock
sc_in<bool> p_resetn Global system reset
DspinOutput<cmd_data_size> p_out For each output and each virtual channel
DspinInput<cmd_data_size> p_in For each input and each virtual channel

4) TLMT implementation

The TLM-T implementation is not available yet.

Attachments (2)

Download all attachments as: .zip