diff --git a/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/node_apertif_unb1_cor_mesh_ref.vhd b/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/node_apertif_unb1_cor_mesh_ref.vhd index 2e315dcc5d7111b07d6a207fb06834adcb3fe79e..86e37d10d3dc8cea65e38ded1496d1bdda556a6b 100644 --- a/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/node_apertif_unb1_cor_mesh_ref.vhd +++ b/applications/apertif/designs/apertif_unb1_cor_mesh_ref/src/vhdl/node_apertif_unb1_cor_mesh_ref.vhd @@ -355,11 +355,18 @@ BEGIN --------------------------------------------------------------------------------------- gen_i_tx : FOR I IN 0 TO g_nof_bus-1 GENERATE gen_j_tx : FOR J IN 0 TO g_usr_nof_streams-1 GENERATE --- tx_usr_sosi_2arr(I)(g_usr_nof_streams-1-J)<= tx_mesh_sosi_arr(I*g_usr_nof_streams + J); --- tx_mesh_siso_arr(I*g_usr_nof_streams + J) <= tx_usr_siso_2arr(I)(g_usr_nof_streams-1-J); - - tx_usr_sosi_2arr(I)(J) <= tx_mesh_sosi_arr(I*g_usr_nof_streams + J); - tx_mesh_siso_arr(I*g_usr_nof_streams + J) <= tx_usr_siso_2arr(I)(J); + + -- Create alternative mapping for hardware to have the proper order + gen_synth : IF g_sim = FALSE GENERATE + tx_usr_sosi_2arr(I)(g_usr_nof_streams-1-J)<= tx_mesh_sosi_arr(I*g_usr_nof_streams + J); + tx_mesh_siso_arr(I*g_usr_nof_streams + J) <= tx_usr_siso_2arr(I)(g_usr_nof_streams-1-J); + END GENERATE; + + -- Straight mapping in simulation + gen_sim : IF g_sim = TRUE GENERATE + tx_usr_sosi_2arr(I)(J) <= tx_mesh_sosi_arr(I*g_usr_nof_streams + J); + tx_mesh_siso_arr(I*g_usr_nof_streams + J) <= tx_usr_siso_2arr(I)(J); + END GENERATE; END GENERATE; END GENERATE;