agalimberti/NoCRouter

Warnings when synthesizing the Router module

Closed this issue · 1 comments

On the Interfaces branch, when synthesizing the Router module, the memory cells inside each contained Circular Buffer module don't get synthesized and are instead removed.
A warning is provided by Vivado for each cell of each virtual channel buffer, for a total of 80 warnings.
The warning text is as following:
[Synth 8-3332] Sequential element (generate_virtual_channels[0].input_buffer/circular_buffer/memory_reg[7][vc_id][0]) is unused and will be removed from module input_port__1

Only the VC_ID parts of the memory cells don't get synthesized, as the Downstream Virtual Channel output by the Input Buffer module is directly connected to a register storing the VC obtained by the Virtual Channel Allocator, so the VC_ID part of each flit is not needed to be stored.
Thus, the behavior of the synthesizer is deemed correct.
In later stages, the module may possibly be fixed to make this optimization directly in the code.