VectorAccessors

Masks

jetmapping_mask.vhd masking o_mask 1->4 bit


In [1]:
import numpy as np

high          = 1
low           = 0
mask_elements = 64
bounds        = np.empty(shape=[high+1, mask_elements],  dtype=np.int32)

for i in range(mask_elements):
  bounds[high,i] = (i + 1) * 4 - 1
  bounds[low,i] = i * 4
    
print(" i | High  Low \n---|-----------")
for i in range(mask_elements):
  print("{:2} | {:4} {:4}".format(i, bounds[high,i], bounds[low,i]))


 i | High  Low 
---|-----------
 0 |    3    0
 1 |    7    4
 2 |   11    8
 3 |   15   12
 4 |   19   16
 5 |   23   20
 6 |   27   24
 7 |   31   28
 8 |   35   32
 9 |   39   36
10 |   43   40
11 |   47   44
12 |   51   48
13 |   55   52
14 |   59   56
15 |   63   60
16 |   67   64
17 |   71   68
18 |   75   72
19 |   79   76
20 |   83   80
21 |   87   84
22 |   91   88
23 |   95   92
24 |   99   96
25 |  103  100
26 |  107  104
27 |  111  108
28 |  115  112
29 |  119  116
30 |  123  120
31 |  127  124
32 |  131  128
33 |  135  132
34 |  139  136
35 |  143  140
36 |  147  144
37 |  151  148
38 |  155  152
39 |  159  156
40 |  163  160
41 |  167  164
42 |  171  168
43 |  175  172
44 |  179  176
45 |  183  180
46 |  187  184
47 |  191  188
48 |  195  192
49 |  199  196
50 |  203  200
51 |  207  204
52 |  211  208
53 |  215  212
54 |  219  216
55 |  223  220
56 |  227  224
57 |  231  228
58 |  235  232
59 |  239  236
60 |  243  240
61 |  247  244
62 |  251  248
63 |  255  252

Ricoh GEN5

jetmapping.vhd lvec_mask_address


In [2]:
import numpy as np
channels     = 4
elements     = 320
mask_address = np.empty(shape=[channels, elements],  dtype=np.int32)

for i in range(elements):
  mask_address[0,i] = (319-i) * 4 + 0
  mask_address[1,i] =      i  * 4 + 2
  mask_address[2,i] = (319-i) * 4 + 1
  mask_address[3,i] =      i  * 4 + 3

print("  i |    A    B    C    D \n----|---------------------")
for i in range(elements):
  print("{:3} | {:4} {:4} {:4} {:4}".format(i,mask_address[0,i],mask_address[1,i],mask_address[2,i],mask_address[3,i]))


  i |    A    B    C    D 
----|---------------------
  0 | 1276    2 1277    3
  1 | 1272    6 1273    7
  2 | 1268   10 1269   11
  3 | 1264   14 1265   15
  4 | 1260   18 1261   19
  5 | 1256   22 1257   23
  6 | 1252   26 1253   27
  7 | 1248   30 1249   31
  8 | 1244   34 1245   35
  9 | 1240   38 1241   39
 10 | 1236   42 1237   43
 11 | 1232   46 1233   47
 12 | 1228   50 1229   51
 13 | 1224   54 1225   55
 14 | 1220   58 1221   59
 15 | 1216   62 1217   63
 16 | 1212   66 1213   67
 17 | 1208   70 1209   71
 18 | 1204   74 1205   75
 19 | 1200   78 1201   79
 20 | 1196   82 1197   83
 21 | 1192   86 1193   87
 22 | 1188   90 1189   91
 23 | 1184   94 1185   95
 24 | 1180   98 1181   99
 25 | 1176  102 1177  103
 26 | 1172  106 1173  107
 27 | 1168  110 1169  111
 28 | 1164  114 1165  115
 29 | 1160  118 1161  119
 30 | 1156  122 1157  123
 31 | 1152  126 1153  127
 32 | 1148  130 1149  131
 33 | 1144  134 1145  135
 34 | 1140  138 1141  139
 35 | 1136  142 1137  143
 36 | 1132  146 1133  147
 37 | 1128  150 1129  151
 38 | 1124  154 1125  155
 39 | 1120  158 1121  159
 40 | 1116  162 1117  163
 41 | 1112  166 1113  167
 42 | 1108  170 1109  171
 43 | 1104  174 1105  175
 44 | 1100  178 1101  179
 45 | 1096  182 1097  183
 46 | 1092  186 1093  187
 47 | 1088  190 1089  191
 48 | 1084  194 1085  195
 49 | 1080  198 1081  199
 50 | 1076  202 1077  203
 51 | 1072  206 1073  207
 52 | 1068  210 1069  211
 53 | 1064  214 1065  215
 54 | 1060  218 1061  219
 55 | 1056  222 1057  223
 56 | 1052  226 1053  227
 57 | 1048  230 1049  231
 58 | 1044  234 1045  235
 59 | 1040  238 1041  239
 60 | 1036  242 1037  243
 61 | 1032  246 1033  247
 62 | 1028  250 1029  251
 63 | 1024  254 1025  255
 64 | 1020  258 1021  259
 65 | 1016  262 1017  263
 66 | 1012  266 1013  267
 67 | 1008  270 1009  271
 68 | 1004  274 1005  275
 69 | 1000  278 1001  279
 70 |  996  282  997  283
 71 |  992  286  993  287
 72 |  988  290  989  291
 73 |  984  294  985  295
 74 |  980  298  981  299
 75 |  976  302  977  303
 76 |  972  306  973  307
 77 |  968  310  969  311
 78 |  964  314  965  315
 79 |  960  318  961  319
 80 |  956  322  957  323
 81 |  952  326  953  327
 82 |  948  330  949  331
 83 |  944  334  945  335
 84 |  940  338  941  339
 85 |  936  342  937  343
 86 |  932  346  933  347
 87 |  928  350  929  351
 88 |  924  354  925  355
 89 |  920  358  921  359
 90 |  916  362  917  363
 91 |  912  366  913  367
 92 |  908  370  909  371
 93 |  904  374  905  375
 94 |  900  378  901  379
 95 |  896  382  897  383
 96 |  892  386  893  387
 97 |  888  390  889  391
 98 |  884  394  885  395
 99 |  880  398  881  399
100 |  876  402  877  403
101 |  872  406  873  407
102 |  868  410  869  411
103 |  864  414  865  415
104 |  860  418  861  419
105 |  856  422  857  423
106 |  852  426  853  427
107 |  848  430  849  431
108 |  844  434  845  435
109 |  840  438  841  439
110 |  836  442  837  443
111 |  832  446  833  447
112 |  828  450  829  451
113 |  824  454  825  455
114 |  820  458  821  459
115 |  816  462  817  463
116 |  812  466  813  467
117 |  808  470  809  471
118 |  804  474  805  475
119 |  800  478  801  479
120 |  796  482  797  483
121 |  792  486  793  487
122 |  788  490  789  491
123 |  784  494  785  495
124 |  780  498  781  499
125 |  776  502  777  503
126 |  772  506  773  507
127 |  768  510  769  511
128 |  764  514  765  515
129 |  760  518  761  519
130 |  756  522  757  523
131 |  752  526  753  527
132 |  748  530  749  531
133 |  744  534  745  535
134 |  740  538  741  539
135 |  736  542  737  543
136 |  732  546  733  547
137 |  728  550  729  551
138 |  724  554  725  555
139 |  720  558  721  559
140 |  716  562  717  563
141 |  712  566  713  567
142 |  708  570  709  571
143 |  704  574  705  575
144 |  700  578  701  579
145 |  696  582  697  583
146 |  692  586  693  587
147 |  688  590  689  591
148 |  684  594  685  595
149 |  680  598  681  599
150 |  676  602  677  603
151 |  672  606  673  607
152 |  668  610  669  611
153 |  664  614  665  615
154 |  660  618  661  619
155 |  656  622  657  623
156 |  652  626  653  627
157 |  648  630  649  631
158 |  644  634  645  635
159 |  640  638  641  639
160 |  636  642  637  643
161 |  632  646  633  647
162 |  628  650  629  651
163 |  624  654  625  655
164 |  620  658  621  659
165 |  616  662  617  663
166 |  612  666  613  667
167 |  608  670  609  671
168 |  604  674  605  675
169 |  600  678  601  679
170 |  596  682  597  683
171 |  592  686  593  687
172 |  588  690  589  691
173 |  584  694  585  695
174 |  580  698  581  699
175 |  576  702  577  703
176 |  572  706  573  707
177 |  568  710  569  711
178 |  564  714  565  715
179 |  560  718  561  719
180 |  556  722  557  723
181 |  552  726  553  727
182 |  548  730  549  731
183 |  544  734  545  735
184 |  540  738  541  739
185 |  536  742  537  743
186 |  532  746  533  747
187 |  528  750  529  751
188 |  524  754  525  755
189 |  520  758  521  759
190 |  516  762  517  763
191 |  512  766  513  767
192 |  508  770  509  771
193 |  504  774  505  775
194 |  500  778  501  779
195 |  496  782  497  783
196 |  492  786  493  787
197 |  488  790  489  791
198 |  484  794  485  795
199 |  480  798  481  799
200 |  476  802  477  803
201 |  472  806  473  807
202 |  468  810  469  811
203 |  464  814  465  815
204 |  460  818  461  819
205 |  456  822  457  823
206 |  452  826  453  827
207 |  448  830  449  831
208 |  444  834  445  835
209 |  440  838  441  839
210 |  436  842  437  843
211 |  432  846  433  847
212 |  428  850  429  851
213 |  424  854  425  855
214 |  420  858  421  859
215 |  416  862  417  863
216 |  412  866  413  867
217 |  408  870  409  871
218 |  404  874  405  875
219 |  400  878  401  879
220 |  396  882  397  883
221 |  392  886  393  887
222 |  388  890  389  891
223 |  384  894  385  895
224 |  380  898  381  899
225 |  376  902  377  903
226 |  372  906  373  907
227 |  368  910  369  911
228 |  364  914  365  915
229 |  360  918  361  919
230 |  356  922  357  923
231 |  352  926  353  927
232 |  348  930  349  931
233 |  344  934  345  935
234 |  340  938  341  939
235 |  336  942  337  943
236 |  332  946  333  947
237 |  328  950  329  951
238 |  324  954  325  955
239 |  320  958  321  959
240 |  316  962  317  963
241 |  312  966  313  967
242 |  308  970  309  971
243 |  304  974  305  975
244 |  300  978  301  979
245 |  296  982  297  983
246 |  292  986  293  987
247 |  288  990  289  991
248 |  284  994  285  995
249 |  280  998  281  999
250 |  276 1002  277 1003
251 |  272 1006  273 1007
252 |  268 1010  269 1011
253 |  264 1014  265 1015
254 |  260 1018  261 1019
255 |  256 1022  257 1023
256 |  252 1026  253 1027
257 |  248 1030  249 1031
258 |  244 1034  245 1035
259 |  240 1038  241 1039
260 |  236 1042  237 1043
261 |  232 1046  233 1047
262 |  228 1050  229 1051
263 |  224 1054  225 1055
264 |  220 1058  221 1059
265 |  216 1062  217 1063
266 |  212 1066  213 1067
267 |  208 1070  209 1071
268 |  204 1074  205 1075
269 |  200 1078  201 1079
270 |  196 1082  197 1083
271 |  192 1086  193 1087
272 |  188 1090  189 1091
273 |  184 1094  185 1095
274 |  180 1098  181 1099
275 |  176 1102  177 1103
276 |  172 1106  173 1107
277 |  168 1110  169 1111
278 |  164 1114  165 1115
279 |  160 1118  161 1119
280 |  156 1122  157 1123
281 |  152 1126  153 1127
282 |  148 1130  149 1131
283 |  144 1134  145 1135
284 |  140 1138  141 1139
285 |  136 1142  137 1143
286 |  132 1146  133 1147
287 |  128 1150  129 1151
288 |  124 1154  125 1155
289 |  120 1158  121 1159
290 |  116 1162  117 1163
291 |  112 1166  113 1167
292 |  108 1170  109 1171
293 |  104 1174  105 1175
294 |  100 1178  101 1179
295 |   96 1182   97 1183
296 |   92 1186   93 1187
297 |   88 1190   89 1191
298 |   84 1194   85 1195
299 |   80 1198   81 1199
300 |   76 1202   77 1203
301 |   72 1206   73 1207
302 |   68 1210   69 1211
303 |   64 1214   65 1215
304 |   60 1218   61 1219
305 |   56 1222   57 1223
306 |   52 1226   53 1227
307 |   48 1230   49 1231
308 |   44 1234   45 1235
309 |   40 1238   41 1239
310 |   36 1242   37 1243
311 |   32 1246   33 1247
312 |   28 1250   29 1251
313 |   24 1254   25 1255
314 |   20 1258   21 1259
315 |   16 1262   17 1263
316 |   12 1266   13 1267
317 |    8 1270    9 1271
318 |    4 1274    5 1275
319 |    0 1278    1 1279

KonicaMinolta KM1024i

jetmapping.vhd lvec_mask_address


In [3]:
import numpy as np
channels     = 2
elements     = 512
mask_address = np.empty(shape=[channels, elements],  dtype=np.int32)

for i in range(elements):
  mask_address[0,i] = (511-i) * 2 + 0
  mask_address[1,i] =      i  * 2 + 1

print("  i | High  Low \n----|-----------")
for i in range(elements):
  print("{:3} | {:4} {:4}".format(i,mask_address[0,i],mask_address[1,i]))


  i | High  Low 
----|-----------
  0 | 1022    1
  1 | 1020    3
  2 | 1018    5
  3 | 1016    7
  4 | 1014    9
  5 | 1012   11
  6 | 1010   13
  7 | 1008   15
  8 | 1006   17
  9 | 1004   19
 10 | 1002   21
 11 | 1000   23
 12 |  998   25
 13 |  996   27
 14 |  994   29
 15 |  992   31
 16 |  990   33
 17 |  988   35
 18 |  986   37
 19 |  984   39
 20 |  982   41
 21 |  980   43
 22 |  978   45
 23 |  976   47
 24 |  974   49
 25 |  972   51
 26 |  970   53
 27 |  968   55
 28 |  966   57
 29 |  964   59
 30 |  962   61
 31 |  960   63
 32 |  958   65
 33 |  956   67
 34 |  954   69
 35 |  952   71
 36 |  950   73
 37 |  948   75
 38 |  946   77
 39 |  944   79
 40 |  942   81
 41 |  940   83
 42 |  938   85
 43 |  936   87
 44 |  934   89
 45 |  932   91
 46 |  930   93
 47 |  928   95
 48 |  926   97
 49 |  924   99
 50 |  922  101
 51 |  920  103
 52 |  918  105
 53 |  916  107
 54 |  914  109
 55 |  912  111
 56 |  910  113
 57 |  908  115
 58 |  906  117
 59 |  904  119
 60 |  902  121
 61 |  900  123
 62 |  898  125
 63 |  896  127
 64 |  894  129
 65 |  892  131
 66 |  890  133
 67 |  888  135
 68 |  886  137
 69 |  884  139
 70 |  882  141
 71 |  880  143
 72 |  878  145
 73 |  876  147
 74 |  874  149
 75 |  872  151
 76 |  870  153
 77 |  868  155
 78 |  866  157
 79 |  864  159
 80 |  862  161
 81 |  860  163
 82 |  858  165
 83 |  856  167
 84 |  854  169
 85 |  852  171
 86 |  850  173
 87 |  848  175
 88 |  846  177
 89 |  844  179
 90 |  842  181
 91 |  840  183
 92 |  838  185
 93 |  836  187
 94 |  834  189
 95 |  832  191
 96 |  830  193
 97 |  828  195
 98 |  826  197
 99 |  824  199
100 |  822  201
101 |  820  203
102 |  818  205
103 |  816  207
104 |  814  209
105 |  812  211
106 |  810  213
107 |  808  215
108 |  806  217
109 |  804  219
110 |  802  221
111 |  800  223
112 |  798  225
113 |  796  227
114 |  794  229
115 |  792  231
116 |  790  233
117 |  788  235
118 |  786  237
119 |  784  239
120 |  782  241
121 |  780  243
122 |  778  245
123 |  776  247
124 |  774  249
125 |  772  251
126 |  770  253
127 |  768  255
128 |  766  257
129 |  764  259
130 |  762  261
131 |  760  263
132 |  758  265
133 |  756  267
134 |  754  269
135 |  752  271
136 |  750  273
137 |  748  275
138 |  746  277
139 |  744  279
140 |  742  281
141 |  740  283
142 |  738  285
143 |  736  287
144 |  734  289
145 |  732  291
146 |  730  293
147 |  728  295
148 |  726  297
149 |  724  299
150 |  722  301
151 |  720  303
152 |  718  305
153 |  716  307
154 |  714  309
155 |  712  311
156 |  710  313
157 |  708  315
158 |  706  317
159 |  704  319
160 |  702  321
161 |  700  323
162 |  698  325
163 |  696  327
164 |  694  329
165 |  692  331
166 |  690  333
167 |  688  335
168 |  686  337
169 |  684  339
170 |  682  341
171 |  680  343
172 |  678  345
173 |  676  347
174 |  674  349
175 |  672  351
176 |  670  353
177 |  668  355
178 |  666  357
179 |  664  359
180 |  662  361
181 |  660  363
182 |  658  365
183 |  656  367
184 |  654  369
185 |  652  371
186 |  650  373
187 |  648  375
188 |  646  377
189 |  644  379
190 |  642  381
191 |  640  383
192 |  638  385
193 |  636  387
194 |  634  389
195 |  632  391
196 |  630  393
197 |  628  395
198 |  626  397
199 |  624  399
200 |  622  401
201 |  620  403
202 |  618  405
203 |  616  407
204 |  614  409
205 |  612  411
206 |  610  413
207 |  608  415
208 |  606  417
209 |  604  419
210 |  602  421
211 |  600  423
212 |  598  425
213 |  596  427
214 |  594  429
215 |  592  431
216 |  590  433
217 |  588  435
218 |  586  437
219 |  584  439
220 |  582  441
221 |  580  443
222 |  578  445
223 |  576  447
224 |  574  449
225 |  572  451
226 |  570  453
227 |  568  455
228 |  566  457
229 |  564  459
230 |  562  461
231 |  560  463
232 |  558  465
233 |  556  467
234 |  554  469
235 |  552  471
236 |  550  473
237 |  548  475
238 |  546  477
239 |  544  479
240 |  542  481
241 |  540  483
242 |  538  485
243 |  536  487
244 |  534  489
245 |  532  491
246 |  530  493
247 |  528  495
248 |  526  497
249 |  524  499
250 |  522  501
251 |  520  503
252 |  518  505
253 |  516  507
254 |  514  509
255 |  512  511
256 |  510  513
257 |  508  515
258 |  506  517
259 |  504  519
260 |  502  521
261 |  500  523
262 |  498  525
263 |  496  527
264 |  494  529
265 |  492  531
266 |  490  533
267 |  488  535
268 |  486  537
269 |  484  539
270 |  482  541
271 |  480  543
272 |  478  545
273 |  476  547
274 |  474  549
275 |  472  551
276 |  470  553
277 |  468  555
278 |  466  557
279 |  464  559
280 |  462  561
281 |  460  563
282 |  458  565
283 |  456  567
284 |  454  569
285 |  452  571
286 |  450  573
287 |  448  575
288 |  446  577
289 |  444  579
290 |  442  581
291 |  440  583
292 |  438  585
293 |  436  587
294 |  434  589
295 |  432  591
296 |  430  593
297 |  428  595
298 |  426  597
299 |  424  599
300 |  422  601
301 |  420  603
302 |  418  605
303 |  416  607
304 |  414  609
305 |  412  611
306 |  410  613
307 |  408  615
308 |  406  617
309 |  404  619
310 |  402  621
311 |  400  623
312 |  398  625
313 |  396  627
314 |  394  629
315 |  392  631
316 |  390  633
317 |  388  635
318 |  386  637
319 |  384  639
320 |  382  641
321 |  380  643
322 |  378  645
323 |  376  647
324 |  374  649
325 |  372  651
326 |  370  653
327 |  368  655
328 |  366  657
329 |  364  659
330 |  362  661
331 |  360  663
332 |  358  665
333 |  356  667
334 |  354  669
335 |  352  671
336 |  350  673
337 |  348  675
338 |  346  677
339 |  344  679
340 |  342  681
341 |  340  683
342 |  338  685
343 |  336  687
344 |  334  689
345 |  332  691
346 |  330  693
347 |  328  695
348 |  326  697
349 |  324  699
350 |  322  701
351 |  320  703
352 |  318  705
353 |  316  707
354 |  314  709
355 |  312  711
356 |  310  713
357 |  308  715
358 |  306  717
359 |  304  719
360 |  302  721
361 |  300  723
362 |  298  725
363 |  296  727
364 |  294  729
365 |  292  731
366 |  290  733
367 |  288  735
368 |  286  737
369 |  284  739
370 |  282  741
371 |  280  743
372 |  278  745
373 |  276  747
374 |  274  749
375 |  272  751
376 |  270  753
377 |  268  755
378 |  266  757
379 |  264  759
380 |  262  761
381 |  260  763
382 |  258  765
383 |  256  767
384 |  254  769
385 |  252  771
386 |  250  773
387 |  248  775
388 |  246  777
389 |  244  779
390 |  242  781
391 |  240  783
392 |  238  785
393 |  236  787
394 |  234  789
395 |  232  791
396 |  230  793
397 |  228  795
398 |  226  797
399 |  224  799
400 |  222  801
401 |  220  803
402 |  218  805
403 |  216  807
404 |  214  809
405 |  212  811
406 |  210  813
407 |  208  815
408 |  206  817
409 |  204  819
410 |  202  821
411 |  200  823
412 |  198  825
413 |  196  827
414 |  194  829
415 |  192  831
416 |  190  833
417 |  188  835
418 |  186  837
419 |  184  839
420 |  182  841
421 |  180  843
422 |  178  845
423 |  176  847
424 |  174  849
425 |  172  851
426 |  170  853
427 |  168  855
428 |  166  857
429 |  164  859
430 |  162  861
431 |  160  863
432 |  158  865
433 |  156  867
434 |  154  869
435 |  152  871
436 |  150  873
437 |  148  875
438 |  146  877
439 |  144  879
440 |  142  881
441 |  140  883
442 |  138  885
443 |  136  887
444 |  134  889
445 |  132  891
446 |  130  893
447 |  128  895
448 |  126  897
449 |  124  899
450 |  122  901
451 |  120  903
452 |  118  905
453 |  116  907
454 |  114  909
455 |  112  911
456 |  110  913
457 |  108  915
458 |  106  917
459 |  104  919
460 |  102  921
461 |  100  923
462 |   98  925
463 |   96  927
464 |   94  929
465 |   92  931
466 |   90  933
467 |   88  935
468 |   86  937
469 |   84  939
470 |   82  941
471 |   80  943
472 |   78  945
473 |   76  947
474 |   74  949
475 |   72  951
476 |   70  953
477 |   68  955
478 |   66  957
479 |   64  959
480 |   62  961
481 |   60  963
482 |   58  965
483 |   56  967
484 |   54  969
485 |   52  971
486 |   50  973
487 |   48  975
488 |   46  977
489 |   44  979
490 |   42  981
491 |   40  983
492 |   38  985
493 |   36  987
494 |   34  989
495 |   32  991
496 |   30  993
497 |   28  995
498 |   26  997
499 |   24  999
500 |   22 1001
501 |   20 1003
502 |   18 1005
503 |   16 1007
504 |   14 1009
505 |   12 1011
506 |   10 1013
507 |    8 1015
508 |    6 1017
509 |    4 1019
510 |    2 1021
511 |    0 1023

Kyocera KJ4B_1200_64k CPLD

Printhead data


In [4]:
import numpy as np
channels  = 10
data_size = 3
bounds    = np.empty(shape=[channels,2],  dtype=np.int32)

for i in range(1,channels+1):
  bounds[i-1][0] = data_size * i - 1   # High
  bounds[i-1][1] = data_size * (i - 1) # Low
          
print("  i | High  Low \n----|-----------")
for i in range(1,channels+1):
  print("{:3} | {:4} {:4}".format(i,bounds[i-1,0],bounds[i-1,1]))


  i | High  Low 
----|-----------
  1 |    2    0
  2 |    5    3
  3 |    8    6
  4 |   11    9
  5 |   14   12
  6 |   17   15
  7 |   20   18
  8 |   23   21
  9 |   26   24
 10 |   29   27

Jetmapping BitSwap

Bit swap in BMP, in 4bit/pixel mode the first pixel is stored in the more significant nibble, therefore bitmap is encoded like [7..4][3..0][11..8][15..12]..etc (N 8) + 3 downto (N 8) + 0) <= coe_user_buffer_output_data((N 8) + 7 downto (N 8) + 4);


In [11]:
import numpy as np
g_RAM_FRAME_SIZE  = 256
data_size = 3
bounds_left_msn    = np.empty(shape=[g_RAM_FRAME_SIZE,2],  dtype=np.int32)
bounds_right_msn   = np.empty(shape=[g_RAM_FRAME_SIZE,2],  dtype=np.int32)
bounds_left_lsn    = np.empty(shape=[g_RAM_FRAME_SIZE,2],  dtype=np.int32)
bounds_right_lsn   = np.empty(shape=[g_RAM_FRAME_SIZE,2],  dtype=np.int32)

for i in range(0,int(g_RAM_FRAME_SIZE / 8 - 1 + 1)):
  bounds_left_msn[i][0]  = (i * 8) + 3
  bounds_left_msn[i][1]  = (i * 8) + 0
  bounds_right_msn[i][0] = (i * 8) + 7
  bounds_right_msn[i][1] = (i * 8) + 4
  bounds_left_lsn[i][0]  = (i * 8) + 7
  bounds_left_lsn[i][1]  = (i * 8) + 4
  bounds_right_lsn[i][0] = (i * 8) + 3
  bounds_right_lsn[i][1] = (i * 8) + 0
          
print("  i | High  Low <= High  Low | High  Low <= High  Low\n----|------------------------|-----------------------")
for i in range(0,int(g_RAM_FRAME_SIZE / 8 - 1 + 1)):
  print("{:3} | {:4} {:4} <= {:4} {:4} | {:4} {:4} <= {:4} {:4}".format(i,bounds_left_msn[i,0],bounds_left_msn[i,1],bounds_right_msn[i,0],bounds_right_msn[i,1],bounds_left_lsn[i,0],bounds_left_lsn[i,1],bounds_right_lsn[i,0],bounds_right_lsn[i,1]))


  i | High  Low <= High  Low | High  Low <= High  Low
----|------------------------|-----------------------
  0 |    3    0 <=    7    4 |    7    4 <=    3    0
  1 |   11    8 <=   15   12 |   15   12 <=   11    8
  2 |   19   16 <=   23   20 |   23   20 <=   19   16
  3 |   27   24 <=   31   28 |   31   28 <=   27   24
  4 |   35   32 <=   39   36 |   39   36 <=   35   32
  5 |   43   40 <=   47   44 |   47   44 <=   43   40
  6 |   51   48 <=   55   52 |   55   52 <=   51   48
  7 |   59   56 <=   63   60 |   63   60 <=   59   56
  8 |   67   64 <=   71   68 |   71   68 <=   67   64
  9 |   75   72 <=   79   76 |   79   76 <=   75   72
 10 |   83   80 <=   87   84 |   87   84 <=   83   80
 11 |   91   88 <=   95   92 |   95   92 <=   91   88
 12 |   99   96 <=  103  100 |  103  100 <=   99   96
 13 |  107  104 <=  111  108 |  111  108 <=  107  104
 14 |  115  112 <=  119  116 |  119  116 <=  115  112
 15 |  123  120 <=  127  124 |  127  124 <=  123  120
 16 |  131  128 <=  135  132 |  135  132 <=  131  128
 17 |  139  136 <=  143  140 |  143  140 <=  139  136
 18 |  147  144 <=  151  148 |  151  148 <=  147  144
 19 |  155  152 <=  159  156 |  159  156 <=  155  152
 20 |  163  160 <=  167  164 |  167  164 <=  163  160
 21 |  171  168 <=  175  172 |  175  172 <=  171  168
 22 |  179  176 <=  183  180 |  183  180 <=  179  176
 23 |  187  184 <=  191  188 |  191  188 <=  187  184
 24 |  195  192 <=  199  196 |  199  196 <=  195  192
 25 |  203  200 <=  207  204 |  207  204 <=  203  200
 26 |  211  208 <=  215  212 |  215  212 <=  211  208
 27 |  219  216 <=  223  220 |  223  220 <=  219  216
 28 |  227  224 <=  231  228 |  231  228 <=  227  224
 29 |  235  232 <=  239  236 |  239  236 <=  235  232
 30 |  243  240 <=  247  244 |  247  244 <=  243  240
 31 |  251  248 <=  255  252 |  255  252 <=  251  248

Manual Data Assignment


In [12]:
import numpy as np
channels  = 8
data_size = 3
bounds    = np.empty(shape=[channels,2],  dtype=np.int32)

for i in range(1,channels+1):
  bounds[i-1][0] = data_size * i - 1   # High
  bounds[i-1][1] = data_size * (i - 1) # Low
          
print("  i | High  Low \n----|-----------")
for i in range(1,channels+1):
  print("{:3} | {:4} {:4}".format(i,bounds[i-1,0],bounds[i-1,1]))


  i | High  Low 
----|-----------
  1 |    2    0
  2 |    5    3
  3 |    8    6
  4 |   11    9
  5 |   14   12
  6 |   17   15
  7 |   20   18
  8 |   23   21