i have designed a pooling memory bank to store some chunks of data for pooling operation like max pooling,average pooling,min pooling using SYSTEM Verilog.feature map come from the convolution core in the chunk of size 8432(widthheightchannels).i have stored them sequentially in the memory bank where all the first elements of that particular chunk across all 32 channels stores in a memory bank,then all the second elements of all 32 channels of that chunk store anothe location of the memory bank and so on.i want to generate a unique address of all first elements across 32 channels,then another unique address of all the second elements and so on..here i am sharing some part of the output result
tcl console result:Address 0:
219 188 252 142 240 221 30 203 153 27 89 137 248 120 84 146 147 174 27 139 38 112 29 185 30 57 68 68 169 98 253 199
Address 1:
51 204 28 52 185 62 106 236 11 134 32 196 197 138 177 208 17 209 148 214 92 69 166 109 23 58 67 115 128 233 224 151
Address 2:
86 214 60 15 44 89 171 131 47 231 146 92 64 62 223 112 37 113 204 102 175 171 214 213 28 162 59 204 77 17 161 105
Address 3:
84 52 71 212 60 38 91 144 90 162 101 150 201 192 39 35 98 140 186 43 76 225 79 174 109 9 218 185 234 41 103 87
as we can see in address o all the 32 elements of the first channels of the chunk stored,but i want to give them a proper address.how am i suppose to do that?
here i am sharing some parts of outputs for your understanding.we can see the values for ppu_mambank from 0 to 31.this is the values of all first elements of the particular chunk across 32 channels,like so on.i want to give them one unique address for all the first elements across 32 channels of that chunk,then another unique address for all the second elements across all 32 channels of that chunk and so on
skT is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.