Skip to content

Commit 6476045

Browse files
committed
Merge branch 'pavelek-fix_mfb_splitter' into 'devel'
[BUGFIX] Fix MFB splitter array range See merge request ndk/ndk-fpga!285
2 parents 235d748 + e99e9a9 commit 6476045

2 files changed

Lines changed: 42 additions & 30 deletions

File tree

comp/mfb_tools/flow/splitter/mfb_splitter_gen.vhd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ end entity;
118118
architecture FULL of MFB_SPLITTER_GEN is
119119

120120
constant TREE_STAGES : natural := log2(SPLITTER_OUTPUTS);
121-
constant SO_2_POW : natural := 2**SPLITTER_OUTPUTS;
121+
constant SO_2_POW : natural := 2**log2(SPLITTER_OUTPUTS);
122122

123123
signal s_rx_mvb_data : slv_array_2d_t(TREE_STAGES+1-1 downto 0)(SO_2_POW-1 downto 0)(MVB_ITEMS*MVB_ITEM_WIDTH-1 downto 0);
124124
signal s_rx_mvb_switch : slv_array_2d_t(TREE_STAGES+1-1 downto 0)(SO_2_POW-1 downto 0)(MVB_ITEMS*log2(SPLITTER_OUTPUTS)-1 downto 0);

comp/mfb_tools/flow/splitter/ver/ver_settings.py

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"FRAME_SIZE_MIN" : "1",
1414
"FRAME_SIZE_MAX" : "50",
1515
"TRANSACTION_COUNT" : "2000",
16+
"SPLITTER_OUTPUTS" : "2",
1617
},
1718
"pcie" : {
1819
"MFB_REGIONS" : "2",
@@ -25,36 +26,42 @@
2526
"MFB_REGION_SIZE" : "8",
2627
"MFB_BLOCK_SIZE" : "8",
2728
"MFB_ITEM_WIDTH" : "8",
29+
"MVB_ITEMS" : "1",
2830
},
2931
"region_comb_2" : {
30-
"MFB_REGIONS" : "2",
32+
"MFB_REGIONS" : "4",
3133
"MFB_REGION_SIZE" : "8",
3234
"MFB_BLOCK_SIZE" : "8",
3335
"MFB_ITEM_WIDTH" : "8",
36+
"MVB_ITEMS" : "4",
3437
},
3538
"region_comb_3" : {
3639
"MFB_REGIONS" : "1",
3740
"MFB_REGION_SIZE" : "1",
3841
"MFB_BLOCK_SIZE" : "8",
3942
"MFB_ITEM_WIDTH" : "8",
43+
"MVB_ITEMS" : "1",
4044
},
4145
"region_comb_4" : {
4246
"MFB_REGIONS" : "1",
4347
"MFB_REGION_SIZE" : "2",
4448
"MFB_BLOCK_SIZE" : "4",
4549
"MFB_ITEM_WIDTH" : "8",
50+
"MVB_ITEMS" : "1",
4651
},
4752
"region_comb_5" : {
4853
"MFB_REGIONS" : "1",
4954
"MFB_REGION_SIZE" : "2",
5055
"MFB_BLOCK_SIZE" : "8",
5156
"MFB_ITEM_WIDTH" : "8",
57+
"MVB_ITEMS" : "1",
5258
},
5359
"region_comb_6" : {
5460
"MFB_REGIONS" : "1",
5561
"MFB_REGION_SIZE" : "4",
5662
"MFB_BLOCK_SIZE" : "8",
5763
"MFB_ITEM_WIDTH" : "8",
64+
"MVB_ITEMS" : "1",
5865
},
5966
"hdr_size_comb_min" : {
6067
"HDR_SIZE" : "1",
@@ -65,52 +72,57 @@
6572
"hdr_size_comb_2" : {
6673
"HDR_SIZE" : "32",
6774
},
68-
"mvb_items_comb_1" : {
69-
"MVB_ITEMS" : "1",
75+
"splitter_outputs_16" : {
76+
"SPLITTER_OUTPUTS" : "16",
77+
},
78+
"splitter_outputs_64" : {
79+
"SPLITTER_OUTPUTS" : "64",
7080
},
7181
"_combinations_" : (
7282
(), # Works the same as '("default",),' as the "default" is applied in every combination
73-
("region_comb_1","mvb_items_comb_1",),
83+
("region_comb_1",),
7484
("region_comb_2",),
75-
("region_comb_3","mvb_items_comb_1",),
76-
("region_comb_4","mvb_items_comb_1",),
77-
("region_comb_5","mvb_items_comb_1",),
78-
("region_comb_6","mvb_items_comb_1",),
85+
("region_comb_3",),
86+
("region_comb_4",),
87+
("region_comb_5",),
88+
("region_comb_6",),
7989
("pcie",),
8090

91+
("region_comb_1","splitter_outputs_64",),
92+
("region_comb_2","splitter_outputs_16",),
93+
("region_comb_2","splitter_outputs_64",),
94+
8195
("hdr_size_comb_min",),
8296
("hdr_size_comb_1",),
8397
("hdr_size_comb_2",),
8498

85-
("region_comb_1","mvb_items_comb_1","hdr_size_comb_min",),
86-
("region_comb_1","mvb_items_comb_1","hdr_size_comb_1",),
87-
("region_comb_1","mvb_items_comb_1","hdr_size_comb_2",),
88-
("region_comb_1","mvb_items_comb_1",),
99+
("region_comb_1","hdr_size_comb_min",),
100+
("region_comb_1","hdr_size_comb_1",),
101+
("region_comb_1","hdr_size_comb_2",),
89102

90103
("region_comb_2","hdr_size_comb_min",),
91104
("region_comb_2","hdr_size_comb_1",),
92105
("region_comb_2","hdr_size_comb_2",),
93-
("region_comb_2",),
94106

95-
("region_comb_3","mvb_items_comb_1","hdr_size_comb_min",),
96-
("region_comb_3","mvb_items_comb_1","hdr_size_comb_1",),
97-
("region_comb_3","mvb_items_comb_1","hdr_size_comb_2",),
98-
("region_comb_3","mvb_items_comb_1",),
107+
("region_comb_3","hdr_size_comb_min",),
108+
("region_comb_3","hdr_size_comb_1",),
109+
("region_comb_3","hdr_size_comb_2",),
110+
("region_comb_3",),
99111

100-
("region_comb_4","mvb_items_comb_1","hdr_size_comb_min",),
101-
("region_comb_4","mvb_items_comb_1","hdr_size_comb_1",),
102-
("region_comb_4","mvb_items_comb_1","hdr_size_comb_2",),
103-
("region_comb_4","mvb_items_comb_1",),
112+
("region_comb_4","hdr_size_comb_min",),
113+
("region_comb_4","hdr_size_comb_1",),
114+
("region_comb_4","hdr_size_comb_2",),
115+
("region_comb_4",),
104116

105-
("region_comb_5","mvb_items_comb_1","hdr_size_comb_min",),
106-
("region_comb_5","mvb_items_comb_1","hdr_size_comb_1",),
107-
("region_comb_5","mvb_items_comb_1","hdr_size_comb_2",),
108-
("region_comb_5","mvb_items_comb_1",),
117+
("region_comb_5","hdr_size_comb_min",),
118+
("region_comb_5","hdr_size_comb_1",),
119+
("region_comb_5","hdr_size_comb_2",),
120+
("region_comb_5",),
109121

110-
("region_comb_6","mvb_items_comb_1","hdr_size_comb_min",),
111-
("region_comb_6","mvb_items_comb_1","hdr_size_comb_1",),
112-
("region_comb_6","mvb_items_comb_1","hdr_size_comb_2",),
113-
("region_comb_6","mvb_items_comb_1",),
122+
("region_comb_6","hdr_size_comb_min",),
123+
("region_comb_6","hdr_size_comb_1",),
124+
("region_comb_6","hdr_size_comb_2",),
125+
("region_comb_6",),
114126

115127
("pcie","hdr_size_comb_min",),
116128
("pcie","hdr_size_comb_1",),

0 commit comments

Comments
 (0)