blob: ef2f01c1035899b22d8490d52f05f8e59058e6fb [file] [log] [blame]
Tim Hall79d07d22020-04-27 18:20:16 +01001# Copyright (C) 2020 Arm Limited or its affiliates. All rights reserved.
2#
3# SPDX-License-Identifier: Apache-2.0
4#
5# Licensed under the Apache License, Version 2.0 (the License); you may
6# not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an AS IS BASIS, WITHOUT
13# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
Diqing Zhongb7311702020-04-14 12:31:44 +020017
18
Tim Hall79d07d22020-04-27 18:20:16 +010019from ctypes import *
20from enum import Enum
21
Douglas Troha83dec5c2020-06-15 13:01:03 +020022ARCH_VER = '1.0.1'
Tim Hall79d07d22020-04-27 18:20:16 +010023
24
Douglas Troha77f83962020-05-14 16:36:17 +020025class BASE(Enum):
26 ID = 0x0000
27 STATUS = 0x0004
28 CMD = 0x0008
29 RESET = 0x000C
30 QBASE0 = 0x0010
31 QBASE1 = 0x0014
32 QREAD = 0x0018
33 QCONFIG = 0x001C
34 QSIZE = 0x0020
35 PROT = 0x0024
36 CONFIG = 0x0028
37 LOCK = 0x002C
38 REGIONCFG = 0x003C
39 AXI_LIMIT0 = 0x0040
40 AXI_LIMIT1 = 0x0044
41 AXI_LIMIT2 = 0x0048
42 AXI_LIMIT3 = 0x004C
43 SIZE = 0x0050
44
45class BASE_POINTERS(Enum):
46 BASEP0 = 0x0080
47 BASEP1 = 0x0084
48 BASEP2 = 0x0088
49 BASEP3 = 0x008C
50 BASEP4 = 0x0090
51 BASEP5 = 0x0094
52 BASEP6 = 0x0098
53 BASEP7 = 0x009C
54 BASEP8 = 0x00A0
55 BASEP9 = 0x00A4
56 BASEP10 = 0x00A8
57 BASEP11 = 0x00AC
58 BASEP12 = 0x00B0
59 BASEP13 = 0x00B4
60 BASEP14 = 0x00B8
61 BASEP15 = 0x00BC
62 SIZE = 0x00C0
63
64class DEBUG(Enum):
65 WD_STATUS = 0x0100
66 MAC_STATUS = 0x0104
67 AO_STATUS = 0x0108
68 DMA_STATUS0 = 0x0110
69 DMA_STATUS1 = 0x0114
70 CLKFORCE = 0x0140
71 DEBUG_ADDRESS = 0x0144
72 DEBUG_MISC = 0x0148
73 DEBUGCORE = 0x014C
74 SIZE = 0x0150
75
76class ID(Enum):
77 REVISION = 0x0FC0
78 PID4 = 0x0FD0
79 PID5 = 0x0FD4
80 PID6 = 0x0FD8
81 PID7 = 0x0FDC
82 PID0 = 0x0FE0
83 PID1 = 0x0FE4
84 PID2 = 0x0FE8
85 PID3 = 0x0FEC
86 CID0 = 0x0FF0
87 CID1 = 0x0FF4
88 CID2 = 0x0FF8
89 CID3 = 0x0FFC
90 SIZE = 0x1000
91
92class PMU(Enum):
93 PMCR = 0x0180
94 PMCNTENSET = 0x0184
95 PMCNTENCLR = 0x0188
96 PMOVSSET = 0x018C
97 PMOVSCLR = 0x0190
98 PMINTSET = 0x0194
99 PMINTCLR = 0x0198
100 PMCCNTR_LO = 0x01A0
101 PMCCNTR_HI = 0x01A4
102 PMCCNTR_CFG = 0x01A8
103 PMCAXI_CHAN = 0x01AC
104 PMEVCNTR0 = 0x0300
105 PMEVCNTR1 = 0x0304
106 PMEVCNTR2 = 0x0308
107 PMEVCNTR3 = 0x030C
108 PMEVTYPER0 = 0x0380
109 PMEVTYPER1 = 0x0384
110 PMEVTYPER2 = 0x0388
111 PMEVTYPER3 = 0x038C
112 SIZE = 0x0390
113
114class SHARED_BUFFER(Enum):
Tim Hall79d07d22020-04-27 18:20:16 +0100115 SHARED_BUFFER0 = 0x0400
116 SHARED_BUFFER1 = 0x0404
117 SHARED_BUFFER2 = 0x0408
118 SHARED_BUFFER3 = 0x040C
119 SHARED_BUFFER4 = 0x0410
120 SHARED_BUFFER5 = 0x0414
121 SHARED_BUFFER6 = 0x0418
122 SHARED_BUFFER7 = 0x041C
123 SHARED_BUFFER8 = 0x0420
124 SHARED_BUFFER9 = 0x0424
125 SHARED_BUFFER10 = 0x0428
126 SHARED_BUFFER11 = 0x042C
127 SHARED_BUFFER12 = 0x0430
128 SHARED_BUFFER13 = 0x0434
129 SHARED_BUFFER14 = 0x0438
130 SHARED_BUFFER15 = 0x043C
131 SHARED_BUFFER16 = 0x0440
132 SHARED_BUFFER17 = 0x0444
133 SHARED_BUFFER18 = 0x0448
134 SHARED_BUFFER19 = 0x044C
135 SHARED_BUFFER20 = 0x0450
136 SHARED_BUFFER21 = 0x0454
137 SHARED_BUFFER22 = 0x0458
138 SHARED_BUFFER23 = 0x045C
139 SHARED_BUFFER24 = 0x0460
140 SHARED_BUFFER25 = 0x0464
141 SHARED_BUFFER26 = 0x0468
142 SHARED_BUFFER27 = 0x046C
143 SHARED_BUFFER28 = 0x0470
144 SHARED_BUFFER29 = 0x0474
145 SHARED_BUFFER30 = 0x0478
146 SHARED_BUFFER31 = 0x047C
147 SHARED_BUFFER32 = 0x0480
148 SHARED_BUFFER33 = 0x0484
149 SHARED_BUFFER34 = 0x0488
150 SHARED_BUFFER35 = 0x048C
151 SHARED_BUFFER36 = 0x0490
152 SHARED_BUFFER37 = 0x0494
153 SHARED_BUFFER38 = 0x0498
154 SHARED_BUFFER39 = 0x049C
155 SHARED_BUFFER40 = 0x04A0
156 SHARED_BUFFER41 = 0x04A4
157 SHARED_BUFFER42 = 0x04A8
158 SHARED_BUFFER43 = 0x04AC
159 SHARED_BUFFER44 = 0x04B0
160 SHARED_BUFFER45 = 0x04B4
161 SHARED_BUFFER46 = 0x04B8
162 SHARED_BUFFER47 = 0x04BC
163 SHARED_BUFFER48 = 0x04C0
164 SHARED_BUFFER49 = 0x04C4
165 SHARED_BUFFER50 = 0x04C8
166 SHARED_BUFFER51 = 0x04CC
167 SHARED_BUFFER52 = 0x04D0
168 SHARED_BUFFER53 = 0x04D4
169 SHARED_BUFFER54 = 0x04D8
170 SHARED_BUFFER55 = 0x04DC
171 SHARED_BUFFER56 = 0x04E0
172 SHARED_BUFFER57 = 0x04E4
173 SHARED_BUFFER58 = 0x04E8
174 SHARED_BUFFER59 = 0x04EC
175 SHARED_BUFFER60 = 0x04F0
176 SHARED_BUFFER61 = 0x04F4
177 SHARED_BUFFER62 = 0x04F8
178 SHARED_BUFFER63 = 0x04FC
179 SHARED_BUFFER64 = 0x0500
180 SHARED_BUFFER65 = 0x0504
181 SHARED_BUFFER66 = 0x0508
182 SHARED_BUFFER67 = 0x050C
183 SHARED_BUFFER68 = 0x0510
184 SHARED_BUFFER69 = 0x0514
185 SHARED_BUFFER70 = 0x0518
186 SHARED_BUFFER71 = 0x051C
187 SHARED_BUFFER72 = 0x0520
188 SHARED_BUFFER73 = 0x0524
189 SHARED_BUFFER74 = 0x0528
190 SHARED_BUFFER75 = 0x052C
191 SHARED_BUFFER76 = 0x0530
192 SHARED_BUFFER77 = 0x0534
193 SHARED_BUFFER78 = 0x0538
194 SHARED_BUFFER79 = 0x053C
195 SHARED_BUFFER80 = 0x0540
196 SHARED_BUFFER81 = 0x0544
197 SHARED_BUFFER82 = 0x0548
198 SHARED_BUFFER83 = 0x054C
199 SHARED_BUFFER84 = 0x0550
200 SHARED_BUFFER85 = 0x0554
201 SHARED_BUFFER86 = 0x0558
202 SHARED_BUFFER87 = 0x055C
203 SHARED_BUFFER88 = 0x0560
204 SHARED_BUFFER89 = 0x0564
205 SHARED_BUFFER90 = 0x0568
206 SHARED_BUFFER91 = 0x056C
207 SHARED_BUFFER92 = 0x0570
208 SHARED_BUFFER93 = 0x0574
209 SHARED_BUFFER94 = 0x0578
210 SHARED_BUFFER95 = 0x057C
211 SHARED_BUFFER96 = 0x0580
212 SHARED_BUFFER97 = 0x0584
213 SHARED_BUFFER98 = 0x0588
214 SHARED_BUFFER99 = 0x058C
215 SHARED_BUFFER100 = 0x0590
216 SHARED_BUFFER101 = 0x0594
217 SHARED_BUFFER102 = 0x0598
218 SHARED_BUFFER103 = 0x059C
219 SHARED_BUFFER104 = 0x05A0
220 SHARED_BUFFER105 = 0x05A4
221 SHARED_BUFFER106 = 0x05A8
222 SHARED_BUFFER107 = 0x05AC
223 SHARED_BUFFER108 = 0x05B0
224 SHARED_BUFFER109 = 0x05B4
225 SHARED_BUFFER110 = 0x05B8
226 SHARED_BUFFER111 = 0x05BC
227 SHARED_BUFFER112 = 0x05C0
228 SHARED_BUFFER113 = 0x05C4
229 SHARED_BUFFER114 = 0x05C8
230 SHARED_BUFFER115 = 0x05CC
231 SHARED_BUFFER116 = 0x05D0
232 SHARED_BUFFER117 = 0x05D4
233 SHARED_BUFFER118 = 0x05D8
234 SHARED_BUFFER119 = 0x05DC
235 SHARED_BUFFER120 = 0x05E0
236 SHARED_BUFFER121 = 0x05E4
237 SHARED_BUFFER122 = 0x05E8
238 SHARED_BUFFER123 = 0x05EC
239 SHARED_BUFFER124 = 0x05F0
240 SHARED_BUFFER125 = 0x05F4
241 SHARED_BUFFER126 = 0x05F8
242 SHARED_BUFFER127 = 0x05FC
243 SHARED_BUFFER128 = 0x0600
244 SHARED_BUFFER129 = 0x0604
245 SHARED_BUFFER130 = 0x0608
246 SHARED_BUFFER131 = 0x060C
247 SHARED_BUFFER132 = 0x0610
248 SHARED_BUFFER133 = 0x0614
249 SHARED_BUFFER134 = 0x0618
250 SHARED_BUFFER135 = 0x061C
251 SHARED_BUFFER136 = 0x0620
252 SHARED_BUFFER137 = 0x0624
253 SHARED_BUFFER138 = 0x0628
254 SHARED_BUFFER139 = 0x062C
255 SHARED_BUFFER140 = 0x0630
256 SHARED_BUFFER141 = 0x0634
257 SHARED_BUFFER142 = 0x0638
258 SHARED_BUFFER143 = 0x063C
259 SHARED_BUFFER144 = 0x0640
260 SHARED_BUFFER145 = 0x0644
261 SHARED_BUFFER146 = 0x0648
262 SHARED_BUFFER147 = 0x064C
263 SHARED_BUFFER148 = 0x0650
264 SHARED_BUFFER149 = 0x0654
265 SHARED_BUFFER150 = 0x0658
266 SHARED_BUFFER151 = 0x065C
267 SHARED_BUFFER152 = 0x0660
268 SHARED_BUFFER153 = 0x0664
269 SHARED_BUFFER154 = 0x0668
270 SHARED_BUFFER155 = 0x066C
271 SHARED_BUFFER156 = 0x0670
272 SHARED_BUFFER157 = 0x0674
273 SHARED_BUFFER158 = 0x0678
274 SHARED_BUFFER159 = 0x067C
275 SHARED_BUFFER160 = 0x0680
276 SHARED_BUFFER161 = 0x0684
277 SHARED_BUFFER162 = 0x0688
278 SHARED_BUFFER163 = 0x068C
279 SHARED_BUFFER164 = 0x0690
280 SHARED_BUFFER165 = 0x0694
281 SHARED_BUFFER166 = 0x0698
282 SHARED_BUFFER167 = 0x069C
283 SHARED_BUFFER168 = 0x06A0
284 SHARED_BUFFER169 = 0x06A4
285 SHARED_BUFFER170 = 0x06A8
286 SHARED_BUFFER171 = 0x06AC
287 SHARED_BUFFER172 = 0x06B0
288 SHARED_BUFFER173 = 0x06B4
289 SHARED_BUFFER174 = 0x06B8
290 SHARED_BUFFER175 = 0x06BC
291 SHARED_BUFFER176 = 0x06C0
292 SHARED_BUFFER177 = 0x06C4
293 SHARED_BUFFER178 = 0x06C8
294 SHARED_BUFFER179 = 0x06CC
295 SHARED_BUFFER180 = 0x06D0
296 SHARED_BUFFER181 = 0x06D4
297 SHARED_BUFFER182 = 0x06D8
298 SHARED_BUFFER183 = 0x06DC
299 SHARED_BUFFER184 = 0x06E0
300 SHARED_BUFFER185 = 0x06E4
301 SHARED_BUFFER186 = 0x06E8
302 SHARED_BUFFER187 = 0x06EC
303 SHARED_BUFFER188 = 0x06F0
304 SHARED_BUFFER189 = 0x06F4
305 SHARED_BUFFER190 = 0x06F8
306 SHARED_BUFFER191 = 0x06FC
307 SHARED_BUFFER192 = 0x0700
308 SHARED_BUFFER193 = 0x0704
309 SHARED_BUFFER194 = 0x0708
310 SHARED_BUFFER195 = 0x070C
311 SHARED_BUFFER196 = 0x0710
312 SHARED_BUFFER197 = 0x0714
313 SHARED_BUFFER198 = 0x0718
314 SHARED_BUFFER199 = 0x071C
315 SHARED_BUFFER200 = 0x0720
316 SHARED_BUFFER201 = 0x0724
317 SHARED_BUFFER202 = 0x0728
318 SHARED_BUFFER203 = 0x072C
319 SHARED_BUFFER204 = 0x0730
320 SHARED_BUFFER205 = 0x0734
321 SHARED_BUFFER206 = 0x0738
322 SHARED_BUFFER207 = 0x073C
323 SHARED_BUFFER208 = 0x0740
324 SHARED_BUFFER209 = 0x0744
325 SHARED_BUFFER210 = 0x0748
326 SHARED_BUFFER211 = 0x074C
327 SHARED_BUFFER212 = 0x0750
328 SHARED_BUFFER213 = 0x0754
329 SHARED_BUFFER214 = 0x0758
330 SHARED_BUFFER215 = 0x075C
331 SHARED_BUFFER216 = 0x0760
332 SHARED_BUFFER217 = 0x0764
333 SHARED_BUFFER218 = 0x0768
334 SHARED_BUFFER219 = 0x076C
335 SHARED_BUFFER220 = 0x0770
336 SHARED_BUFFER221 = 0x0774
337 SHARED_BUFFER222 = 0x0778
338 SHARED_BUFFER223 = 0x077C
339 SHARED_BUFFER224 = 0x0780
340 SHARED_BUFFER225 = 0x0784
341 SHARED_BUFFER226 = 0x0788
342 SHARED_BUFFER227 = 0x078C
343 SHARED_BUFFER228 = 0x0790
344 SHARED_BUFFER229 = 0x0794
345 SHARED_BUFFER230 = 0x0798
346 SHARED_BUFFER231 = 0x079C
347 SHARED_BUFFER232 = 0x07A0
348 SHARED_BUFFER233 = 0x07A4
349 SHARED_BUFFER234 = 0x07A8
350 SHARED_BUFFER235 = 0x07AC
351 SHARED_BUFFER236 = 0x07B0
352 SHARED_BUFFER237 = 0x07B4
353 SHARED_BUFFER238 = 0x07B8
354 SHARED_BUFFER239 = 0x07BC
355 SHARED_BUFFER240 = 0x07C0
356 SHARED_BUFFER241 = 0x07C4
357 SHARED_BUFFER242 = 0x07C8
358 SHARED_BUFFER243 = 0x07CC
359 SHARED_BUFFER244 = 0x07D0
360 SHARED_BUFFER245 = 0x07D4
361 SHARED_BUFFER246 = 0x07D8
362 SHARED_BUFFER247 = 0x07DC
363 SHARED_BUFFER248 = 0x07E0
364 SHARED_BUFFER249 = 0x07E4
365 SHARED_BUFFER250 = 0x07E8
366 SHARED_BUFFER251 = 0x07EC
367 SHARED_BUFFER252 = 0x07F0
368 SHARED_BUFFER253 = 0x07F4
369 SHARED_BUFFER254 = 0x07F8
370 SHARED_BUFFER255 = 0x07FC
371 SIZE = 0x0800
372
Douglas Troha77f83962020-05-14 16:36:17 +0200373class TSU(Enum):
Tim Hall79d07d22020-04-27 18:20:16 +0100374 IFM_PAD_TOP = 0x0800
375 IFM_PAD_LEFT = 0x0804
376 IFM_PAD_RIGHT = 0x0808
377 IFM_PAD_BOTTOM = 0x080C
378 IFM_DEPTH_M1 = 0x0810
379 IFM_PRECISION = 0x0814
380 IFM_UPSCALE = 0x081C
381 IFM_ZERO_POINT = 0x0824
382 IFM_WIDTH0_M1 = 0x0828
383 IFM_HEIGHT0_M1 = 0x082C
384 IFM_HEIGHT1_M1 = 0x0830
385 IFM_IB_END = 0x0834
386 IFM_REGION = 0x083C
387 OFM_WIDTH_M1 = 0x0844
388 OFM_HEIGHT_M1 = 0x0848
389 OFM_DEPTH_M1 = 0x084C
390 OFM_PRECISION = 0x0850
391 OFM_BLK_WIDTH_M1 = 0x0854
392 OFM_BLK_HEIGHT_M1 = 0x0858
393 OFM_BLK_DEPTH_M1 = 0x085C
394 OFM_ZERO_POINT = 0x0860
395 OFM_WIDTH0_M1 = 0x0868
396 OFM_HEIGHT0_M1 = 0x086C
397 OFM_HEIGHT1_M1 = 0x0870
398 OFM_REGION = 0x087C
399 KERNEL_WIDTH_M1 = 0x0880
400 KERNEL_HEIGHT_M1 = 0x0884
401 KERNEL_STRIDE = 0x0888
402 PARALLEL_MODE = 0x088C
403 ACC_FORMAT = 0x0890
404 ACTIVATION = 0x0894
405 ACTIVATION_MIN = 0x0898
406 ACTIVATION_MAX = 0x089C
407 WEIGHT_REGION = 0x08A0
408 SCALE_REGION = 0x08A4
409 AB_START = 0x08B4
410 BLOCKDEP = 0x08BC
411 DMA0_SRC_REGION = 0x08C0
412 DMA0_DST_REGION = 0x08C4
413 DMA0_SIZE0 = 0x08C8
414 DMA0_SIZE1 = 0x08CC
415 IFM2_BROADCAST = 0x0900
416 IFM2_SCALAR = 0x0904
417 IFM2_PRECISION = 0x0914
418 IFM2_ZERO_POINT = 0x0924
419 IFM2_WIDTH0_M1 = 0x0928
420 IFM2_HEIGHT0_M1 = 0x092C
421 IFM2_HEIGHT1_M1 = 0x0930
422 IFM2_IB_START = 0x0934
423 IFM2_REGION = 0x093C
424 IFM_BASE0 = 0x0A00
425 IFM_BASE0_HI = 0x0A04
426 IFM_BASE1 = 0x0A08
427 IFM_BASE1_HI = 0x0A0C
428 IFM_BASE2 = 0x0A10
429 IFM_BASE2_HI = 0x0A14
430 IFM_BASE3 = 0x0A18
431 IFM_BASE3_HI = 0x0A1C
432 IFM_STRIDE_X = 0x0A20
433 IFM_STRIDE_X_HI = 0x0A24
434 IFM_STRIDE_Y = 0x0A28
435 IFM_STRIDE_Y_HI = 0x0A2C
436 IFM_STRIDE_C = 0x0A30
437 IFM_STRIDE_C_HI = 0x0A34
438 OFM_BASE0 = 0x0A40
439 OFM_BASE0_HI = 0x0A44
440 OFM_BASE1 = 0x0A48
441 OFM_BASE1_HI = 0x0A4C
442 OFM_BASE2 = 0x0A50
443 OFM_BASE2_HI = 0x0A54
444 OFM_BASE3 = 0x0A58
445 OFM_BASE3_HI = 0x0A5C
446 OFM_STRIDE_X = 0x0A60
447 OFM_STRIDE_X_HI = 0x0A64
448 OFM_STRIDE_Y = 0x0A68
449 OFM_STRIDE_Y_HI = 0x0A6C
450 OFM_STRIDE_C = 0x0A70
451 OFM_STRIDE_C_HI = 0x0A74
452 WEIGHT_BASE = 0x0A80
453 WEIGHT_BASE_HI = 0x0A84
454 WEIGHT_LENGTH = 0x0A88
Tim Hall79d07d22020-04-27 18:20:16 +0100455 SCALE_BASE = 0x0A90
456 SCALE_BASE_HI = 0x0A94
457 SCALE_LENGTH = 0x0A98
458 OFM_SCALE = 0x0AA0
459 OFM_SCALE_SHIFT = 0x0AA4
460 OPA_SCALE = 0x0AA8
461 OPA_SCALE_SHIFT = 0x0AAC
462 OPB_SCALE = 0x0AB0
463 DMA0_SRC = 0x0AC0
464 DMA0_SRC_HI = 0x0AC4
465 DMA0_DST = 0x0AC8
466 DMA0_DST_HI = 0x0ACC
467 DMA0_LEN = 0x0AD0
468 DMA0_LEN_HI = 0x0AD4
469 DMA0_SKIP0 = 0x0AD8
470 DMA0_SKIP0_HI = 0x0ADC
471 DMA0_SKIP1 = 0x0AE0
472 DMA0_SKIP1_HI = 0x0AE4
473 IFM2_BASE0 = 0x0B00
474 IFM2_BASE0_HI = 0x0B04
475 IFM2_BASE1 = 0x0B08
476 IFM2_BASE1_HI = 0x0B0C
477 IFM2_BASE2 = 0x0B10
478 IFM2_BASE2_HI = 0x0B14
479 IFM2_BASE3 = 0x0B18
480 IFM2_BASE3_HI = 0x0B1C
481 IFM2_STRIDE_X = 0x0B20
482 IFM2_STRIDE_X_HI = 0x0B24
483 IFM2_STRIDE_Y = 0x0B28
484 IFM2_STRIDE_Y_HI = 0x0B2C
485 IFM2_STRIDE_C = 0x0B30
486 IFM2_STRIDE_C_HI = 0x0B34
487 WEIGHT1_BASE = 0x0B40
488 WEIGHT1_BASE_HI = 0x0B44
489 WEIGHT1_LENGTH = 0x0B48
Tim Hall79d07d22020-04-27 18:20:16 +0100490 SCALE1_BASE = 0x0B50
491 SCALE1_BASE_HI = 0x0B54
492 SCALE1_LENGTH = 0x0B58
493 SIZE = 0x0B5C
494
Douglas Troha77f83962020-05-14 16:36:17 +0200495class TSU_DEBUG(Enum):
Tim Hall79d07d22020-04-27 18:20:16 +0100496 KERNEL_X = 0x0200
497 KERNEL_Y = 0x0204
498 KERNEL_W_M1 = 0x0208
499 KERNEL_H_M1 = 0x020C
500 OFM_CBLK_WIDTH_M1 = 0x0210
501 OFM_CBLK_HEIGHT_M1 = 0x0214
502 OFM_CBLK_DEPTH_M1 = 0x0218
503 IFM_CBLK_DEPTH_M1 = 0x021C
504 OFM_X = 0x0220
505 OFM_Y = 0x0224
506 OFM_Z = 0x0228
507 IFM_Z = 0x022C
508 PAD_TOP = 0x0230
509 PAD_LEFT = 0x0234
510 IFM_CBLK_WIDTH = 0x0238
511 IFM_CBLK_HEIGHT = 0x023C
512 DMA_IFM_SRC = 0x0240
513 DMA_IFM_SRC_HI = 0x0244
514 DMA_IFM_DST = 0x0248
515 DMA_OFM_SRC = 0x024C
516 DMA_OFM_DST = 0x0250
517 DMA_OFM_DST_HI = 0x0254
518 DMA_WEIGHT_SRC = 0x0258
519 DMA_WEIGHT_SRC_HI = 0x025C
520 DMA_CMD_SRC = 0x0260
521 DMA_CMD_SRC_HI = 0x0264
522 DMA_CMD_SIZE = 0x0268
523 DMA_M2M_SRC = 0x026C
524 DMA_M2M_SRC_HI = 0x0270
525 DMA_M2M_DST = 0x0274
526 DMA_M2M_DST_HI = 0x0278
527 CURRENT_QREAD = 0x027C
528 DMA_SCALE_SRC = 0x0280
529 DMA_SCALE_SRC_HI = 0x0284
530 CURRENT_CMD = 0x02BC
531 SIZE = 0x02C0
532
533
534
535class acc_format(Enum):
536 INT_32BIT = 0
537 INT_40BIT = 1
538 FP_S5_10 = 2
539
540class activation(Enum):
541 NONE = 0
542 TANH = 3
543 SIGMOID = 4
544 LUT_START = 16
545 LUT_END = 23
546
547class clip_range(Enum):
548 OFM_PRECISION = 0
549 FORCE_UINT8 = 2
550 FORCE_INT8 = 3
551 FORCE_INT16 = 5
552
553class cmd0(Enum):
554 NPU_OP_STOP = 0x000
555 NPU_OP_IRQ = 0x001
556 NPU_OP_CONV = 0x002
557 NPU_OP_DEPTHWISE = 0x003
558 NPU_OP_POOL = 0x005
559 NPU_OP_ELEMENTWISE = 0x006
560 NPU_OP_DMA_START = 0x010
561 NPU_OP_DMA_WAIT = 0x011
562 NPU_OP_KERNEL_WAIT = 0x012
563 NPU_OP_PMU_MASK = 0x013
564 NPU_SET_IFM_PAD_TOP = 0x100
565 NPU_SET_IFM_PAD_LEFT = 0x101
566 NPU_SET_IFM_PAD_RIGHT = 0x102
567 NPU_SET_IFM_PAD_BOTTOM = 0x103
568 NPU_SET_IFM_DEPTH_M1 = 0x104
569 NPU_SET_IFM_PRECISION = 0x105
570 NPU_SET_IFM_UPSCALE = 0x107
571 NPU_SET_IFM_ZERO_POINT = 0x109
572 NPU_SET_IFM_WIDTH0_M1 = 0x10A
573 NPU_SET_IFM_HEIGHT0_M1 = 0x10B
574 NPU_SET_IFM_HEIGHT1_M1 = 0x10C
575 NPU_SET_IFM_IB_END = 0x10D
576 NPU_SET_IFM_REGION = 0x10F
577 NPU_SET_OFM_WIDTH_M1 = 0x111
578 NPU_SET_OFM_HEIGHT_M1 = 0x112
579 NPU_SET_OFM_DEPTH_M1 = 0x113
580 NPU_SET_OFM_PRECISION = 0x114
581 NPU_SET_OFM_BLK_WIDTH_M1 = 0x115
582 NPU_SET_OFM_BLK_HEIGHT_M1 = 0x116
583 NPU_SET_OFM_BLK_DEPTH_M1 = 0x117
584 NPU_SET_OFM_ZERO_POINT = 0x118
585 NPU_SET_OFM_WIDTH0_M1 = 0x11A
586 NPU_SET_OFM_HEIGHT0_M1 = 0x11B
587 NPU_SET_OFM_HEIGHT1_M1 = 0x11C
588 NPU_SET_OFM_REGION = 0x11F
589 NPU_SET_KERNEL_WIDTH_M1 = 0x120
590 NPU_SET_KERNEL_HEIGHT_M1 = 0x121
591 NPU_SET_KERNEL_STRIDE = 0x122
592 NPU_SET_PARALLEL_MODE = 0x123
593 NPU_SET_ACC_FORMAT = 0x124
594 NPU_SET_ACTIVATION = 0x125
595 NPU_SET_ACTIVATION_MIN = 0x126
596 NPU_SET_ACTIVATION_MAX = 0x127
597 NPU_SET_WEIGHT_REGION = 0x128
598 NPU_SET_SCALE_REGION = 0x129
599 NPU_SET_AB_START = 0x12D
600 NPU_SET_BLOCKDEP = 0x12F
601 NPU_SET_DMA0_SRC_REGION = 0x130
602 NPU_SET_DMA0_DST_REGION = 0x131
603 NPU_SET_DMA0_SIZE0 = 0x132
604 NPU_SET_DMA0_SIZE1 = 0x133
605 NPU_SET_IFM2_BROADCAST = 0x180
606 NPU_SET_IFM2_SCALAR = 0x181
607 NPU_SET_IFM2_PRECISION = 0x185
608 NPU_SET_IFM2_ZERO_POINT = 0x189
609 NPU_SET_IFM2_WIDTH0_M1 = 0x18A
610 NPU_SET_IFM2_HEIGHT0_M1 = 0x18B
611 NPU_SET_IFM2_HEIGHT1_M1 = 0x18C
612 NPU_SET_IFM2_IB_START = 0x18D
613 NPU_SET_IFM2_REGION = 0x18F
614
615class cmd1(Enum):
616 NPU_SET_IFM_BASE0 = 0x000
617 NPU_SET_IFM_BASE1 = 0x001
618 NPU_SET_IFM_BASE2 = 0x002
619 NPU_SET_IFM_BASE3 = 0x003
620 NPU_SET_IFM_STRIDE_X = 0x004
621 NPU_SET_IFM_STRIDE_Y = 0x005
622 NPU_SET_IFM_STRIDE_C = 0x006
623 NPU_SET_OFM_BASE0 = 0x010
624 NPU_SET_OFM_BASE1 = 0x011
625 NPU_SET_OFM_BASE2 = 0x012
626 NPU_SET_OFM_BASE3 = 0x013
627 NPU_SET_OFM_STRIDE_X = 0x014
628 NPU_SET_OFM_STRIDE_Y = 0x015
629 NPU_SET_OFM_STRIDE_C = 0x016
630 NPU_SET_WEIGHT_BASE = 0x020
631 NPU_SET_WEIGHT_LENGTH = 0x021
632 NPU_SET_SCALE_BASE = 0x022
633 NPU_SET_SCALE_LENGTH = 0x023
634 NPU_SET_OFM_SCALE = 0x024
635 NPU_SET_OPA_SCALE = 0x025
636 NPU_SET_OPB_SCALE = 0x026
637 NPU_SET_DMA0_SRC = 0x030
638 NPU_SET_DMA0_DST = 0x031
639 NPU_SET_DMA0_LEN = 0x032
640 NPU_SET_DMA0_SKIP0 = 0x033
641 NPU_SET_DMA0_SKIP1 = 0x034
642 NPU_SET_IFM2_BASE0 = 0x080
643 NPU_SET_IFM2_BASE1 = 0x081
644 NPU_SET_IFM2_BASE2 = 0x082
645 NPU_SET_IFM2_BASE3 = 0x083
646 NPU_SET_IFM2_STRIDE_X = 0x084
647 NPU_SET_IFM2_STRIDE_Y = 0x085
648 NPU_SET_IFM2_STRIDE_C = 0x086
649 NPU_SET_WEIGHT1_BASE = 0x090
650 NPU_SET_WEIGHT1_LENGTH = 0x091
651 NPU_SET_SCALE1_BASE = 0x092
652 NPU_SET_SCALE1_LENGTH = 0x093
653
654class data_format(Enum):
655 NHWC = 0
656 NHCWB16 = 1
657
658class elementwise_mode(Enum):
659 MUL = 0
660 ADD = 1
661 SUB = 2
662 MIN = 3
663 MAX = 4
664 LRELU = 5
665 ABS = 6
666 CLZ = 7
667 SHR = 8
668 SHL = 9
669
670class ifm_precision(Enum):
Diqing Zhongfed918b2020-04-27 10:27:34 +0200671 U8 = 0
672 S8 = 1
673 U16 = 4
674 S16 = 5
675 S32 = 9
Tim Hall79d07d22020-04-27 18:20:16 +0100676
677class ifm_scale_mode(Enum):
678 SCALE_16BIT = 0
679 SCALE_OPA_32BIT = 1
680 SCALE_OPB_32BIT = 2
681
Diqing Zhongb7311702020-04-14 12:31:44 +0200682class macs_per_cc(Enum):
683 MACS_PER_CC_IS_5 = 0x5
684 MACS_PER_CC_IS_6 = 0x6
685 MACS_PER_CC_IS_7 = 0x7
686 MACS_PER_CC_IS_8 = 0x8
687
Tim Hall79d07d22020-04-27 18:20:16 +0100688class memory_type(Enum):
689 AXI0_OUTSTANDING_COUNTER0 = 0
690 AXI0_OUTSTANDING_COUNTER1 = 1
691 AXI1_OUTSTANDING_COUNTER2 = 2
692 AXI1_OUTSTANDING_COUNTER3 = 3
693
694class ofm_precision(Enum):
695 U8 = 0
696 S8 = 1
697 U16 = 2
698 S16 = 3
699 S32 = 5
700
701class pmu_event_type(Enum):
Diqing Zhongb7311702020-04-14 12:31:44 +0200702 NO_EVENT = 0x00
Tim Hall79d07d22020-04-27 18:20:16 +0100703 CYCLE = 0x11
704 NPU_IDLE = 0x20
Douglas Troha22df2ad2020-05-08 13:09:13 +0200705 CC_STALLED_ON_BLOCKDEP = 0x21
706 CC_STALLED_ON_SHRAM_RECONFIG = 0x22
Douglas Troha83dec5c2020-06-15 13:01:03 +0200707 NPU_ACTIVE = 0x23
Tim Hall79d07d22020-04-27 18:20:16 +0100708 MAC_ACTIVE = 0x30
709 MAC_ACTIVE_8BIT = 0x31
710 MAC_ACTIVE_16BIT = 0x32
711 MAC_DPU_ACTIVE = 0x33
712 MAC_STALLED_BY_WD_ACC = 0x34
713 MAC_STALLED_BY_WD = 0x35
714 MAC_STALLED_BY_ACC = 0x36
715 MAC_STALLED_BY_IB = 0x37
Diqing Zhongb7311702020-04-14 12:31:44 +0200716 MAC_ACTIVE_32BIT = 0x38
Douglas Troha22df2ad2020-05-08 13:09:13 +0200717 MAC_STALLED_BY_INT_W = 0x39
718 MAC_STALLED_BY_INT_ACC = 0x3A
Tim Hall79d07d22020-04-27 18:20:16 +0100719 AO_ACTIVE = 0x40
720 AO_ACTIVE_8BIT = 0x41
721 AO_ACTIVE_16BIT = 0x42
722 AO_STALLED_BY_OFMP_OB = 0x43
723 AO_STALLED_BY_OFMP = 0x44
724 AO_STALLED_BY_OB = 0x45
725 AO_STALLED_BY_ACC_IB = 0x46
726 AO_STALLED_BY_ACC = 0x47
727 AO_STALLED_BY_IB = 0x48
728 WD_ACTIVE = 0x50
729 WD_STALLED = 0x51
730 WD_STALLED_BY_WS = 0x52
731 WD_STALLED_BY_WD_BUF = 0x53
732 WD_PARSE_ACTIVE = 0x54
733 WD_PARSE_STALLED = 0x55
734 WD_PARSE_STALLED_IN = 0x56
735 WD_PARSE_STALLED_OUT = 0x57
Diqing Zhongb7311702020-04-14 12:31:44 +0200736 WD_TRANS_WS = 0x58
737 WD_TRANS_WB = 0x59
738 WD_TRANS_DW0 = 0x5a
739 WD_TRANS_DW1 = 0x5b
Tim Hall79d07d22020-04-27 18:20:16 +0100740 AXI0_RD_TRANS_ACCEPTED = 0x80
741 AXI0_RD_TRANS_COMPLETED = 0x81
742 AXI0_RD_DATA_BEAT_RECEIVED = 0x82
743 AXI0_RD_TRAN_REQ_STALLED = 0x83
744 AXI0_WR_TRANS_ACCEPTED = 0x84
745 AXI0_WR_TRANS_COMPLETED_M = 0x85
746 AXI0_WR_TRANS_COMPLETED_S = 0x86
747 AXI0_WR_DATA_BEAT_WRITTEN = 0x87
748 AXI0_WR_TRAN_REQ_STALLED = 0x88
749 AXI0_WR_DATA_BEAT_STALLED = 0x89
750 AXI0_ENABLED_CYCLES = 0x8c
751 AXI0_RD_STALL_LIMIT = 0x8e
752 AXI0_WR_STALL_LIMIT = 0x8f
753 AXI1_RD_TRANS_ACCEPTED = 0x180
754 AXI1_RD_TRANS_COMPLETED = 0x181
755 AXI1_RD_DATA_BEAT_RECEIVED = 0x182
756 AXI1_RD_TRAN_REQ_STALLED = 0x183
757 AXI1_WR_TRANS_ACCEPTED = 0x184
758 AXI1_WR_TRANS_COMPLETED_M = 0x185
759 AXI1_WR_TRANS_COMPLETED_S = 0x186
760 AXI1_WR_DATA_BEAT_WRITTEN = 0x187
761 AXI1_WR_TRAN_REQ_STALLED = 0x188
762 AXI1_WR_DATA_BEAT_STALLED = 0x189
763 AXI1_ENABLED_CYCLES = 0x18c
764 AXI1_RD_STALL_LIMIT = 0x18e
765 AXI1_WR_STALL_LIMIT = 0x18f
766 AXI_LATENCY_ANY = 0xa0
767 AXI_LATENCY_32 = 0xa1
768 AXI_LATENCY_64 = 0xa2
769 AXI_LATENCY_128 = 0xa3
770 AXI_LATENCY_256 = 0xa4
771 AXI_LATENCY_512 = 0xa5
772 AXI_LATENCY_1024 = 0xa6
773
774class pooling_mode(Enum):
775 MAX = 0
776 AVERAGE = 1
777 REDUCE_SUM = 2
778
779class privilege_level(Enum):
780 USER = 0
781 PRIVILEGED = 1
782
Tim Hall79d07d22020-04-27 18:20:16 +0100783class resampling_mode(Enum):
784 NONE = 0
785 NEAREST = 1
786 TRANSPOSE = 2
787
788class rounding(Enum):
789 TFL = 0
790 TRUNCATE = 1
791 NATURAL = 2
792
793class security_level(Enum):
794 SECURE = 0
795 NON_SECURE = 1
796
Diqing Zhongb7311702020-04-14 12:31:44 +0200797class shram_size(Enum):
798 SHRAM_48KB = 0x30
799 SHRAM_24KB = 0x18
800 SHRAM_16KB = 0x10
801
Tim Hall79d07d22020-04-27 18:20:16 +0100802class state(Enum):
803 STOPPED = 0
804 RUNNING = 1
805
806class stride_mode(Enum):
807 STRIDE_MODE_1D = 0
808 STRIDE_MODE_2D = 1
809 STRIDE_MODE_3D = 2
810
811
Douglas Troha77f83962020-05-14 16:36:17 +0200812class id_r(Union):
813 class _bitfield(Structure):
814 _fields_ = [
815 ("version_status", c_uint32, 4),
816 ("version_minor", c_uint32, 4),
817 ("version_major", c_uint32, 4),
818 ("product_major", c_uint32, 4),
819 ("arch_patch_rev", c_uint32, 4),
820 ("arch_minor_rev", c_uint32, 8),
821 ("arch_major_rev", c_uint32, 4),
822 ]
823 _fields_ = [("bits", _bitfield),
824 ("word", c_uint32)]
825 def set_version_status(self, value): self.bits.version_status = value
826 def get_version_status(self): value = self.bits.version_status; return value
827 def set_version_minor(self, value): self.bits.version_minor = value
828 def get_version_minor(self): value = self.bits.version_minor; return value
829 def set_version_major(self, value): self.bits.version_major = value
830 def get_version_major(self): value = self.bits.version_major; return value
831 def set_product_major(self, value): self.bits.product_major = value
832 def get_product_major(self): value = self.bits.product_major; return value
833 def set_arch_patch_rev(self, value): self.bits.arch_patch_rev = value
834 def get_arch_patch_rev(self): value = self.bits.arch_patch_rev; return value
835 def set_arch_minor_rev(self, value): self.bits.arch_minor_rev = value
836 def get_arch_minor_rev(self): value = self.bits.arch_minor_rev; return value
837 def set_arch_major_rev(self, value): self.bits.arch_major_rev = value
838 def get_arch_major_rev(self): value = self.bits.arch_major_rev; return value
839
840
841class status_r(Union):
842 class _bitfield(Structure):
843 _fields_ = [
844 ("state", c_uint32, 1),
845 ("irq_raised", c_uint32, 1),
846 ("bus_status", c_uint32, 1),
847 ("reset_status", c_uint32, 1),
848 ("cmd_parse_error", c_uint32, 1),
849 ("cmd_end_reached", c_uint32, 1),
850 ("pmu_irq_raised", c_uint32, 1),
851 ("wd_fault", c_uint32, 1),
852 ("reserved0", c_uint32, 3),
853 ("faulting_interface", c_uint32, 1),
854 ("faulting_channel", c_uint32, 4),
855 ("irq_history_mask", c_uint32, 16),
856 ]
857 _fields_ = [("bits", _bitfield),
858 ("word", c_uint32)]
859 def set_state(self, value): self.bits.state = value
860 def get_state(self): value = self.bits.state; return value
861 def set_irq_raised(self, value): self.bits.irq_raised = value
862 def get_irq_raised(self): value = self.bits.irq_raised; return value
863 def set_bus_status(self, value): self.bits.bus_status = value
864 def get_bus_status(self): value = self.bits.bus_status; return value
865 def set_reset_status(self, value): self.bits.reset_status = value
866 def get_reset_status(self): value = self.bits.reset_status; return value
867 def set_cmd_parse_error(self, value): self.bits.cmd_parse_error = value
868 def get_cmd_parse_error(self): value = self.bits.cmd_parse_error; return value
869 def set_cmd_end_reached(self, value): self.bits.cmd_end_reached = value
870 def get_cmd_end_reached(self): value = self.bits.cmd_end_reached; return value
871 def set_pmu_irq_raised(self, value): self.bits.pmu_irq_raised = value
872 def get_pmu_irq_raised(self): value = self.bits.pmu_irq_raised; return value
873 def set_wd_fault(self, value): self.bits.wd_fault = value
874 def get_wd_fault(self): value = self.bits.wd_fault; return value
875 def set_faulting_interface(self, value): self.bits.faulting_interface = value
876 def get_faulting_interface(self): value = self.bits.faulting_interface; return value
877 def set_faulting_channel(self, value): self.bits.faulting_channel = value
878 def get_faulting_channel(self): value = self.bits.faulting_channel; return value
879 def set_irq_history_mask(self, value): self.bits.irq_history_mask = value
880 def get_irq_history_mask(self): value = self.bits.irq_history_mask; return value
881
882
883class cmd_r(Union):
884 class _bitfield(Structure):
885 _fields_ = [
886 ("transition_to_running_state", c_uint32, 1),
887 ("clear_irq", c_uint32, 1),
888 ("clock_q_enable", c_uint32, 1),
889 ("power_q_enable", c_uint32, 1),
890 ("stop_request", c_uint32, 1),
891 ("reserved0", c_uint32, 11),
892 ("clear_irq_history", c_uint32, 16),
893 ]
894 _fields_ = [("bits", _bitfield),
895 ("word", c_uint32)]
896 def set_transition_to_running_state(self, value): self.bits.transition_to_running_state = value
897 def get_transition_to_running_state(self): value = self.bits.transition_to_running_state; return value
898 def set_clear_irq(self, value): self.bits.clear_irq = value
899 def get_clear_irq(self): value = self.bits.clear_irq; return value
900 def set_clock_q_enable(self, value): self.bits.clock_q_enable = value
901 def get_clock_q_enable(self): value = self.bits.clock_q_enable; return value
902 def set_power_q_enable(self, value): self.bits.power_q_enable = value
903 def get_power_q_enable(self): value = self.bits.power_q_enable; return value
904 def set_stop_request(self, value): self.bits.stop_request = value
905 def get_stop_request(self): value = self.bits.stop_request; return value
906 def set_clear_irq_history(self, value): self.bits.clear_irq_history = value
907 def get_clear_irq_history(self): value = self.bits.clear_irq_history; return value
908
909
910class reset_r(Union):
911 class _bitfield(Structure):
912 _fields_ = [
913 ("pending_cpl", c_uint32, 1),
914 ("pending_csl", c_uint32, 1),
915 ("reserved0", c_uint32, 30),
916 ]
917 _fields_ = [("bits", _bitfield),
918 ("word", c_uint32)]
919 def set_pending_cpl(self, value): self.bits.pending_cpl = value
920 def get_pending_cpl(self): value = self.bits.pending_cpl; return value
921 def set_pending_csl(self, value): self.bits.pending_csl = value
922 def get_pending_csl(self): value = self.bits.pending_csl; return value
923
924
925class qbase0_r(Union):
926 class _bitfield(Structure):
927 _fields_ = [
928 ("qbase0", c_uint32, 32),
929 ]
930 _fields_ = [("bits", _bitfield),
931 ("word", c_uint32)]
932 def set_qbase0(self, value): self.bits.qbase0 = value
933 def get_qbase0(self): value = self.bits.qbase0; return value
934
935
936class qbase1_r(Union):
937 class _bitfield(Structure):
938 _fields_ = [
939 ("qbase1", c_uint32, 32),
940 ]
941 _fields_ = [("bits", _bitfield),
942 ("word", c_uint32)]
943 def set_qbase1(self, value): self.bits.qbase1 = value
944 def get_qbase1(self): value = self.bits.qbase1; return value
945
946
947class qread_r(Union):
948 class _bitfield(Structure):
949 _fields_ = [
950 ("qread", c_uint32, 32),
951 ]
952 _fields_ = [("bits", _bitfield),
953 ("word", c_uint32)]
954 def set_qread(self, value): self.bits.qread = value
955 def get_qread(self): value = self.bits.qread; return value
956
957
958class qconfig_r(Union):
959 class _bitfield(Structure):
960 _fields_ = [
961 ("qconfig", c_uint32, 32),
962 ]
963 _fields_ = [("bits", _bitfield),
964 ("word", c_uint32)]
965 def set_qconfig(self, value): self.bits.qconfig = value
966 def get_qconfig(self): value = self.bits.qconfig; return value
967
968
969class qsize_r(Union):
970 class _bitfield(Structure):
971 _fields_ = [
972 ("qsize", c_uint32, 32),
973 ]
974 _fields_ = [("bits", _bitfield),
975 ("word", c_uint32)]
976 def set_qsize(self, value): self.bits.qsize = value
977 def get_qsize(self): value = self.bits.qsize; return value
978
979
980class prot_r(Union):
981 class _bitfield(Structure):
982 _fields_ = [
983 ("active_cpl", c_uint32, 1),
984 ("active_csl", c_uint32, 1),
985 ("reserved0", c_uint32, 30),
986 ]
987 _fields_ = [("bits", _bitfield),
988 ("word", c_uint32)]
989 def set_active_cpl(self, value): self.bits.active_cpl = value
990 def get_active_cpl(self): value = self.bits.active_cpl; return value
991 def set_active_csl(self, value): self.bits.active_csl = value
992 def get_active_csl(self): value = self.bits.active_csl; return value
993
994
995class config_r(Union):
996 class _bitfield(Structure):
997 _fields_ = [
998 ("macs_per_cc", c_uint32, 4),
999 ("cmd_stream_version", c_uint32, 4),
1000 ("shram_size", c_uint32, 8),
1001 ("reserved0", c_uint32, 12),
1002 ("product", c_uint32, 4),
1003 ]
1004 _fields_ = [("bits", _bitfield),
1005 ("word", c_uint32)]
1006 def set_macs_per_cc(self, value): self.bits.macs_per_cc = value
1007 def get_macs_per_cc(self): value = self.bits.macs_per_cc; return value
1008 def set_cmd_stream_version(self, value): self.bits.cmd_stream_version = value
1009 def get_cmd_stream_version(self): value = self.bits.cmd_stream_version; return value
1010 def set_shram_size(self, value): self.bits.shram_size = value
1011 def get_shram_size(self): value = self.bits.shram_size; return value
1012 def set_product(self, value): self.bits.product = value
1013 def get_product(self): value = self.bits.product; return value
1014
1015
1016class lock_r(Union):
1017 class _bitfield(Structure):
1018 _fields_ = [
1019 ("lock", c_uint32, 32),
1020 ]
1021 _fields_ = [("bits", _bitfield),
1022 ("word", c_uint32)]
1023 def set_lock(self, value): self.bits.lock = value
1024 def get_lock(self): value = self.bits.lock; return value
1025
1026
1027class regioncfg_r(Union):
1028 class _bitfield(Structure):
1029 _fields_ = [
1030 ("region0", c_uint32, 2),
1031 ("region1", c_uint32, 2),
1032 ("region2", c_uint32, 2),
1033 ("region3", c_uint32, 2),
1034 ("region4", c_uint32, 2),
1035 ("region5", c_uint32, 2),
1036 ("region6", c_uint32, 2),
1037 ("region7", c_uint32, 2),
1038 ("reserved0", c_uint32, 16),
1039 ]
1040 _fields_ = [("bits", _bitfield),
1041 ("word", c_uint32)]
1042 def set_region0(self, value): self.bits.region0 = value
1043 def get_region0(self): value = self.bits.region0; return value
1044 def set_region1(self, value): self.bits.region1 = value
1045 def get_region1(self): value = self.bits.region1; return value
1046 def set_region2(self, value): self.bits.region2 = value
1047 def get_region2(self): value = self.bits.region2; return value
1048 def set_region3(self, value): self.bits.region3 = value
1049 def get_region3(self): value = self.bits.region3; return value
1050 def set_region4(self, value): self.bits.region4 = value
1051 def get_region4(self): value = self.bits.region4; return value
1052 def set_region5(self, value): self.bits.region5 = value
1053 def get_region5(self): value = self.bits.region5; return value
1054 def set_region6(self, value): self.bits.region6 = value
1055 def get_region6(self): value = self.bits.region6; return value
1056 def set_region7(self, value): self.bits.region7 = value
1057 def get_region7(self): value = self.bits.region7; return value
1058
1059
1060class axi_limit0_r(Union):
1061 class _bitfield(Structure):
1062 _fields_ = [
1063 ("max_beats", c_uint32, 2),
1064 ("reserved0", c_uint32, 2),
1065 ("memtype", c_uint32, 4),
1066 ("reserved1", c_uint32, 8),
1067 ("max_outstanding_read_m1", c_uint32, 8),
1068 ("max_outstanding_write_m1", c_uint32, 8),
1069 ]
1070 _fields_ = [("bits", _bitfield),
1071 ("word", c_uint32)]
1072 def set_max_beats(self, value): self.bits.max_beats = value
1073 def get_max_beats(self): value = self.bits.max_beats; return value
1074 def set_memtype(self, value): self.bits.memtype = value
1075 def get_memtype(self): value = self.bits.memtype; return value
1076 def set_max_outstanding_read_m1(self, value): self.bits.max_outstanding_read_m1 = value
1077 def get_max_outstanding_read_m1(self): value = self.bits.max_outstanding_read_m1; return value
1078 def set_max_outstanding_write_m1(self, value): self.bits.max_outstanding_write_m1 = value
1079 def get_max_outstanding_write_m1(self): value = self.bits.max_outstanding_write_m1; return value
1080
1081
1082class axi_limit1_r(Union):
1083 class _bitfield(Structure):
1084 _fields_ = [
1085 ("max_beats", c_uint32, 2),
1086 ("reserved0", c_uint32, 2),
1087 ("memtype", c_uint32, 4),
1088 ("reserved1", c_uint32, 8),
1089 ("max_outstanding_read_m1", c_uint32, 8),
1090 ("max_outstanding_write_m1", c_uint32, 8),
1091 ]
1092 _fields_ = [("bits", _bitfield),
1093 ("word", c_uint32)]
1094 def set_max_beats(self, value): self.bits.max_beats = value
1095 def get_max_beats(self): value = self.bits.max_beats; return value
1096 def set_memtype(self, value): self.bits.memtype = value
1097 def get_memtype(self): value = self.bits.memtype; return value
1098 def set_max_outstanding_read_m1(self, value): self.bits.max_outstanding_read_m1 = value
1099 def get_max_outstanding_read_m1(self): value = self.bits.max_outstanding_read_m1; return value
1100 def set_max_outstanding_write_m1(self, value): self.bits.max_outstanding_write_m1 = value
1101 def get_max_outstanding_write_m1(self): value = self.bits.max_outstanding_write_m1; return value
1102
1103
1104class axi_limit2_r(Union):
1105 class _bitfield(Structure):
1106 _fields_ = [
1107 ("max_beats", c_uint32, 2),
1108 ("reserved0", c_uint32, 2),
1109 ("memtype", c_uint32, 4),
1110 ("reserved1", c_uint32, 8),
1111 ("max_outstanding_read_m1", c_uint32, 8),
1112 ("max_outstanding_write_m1", c_uint32, 8),
1113 ]
1114 _fields_ = [("bits", _bitfield),
1115 ("word", c_uint32)]
1116 def set_max_beats(self, value): self.bits.max_beats = value
1117 def get_max_beats(self): value = self.bits.max_beats; return value
1118 def set_memtype(self, value): self.bits.memtype = value
1119 def get_memtype(self): value = self.bits.memtype; return value
1120 def set_max_outstanding_read_m1(self, value): self.bits.max_outstanding_read_m1 = value
1121 def get_max_outstanding_read_m1(self): value = self.bits.max_outstanding_read_m1; return value
1122 def set_max_outstanding_write_m1(self, value): self.bits.max_outstanding_write_m1 = value
1123 def get_max_outstanding_write_m1(self): value = self.bits.max_outstanding_write_m1; return value
1124
1125
1126class axi_limit3_r(Union):
1127 class _bitfield(Structure):
1128 _fields_ = [
1129 ("max_beats", c_uint32, 2),
1130 ("reserved0", c_uint32, 2),
1131 ("memtype", c_uint32, 4),
1132 ("reserved1", c_uint32, 8),
1133 ("max_outstanding_read_m1", c_uint32, 8),
1134 ("max_outstanding_write_m1", c_uint32, 8),
1135 ]
1136 _fields_ = [("bits", _bitfield),
1137 ("word", c_uint32)]
1138 def set_max_beats(self, value): self.bits.max_beats = value
1139 def get_max_beats(self): value = self.bits.max_beats; return value
1140 def set_memtype(self, value): self.bits.memtype = value
1141 def get_memtype(self): value = self.bits.memtype; return value
1142 def set_max_outstanding_read_m1(self, value): self.bits.max_outstanding_read_m1 = value
1143 def get_max_outstanding_read_m1(self): value = self.bits.max_outstanding_read_m1; return value
1144 def set_max_outstanding_write_m1(self, value): self.bits.max_outstanding_write_m1 = value
1145 def get_max_outstanding_write_m1(self): value = self.bits.max_outstanding_write_m1; return value
1146
1147
1148class basep0_r(Union):
1149 class _bitfield(Structure):
1150 _fields_ = [
1151 ("addr_word", c_uint32, 32),
1152 ]
1153 _fields_ = [("bits", _bitfield),
1154 ("word", c_uint32)]
1155 def set_addr_word(self, value): self.bits.addr_word = value
1156 def get_addr_word(self): value = self.bits.addr_word; return value
1157
1158
1159class basep1_r(Union):
1160 class _bitfield(Structure):
1161 _fields_ = [
1162 ("addr_word", c_uint32, 32),
1163 ]
1164 _fields_ = [("bits", _bitfield),
1165 ("word", c_uint32)]
1166 def set_addr_word(self, value): self.bits.addr_word = value
1167 def get_addr_word(self): value = self.bits.addr_word; return value
1168
1169
1170class basep2_r(Union):
1171 class _bitfield(Structure):
1172 _fields_ = [
1173 ("addr_word", c_uint32, 32),
1174 ]
1175 _fields_ = [("bits", _bitfield),
1176 ("word", c_uint32)]
1177 def set_addr_word(self, value): self.bits.addr_word = value
1178 def get_addr_word(self): value = self.bits.addr_word; return value
1179
1180
1181class basep3_r(Union):
1182 class _bitfield(Structure):
1183 _fields_ = [
1184 ("addr_word", c_uint32, 32),
1185 ]
1186 _fields_ = [("bits", _bitfield),
1187 ("word", c_uint32)]
1188 def set_addr_word(self, value): self.bits.addr_word = value
1189 def get_addr_word(self): value = self.bits.addr_word; return value
1190
1191
1192class basep4_r(Union):
1193 class _bitfield(Structure):
1194 _fields_ = [
1195 ("addr_word", c_uint32, 32),
1196 ]
1197 _fields_ = [("bits", _bitfield),
1198 ("word", c_uint32)]
1199 def set_addr_word(self, value): self.bits.addr_word = value
1200 def get_addr_word(self): value = self.bits.addr_word; return value
1201
1202
1203class basep5_r(Union):
1204 class _bitfield(Structure):
1205 _fields_ = [
1206 ("addr_word", c_uint32, 32),
1207 ]
1208 _fields_ = [("bits", _bitfield),
1209 ("word", c_uint32)]
1210 def set_addr_word(self, value): self.bits.addr_word = value
1211 def get_addr_word(self): value = self.bits.addr_word; return value
1212
1213
1214class basep6_r(Union):
1215 class _bitfield(Structure):
1216 _fields_ = [
1217 ("addr_word", c_uint32, 32),
1218 ]
1219 _fields_ = [("bits", _bitfield),
1220 ("word", c_uint32)]
1221 def set_addr_word(self, value): self.bits.addr_word = value
1222 def get_addr_word(self): value = self.bits.addr_word; return value
1223
1224
1225class basep7_r(Union):
1226 class _bitfield(Structure):
1227 _fields_ = [
1228 ("addr_word", c_uint32, 32),
1229 ]
1230 _fields_ = [("bits", _bitfield),
1231 ("word", c_uint32)]
1232 def set_addr_word(self, value): self.bits.addr_word = value
1233 def get_addr_word(self): value = self.bits.addr_word; return value
1234
1235
1236class basep8_r(Union):
1237 class _bitfield(Structure):
1238 _fields_ = [
1239 ("addr_word", c_uint32, 32),
1240 ]
1241 _fields_ = [("bits", _bitfield),
1242 ("word", c_uint32)]
1243 def set_addr_word(self, value): self.bits.addr_word = value
1244 def get_addr_word(self): value = self.bits.addr_word; return value
1245
1246
1247class basep9_r(Union):
1248 class _bitfield(Structure):
1249 _fields_ = [
1250 ("addr_word", c_uint32, 32),
1251 ]
1252 _fields_ = [("bits", _bitfield),
1253 ("word", c_uint32)]
1254 def set_addr_word(self, value): self.bits.addr_word = value
1255 def get_addr_word(self): value = self.bits.addr_word; return value
1256
1257
1258class basep10_r(Union):
1259 class _bitfield(Structure):
1260 _fields_ = [
1261 ("addr_word", c_uint32, 32),
1262 ]
1263 _fields_ = [("bits", _bitfield),
1264 ("word", c_uint32)]
1265 def set_addr_word(self, value): self.bits.addr_word = value
1266 def get_addr_word(self): value = self.bits.addr_word; return value
1267
1268
1269class basep11_r(Union):
1270 class _bitfield(Structure):
1271 _fields_ = [
1272 ("addr_word", c_uint32, 32),
1273 ]
1274 _fields_ = [("bits", _bitfield),
1275 ("word", c_uint32)]
1276 def set_addr_word(self, value): self.bits.addr_word = value
1277 def get_addr_word(self): value = self.bits.addr_word; return value
1278
1279
1280class basep12_r(Union):
1281 class _bitfield(Structure):
1282 _fields_ = [
1283 ("addr_word", c_uint32, 32),
1284 ]
1285 _fields_ = [("bits", _bitfield),
1286 ("word", c_uint32)]
1287 def set_addr_word(self, value): self.bits.addr_word = value
1288 def get_addr_word(self): value = self.bits.addr_word; return value
1289
1290
1291class basep13_r(Union):
1292 class _bitfield(Structure):
1293 _fields_ = [
1294 ("addr_word", c_uint32, 32),
1295 ]
1296 _fields_ = [("bits", _bitfield),
1297 ("word", c_uint32)]
1298 def set_addr_word(self, value): self.bits.addr_word = value
1299 def get_addr_word(self): value = self.bits.addr_word; return value
1300
1301
1302class basep14_r(Union):
1303 class _bitfield(Structure):
1304 _fields_ = [
1305 ("addr_word", c_uint32, 32),
1306 ]
1307 _fields_ = [("bits", _bitfield),
1308 ("word", c_uint32)]
1309 def set_addr_word(self, value): self.bits.addr_word = value
1310 def get_addr_word(self): value = self.bits.addr_word; return value
1311
1312
1313class basep15_r(Union):
1314 class _bitfield(Structure):
1315 _fields_ = [
1316 ("addr_word", c_uint32, 32),
1317 ]
1318 _fields_ = [("bits", _bitfield),
1319 ("word", c_uint32)]
1320 def set_addr_word(self, value): self.bits.addr_word = value
1321 def get_addr_word(self): value = self.bits.addr_word; return value
1322
1323
Douglas Troha22df2ad2020-05-08 13:09:13 +02001324class wd_status_r(Union):
1325 class _bitfield(Structure):
1326 _fields_ = [
1327 ("core_slice_state", c_uint32, 2),
1328 ("core_idle", c_uint32, 1),
1329 ("ctrl_state", c_uint32, 2),
1330 ("ctrl_idle", c_uint32, 1),
1331 ("write_buf_index0", c_uint32, 3),
1332 ("write_buf_valid0", c_uint32, 1),
1333 ("write_buf_idle0", c_uint32, 1),
1334 ("write_buf_index1", c_uint32, 3),
1335 ("write_buf_valid1", c_uint32, 1),
1336 ("write_buf_idle1", c_uint32, 1),
1337 ("events", c_uint32, 12),
1338 ("reserved0", c_uint32, 4),
1339 ]
1340 _fields_ = [("bits", _bitfield),
1341 ("word", c_uint32)]
1342 def set_core_slice_state(self, value): self.bits.core_slice_state = value
1343 def get_core_slice_state(self): value = self.bits.core_slice_state; return value
1344 def set_core_idle(self, value): self.bits.core_idle = value
1345 def get_core_idle(self): value = self.bits.core_idle; return value
1346 def set_ctrl_state(self, value): self.bits.ctrl_state = value
1347 def get_ctrl_state(self): value = self.bits.ctrl_state; return value
1348 def set_ctrl_idle(self, value): self.bits.ctrl_idle = value
1349 def get_ctrl_idle(self): value = self.bits.ctrl_idle; return value
1350 def set_write_buf_index0(self, value): self.bits.write_buf_index0 = value
1351 def get_write_buf_index0(self): value = self.bits.write_buf_index0; return value
1352 def set_write_buf_valid0(self, value): self.bits.write_buf_valid0 = value
1353 def get_write_buf_valid0(self): value = self.bits.write_buf_valid0; return value
1354 def set_write_buf_idle0(self, value): self.bits.write_buf_idle0 = value
1355 def get_write_buf_idle0(self): value = self.bits.write_buf_idle0; return value
1356 def set_write_buf_index1(self, value): self.bits.write_buf_index1 = value
1357 def get_write_buf_index1(self): value = self.bits.write_buf_index1; return value
1358 def set_write_buf_valid1(self, value): self.bits.write_buf_valid1 = value
1359 def get_write_buf_valid1(self): value = self.bits.write_buf_valid1; return value
1360 def set_write_buf_idle1(self, value): self.bits.write_buf_idle1 = value
1361 def get_write_buf_idle1(self): value = self.bits.write_buf_idle1; return value
1362 def set_events(self, value): self.bits.events = value
1363 def get_events(self): value = self.bits.events; return value
1364
1365
1366class mac_status_r(Union):
1367 class _bitfield(Structure):
1368 _fields_ = [
1369 ("block_cfg_valid", c_uint32, 1),
1370 ("trav_en", c_uint32, 1),
1371 ("wait_for_ib", c_uint32, 1),
1372 ("wait_for_acc_buf", c_uint32, 1),
1373 ("wait_for_weights", c_uint32, 1),
1374 ("stall_stripe", c_uint32, 1),
1375 ("dw_sel", c_uint32, 1),
1376 ("wait_for_dw0_ready", c_uint32, 1),
1377 ("wait_for_dw1_ready", c_uint32, 1),
1378 ("acc_buf_sel_ai", c_uint32, 1),
1379 ("wait_for_acc0_ready", c_uint32, 1),
1380 ("wait_for_acc1_ready", c_uint32, 1),
1381 ("acc_buf_sel_aa", c_uint32, 1),
1382 ("acc0_valid", c_uint32, 1),
1383 ("acc1_valid", c_uint32, 1),
1384 ("reserved0", c_uint32, 1),
1385 ("events", c_uint32, 11),
1386 ("reserved1", c_uint32, 5),
1387 ]
1388 _fields_ = [("bits", _bitfield),
1389 ("word", c_uint32)]
1390 def set_block_cfg_valid(self, value): self.bits.block_cfg_valid = value
1391 def get_block_cfg_valid(self): value = self.bits.block_cfg_valid; return value
1392 def set_trav_en(self, value): self.bits.trav_en = value
1393 def get_trav_en(self): value = self.bits.trav_en; return value
1394 def set_wait_for_ib(self, value): self.bits.wait_for_ib = value
1395 def get_wait_for_ib(self): value = self.bits.wait_for_ib; return value
1396 def set_wait_for_acc_buf(self, value): self.bits.wait_for_acc_buf = value
1397 def get_wait_for_acc_buf(self): value = self.bits.wait_for_acc_buf; return value
1398 def set_wait_for_weights(self, value): self.bits.wait_for_weights = value
1399 def get_wait_for_weights(self): value = self.bits.wait_for_weights; return value
1400 def set_stall_stripe(self, value): self.bits.stall_stripe = value
1401 def get_stall_stripe(self): value = self.bits.stall_stripe; return value
1402 def set_dw_sel(self, value): self.bits.dw_sel = value
1403 def get_dw_sel(self): value = self.bits.dw_sel; return value
1404 def set_wait_for_dw0_ready(self, value): self.bits.wait_for_dw0_ready = value
1405 def get_wait_for_dw0_ready(self): value = self.bits.wait_for_dw0_ready; return value
1406 def set_wait_for_dw1_ready(self, value): self.bits.wait_for_dw1_ready = value
1407 def get_wait_for_dw1_ready(self): value = self.bits.wait_for_dw1_ready; return value
1408 def set_acc_buf_sel_ai(self, value): self.bits.acc_buf_sel_ai = value
1409 def get_acc_buf_sel_ai(self): value = self.bits.acc_buf_sel_ai; return value
1410 def set_wait_for_acc0_ready(self, value): self.bits.wait_for_acc0_ready = value
1411 def get_wait_for_acc0_ready(self): value = self.bits.wait_for_acc0_ready; return value
1412 def set_wait_for_acc1_ready(self, value): self.bits.wait_for_acc1_ready = value
1413 def get_wait_for_acc1_ready(self): value = self.bits.wait_for_acc1_ready; return value
1414 def set_acc_buf_sel_aa(self, value): self.bits.acc_buf_sel_aa = value
1415 def get_acc_buf_sel_aa(self): value = self.bits.acc_buf_sel_aa; return value
1416 def set_acc0_valid(self, value): self.bits.acc0_valid = value
1417 def get_acc0_valid(self): value = self.bits.acc0_valid; return value
1418 def set_acc1_valid(self, value): self.bits.acc1_valid = value
1419 def get_acc1_valid(self): value = self.bits.acc1_valid; return value
1420 def set_events(self, value): self.bits.events = value
1421 def get_events(self): value = self.bits.events; return value
1422
1423
1424class ao_status_r(Union):
1425 class _bitfield(Structure):
1426 _fields_ = [
1427 ("cmd_sbw_valid", c_uint32, 1),
1428 ("cmd_act_valid", c_uint32, 1),
1429 ("cmd_ctl_valid", c_uint32, 1),
1430 ("cmd_scl_valid", c_uint32, 1),
1431 ("cmd_sbr_valid", c_uint32, 1),
1432 ("cmd_ofm_valid", c_uint32, 1),
1433 ("blk_cmd_ready", c_uint32, 1),
1434 ("blk_cmd_valid", c_uint32, 1),
1435 ("reserved0", c_uint32, 8),
1436 ("events", c_uint32, 8),
1437 ("reserved1", c_uint32, 8),
1438 ]
1439 _fields_ = [("bits", _bitfield),
1440 ("word", c_uint32)]
1441 def set_cmd_sbw_valid(self, value): self.bits.cmd_sbw_valid = value
1442 def get_cmd_sbw_valid(self): value = self.bits.cmd_sbw_valid; return value
1443 def set_cmd_act_valid(self, value): self.bits.cmd_act_valid = value
1444 def get_cmd_act_valid(self): value = self.bits.cmd_act_valid; return value
1445 def set_cmd_ctl_valid(self, value): self.bits.cmd_ctl_valid = value
1446 def get_cmd_ctl_valid(self): value = self.bits.cmd_ctl_valid; return value
1447 def set_cmd_scl_valid(self, value): self.bits.cmd_scl_valid = value
1448 def get_cmd_scl_valid(self): value = self.bits.cmd_scl_valid; return value
1449 def set_cmd_sbr_valid(self, value): self.bits.cmd_sbr_valid = value
1450 def get_cmd_sbr_valid(self): value = self.bits.cmd_sbr_valid; return value
1451 def set_cmd_ofm_valid(self, value): self.bits.cmd_ofm_valid = value
1452 def get_cmd_ofm_valid(self): value = self.bits.cmd_ofm_valid; return value
1453 def set_blk_cmd_ready(self, value): self.bits.blk_cmd_ready = value
1454 def get_blk_cmd_ready(self): value = self.bits.blk_cmd_ready; return value
1455 def set_blk_cmd_valid(self, value): self.bits.blk_cmd_valid = value
1456 def get_blk_cmd_valid(self): value = self.bits.blk_cmd_valid; return value
1457 def set_events(self, value): self.bits.events = value
1458 def get_events(self): value = self.bits.events; return value
1459
1460
1461class dma_status0_r(Union):
1462 class _bitfield(Structure):
1463 _fields_ = [
1464 ("cmd_idle", c_uint32, 1),
1465 ("ifm_idle", c_uint32, 1),
1466 ("wgt_idle_c0", c_uint32, 1),
1467 ("bas_idle_c0", c_uint32, 1),
1468 ("m2m_idle", c_uint32, 1),
1469 ("ofm_idle", c_uint32, 1),
1470 ("halt_req", c_uint32, 1),
1471 ("halt_ack", c_uint32, 1),
1472 ("pause_req", c_uint32, 1),
1473 ("pause_ack", c_uint32, 1),
1474 ("ib0_ai_valid_c0", c_uint32, 1),
1475 ("ib0_ai_ready_c0", c_uint32, 1),
1476 ("ib1_ai_valid_c0", c_uint32, 1),
1477 ("ib1_ai_ready_c0", c_uint32, 1),
1478 ("ib0_ao_valid_c0", c_uint32, 1),
1479 ("ib0_ao_ready_c0", c_uint32, 1),
1480 ("ib1_ao_valid_c0", c_uint32, 1),
1481 ("ib1_ao_ready_c0", c_uint32, 1),
1482 ("ob0_valid_c0", c_uint32, 1),
1483 ("ob0_ready_c0", c_uint32, 1),
1484 ("ob1_valid_c0", c_uint32, 1),
1485 ("ob1_ready_c0", c_uint32, 1),
1486 ("cmd_valid", c_uint32, 1),
1487 ("cmd_ready", c_uint32, 1),
1488 ("wd_bitstream_valid_c0", c_uint32, 1),
1489 ("wd_bitstream_ready_c0", c_uint32, 1),
1490 ("bs_bitstream_valid_c0", c_uint32, 1),
1491 ("bs_bitstream_ready_c0", c_uint32, 1),
1492 ("axi0_ar_stalled", c_uint32, 1),
1493 ("axi0_rd_limit_stall", c_uint32, 1),
1494 ("axi0_aw_stalled", c_uint32, 1),
1495 ("axi0_w_stalled", c_uint32, 1),
1496 ]
1497 _fields_ = [("bits", _bitfield),
1498 ("word", c_uint32)]
1499 def set_cmd_idle(self, value): self.bits.cmd_idle = value
1500 def get_cmd_idle(self): value = self.bits.cmd_idle; return value
1501 def set_ifm_idle(self, value): self.bits.ifm_idle = value
1502 def get_ifm_idle(self): value = self.bits.ifm_idle; return value
1503 def set_wgt_idle_c0(self, value): self.bits.wgt_idle_c0 = value
1504 def get_wgt_idle_c0(self): value = self.bits.wgt_idle_c0; return value
1505 def set_bas_idle_c0(self, value): self.bits.bas_idle_c0 = value
1506 def get_bas_idle_c0(self): value = self.bits.bas_idle_c0; return value
1507 def set_m2m_idle(self, value): self.bits.m2m_idle = value
1508 def get_m2m_idle(self): value = self.bits.m2m_idle; return value
1509 def set_ofm_idle(self, value): self.bits.ofm_idle = value
1510 def get_ofm_idle(self): value = self.bits.ofm_idle; return value
1511 def set_halt_req(self, value): self.bits.halt_req = value
1512 def get_halt_req(self): value = self.bits.halt_req; return value
1513 def set_halt_ack(self, value): self.bits.halt_ack = value
1514 def get_halt_ack(self): value = self.bits.halt_ack; return value
1515 def set_pause_req(self, value): self.bits.pause_req = value
1516 def get_pause_req(self): value = self.bits.pause_req; return value
1517 def set_pause_ack(self, value): self.bits.pause_ack = value
1518 def get_pause_ack(self): value = self.bits.pause_ack; return value
1519 def set_ib0_ai_valid_c0(self, value): self.bits.ib0_ai_valid_c0 = value
1520 def get_ib0_ai_valid_c0(self): value = self.bits.ib0_ai_valid_c0; return value
1521 def set_ib0_ai_ready_c0(self, value): self.bits.ib0_ai_ready_c0 = value
1522 def get_ib0_ai_ready_c0(self): value = self.bits.ib0_ai_ready_c0; return value
1523 def set_ib1_ai_valid_c0(self, value): self.bits.ib1_ai_valid_c0 = value
1524 def get_ib1_ai_valid_c0(self): value = self.bits.ib1_ai_valid_c0; return value
1525 def set_ib1_ai_ready_c0(self, value): self.bits.ib1_ai_ready_c0 = value
1526 def get_ib1_ai_ready_c0(self): value = self.bits.ib1_ai_ready_c0; return value
1527 def set_ib0_ao_valid_c0(self, value): self.bits.ib0_ao_valid_c0 = value
1528 def get_ib0_ao_valid_c0(self): value = self.bits.ib0_ao_valid_c0; return value
1529 def set_ib0_ao_ready_c0(self, value): self.bits.ib0_ao_ready_c0 = value
1530 def get_ib0_ao_ready_c0(self): value = self.bits.ib0_ao_ready_c0; return value
1531 def set_ib1_ao_valid_c0(self, value): self.bits.ib1_ao_valid_c0 = value
1532 def get_ib1_ao_valid_c0(self): value = self.bits.ib1_ao_valid_c0; return value
1533 def set_ib1_ao_ready_c0(self, value): self.bits.ib1_ao_ready_c0 = value
1534 def get_ib1_ao_ready_c0(self): value = self.bits.ib1_ao_ready_c0; return value
1535 def set_ob0_valid_c0(self, value): self.bits.ob0_valid_c0 = value
1536 def get_ob0_valid_c0(self): value = self.bits.ob0_valid_c0; return value
1537 def set_ob0_ready_c0(self, value): self.bits.ob0_ready_c0 = value
1538 def get_ob0_ready_c0(self): value = self.bits.ob0_ready_c0; return value
1539 def set_ob1_valid_c0(self, value): self.bits.ob1_valid_c0 = value
1540 def get_ob1_valid_c0(self): value = self.bits.ob1_valid_c0; return value
1541 def set_ob1_ready_c0(self, value): self.bits.ob1_ready_c0 = value
1542 def get_ob1_ready_c0(self): value = self.bits.ob1_ready_c0; return value
1543 def set_cmd_valid(self, value): self.bits.cmd_valid = value
1544 def get_cmd_valid(self): value = self.bits.cmd_valid; return value
1545 def set_cmd_ready(self, value): self.bits.cmd_ready = value
1546 def get_cmd_ready(self): value = self.bits.cmd_ready; return value
1547 def set_wd_bitstream_valid_c0(self, value): self.bits.wd_bitstream_valid_c0 = value
1548 def get_wd_bitstream_valid_c0(self): value = self.bits.wd_bitstream_valid_c0; return value
1549 def set_wd_bitstream_ready_c0(self, value): self.bits.wd_bitstream_ready_c0 = value
1550 def get_wd_bitstream_ready_c0(self): value = self.bits.wd_bitstream_ready_c0; return value
1551 def set_bs_bitstream_valid_c0(self, value): self.bits.bs_bitstream_valid_c0 = value
1552 def get_bs_bitstream_valid_c0(self): value = self.bits.bs_bitstream_valid_c0; return value
1553 def set_bs_bitstream_ready_c0(self, value): self.bits.bs_bitstream_ready_c0 = value
1554 def get_bs_bitstream_ready_c0(self): value = self.bits.bs_bitstream_ready_c0; return value
1555 def set_axi0_ar_stalled(self, value): self.bits.axi0_ar_stalled = value
1556 def get_axi0_ar_stalled(self): value = self.bits.axi0_ar_stalled; return value
1557 def set_axi0_rd_limit_stall(self, value): self.bits.axi0_rd_limit_stall = value
1558 def get_axi0_rd_limit_stall(self): value = self.bits.axi0_rd_limit_stall; return value
1559 def set_axi0_aw_stalled(self, value): self.bits.axi0_aw_stalled = value
1560 def get_axi0_aw_stalled(self): value = self.bits.axi0_aw_stalled; return value
1561 def set_axi0_w_stalled(self, value): self.bits.axi0_w_stalled = value
1562 def get_axi0_w_stalled(self): value = self.bits.axi0_w_stalled; return value
1563
1564
1565class dma_status1_r(Union):
1566 class _bitfield(Structure):
1567 _fields_ = [
1568 ("axi0_wr_limit_stall", c_uint32, 1),
1569 ("axi1_ar_stalled", c_uint32, 1),
1570 ("axi1_rd_limit_stall", c_uint32, 1),
1571 ("axi1_wr_stalled", c_uint32, 1),
1572 ("axi1_w_stalled", c_uint32, 1),
1573 ("axi1_wr_limit_stall", c_uint32, 1),
1574 ("wgt_idle_c1", c_uint32, 1),
1575 ("bas_idle_c1", c_uint32, 1),
1576 ("ib0_ai_valid_c1", c_uint32, 1),
1577 ("ib0_ai_ready_c1", c_uint32, 1),
1578 ("ib1_ai_valid_c1", c_uint32, 1),
1579 ("ib1_ai_ready_c1", c_uint32, 1),
1580 ("ib0_ao_valid_c1", c_uint32, 1),
1581 ("ib0_ao_ready_c1", c_uint32, 1),
1582 ("ib1_ao_valid_c1", c_uint32, 1),
1583 ("ib1_ao_ready_c1", c_uint32, 1),
1584 ("ob0_valid_c1", c_uint32, 1),
1585 ("ob0_ready_c1", c_uint32, 1),
1586 ("ob1_valid_c1", c_uint32, 1),
1587 ("ob1_ready_c1", c_uint32, 1),
1588 ("wd_bitstream_valid_c1", c_uint32, 1),
1589 ("wd_bitstream_ready_c1", c_uint32, 1),
1590 ("bs_bitstream_valid_c1", c_uint32, 1),
1591 ("bs_bitstream_ready_c1", c_uint32, 1),
1592 ("reserved0", c_uint32, 8),
1593 ]
1594 _fields_ = [("bits", _bitfield),
1595 ("word", c_uint32)]
1596 def set_axi0_wr_limit_stall(self, value): self.bits.axi0_wr_limit_stall = value
1597 def get_axi0_wr_limit_stall(self): value = self.bits.axi0_wr_limit_stall; return value
1598 def set_axi1_ar_stalled(self, value): self.bits.axi1_ar_stalled = value
1599 def get_axi1_ar_stalled(self): value = self.bits.axi1_ar_stalled; return value
1600 def set_axi1_rd_limit_stall(self, value): self.bits.axi1_rd_limit_stall = value
1601 def get_axi1_rd_limit_stall(self): value = self.bits.axi1_rd_limit_stall; return value
1602 def set_axi1_wr_stalled(self, value): self.bits.axi1_wr_stalled = value
1603 def get_axi1_wr_stalled(self): value = self.bits.axi1_wr_stalled; return value
1604 def set_axi1_w_stalled(self, value): self.bits.axi1_w_stalled = value
1605 def get_axi1_w_stalled(self): value = self.bits.axi1_w_stalled; return value
1606 def set_axi1_wr_limit_stall(self, value): self.bits.axi1_wr_limit_stall = value
1607 def get_axi1_wr_limit_stall(self): value = self.bits.axi1_wr_limit_stall; return value
1608 def set_wgt_idle_c1(self, value): self.bits.wgt_idle_c1 = value
1609 def get_wgt_idle_c1(self): value = self.bits.wgt_idle_c1; return value
1610 def set_bas_idle_c1(self, value): self.bits.bas_idle_c1 = value
1611 def get_bas_idle_c1(self): value = self.bits.bas_idle_c1; return value
1612 def set_ib0_ai_valid_c1(self, value): self.bits.ib0_ai_valid_c1 = value
1613 def get_ib0_ai_valid_c1(self): value = self.bits.ib0_ai_valid_c1; return value
1614 def set_ib0_ai_ready_c1(self, value): self.bits.ib0_ai_ready_c1 = value
1615 def get_ib0_ai_ready_c1(self): value = self.bits.ib0_ai_ready_c1; return value
1616 def set_ib1_ai_valid_c1(self, value): self.bits.ib1_ai_valid_c1 = value
1617 def get_ib1_ai_valid_c1(self): value = self.bits.ib1_ai_valid_c1; return value
1618 def set_ib1_ai_ready_c1(self, value): self.bits.ib1_ai_ready_c1 = value
1619 def get_ib1_ai_ready_c1(self): value = self.bits.ib1_ai_ready_c1; return value
1620 def set_ib0_ao_valid_c1(self, value): self.bits.ib0_ao_valid_c1 = value
1621 def get_ib0_ao_valid_c1(self): value = self.bits.ib0_ao_valid_c1; return value
1622 def set_ib0_ao_ready_c1(self, value): self.bits.ib0_ao_ready_c1 = value
1623 def get_ib0_ao_ready_c1(self): value = self.bits.ib0_ao_ready_c1; return value
1624 def set_ib1_ao_valid_c1(self, value): self.bits.ib1_ao_valid_c1 = value
1625 def get_ib1_ao_valid_c1(self): value = self.bits.ib1_ao_valid_c1; return value
1626 def set_ib1_ao_ready_c1(self, value): self.bits.ib1_ao_ready_c1 = value
1627 def get_ib1_ao_ready_c1(self): value = self.bits.ib1_ao_ready_c1; return value
1628 def set_ob0_valid_c1(self, value): self.bits.ob0_valid_c1 = value
1629 def get_ob0_valid_c1(self): value = self.bits.ob0_valid_c1; return value
1630 def set_ob0_ready_c1(self, value): self.bits.ob0_ready_c1 = value
1631 def get_ob0_ready_c1(self): value = self.bits.ob0_ready_c1; return value
1632 def set_ob1_valid_c1(self, value): self.bits.ob1_valid_c1 = value
1633 def get_ob1_valid_c1(self): value = self.bits.ob1_valid_c1; return value
1634 def set_ob1_ready_c1(self, value): self.bits.ob1_ready_c1 = value
1635 def get_ob1_ready_c1(self): value = self.bits.ob1_ready_c1; return value
1636 def set_wd_bitstream_valid_c1(self, value): self.bits.wd_bitstream_valid_c1 = value
1637 def get_wd_bitstream_valid_c1(self): value = self.bits.wd_bitstream_valid_c1; return value
1638 def set_wd_bitstream_ready_c1(self, value): self.bits.wd_bitstream_ready_c1 = value
1639 def get_wd_bitstream_ready_c1(self): value = self.bits.wd_bitstream_ready_c1; return value
1640 def set_bs_bitstream_valid_c1(self, value): self.bits.bs_bitstream_valid_c1 = value
1641 def get_bs_bitstream_valid_c1(self): value = self.bits.bs_bitstream_valid_c1; return value
1642 def set_bs_bitstream_ready_c1(self, value): self.bits.bs_bitstream_ready_c1 = value
1643 def get_bs_bitstream_ready_c1(self): value = self.bits.bs_bitstream_ready_c1; return value
1644
1645
Tim Hall79d07d22020-04-27 18:20:16 +01001646class clkforce_r(Union):
1647 class _bitfield(Structure):
1648 _fields_ = [
1649 ("top_level_clk", c_uint32, 1),
1650 ("cc_clk", c_uint32, 1),
1651 ("dma_clk", c_uint32, 1),
1652 ("mac_clk", c_uint32, 1),
1653 ("ao_clk", c_uint32, 1),
1654 ("wd_clk", c_uint32, 1),
1655 ("reserved0", c_uint32, 26),
1656 ]
1657 _fields_ = [("bits", _bitfield),
1658 ("word", c_uint32)]
1659 def set_top_level_clk(self, value): self.bits.top_level_clk = value
1660 def get_top_level_clk(self): value = self.bits.top_level_clk; return value
1661 def set_cc_clk(self, value): self.bits.cc_clk = value
1662 def get_cc_clk(self): value = self.bits.cc_clk; return value
1663 def set_dma_clk(self, value): self.bits.dma_clk = value
1664 def get_dma_clk(self): value = self.bits.dma_clk; return value
1665 def set_mac_clk(self, value): self.bits.mac_clk = value
1666 def get_mac_clk(self): value = self.bits.mac_clk; return value
1667 def set_ao_clk(self, value): self.bits.ao_clk = value
1668 def get_ao_clk(self): value = self.bits.ao_clk; return value
1669 def set_wd_clk(self, value): self.bits.wd_clk = value
1670 def get_wd_clk(self): value = self.bits.wd_clk; return value
1671
1672
Tim Hall79d07d22020-04-27 18:20:16 +01001673class pid4_r(Union):
1674 class _bitfield(Structure):
1675 _fields_ = [
1676 ("pid4", c_uint32, 32),
1677 ]
1678 _fields_ = [("bits", _bitfield),
1679 ("word", c_uint32)]
1680 def set_pid4(self, value): self.bits.pid4 = value
1681 def get_pid4(self): value = self.bits.pid4; return value
1682
1683
1684class pid5_r(Union):
1685 class _bitfield(Structure):
1686 _fields_ = [
1687 ("pid5", c_uint32, 32),
1688 ]
1689 _fields_ = [("bits", _bitfield),
1690 ("word", c_uint32)]
1691 def set_pid5(self, value): self.bits.pid5 = value
1692 def get_pid5(self): value = self.bits.pid5; return value
1693
1694
1695class pid6_r(Union):
1696 class _bitfield(Structure):
1697 _fields_ = [
1698 ("pid6", c_uint32, 32),
1699 ]
1700 _fields_ = [("bits", _bitfield),
1701 ("word", c_uint32)]
1702 def set_pid6(self, value): self.bits.pid6 = value
1703 def get_pid6(self): value = self.bits.pid6; return value
1704
1705
1706class pid7_r(Union):
1707 class _bitfield(Structure):
1708 _fields_ = [
1709 ("pid7", c_uint32, 32),
1710 ]
1711 _fields_ = [("bits", _bitfield),
1712 ("word", c_uint32)]
1713 def set_pid7(self, value): self.bits.pid7 = value
1714 def get_pid7(self): value = self.bits.pid7; return value
1715
1716
1717class pid0_r(Union):
1718 class _bitfield(Structure):
1719 _fields_ = [
1720 ("pid0", c_uint32, 32),
1721 ]
1722 _fields_ = [("bits", _bitfield),
1723 ("word", c_uint32)]
1724 def set_pid0(self, value): self.bits.pid0 = value
1725 def get_pid0(self): value = self.bits.pid0; return value
1726
1727
1728class pid1_r(Union):
1729 class _bitfield(Structure):
1730 _fields_ = [
1731 ("pid1", c_uint32, 32),
1732 ]
1733 _fields_ = [("bits", _bitfield),
1734 ("word", c_uint32)]
1735 def set_pid1(self, value): self.bits.pid1 = value
1736 def get_pid1(self): value = self.bits.pid1; return value
1737
1738
1739class pid2_r(Union):
1740 class _bitfield(Structure):
1741 _fields_ = [
1742 ("pid2", c_uint32, 32),
1743 ]
1744 _fields_ = [("bits", _bitfield),
1745 ("word", c_uint32)]
1746 def set_pid2(self, value): self.bits.pid2 = value
1747 def get_pid2(self): value = self.bits.pid2; return value
1748
1749
1750class pid3_r(Union):
1751 class _bitfield(Structure):
1752 _fields_ = [
1753 ("pid3", c_uint32, 32),
1754 ]
1755 _fields_ = [("bits", _bitfield),
1756 ("word", c_uint32)]
1757 def set_pid3(self, value): self.bits.pid3 = value
1758 def get_pid3(self): value = self.bits.pid3; return value
1759
1760
1761class cid0_r(Union):
1762 class _bitfield(Structure):
1763 _fields_ = [
1764 ("cid0", c_uint32, 32),
1765 ]
1766 _fields_ = [("bits", _bitfield),
1767 ("word", c_uint32)]
1768 def set_cid0(self, value): self.bits.cid0 = value
1769 def get_cid0(self): value = self.bits.cid0; return value
1770
1771
1772class cid1_r(Union):
1773 class _bitfield(Structure):
1774 _fields_ = [
1775 ("cid1", c_uint32, 32),
1776 ]
1777 _fields_ = [("bits", _bitfield),
1778 ("word", c_uint32)]
1779 def set_cid1(self, value): self.bits.cid1 = value
1780 def get_cid1(self): value = self.bits.cid1; return value
1781
1782
1783class cid2_r(Union):
1784 class _bitfield(Structure):
1785 _fields_ = [
1786 ("cid2", c_uint32, 32),
1787 ]
1788 _fields_ = [("bits", _bitfield),
1789 ("word", c_uint32)]
1790 def set_cid2(self, value): self.bits.cid2 = value
1791 def get_cid2(self): value = self.bits.cid2; return value
1792
1793
1794class cid3_r(Union):
1795 class _bitfield(Structure):
1796 _fields_ = [
1797 ("cid3", c_uint32, 32),
1798 ]
1799 _fields_ = [("bits", _bitfield),
1800 ("word", c_uint32)]
1801 def set_cid3(self, value): self.bits.cid3 = value
1802 def get_cid3(self): value = self.bits.cid3; return value
1803
1804
Tim Hall79d07d22020-04-27 18:20:16 +01001805class pmcr_r(Union):
1806 class _bitfield(Structure):
1807 _fields_ = [
1808 ("cnt_en", c_uint32, 1),
1809 ("event_cnt_rst", c_uint32, 1),
1810 ("cycle_cnt_rst", c_uint32, 1),
1811 ("mask_en", c_uint32, 1),
1812 ("reserved0", c_uint32, 7),
1813 ("num_event_cnt", c_uint32, 5),
1814 ("reserved1", c_uint32, 16),
1815 ]
1816 _fields_ = [("bits", _bitfield),
1817 ("word", c_uint32)]
1818 def set_cnt_en(self, value): self.bits.cnt_en = value
1819 def get_cnt_en(self): value = self.bits.cnt_en; return value
1820 def set_event_cnt_rst(self, value): self.bits.event_cnt_rst = value
1821 def get_event_cnt_rst(self): value = self.bits.event_cnt_rst; return value
1822 def set_cycle_cnt_rst(self, value): self.bits.cycle_cnt_rst = value
1823 def get_cycle_cnt_rst(self): value = self.bits.cycle_cnt_rst; return value
1824 def set_mask_en(self, value): self.bits.mask_en = value
1825 def get_mask_en(self): value = self.bits.mask_en; return value
1826 def set_num_event_cnt(self, value): self.bits.num_event_cnt = value
1827 def get_num_event_cnt(self): value = self.bits.num_event_cnt; return value
1828
1829
1830class pmcntenset_r(Union):
1831 class _bitfield(Structure):
1832 _fields_ = [
1833 ("event_cnt_0", c_uint32, 1),
1834 ("event_cnt_1", c_uint32, 1),
1835 ("event_cnt_2", c_uint32, 1),
1836 ("event_cnt_3", c_uint32, 1),
1837 ("reserved0", c_uint32, 27),
1838 ("cycle_cnt", c_uint32, 1),
1839 ]
1840 _fields_ = [("bits", _bitfield),
1841 ("word", c_uint32)]
1842 def set_event_cnt_0(self, value): self.bits.event_cnt_0 = value
1843 def get_event_cnt_0(self): value = self.bits.event_cnt_0; return value
1844 def set_event_cnt_1(self, value): self.bits.event_cnt_1 = value
1845 def get_event_cnt_1(self): value = self.bits.event_cnt_1; return value
1846 def set_event_cnt_2(self, value): self.bits.event_cnt_2 = value
1847 def get_event_cnt_2(self): value = self.bits.event_cnt_2; return value
1848 def set_event_cnt_3(self, value): self.bits.event_cnt_3 = value
1849 def get_event_cnt_3(self): value = self.bits.event_cnt_3; return value
1850 def set_cycle_cnt(self, value): self.bits.cycle_cnt = value
1851 def get_cycle_cnt(self): value = self.bits.cycle_cnt; return value
1852
1853
1854class pmcntenclr_r(Union):
1855 class _bitfield(Structure):
1856 _fields_ = [
1857 ("event_cnt_0", c_uint32, 1),
1858 ("event_cnt_1", c_uint32, 1),
1859 ("event_cnt_2", c_uint32, 1),
1860 ("event_cnt_3", c_uint32, 1),
1861 ("reserved0", c_uint32, 27),
1862 ("cycle_cnt", c_uint32, 1),
1863 ]
1864 _fields_ = [("bits", _bitfield),
1865 ("word", c_uint32)]
1866 def set_event_cnt_0(self, value): self.bits.event_cnt_0 = value
1867 def get_event_cnt_0(self): value = self.bits.event_cnt_0; return value
1868 def set_event_cnt_1(self, value): self.bits.event_cnt_1 = value
1869 def get_event_cnt_1(self): value = self.bits.event_cnt_1; return value
1870 def set_event_cnt_2(self, value): self.bits.event_cnt_2 = value
1871 def get_event_cnt_2(self): value = self.bits.event_cnt_2; return value
1872 def set_event_cnt_3(self, value): self.bits.event_cnt_3 = value
1873 def get_event_cnt_3(self): value = self.bits.event_cnt_3; return value
1874 def set_cycle_cnt(self, value): self.bits.cycle_cnt = value
1875 def get_cycle_cnt(self): value = self.bits.cycle_cnt; return value
1876
1877
1878class pmovsset_r(Union):
1879 class _bitfield(Structure):
1880 _fields_ = [
1881 ("event_cnt_0_ovf", c_uint32, 1),
1882 ("event_cnt_1_ovf", c_uint32, 1),
1883 ("event_cnt_2_ovf", c_uint32, 1),
1884 ("event_cnt_3_ovf", c_uint32, 1),
1885 ("reserved0", c_uint32, 27),
1886 ("cycle_cnt_ovf", c_uint32, 1),
1887 ]
1888 _fields_ = [("bits", _bitfield),
1889 ("word", c_uint32)]
1890 def set_event_cnt_0_ovf(self, value): self.bits.event_cnt_0_ovf = value
1891 def get_event_cnt_0_ovf(self): value = self.bits.event_cnt_0_ovf; return value
1892 def set_event_cnt_1_ovf(self, value): self.bits.event_cnt_1_ovf = value
1893 def get_event_cnt_1_ovf(self): value = self.bits.event_cnt_1_ovf; return value
1894 def set_event_cnt_2_ovf(self, value): self.bits.event_cnt_2_ovf = value
1895 def get_event_cnt_2_ovf(self): value = self.bits.event_cnt_2_ovf; return value
1896 def set_event_cnt_3_ovf(self, value): self.bits.event_cnt_3_ovf = value
1897 def get_event_cnt_3_ovf(self): value = self.bits.event_cnt_3_ovf; return value
1898 def set_cycle_cnt_ovf(self, value): self.bits.cycle_cnt_ovf = value
1899 def get_cycle_cnt_ovf(self): value = self.bits.cycle_cnt_ovf; return value
1900
1901
1902class pmovsclr_r(Union):
1903 class _bitfield(Structure):
1904 _fields_ = [
1905 ("event_cnt_0_ovf", c_uint32, 1),
1906 ("event_cnt_1_ovf", c_uint32, 1),
1907 ("event_cnt_2_ovf", c_uint32, 1),
1908 ("event_cnt_3_ovf", c_uint32, 1),
1909 ("reserved0", c_uint32, 27),
1910 ("cycle_cnt_ovf", c_uint32, 1),
1911 ]
1912 _fields_ = [("bits", _bitfield),
1913 ("word", c_uint32)]
1914 def set_event_cnt_0_ovf(self, value): self.bits.event_cnt_0_ovf = value
1915 def get_event_cnt_0_ovf(self): value = self.bits.event_cnt_0_ovf; return value
1916 def set_event_cnt_1_ovf(self, value): self.bits.event_cnt_1_ovf = value
1917 def get_event_cnt_1_ovf(self): value = self.bits.event_cnt_1_ovf; return value
1918 def set_event_cnt_2_ovf(self, value): self.bits.event_cnt_2_ovf = value
1919 def get_event_cnt_2_ovf(self): value = self.bits.event_cnt_2_ovf; return value
1920 def set_event_cnt_3_ovf(self, value): self.bits.event_cnt_3_ovf = value
1921 def get_event_cnt_3_ovf(self): value = self.bits.event_cnt_3_ovf; return value
1922 def set_cycle_cnt_ovf(self, value): self.bits.cycle_cnt_ovf = value
1923 def get_cycle_cnt_ovf(self): value = self.bits.cycle_cnt_ovf; return value
1924
1925
1926class pmintset_r(Union):
1927 class _bitfield(Structure):
1928 _fields_ = [
1929 ("event_cnt_0_int", c_uint32, 1),
1930 ("event_cnt_1_int", c_uint32, 1),
1931 ("event_cnt_2_int", c_uint32, 1),
1932 ("event_cnt_3_int", c_uint32, 1),
1933 ("reserved0", c_uint32, 27),
1934 ("cycle_cnt_int", c_uint32, 1),
1935 ]
1936 _fields_ = [("bits", _bitfield),
1937 ("word", c_uint32)]
1938 def set_event_cnt_0_int(self, value): self.bits.event_cnt_0_int = value
1939 def get_event_cnt_0_int(self): value = self.bits.event_cnt_0_int; return value
1940 def set_event_cnt_1_int(self, value): self.bits.event_cnt_1_int = value
1941 def get_event_cnt_1_int(self): value = self.bits.event_cnt_1_int; return value
1942 def set_event_cnt_2_int(self, value): self.bits.event_cnt_2_int = value
1943 def get_event_cnt_2_int(self): value = self.bits.event_cnt_2_int; return value
1944 def set_event_cnt_3_int(self, value): self.bits.event_cnt_3_int = value
1945 def get_event_cnt_3_int(self): value = self.bits.event_cnt_3_int; return value
1946 def set_cycle_cnt_int(self, value): self.bits.cycle_cnt_int = value
1947 def get_cycle_cnt_int(self): value = self.bits.cycle_cnt_int; return value
1948
1949
1950class pmintclr_r(Union):
1951 class _bitfield(Structure):
1952 _fields_ = [
1953 ("event_cnt_0_int", c_uint32, 1),
1954 ("event_cnt_1_int", c_uint32, 1),
1955 ("event_cnt_2_int", c_uint32, 1),
1956 ("event_cnt_3_int", c_uint32, 1),
1957 ("reserved0", c_uint32, 27),
1958 ("cycle_cnt_int", c_uint32, 1),
1959 ]
1960 _fields_ = [("bits", _bitfield),
1961 ("word", c_uint32)]
1962 def set_event_cnt_0_int(self, value): self.bits.event_cnt_0_int = value
1963 def get_event_cnt_0_int(self): value = self.bits.event_cnt_0_int; return value
1964 def set_event_cnt_1_int(self, value): self.bits.event_cnt_1_int = value
1965 def get_event_cnt_1_int(self): value = self.bits.event_cnt_1_int; return value
1966 def set_event_cnt_2_int(self, value): self.bits.event_cnt_2_int = value
1967 def get_event_cnt_2_int(self): value = self.bits.event_cnt_2_int; return value
1968 def set_event_cnt_3_int(self, value): self.bits.event_cnt_3_int = value
1969 def get_event_cnt_3_int(self): value = self.bits.event_cnt_3_int; return value
1970 def set_cycle_cnt_int(self, value): self.bits.cycle_cnt_int = value
1971 def get_cycle_cnt_int(self): value = self.bits.cycle_cnt_int; return value
1972
1973
1974class pmccntr_lo_r(Union):
1975 class _bitfield(Structure):
1976 _fields_ = [
1977 ("cycle_cnt_lo", c_uint32, 32),
1978 ]
1979 _fields_ = [("bits", _bitfield),
1980 ("word", c_uint32)]
1981 def set_cycle_cnt_lo(self, value): self.bits.cycle_cnt_lo = value
1982 def get_cycle_cnt_lo(self): value = self.bits.cycle_cnt_lo; return value
1983
1984
1985class pmccntr_hi_r(Union):
1986 class _bitfield(Structure):
1987 _fields_ = [
1988 ("cycle_cnt_hi", c_uint32, 16),
1989 ("reserved0", c_uint32, 16),
1990 ]
1991 _fields_ = [("bits", _bitfield),
1992 ("word", c_uint32)]
1993 def set_cycle_cnt_hi(self, value): self.bits.cycle_cnt_hi = value
1994 def get_cycle_cnt_hi(self): value = self.bits.cycle_cnt_hi; return value
1995
1996
1997class pmccntr_cfg_r(Union):
1998 class _bitfield(Structure):
1999 _fields_ = [
2000 ("cycle_cnt_cfg_start", c_uint32, 10),
2001 ("reserved0", c_uint32, 6),
2002 ("cycle_cnt_cfg_stop", c_uint32, 10),
2003 ("reserved1", c_uint32, 6),
2004 ]
2005 _fields_ = [("bits", _bitfield),
2006 ("word", c_uint32)]
2007 def set_cycle_cnt_cfg_start(self, value): self.bits.cycle_cnt_cfg_start = value
2008 def get_cycle_cnt_cfg_start(self): value = self.bits.cycle_cnt_cfg_start; return value
2009 def set_cycle_cnt_cfg_stop(self, value): self.bits.cycle_cnt_cfg_stop = value
2010 def get_cycle_cnt_cfg_stop(self): value = self.bits.cycle_cnt_cfg_stop; return value
2011
2012
2013class pmcaxi_chan_r(Union):
2014 class _bitfield(Structure):
2015 _fields_ = [
Douglas Troha22df2ad2020-05-08 13:09:13 +02002016 ("ch_sel", c_uint32, 4),
2017 ("reserved0", c_uint32, 4),
2018 ("axi_cnt_sel", c_uint32, 2),
2019 ("bw_ch_sel_en", c_uint32, 1),
2020 ("reserved1", c_uint32, 21),
Tim Hall79d07d22020-04-27 18:20:16 +01002021 ]
2022 _fields_ = [("bits", _bitfield),
2023 ("word", c_uint32)]
Douglas Troha22df2ad2020-05-08 13:09:13 +02002024 def set_ch_sel(self, value): self.bits.ch_sel = value
2025 def get_ch_sel(self): value = self.bits.ch_sel; return value
2026 def set_axi_cnt_sel(self, value): self.bits.axi_cnt_sel = value
2027 def get_axi_cnt_sel(self): value = self.bits.axi_cnt_sel; return value
2028 def set_bw_ch_sel_en(self, value): self.bits.bw_ch_sel_en = value
2029 def get_bw_ch_sel_en(self): value = self.bits.bw_ch_sel_en; return value
Tim Hall79d07d22020-04-27 18:20:16 +01002030
2031
2032class pmevtyper0_r(Union):
2033 class _bitfield(Structure):
2034 _fields_ = [
2035 ("ev_type", c_uint32, 10),
2036 ("reserved0", c_uint32, 22),
2037 ]
2038 _fields_ = [("bits", _bitfield),
2039 ("word", c_uint32)]
2040 def set_ev_type(self, value): self.bits.ev_type = value
2041 def get_ev_type(self): value = self.bits.ev_type; return value
2042
2043
2044class pmevtyper1_r(Union):
2045 class _bitfield(Structure):
2046 _fields_ = [
2047 ("ev_type", c_uint32, 10),
2048 ("reserved0", c_uint32, 22),
2049 ]
2050 _fields_ = [("bits", _bitfield),
2051 ("word", c_uint32)]
2052 def set_ev_type(self, value): self.bits.ev_type = value
2053 def get_ev_type(self): value = self.bits.ev_type; return value
2054
2055
2056class pmevtyper2_r(Union):
2057 class _bitfield(Structure):
2058 _fields_ = [
2059 ("ev_type", c_uint32, 10),
2060 ("reserved0", c_uint32, 22),
2061 ]
2062 _fields_ = [("bits", _bitfield),
2063 ("word", c_uint32)]
2064 def set_ev_type(self, value): self.bits.ev_type = value
2065 def get_ev_type(self): value = self.bits.ev_type; return value
2066
2067
2068class pmevtyper3_r(Union):
2069 class _bitfield(Structure):
2070 _fields_ = [
2071 ("ev_type", c_uint32, 10),
2072 ("reserved0", c_uint32, 22),
2073 ]
2074 _fields_ = [("bits", _bitfield),
2075 ("word", c_uint32)]
2076 def set_ev_type(self, value): self.bits.ev_type = value
2077 def get_ev_type(self): value = self.bits.ev_type; return value
2078
2079class command_no_payload_t(Structure):
2080 _fields_ = [
2081 ("cmd_code", c_uint32, 10),
2082 ("must_be_zero0", c_uint32, 6),
2083 ("param", c_uint32, 16),
2084 ]
2085 def valid(self): return must_be_zero0==0;
2086 def get_cmd_code(self): return cmd_code
2087 def set_cmd_code(self, value): cmd_code = value
2088 def get_param(self): return param
2089 def set_param(self, value): param = value
2090
2091class command_with_payload_t(Structure):
2092 _fields_ = [
2093 ("cmd_code", c_uint32, 10),
2094 ("must_be_zero", c_uint32, 4),
2095 ("payload_size", c_uint32, 2),
2096 ("param", c_uint32, 16),
2097 ("data", c_uint32, 32),
2098 ]
2099 def valid(self): return must_be_zero==0 and payload_size>=1 and payload_size<=2;
2100 def get_cmd_code(self): return cmd_code
2101 def set_cmd_code(self, value): cmd_code = value
2102 def get_data(self): return data
2103 def set_data(self, value): data = value
2104 def get_param(self): return param
2105 def set_param(self, value): param = value
2106 def get_payload_size(self): return payload_size
2107 def set_payload_size(self, value): payload_size = value
2108
2109class npu_op_stop_t(Structure):
2110 _fields_ = [
2111 ("cmd_code", c_uint32, 10),
2112 ("must_be_zero0", c_uint32, 6),
2113 ("mask", c_uint32, 16),
2114 ]
2115 def valid(self): return cmd_code==cmd0.NPU_OP_STOP and must_be_zero0==0;
2116 def get_cmd_code(self): return cmd_code
2117 def set_cmd_code(self, value): cmd_code = value
2118 def get_mask(self): return mask
2119 def set_mask(self, value): mask = value
2120
2121class npu_op_irq_t(Structure):
2122 _fields_ = [
2123 ("cmd_code", c_uint32, 10),
2124 ("must_be_zero0", c_uint32, 6),
2125 ("mask", c_uint32, 16),
2126 ]
2127 def valid(self): return cmd_code==cmd0.NPU_OP_IRQ and must_be_zero0==0;
2128 def get_cmd_code(self): return cmd_code
2129 def set_cmd_code(self, value): cmd_code = value
2130 def get_mask(self): return mask
2131 def set_mask(self, value): mask = value
2132
2133class npu_op_conv_t(Structure):
2134 _fields_ = [
2135 ("cmd_code", c_uint32, 10),
2136 ("must_be_zero0", c_uint32, 6),
2137 ("reserved0", c_uint32, 16),
2138 ]
2139 def valid(self): return cmd_code==cmd0.NPU_OP_CONV and must_be_zero0==0;
2140 def get_cmd_code(self): return cmd_code
2141 def set_cmd_code(self, value): cmd_code = value
2142
2143class npu_op_depthwise_t(Structure):
2144 _fields_ = [
2145 ("cmd_code", c_uint32, 10),
2146 ("must_be_zero0", c_uint32, 6),
2147 ("reserved0", c_uint32, 16),
2148 ]
2149 def valid(self): return cmd_code==cmd0.NPU_OP_DEPTHWISE and must_be_zero0==0;
2150 def get_cmd_code(self): return cmd_code
2151 def set_cmd_code(self, value): cmd_code = value
2152
2153class npu_op_pool_t(Structure):
2154 _fields_ = [
2155 ("cmd_code", c_uint32, 10),
2156 ("must_be_zero0", c_uint32, 6),
2157 ("mode", c_uint32, 16),
2158 ]
2159 def valid(self): return cmd_code==cmd0.NPU_OP_POOL and must_be_zero0==0;
2160 def get_cmd_code(self): return cmd_code
2161 def set_cmd_code(self, value): cmd_code = value
2162 def get_mode(self): return mode
2163 def set_mode(self, value): mode = value
2164
2165class npu_op_elementwise_t(Structure):
2166 _fields_ = [
2167 ("cmd_code", c_uint32, 10),
2168 ("must_be_zero0", c_uint32, 6),
2169 ("mode", c_uint32, 16),
2170 ]
2171 def valid(self): return cmd_code==cmd0.NPU_OP_ELEMENTWISE and must_be_zero0==0;
2172 def get_cmd_code(self): return cmd_code
2173 def set_cmd_code(self, value): cmd_code = value
2174 def get_mode(self): return mode
2175 def set_mode(self, value): mode = value
2176
2177class npu_op_dma_start_t(Structure):
2178 _fields_ = [
2179 ("cmd_code", c_uint32, 10),
2180 ("must_be_zero0", c_uint32, 6),
2181 ("channel_mode", c_uint32, 16),
2182 ]
2183 def valid(self): return cmd_code==cmd0.NPU_OP_DMA_START and must_be_zero0==0;
2184 def get_channel_mode(self): return channel_mode
2185 def set_channel_mode(self, value): channel_mode = value
2186 def get_cmd_code(self): return cmd_code
2187 def set_cmd_code(self, value): cmd_code = value
2188
2189class npu_op_dma_wait_t(Structure):
2190 _fields_ = [
2191 ("cmd_code", c_uint32, 10),
2192 ("must_be_zero0", c_uint32, 6),
2193 ("reserved0", c_uint32, 16),
2194 ]
2195 def valid(self): return cmd_code==cmd0.NPU_OP_DMA_WAIT and must_be_zero0==0;
2196 def get_cmd_code(self): return cmd_code
2197 def set_cmd_code(self, value): cmd_code = value
2198
2199class npu_op_kernel_wait_t(Structure):
2200 _fields_ = [
2201 ("cmd_code", c_uint32, 10),
2202 ("must_be_zero0", c_uint32, 6),
2203 ("param", c_uint32, 16),
2204 ]
2205 def valid(self): return cmd_code==cmd0.NPU_OP_KERNEL_WAIT and must_be_zero0==0;
2206 def get_cmd_code(self): return cmd_code
2207 def set_cmd_code(self, value): cmd_code = value
2208 def get_param(self): return param
2209 def set_param(self, value): param = value
2210
2211class npu_op_pmu_mask_t(Structure):
2212 _fields_ = [
2213 ("cmd_code", c_uint32, 10),
2214 ("must_be_zero0", c_uint32, 6),
2215 ("param", c_uint32, 16),
2216 ]
2217 def valid(self): return cmd_code==cmd0.NPU_OP_PMU_MASK and must_be_zero0==0;
2218 def get_cmd_code(self): return cmd_code
2219 def set_cmd_code(self, value): cmd_code = value
2220 def get_param(self): return param
2221 def set_param(self, value): param = value
2222
2223class npu_set_ifm_pad_top_t(Structure):
2224 _fields_ = [
2225 ("cmd_code", c_uint32, 10),
2226 ("must_be_zero0", c_uint32, 6),
2227 ("param", c_uint32, 16),
2228 ]
2229 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_PAD_TOP and must_be_zero0==0;
2230 def get_cmd_code(self): return cmd_code
2231 def set_cmd_code(self, value): cmd_code = value
2232 def get_param(self): return param
2233 def set_param(self, value): param = value
2234
2235class npu_set_ifm_pad_left_t(Structure):
2236 _fields_ = [
2237 ("cmd_code", c_uint32, 10),
2238 ("must_be_zero0", c_uint32, 6),
2239 ("param", c_uint32, 16),
2240 ]
2241 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_PAD_LEFT and must_be_zero0==0;
2242 def get_cmd_code(self): return cmd_code
2243 def set_cmd_code(self, value): cmd_code = value
2244 def get_param(self): return param
2245 def set_param(self, value): param = value
2246
2247class npu_set_ifm_pad_right_t(Structure):
2248 _fields_ = [
2249 ("cmd_code", c_uint32, 10),
2250 ("must_be_zero0", c_uint32, 6),
2251 ("param", c_uint32, 16),
2252 ]
2253 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_PAD_RIGHT and must_be_zero0==0;
2254 def get_cmd_code(self): return cmd_code
2255 def set_cmd_code(self, value): cmd_code = value
2256 def get_param(self): return param
2257 def set_param(self, value): param = value
2258
2259class npu_set_ifm_pad_bottom_t(Structure):
2260 _fields_ = [
2261 ("cmd_code", c_uint32, 10),
2262 ("must_be_zero0", c_uint32, 6),
2263 ("param", c_uint32, 16),
2264 ]
2265 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_PAD_BOTTOM and must_be_zero0==0;
2266 def get_cmd_code(self): return cmd_code
2267 def set_cmd_code(self, value): cmd_code = value
2268 def get_param(self): return param
2269 def set_param(self, value): param = value
2270
2271class npu_set_ifm_depth_m1_t(Structure):
2272 _fields_ = [
2273 ("cmd_code", c_uint32, 10),
2274 ("must_be_zero0", c_uint32, 6),
2275 ("param", c_uint32, 16),
2276 ]
2277 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_DEPTH_M1 and must_be_zero0==0;
2278 def get_cmd_code(self): return cmd_code
2279 def set_cmd_code(self, value): cmd_code = value
2280 def get_param(self): return param
2281 def set_param(self, value): param = value
2282
2283class npu_set_ifm_precision_t(Structure):
2284 _fields_ = [
2285 ("cmd_code", c_uint32, 10),
2286 ("must_be_zero0", c_uint32, 6),
Diqing Zhongfed918b2020-04-27 10:27:34 +02002287 ("precision", c_uint32, 4),
Tim Hall79d07d22020-04-27 18:20:16 +01002288 ("reserved0", c_uint32, 2),
2289 ("format", c_uint32, 2),
2290 ("scale_mode", c_uint32, 2),
2291 ("reserved1", c_uint32, 4),
2292 ("round_mode", c_uint32, 2),
2293 ]
2294 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_PRECISION and must_be_zero0==0;
2295 def get_cmd_code(self): return cmd_code
2296 def set_cmd_code(self, value): cmd_code = value
2297 def get_format(self): return format
2298 def set_format(self, value): format = value
Diqing Zhongfed918b2020-04-27 10:27:34 +02002299 def get_precision(self): return precision
2300 def set_precision(self, value): precision = value
Tim Hall79d07d22020-04-27 18:20:16 +01002301 def get_round_mode(self): return round_mode
2302 def set_round_mode(self, value): round_mode = value
2303 def get_scale_mode(self): return scale_mode
2304 def set_scale_mode(self, value): scale_mode = value
2305
2306class npu_set_ifm_upscale_t(Structure):
2307 _fields_ = [
2308 ("cmd_code", c_uint32, 10),
2309 ("must_be_zero0", c_uint32, 6),
2310 ("mode", c_uint32, 2),
2311 ("reserved0", c_uint32, 14),
2312 ]
2313 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_UPSCALE and must_be_zero0==0;
2314 def get_cmd_code(self): return cmd_code
2315 def set_cmd_code(self, value): cmd_code = value
2316 def get_mode(self): return mode
2317 def set_mode(self, value): mode = value
2318
2319class npu_set_ifm_zero_point_t(Structure):
2320 _fields_ = [
2321 ("cmd_code", c_uint32, 10),
2322 ("must_be_zero0", c_uint32, 6),
2323 ("param", c_uint32, 16),
2324 ]
2325 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_ZERO_POINT and must_be_zero0==0;
2326 def get_cmd_code(self): return cmd_code
2327 def set_cmd_code(self, value): cmd_code = value
2328 def get_param(self): return param
2329 def set_param(self, value): param = value
2330
2331class npu_set_ifm_width0_m1_t(Structure):
2332 _fields_ = [
2333 ("cmd_code", c_uint32, 10),
2334 ("must_be_zero0", c_uint32, 6),
2335 ("param", c_uint32, 16),
2336 ]
2337 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_WIDTH0_M1 and must_be_zero0==0;
2338 def get_cmd_code(self): return cmd_code
2339 def set_cmd_code(self, value): cmd_code = value
2340 def get_param(self): return param
2341 def set_param(self, value): param = value
2342
2343class npu_set_ifm_height0_m1_t(Structure):
2344 _fields_ = [
2345 ("cmd_code", c_uint32, 10),
2346 ("must_be_zero0", c_uint32, 6),
2347 ("param", c_uint32, 16),
2348 ]
2349 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_HEIGHT0_M1 and must_be_zero0==0;
2350 def get_cmd_code(self): return cmd_code
2351 def set_cmd_code(self, value): cmd_code = value
2352 def get_param(self): return param
2353 def set_param(self, value): param = value
2354
2355class npu_set_ifm_height1_m1_t(Structure):
2356 _fields_ = [
2357 ("cmd_code", c_uint32, 10),
2358 ("must_be_zero0", c_uint32, 6),
2359 ("param", c_uint32, 16),
2360 ]
2361 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_HEIGHT1_M1 and must_be_zero0==0;
2362 def get_cmd_code(self): return cmd_code
2363 def set_cmd_code(self, value): cmd_code = value
2364 def get_param(self): return param
2365 def set_param(self, value): param = value
2366
2367class npu_set_ifm_ib_end_t(Structure):
2368 _fields_ = [
2369 ("cmd_code", c_uint32, 10),
2370 ("must_be_zero0", c_uint32, 6),
2371 ("param", c_uint32, 16),
2372 ]
2373 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_IB_END and must_be_zero0==0;
2374 def get_cmd_code(self): return cmd_code
2375 def set_cmd_code(self, value): cmd_code = value
2376 def get_param(self): return param
2377 def set_param(self, value): param = value
2378
2379class npu_set_ifm_region_t(Structure):
2380 _fields_ = [
2381 ("cmd_code", c_uint32, 10),
2382 ("must_be_zero0", c_uint32, 6),
2383 ("param", c_uint32, 16),
2384 ]
2385 def valid(self): return cmd_code==cmd0.NPU_SET_IFM_REGION and must_be_zero0==0;
2386 def get_cmd_code(self): return cmd_code
2387 def set_cmd_code(self, value): cmd_code = value
2388 def get_param(self): return param
2389 def set_param(self, value): param = value
2390
2391class npu_set_ofm_width_m1_t(Structure):
2392 _fields_ = [
2393 ("cmd_code", c_uint32, 10),
2394 ("must_be_zero0", c_uint32, 6),
2395 ("param", c_uint32, 16),
2396 ]
2397 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_WIDTH_M1 and must_be_zero0==0;
2398 def get_cmd_code(self): return cmd_code
2399 def set_cmd_code(self, value): cmd_code = value
2400 def get_param(self): return param
2401 def set_param(self, value): param = value
2402
2403class npu_set_ofm_height_m1_t(Structure):
2404 _fields_ = [
2405 ("cmd_code", c_uint32, 10),
2406 ("must_be_zero0", c_uint32, 6),
2407 ("param", c_uint32, 16),
2408 ]
2409 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_HEIGHT_M1 and must_be_zero0==0;
2410 def get_cmd_code(self): return cmd_code
2411 def set_cmd_code(self, value): cmd_code = value
2412 def get_param(self): return param
2413 def set_param(self, value): param = value
2414
2415class npu_set_ofm_depth_m1_t(Structure):
2416 _fields_ = [
2417 ("cmd_code", c_uint32, 10),
2418 ("must_be_zero0", c_uint32, 6),
2419 ("param", c_uint32, 16),
2420 ]
2421 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_DEPTH_M1 and must_be_zero0==0;
2422 def get_cmd_code(self): return cmd_code
2423 def set_cmd_code(self, value): cmd_code = value
2424 def get_param(self): return param
2425 def set_param(self, value): param = value
2426
2427class npu_set_ofm_precision_t(Structure):
2428 _fields_ = [
2429 ("cmd_code", c_uint32, 10),
2430 ("must_be_zero0", c_uint32, 6),
2431 ("precision", c_uint32, 3),
2432 ("reserved0", c_uint32, 3),
2433 ("format", c_uint32, 2),
2434 ("scaling", c_uint32, 1),
2435 ("reserved1", c_uint32, 5),
2436 ("rounding", c_uint32, 2),
2437 ]
2438 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_PRECISION and must_be_zero0==0;
2439 def get_cmd_code(self): return cmd_code
2440 def set_cmd_code(self, value): cmd_code = value
2441 def get_format(self): return format
2442 def set_format(self, value): format = value
2443 def get_precision(self): return precision
2444 def set_precision(self, value): precision = value
2445 def get_rounding(self): return rounding
2446 def set_rounding(self, value): rounding = value
2447 def get_scaling(self): return scaling
2448 def set_scaling(self, value): scaling = value
2449
2450class npu_set_ofm_blk_width_m1_t(Structure):
2451 _fields_ = [
2452 ("cmd_code", c_uint32, 10),
2453 ("must_be_zero0", c_uint32, 6),
2454 ("param", c_uint32, 16),
2455 ]
2456 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_BLK_WIDTH_M1 and must_be_zero0==0;
2457 def get_cmd_code(self): return cmd_code
2458 def set_cmd_code(self, value): cmd_code = value
2459 def get_param(self): return param
2460 def set_param(self, value): param = value
2461
2462class npu_set_ofm_blk_height_m1_t(Structure):
2463 _fields_ = [
2464 ("cmd_code", c_uint32, 10),
2465 ("must_be_zero0", c_uint32, 6),
2466 ("param", c_uint32, 16),
2467 ]
2468 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_BLK_HEIGHT_M1 and must_be_zero0==0;
2469 def get_cmd_code(self): return cmd_code
2470 def set_cmd_code(self, value): cmd_code = value
2471 def get_param(self): return param
2472 def set_param(self, value): param = value
2473
2474class npu_set_ofm_blk_depth_m1_t(Structure):
2475 _fields_ = [
2476 ("cmd_code", c_uint32, 10),
2477 ("must_be_zero0", c_uint32, 6),
2478 ("param", c_uint32, 16),
2479 ]
2480 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_BLK_DEPTH_M1 and must_be_zero0==0;
2481 def get_cmd_code(self): return cmd_code
2482 def set_cmd_code(self, value): cmd_code = value
2483 def get_param(self): return param
2484 def set_param(self, value): param = value
2485
2486class npu_set_ofm_zero_point_t(Structure):
2487 _fields_ = [
2488 ("cmd_code", c_uint32, 10),
2489 ("must_be_zero0", c_uint32, 6),
2490 ("param", c_uint32, 16),
2491 ]
2492 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_ZERO_POINT and must_be_zero0==0;
2493 def get_cmd_code(self): return cmd_code
2494 def set_cmd_code(self, value): cmd_code = value
2495 def get_param(self): return param
2496 def set_param(self, value): param = value
2497
2498class npu_set_ofm_width0_m1_t(Structure):
2499 _fields_ = [
2500 ("cmd_code", c_uint32, 10),
2501 ("must_be_zero0", c_uint32, 6),
2502 ("param", c_uint32, 16),
2503 ]
2504 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_WIDTH0_M1 and must_be_zero0==0;
2505 def get_cmd_code(self): return cmd_code
2506 def set_cmd_code(self, value): cmd_code = value
2507 def get_param(self): return param
2508 def set_param(self, value): param = value
2509
2510class npu_set_ofm_height0_m1_t(Structure):
2511 _fields_ = [
2512 ("cmd_code", c_uint32, 10),
2513 ("must_be_zero0", c_uint32, 6),
2514 ("param", c_uint32, 16),
2515 ]
2516 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_HEIGHT0_M1 and must_be_zero0==0;
2517 def get_cmd_code(self): return cmd_code
2518 def set_cmd_code(self, value): cmd_code = value
2519 def get_param(self): return param
2520 def set_param(self, value): param = value
2521
2522class npu_set_ofm_height1_m1_t(Structure):
2523 _fields_ = [
2524 ("cmd_code", c_uint32, 10),
2525 ("must_be_zero0", c_uint32, 6),
2526 ("param", c_uint32, 16),
2527 ]
2528 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_HEIGHT1_M1 and must_be_zero0==0;
2529 def get_cmd_code(self): return cmd_code
2530 def set_cmd_code(self, value): cmd_code = value
2531 def get_param(self): return param
2532 def set_param(self, value): param = value
2533
2534class npu_set_ofm_region_t(Structure):
2535 _fields_ = [
2536 ("cmd_code", c_uint32, 10),
2537 ("must_be_zero0", c_uint32, 6),
2538 ("param", c_uint32, 16),
2539 ]
2540 def valid(self): return cmd_code==cmd0.NPU_SET_OFM_REGION and must_be_zero0==0;
2541 def get_cmd_code(self): return cmd_code
2542 def set_cmd_code(self, value): cmd_code = value
2543 def get_param(self): return param
2544 def set_param(self, value): param = value
2545
2546class npu_set_kernel_width_m1_t(Structure):
2547 _fields_ = [
2548 ("cmd_code", c_uint32, 10),
2549 ("must_be_zero0", c_uint32, 6),
2550 ("param", c_uint32, 16),
2551 ]
2552 def valid(self): return cmd_code==cmd0.NPU_SET_KERNEL_WIDTH_M1 and must_be_zero0==0;
2553 def get_cmd_code(self): return cmd_code
2554 def set_cmd_code(self, value): cmd_code = value
2555 def get_param(self): return param
2556 def set_param(self, value): param = value
2557
2558class npu_set_kernel_height_m1_t(Structure):
2559 _fields_ = [
2560 ("cmd_code", c_uint32, 10),
2561 ("must_be_zero0", c_uint32, 6),
2562 ("param", c_uint32, 16),
2563 ]
2564 def valid(self): return cmd_code==cmd0.NPU_SET_KERNEL_HEIGHT_M1 and must_be_zero0==0;
2565 def get_cmd_code(self): return cmd_code
2566 def set_cmd_code(self, value): cmd_code = value
2567 def get_param(self): return param
2568 def set_param(self, value): param = value
2569
2570class npu_set_kernel_stride_t(Structure):
2571 _fields_ = [
2572 ("cmd_code", c_uint32, 10),
2573 ("must_be_zero0", c_uint32, 6),
2574 ("param", c_uint32, 16),
2575 ]
2576 def valid(self): return cmd_code==cmd0.NPU_SET_KERNEL_STRIDE and must_be_zero0==0;
2577 def get_cmd_code(self): return cmd_code
2578 def set_cmd_code(self, value): cmd_code = value
2579 def get_param(self): return param
2580 def set_param(self, value): param = value
2581
2582class npu_set_parallel_mode_t(Structure):
2583 _fields_ = [
2584 ("cmd_code", c_uint32, 10),
2585 ("must_be_zero0", c_uint32, 6),
2586 ("param", c_uint32, 16),
2587 ]
2588 def valid(self): return cmd_code==cmd0.NPU_SET_PARALLEL_MODE and must_be_zero0==0;
2589 def get_cmd_code(self): return cmd_code
2590 def set_cmd_code(self, value): cmd_code = value
2591 def get_param(self): return param
2592 def set_param(self, value): param = value
2593
2594class npu_set_acc_format_t(Structure):
2595 _fields_ = [
2596 ("cmd_code", c_uint32, 10),
2597 ("must_be_zero0", c_uint32, 6),
2598 ("param", c_uint32, 16),
2599 ]
2600 def valid(self): return cmd_code==cmd0.NPU_SET_ACC_FORMAT and must_be_zero0==0;
2601 def get_cmd_code(self): return cmd_code
2602 def set_cmd_code(self, value): cmd_code = value
2603 def get_param(self): return param
2604 def set_param(self, value): param = value
2605
2606class npu_set_activation_t(Structure):
2607 _fields_ = [
2608 ("cmd_code", c_uint32, 10),
2609 ("must_be_zero0", c_uint32, 6),
2610 ("type", c_uint32, 12),
2611 ("act_clip_range", c_uint32, 4),
2612 ]
2613 def valid(self): return cmd_code==cmd0.NPU_SET_ACTIVATION and must_be_zero0==0;
2614 def get_act_clip_range(self): return act_clip_range
2615 def set_act_clip_range(self, value): act_clip_range = value
2616 def get_cmd_code(self): return cmd_code
2617 def set_cmd_code(self, value): cmd_code = value
2618 def get_type(self): return type
2619 def set_type(self, value): type = value
2620
2621class npu_set_activation_min_t(Structure):
2622 _fields_ = [
2623 ("cmd_code", c_uint32, 10),
2624 ("must_be_zero0", c_uint32, 6),
2625 ("param", c_uint32, 16),
2626 ]
2627 def valid(self): return cmd_code==cmd0.NPU_SET_ACTIVATION_MIN and must_be_zero0==0;
2628 def get_cmd_code(self): return cmd_code
2629 def set_cmd_code(self, value): cmd_code = value
2630 def get_param(self): return param
2631 def set_param(self, value): param = value
2632
2633class npu_set_activation_max_t(Structure):
2634 _fields_ = [
2635 ("cmd_code", c_uint32, 10),
2636 ("must_be_zero0", c_uint32, 6),
2637 ("param", c_uint32, 16),
2638 ]
2639 def valid(self): return cmd_code==cmd0.NPU_SET_ACTIVATION_MAX and must_be_zero0==0;
2640 def get_cmd_code(self): return cmd_code
2641 def set_cmd_code(self, value): cmd_code = value
2642 def get_param(self): return param
2643 def set_param(self, value): param = value
2644
2645class npu_set_weight_region_t(Structure):
2646 _fields_ = [
2647 ("cmd_code", c_uint32, 10),
2648 ("must_be_zero0", c_uint32, 6),
2649 ("param", c_uint32, 16),
2650 ]
2651 def valid(self): return cmd_code==cmd0.NPU_SET_WEIGHT_REGION and must_be_zero0==0;
2652 def get_cmd_code(self): return cmd_code
2653 def set_cmd_code(self, value): cmd_code = value
2654 def get_param(self): return param
2655 def set_param(self, value): param = value
2656
2657class npu_set_scale_region_t(Structure):
2658 _fields_ = [
2659 ("cmd_code", c_uint32, 10),
2660 ("must_be_zero0", c_uint32, 6),
2661 ("param", c_uint32, 16),
2662 ]
2663 def valid(self): return cmd_code==cmd0.NPU_SET_SCALE_REGION and must_be_zero0==0;
2664 def get_cmd_code(self): return cmd_code
2665 def set_cmd_code(self, value): cmd_code = value
2666 def get_param(self): return param
2667 def set_param(self, value): param = value
2668
2669class npu_set_ab_start_t(Structure):
2670 _fields_ = [
2671 ("cmd_code", c_uint32, 10),
2672 ("must_be_zero0", c_uint32, 6),
2673 ("param", c_uint32, 16),
2674 ]
2675 def valid(self): return cmd_code==cmd0.NPU_SET_AB_START and must_be_zero0==0;
2676 def get_cmd_code(self): return cmd_code
2677 def set_cmd_code(self, value): cmd_code = value
2678 def get_param(self): return param
2679 def set_param(self, value): param = value
2680
2681class npu_set_blockdep_t(Structure):
2682 _fields_ = [
2683 ("cmd_code", c_uint32, 10),
2684 ("must_be_zero0", c_uint32, 6),
2685 ("param", c_uint32, 16),
2686 ]
2687 def valid(self): return cmd_code==cmd0.NPU_SET_BLOCKDEP and must_be_zero0==0;
2688 def get_cmd_code(self): return cmd_code
2689 def set_cmd_code(self, value): cmd_code = value
2690 def get_param(self): return param
2691 def set_param(self, value): param = value
2692
2693class npu_set_dma0_src_region_t(Structure):
2694 _fields_ = [
2695 ("cmd_code", c_uint32, 10),
2696 ("must_be_zero0", c_uint32, 6),
2697 ("region", c_uint32, 8),
2698 ("internal", c_uint32, 1),
2699 ("stride_mode", c_uint32, 2),
2700 ("reserved0", c_uint32, 5),
2701 ]
2702 def valid(self): return cmd_code==cmd0.NPU_SET_DMA0_SRC_REGION and must_be_zero0==0;
2703 def get_cmd_code(self): return cmd_code
2704 def set_cmd_code(self, value): cmd_code = value
2705 def get_internal(self): return internal
2706 def set_internal(self, value): internal = value
2707 def get_region(self): return region
2708 def set_region(self, value): region = value
2709 def get_stride_mode(self): return stride_mode
2710 def set_stride_mode(self, value): stride_mode = value
2711
2712class npu_set_dma0_dst_region_t(Structure):
2713 _fields_ = [
2714 ("cmd_code", c_uint32, 10),
2715 ("must_be_zero0", c_uint32, 6),
2716 ("region", c_uint32, 8),
2717 ("internal", c_uint32, 1),
2718 ("stride_mode", c_uint32, 2),
2719 ("reserved0", c_uint32, 5),
2720 ]
2721 def valid(self): return cmd_code==cmd0.NPU_SET_DMA0_DST_REGION and must_be_zero0==0;
2722 def get_cmd_code(self): return cmd_code
2723 def set_cmd_code(self, value): cmd_code = value
2724 def get_internal(self): return internal
2725 def set_internal(self, value): internal = value
2726 def get_region(self): return region
2727 def set_region(self, value): region = value
2728 def get_stride_mode(self): return stride_mode
2729 def set_stride_mode(self, value): stride_mode = value
2730
2731class npu_set_dma0_size0_t(Structure):
2732 _fields_ = [
2733 ("cmd_code", c_uint32, 10),
2734 ("must_be_zero0", c_uint32, 6),
2735 ("param", c_uint32, 16),
2736 ]
2737 def valid(self): return cmd_code==cmd0.NPU_SET_DMA0_SIZE0 and must_be_zero0==0;
2738 def get_cmd_code(self): return cmd_code
2739 def set_cmd_code(self, value): cmd_code = value
2740 def get_param(self): return param
2741 def set_param(self, value): param = value
2742
2743class npu_set_dma0_size1_t(Structure):
2744 _fields_ = [
2745 ("cmd_code", c_uint32, 10),
2746 ("must_be_zero0", c_uint32, 6),
2747 ("param", c_uint32, 16),
2748 ]
2749 def valid(self): return cmd_code==cmd0.NPU_SET_DMA0_SIZE1 and must_be_zero0==0;
2750 def get_cmd_code(self): return cmd_code
2751 def set_cmd_code(self, value): cmd_code = value
2752 def get_param(self): return param
2753 def set_param(self, value): param = value
2754
2755class npu_set_ifm2_broadcast_t(Structure):
2756 _fields_ = [
2757 ("cmd_code", c_uint32, 10),
2758 ("must_be_zero0", c_uint32, 6),
2759 ("broadcast_height", c_uint32, 1),
2760 ("broadcast_width", c_uint32, 1),
2761 ("broadcast_depth", c_uint32, 1),
2762 ("reserved0", c_uint32, 3),
2763 ("operand_order", c_uint32, 1),
2764 ("broadcast_scalar", c_uint32, 1),
2765 ("reserved1", c_uint32, 8),
2766 ]
2767 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_BROADCAST and must_be_zero0==0;
2768 def get_broadcast_depth(self): return broadcast_depth
2769 def set_broadcast_depth(self, value): broadcast_depth = value
2770 def get_broadcast_height(self): return broadcast_height
2771 def set_broadcast_height(self, value): broadcast_height = value
2772 def get_broadcast_scalar(self): return broadcast_scalar
2773 def set_broadcast_scalar(self, value): broadcast_scalar = value
2774 def get_broadcast_width(self): return broadcast_width
2775 def set_broadcast_width(self, value): broadcast_width = value
2776 def get_cmd_code(self): return cmd_code
2777 def set_cmd_code(self, value): cmd_code = value
2778 def get_operand_order(self): return operand_order
2779 def set_operand_order(self, value): operand_order = value
2780
2781class npu_set_ifm2_scalar_t(Structure):
2782 _fields_ = [
2783 ("cmd_code", c_uint32, 10),
2784 ("must_be_zero0", c_uint32, 6),
2785 ("param", c_uint32, 16),
2786 ]
2787 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_SCALAR and must_be_zero0==0;
2788 def get_cmd_code(self): return cmd_code
2789 def set_cmd_code(self, value): cmd_code = value
2790 def get_param(self): return param
2791 def set_param(self, value): param = value
2792
2793class npu_set_ifm2_precision_t(Structure):
2794 _fields_ = [
2795 ("cmd_code", c_uint32, 10),
2796 ("must_be_zero0", c_uint32, 6),
Diqing Zhongfed918b2020-04-27 10:27:34 +02002797 ("precision", c_uint32, 4),
Tim Hall79d07d22020-04-27 18:20:16 +01002798 ("reserved0", c_uint32, 2),
2799 ("format", c_uint32, 2),
2800 ("reserved1", c_uint32, 8),
2801 ]
2802 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_PRECISION and must_be_zero0==0;
2803 def get_cmd_code(self): return cmd_code
2804 def set_cmd_code(self, value): cmd_code = value
2805 def get_format(self): return format
2806 def set_format(self, value): format = value
Diqing Zhongfed918b2020-04-27 10:27:34 +02002807 def get_precision(self): return precision
2808 def set_precision(self, value): precision = value
Tim Hall79d07d22020-04-27 18:20:16 +01002809
2810class npu_set_ifm2_zero_point_t(Structure):
2811 _fields_ = [
2812 ("cmd_code", c_uint32, 10),
2813 ("must_be_zero0", c_uint32, 6),
2814 ("param", c_uint32, 16),
2815 ]
2816 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_ZERO_POINT and must_be_zero0==0;
2817 def get_cmd_code(self): return cmd_code
2818 def set_cmd_code(self, value): cmd_code = value
2819 def get_param(self): return param
2820 def set_param(self, value): param = value
2821
2822class npu_set_ifm2_width0_m1_t(Structure):
2823 _fields_ = [
2824 ("cmd_code", c_uint32, 10),
2825 ("must_be_zero0", c_uint32, 6),
2826 ("param", c_uint32, 16),
2827 ]
2828 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_WIDTH0_M1 and must_be_zero0==0;
2829 def get_cmd_code(self): return cmd_code
2830 def set_cmd_code(self, value): cmd_code = value
2831 def get_param(self): return param
2832 def set_param(self, value): param = value
2833
2834class npu_set_ifm2_height0_m1_t(Structure):
2835 _fields_ = [
2836 ("cmd_code", c_uint32, 10),
2837 ("must_be_zero0", c_uint32, 6),
2838 ("param", c_uint32, 16),
2839 ]
2840 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_HEIGHT0_M1 and must_be_zero0==0;
2841 def get_cmd_code(self): return cmd_code
2842 def set_cmd_code(self, value): cmd_code = value
2843 def get_param(self): return param
2844 def set_param(self, value): param = value
2845
2846class npu_set_ifm2_height1_m1_t(Structure):
2847 _fields_ = [
2848 ("cmd_code", c_uint32, 10),
2849 ("must_be_zero0", c_uint32, 6),
2850 ("param", c_uint32, 16),
2851 ]
2852 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_HEIGHT1_M1 and must_be_zero0==0;
2853 def get_cmd_code(self): return cmd_code
2854 def set_cmd_code(self, value): cmd_code = value
2855 def get_param(self): return param
2856 def set_param(self, value): param = value
2857
2858class npu_set_ifm2_ib_start_t(Structure):
2859 _fields_ = [
2860 ("cmd_code", c_uint32, 10),
2861 ("must_be_zero0", c_uint32, 6),
2862 ("param", c_uint32, 16),
2863 ]
2864 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_IB_START and must_be_zero0==0;
2865 def get_cmd_code(self): return cmd_code
2866 def set_cmd_code(self, value): cmd_code = value
2867 def get_param(self): return param
2868 def set_param(self, value): param = value
2869
2870class npu_set_ifm2_region_t(Structure):
2871 _fields_ = [
2872 ("cmd_code", c_uint32, 10),
2873 ("must_be_zero0", c_uint32, 6),
2874 ("param", c_uint32, 16),
2875 ]
2876 def valid(self): return cmd_code==cmd0.NPU_SET_IFM2_REGION and must_be_zero0==0;
2877 def get_cmd_code(self): return cmd_code
2878 def set_cmd_code(self, value): cmd_code = value
2879 def get_param(self): return param
2880 def set_param(self, value): param = value
2881
2882class npu_set_ifm_base0_t(Structure):
2883 _fields_ = [
2884 ("cmd_code", c_uint32, 10),
2885 ("must_be_zero", c_uint32, 4),
2886 ("payload_size", c_uint32, 2),
2887 ("reserved0", c_uint32, 16),
2888 ("data", c_uint32, 32),
2889 ]
2890 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_BASE0 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2891 def get_cmd_code(self): return cmd_code
2892 def set_cmd_code(self, value): cmd_code = value
2893 def get_data(self): return data
2894 def set_data(self, value): data = value
2895 def get_payload_size(self): return payload_size
2896 def set_payload_size(self, value): payload_size = value
2897
2898class npu_set_ifm_base1_t(Structure):
2899 _fields_ = [
2900 ("cmd_code", c_uint32, 10),
2901 ("must_be_zero", c_uint32, 4),
2902 ("payload_size", c_uint32, 2),
2903 ("reserved0", c_uint32, 16),
2904 ("data", c_uint32, 32),
2905 ]
2906 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_BASE1 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2907 def get_cmd_code(self): return cmd_code
2908 def set_cmd_code(self, value): cmd_code = value
2909 def get_data(self): return data
2910 def set_data(self, value): data = value
2911 def get_payload_size(self): return payload_size
2912 def set_payload_size(self, value): payload_size = value
2913
2914class npu_set_ifm_base2_t(Structure):
2915 _fields_ = [
2916 ("cmd_code", c_uint32, 10),
2917 ("must_be_zero", c_uint32, 4),
2918 ("payload_size", c_uint32, 2),
2919 ("reserved0", c_uint32, 16),
2920 ("data", c_uint32, 32),
2921 ]
2922 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_BASE2 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2923 def get_cmd_code(self): return cmd_code
2924 def set_cmd_code(self, value): cmd_code = value
2925 def get_data(self): return data
2926 def set_data(self, value): data = value
2927 def get_payload_size(self): return payload_size
2928 def set_payload_size(self, value): payload_size = value
2929
2930class npu_set_ifm_base3_t(Structure):
2931 _fields_ = [
2932 ("cmd_code", c_uint32, 10),
2933 ("must_be_zero", c_uint32, 4),
2934 ("payload_size", c_uint32, 2),
2935 ("reserved0", c_uint32, 16),
2936 ("data", c_uint32, 32),
2937 ]
2938 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_BASE3 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2939 def get_cmd_code(self): return cmd_code
2940 def set_cmd_code(self, value): cmd_code = value
2941 def get_data(self): return data
2942 def set_data(self, value): data = value
2943 def get_payload_size(self): return payload_size
2944 def set_payload_size(self, value): payload_size = value
2945
2946class npu_set_ifm_stride_x_t(Structure):
2947 _fields_ = [
2948 ("cmd_code", c_uint32, 10),
2949 ("must_be_zero", c_uint32, 4),
2950 ("payload_size", c_uint32, 2),
2951 ("reserved0", c_uint32, 16),
2952 ("data", c_uint32, 32),
2953 ]
2954 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_STRIDE_X and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2955 def get_cmd_code(self): return cmd_code
2956 def set_cmd_code(self, value): cmd_code = value
2957 def get_data(self): return data
2958 def set_data(self, value): data = value
2959 def get_payload_size(self): return payload_size
2960 def set_payload_size(self, value): payload_size = value
2961
2962class npu_set_ifm_stride_y_t(Structure):
2963 _fields_ = [
2964 ("cmd_code", c_uint32, 10),
2965 ("must_be_zero", c_uint32, 4),
2966 ("payload_size", c_uint32, 2),
2967 ("reserved0", c_uint32, 16),
2968 ("data", c_uint32, 32),
2969 ]
2970 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_STRIDE_Y and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2971 def get_cmd_code(self): return cmd_code
2972 def set_cmd_code(self, value): cmd_code = value
2973 def get_data(self): return data
2974 def set_data(self, value): data = value
2975 def get_payload_size(self): return payload_size
2976 def set_payload_size(self, value): payload_size = value
2977
2978class npu_set_ifm_stride_c_t(Structure):
2979 _fields_ = [
2980 ("cmd_code", c_uint32, 10),
2981 ("must_be_zero", c_uint32, 4),
2982 ("payload_size", c_uint32, 2),
2983 ("reserved0", c_uint32, 16),
2984 ("data", c_uint32, 32),
2985 ]
2986 def valid(self): return cmd_code==cmd1.NPU_SET_IFM_STRIDE_C and must_be_zero==0 and payload_size>=1 and payload_size<=2;
2987 def get_cmd_code(self): return cmd_code
2988 def set_cmd_code(self, value): cmd_code = value
2989 def get_data(self): return data
2990 def set_data(self, value): data = value
2991 def get_payload_size(self): return payload_size
2992 def set_payload_size(self, value): payload_size = value
2993
2994class npu_set_ofm_base0_t(Structure):
2995 _fields_ = [
2996 ("cmd_code", c_uint32, 10),
2997 ("must_be_zero", c_uint32, 4),
2998 ("payload_size", c_uint32, 2),
2999 ("reserved0", c_uint32, 16),
3000 ("data", c_uint32, 32),
3001 ]
3002 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_BASE0 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3003 def get_cmd_code(self): return cmd_code
3004 def set_cmd_code(self, value): cmd_code = value
3005 def get_data(self): return data
3006 def set_data(self, value): data = value
3007 def get_payload_size(self): return payload_size
3008 def set_payload_size(self, value): payload_size = value
3009
3010class npu_set_ofm_base1_t(Structure):
3011 _fields_ = [
3012 ("cmd_code", c_uint32, 10),
3013 ("must_be_zero", c_uint32, 4),
3014 ("payload_size", c_uint32, 2),
3015 ("reserved0", c_uint32, 16),
3016 ("data", c_uint32, 32),
3017 ]
3018 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_BASE1 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3019 def get_cmd_code(self): return cmd_code
3020 def set_cmd_code(self, value): cmd_code = value
3021 def get_data(self): return data
3022 def set_data(self, value): data = value
3023 def get_payload_size(self): return payload_size
3024 def set_payload_size(self, value): payload_size = value
3025
3026class npu_set_ofm_base2_t(Structure):
3027 _fields_ = [
3028 ("cmd_code", c_uint32, 10),
3029 ("must_be_zero", c_uint32, 4),
3030 ("payload_size", c_uint32, 2),
3031 ("reserved0", c_uint32, 16),
3032 ("data", c_uint32, 32),
3033 ]
3034 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_BASE2 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3035 def get_cmd_code(self): return cmd_code
3036 def set_cmd_code(self, value): cmd_code = value
3037 def get_data(self): return data
3038 def set_data(self, value): data = value
3039 def get_payload_size(self): return payload_size
3040 def set_payload_size(self, value): payload_size = value
3041
3042class npu_set_ofm_base3_t(Structure):
3043 _fields_ = [
3044 ("cmd_code", c_uint32, 10),
3045 ("must_be_zero", c_uint32, 4),
3046 ("payload_size", c_uint32, 2),
3047 ("reserved0", c_uint32, 16),
3048 ("data", c_uint32, 32),
3049 ]
3050 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_BASE3 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3051 def get_cmd_code(self): return cmd_code
3052 def set_cmd_code(self, value): cmd_code = value
3053 def get_data(self): return data
3054 def set_data(self, value): data = value
3055 def get_payload_size(self): return payload_size
3056 def set_payload_size(self, value): payload_size = value
3057
3058class npu_set_ofm_stride_x_t(Structure):
3059 _fields_ = [
3060 ("cmd_code", c_uint32, 10),
3061 ("must_be_zero", c_uint32, 4),
3062 ("payload_size", c_uint32, 2),
3063 ("reserved0", c_uint32, 16),
3064 ("data", c_uint32, 32),
3065 ]
3066 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_STRIDE_X and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3067 def get_cmd_code(self): return cmd_code
3068 def set_cmd_code(self, value): cmd_code = value
3069 def get_data(self): return data
3070 def set_data(self, value): data = value
3071 def get_payload_size(self): return payload_size
3072 def set_payload_size(self, value): payload_size = value
3073
3074class npu_set_ofm_stride_y_t(Structure):
3075 _fields_ = [
3076 ("cmd_code", c_uint32, 10),
3077 ("must_be_zero", c_uint32, 4),
3078 ("payload_size", c_uint32, 2),
3079 ("reserved0", c_uint32, 16),
3080 ("data", c_uint32, 32),
3081 ]
3082 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_STRIDE_Y and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3083 def get_cmd_code(self): return cmd_code
3084 def set_cmd_code(self, value): cmd_code = value
3085 def get_data(self): return data
3086 def set_data(self, value): data = value
3087 def get_payload_size(self): return payload_size
3088 def set_payload_size(self, value): payload_size = value
3089
3090class npu_set_ofm_stride_c_t(Structure):
3091 _fields_ = [
3092 ("cmd_code", c_uint32, 10),
3093 ("must_be_zero", c_uint32, 4),
3094 ("payload_size", c_uint32, 2),
3095 ("reserved0", c_uint32, 16),
3096 ("data", c_uint32, 32),
3097 ]
3098 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_STRIDE_C and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3099 def get_cmd_code(self): return cmd_code
3100 def set_cmd_code(self, value): cmd_code = value
3101 def get_data(self): return data
3102 def set_data(self, value): data = value
3103 def get_payload_size(self): return payload_size
3104 def set_payload_size(self, value): payload_size = value
3105
3106class npu_set_weight_base_t(Structure):
3107 _fields_ = [
3108 ("cmd_code", c_uint32, 10),
3109 ("must_be_zero", c_uint32, 4),
3110 ("payload_size", c_uint32, 2),
3111 ("reserved0", c_uint32, 16),
3112 ("data", c_uint32, 32),
3113 ]
3114 def valid(self): return cmd_code==cmd1.NPU_SET_WEIGHT_BASE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3115 def get_cmd_code(self): return cmd_code
3116 def set_cmd_code(self, value): cmd_code = value
3117 def get_data(self): return data
3118 def set_data(self, value): data = value
3119 def get_payload_size(self): return payload_size
3120 def set_payload_size(self, value): payload_size = value
3121
3122class npu_set_weight_length_t(Structure):
3123 _fields_ = [
3124 ("cmd_code", c_uint32, 10),
3125 ("must_be_zero", c_uint32, 4),
3126 ("payload_size", c_uint32, 2),
3127 ("reserved0", c_uint32, 16),
3128 ("data", c_uint32, 32),
3129 ]
3130 def valid(self): return cmd_code==cmd1.NPU_SET_WEIGHT_LENGTH and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3131 def get_cmd_code(self): return cmd_code
3132 def set_cmd_code(self, value): cmd_code = value
3133 def get_data(self): return data
3134 def set_data(self, value): data = value
3135 def get_payload_size(self): return payload_size
3136 def set_payload_size(self, value): payload_size = value
3137
3138class npu_set_scale_base_t(Structure):
3139 _fields_ = [
3140 ("cmd_code", c_uint32, 10),
3141 ("must_be_zero", c_uint32, 4),
3142 ("payload_size", c_uint32, 2),
3143 ("reserved0", c_uint32, 16),
3144 ("data", c_uint32, 32),
3145 ]
3146 def valid(self): return cmd_code==cmd1.NPU_SET_SCALE_BASE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3147 def get_cmd_code(self): return cmd_code
3148 def set_cmd_code(self, value): cmd_code = value
3149 def get_data(self): return data
3150 def set_data(self, value): data = value
3151 def get_payload_size(self): return payload_size
3152 def set_payload_size(self, value): payload_size = value
3153
3154class npu_set_scale_length_t(Structure):
3155 _fields_ = [
3156 ("cmd_code", c_uint32, 10),
3157 ("must_be_zero", c_uint32, 4),
3158 ("payload_size", c_uint32, 2),
3159 ("reserved0", c_uint32, 16),
3160 ("data", c_uint32, 32),
3161 ]
3162 def valid(self): return cmd_code==cmd1.NPU_SET_SCALE_LENGTH and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3163 def get_cmd_code(self): return cmd_code
3164 def set_cmd_code(self, value): cmd_code = value
3165 def get_data(self): return data
3166 def set_data(self, value): data = value
3167 def get_payload_size(self): return payload_size
3168 def set_payload_size(self, value): payload_size = value
3169
3170class npu_set_ofm_scale_t(Structure):
3171 _fields_ = [
3172 ("cmd_code", c_uint32, 10),
3173 ("must_be_zero", c_uint32, 4),
3174 ("payload_size", c_uint32, 2),
3175 ("shift", c_uint32, 16),
3176 ("data", c_uint32, 32),
3177 ]
3178 def valid(self): return cmd_code==cmd1.NPU_SET_OFM_SCALE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3179 def get_cmd_code(self): return cmd_code
3180 def set_cmd_code(self, value): cmd_code = value
3181 def get_data(self): return data
3182 def set_data(self, value): data = value
3183 def get_payload_size(self): return payload_size
3184 def set_payload_size(self, value): payload_size = value
3185 def get_shift(self): return shift
3186 def set_shift(self, value): shift = value
3187
3188class npu_set_opa_scale_t(Structure):
3189 _fields_ = [
3190 ("cmd_code", c_uint32, 10),
3191 ("must_be_zero", c_uint32, 4),
3192 ("payload_size", c_uint32, 2),
3193 ("shift", c_uint32, 16),
3194 ("data", c_uint32, 32),
3195 ]
3196 def valid(self): return cmd_code==cmd1.NPU_SET_OPA_SCALE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3197 def get_cmd_code(self): return cmd_code
3198 def set_cmd_code(self, value): cmd_code = value
3199 def get_data(self): return data
3200 def set_data(self, value): data = value
3201 def get_payload_size(self): return payload_size
3202 def set_payload_size(self, value): payload_size = value
3203 def get_shift(self): return shift
3204 def set_shift(self, value): shift = value
3205
3206class npu_set_opb_scale_t(Structure):
3207 _fields_ = [
3208 ("cmd_code", c_uint32, 10),
3209 ("must_be_zero", c_uint32, 4),
3210 ("payload_size", c_uint32, 2),
3211 ("reserved0", c_uint32, 16),
3212 ("data", c_uint32, 32),
3213 ]
3214 def valid(self): return cmd_code==cmd1.NPU_SET_OPB_SCALE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3215 def get_cmd_code(self): return cmd_code
3216 def set_cmd_code(self, value): cmd_code = value
3217 def get_data(self): return data
3218 def set_data(self, value): data = value
3219 def get_payload_size(self): return payload_size
3220 def set_payload_size(self, value): payload_size = value
3221
3222class npu_set_dma0_src_t(Structure):
3223 _fields_ = [
3224 ("cmd_code", c_uint32, 10),
3225 ("must_be_zero", c_uint32, 4),
3226 ("payload_size", c_uint32, 2),
3227 ("reserved0", c_uint32, 16),
3228 ("data", c_uint32, 32),
3229 ]
3230 def valid(self): return cmd_code==cmd1.NPU_SET_DMA0_SRC and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3231 def get_cmd_code(self): return cmd_code
3232 def set_cmd_code(self, value): cmd_code = value
3233 def get_data(self): return data
3234 def set_data(self, value): data = value
3235 def get_payload_size(self): return payload_size
3236 def set_payload_size(self, value): payload_size = value
3237
3238class npu_set_dma0_dst_t(Structure):
3239 _fields_ = [
3240 ("cmd_code", c_uint32, 10),
3241 ("must_be_zero", c_uint32, 4),
3242 ("payload_size", c_uint32, 2),
3243 ("reserved0", c_uint32, 16),
3244 ("data", c_uint32, 32),
3245 ]
3246 def valid(self): return cmd_code==cmd1.NPU_SET_DMA0_DST and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3247 def get_cmd_code(self): return cmd_code
3248 def set_cmd_code(self, value): cmd_code = value
3249 def get_data(self): return data
3250 def set_data(self, value): data = value
3251 def get_payload_size(self): return payload_size
3252 def set_payload_size(self, value): payload_size = value
3253
3254class npu_set_dma0_len_t(Structure):
3255 _fields_ = [
3256 ("cmd_code", c_uint32, 10),
3257 ("must_be_zero", c_uint32, 4),
3258 ("payload_size", c_uint32, 2),
3259 ("reserved0", c_uint32, 16),
3260 ("data", c_uint32, 32),
3261 ]
3262 def valid(self): return cmd_code==cmd1.NPU_SET_DMA0_LEN and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3263 def get_cmd_code(self): return cmd_code
3264 def set_cmd_code(self, value): cmd_code = value
3265 def get_data(self): return data
3266 def set_data(self, value): data = value
3267 def get_payload_size(self): return payload_size
3268 def set_payload_size(self, value): payload_size = value
3269
3270class npu_set_dma0_skip0_t(Structure):
3271 _fields_ = [
3272 ("cmd_code", c_uint32, 10),
3273 ("must_be_zero", c_uint32, 4),
3274 ("payload_size", c_uint32, 2),
3275 ("param", c_uint32, 16),
3276 ("data", c_uint32, 32),
3277 ]
3278 def valid(self): return cmd_code==cmd1.NPU_SET_DMA0_SKIP0 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3279 def get_cmd_code(self): return cmd_code
3280 def set_cmd_code(self, value): cmd_code = value
3281 def get_data(self): return data
3282 def set_data(self, value): data = value
3283 def get_param(self): return param
3284 def set_param(self, value): param = value
3285 def get_payload_size(self): return payload_size
3286 def set_payload_size(self, value): payload_size = value
3287
3288class npu_set_dma0_skip1_t(Structure):
3289 _fields_ = [
3290 ("cmd_code", c_uint32, 10),
3291 ("must_be_zero", c_uint32, 4),
3292 ("payload_size", c_uint32, 2),
3293 ("param", c_uint32, 16),
3294 ("data", c_uint32, 32),
3295 ]
3296 def valid(self): return cmd_code==cmd1.NPU_SET_DMA0_SKIP1 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3297 def get_cmd_code(self): return cmd_code
3298 def set_cmd_code(self, value): cmd_code = value
3299 def get_data(self): return data
3300 def set_data(self, value): data = value
3301 def get_param(self): return param
3302 def set_param(self, value): param = value
3303 def get_payload_size(self): return payload_size
3304 def set_payload_size(self, value): payload_size = value
3305
3306class npu_set_ifm2_base0_t(Structure):
3307 _fields_ = [
3308 ("cmd_code", c_uint32, 10),
3309 ("must_be_zero", c_uint32, 4),
3310 ("payload_size", c_uint32, 2),
3311 ("reserved0", c_uint32, 16),
3312 ("data", c_uint32, 32),
3313 ]
3314 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_BASE0 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3315 def get_cmd_code(self): return cmd_code
3316 def set_cmd_code(self, value): cmd_code = value
3317 def get_data(self): return data
3318 def set_data(self, value): data = value
3319 def get_payload_size(self): return payload_size
3320 def set_payload_size(self, value): payload_size = value
3321
3322class npu_set_ifm2_base1_t(Structure):
3323 _fields_ = [
3324 ("cmd_code", c_uint32, 10),
3325 ("must_be_zero", c_uint32, 4),
3326 ("payload_size", c_uint32, 2),
3327 ("reserved0", c_uint32, 16),
3328 ("data", c_uint32, 32),
3329 ]
3330 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_BASE1 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3331 def get_cmd_code(self): return cmd_code
3332 def set_cmd_code(self, value): cmd_code = value
3333 def get_data(self): return data
3334 def set_data(self, value): data = value
3335 def get_payload_size(self): return payload_size
3336 def set_payload_size(self, value): payload_size = value
3337
3338class npu_set_ifm2_base2_t(Structure):
3339 _fields_ = [
3340 ("cmd_code", c_uint32, 10),
3341 ("must_be_zero", c_uint32, 4),
3342 ("payload_size", c_uint32, 2),
3343 ("reserved0", c_uint32, 16),
3344 ("data", c_uint32, 32),
3345 ]
3346 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_BASE2 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3347 def get_cmd_code(self): return cmd_code
3348 def set_cmd_code(self, value): cmd_code = value
3349 def get_data(self): return data
3350 def set_data(self, value): data = value
3351 def get_payload_size(self): return payload_size
3352 def set_payload_size(self, value): payload_size = value
3353
3354class npu_set_ifm2_base3_t(Structure):
3355 _fields_ = [
3356 ("cmd_code", c_uint32, 10),
3357 ("must_be_zero", c_uint32, 4),
3358 ("payload_size", c_uint32, 2),
3359 ("reserved0", c_uint32, 16),
3360 ("data", c_uint32, 32),
3361 ]
3362 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_BASE3 and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3363 def get_cmd_code(self): return cmd_code
3364 def set_cmd_code(self, value): cmd_code = value
3365 def get_data(self): return data
3366 def set_data(self, value): data = value
3367 def get_payload_size(self): return payload_size
3368 def set_payload_size(self, value): payload_size = value
3369
3370class npu_set_ifm2_stride_x_t(Structure):
3371 _fields_ = [
3372 ("cmd_code", c_uint32, 10),
3373 ("must_be_zero", c_uint32, 4),
3374 ("payload_size", c_uint32, 2),
3375 ("reserved0", c_uint32, 16),
3376 ("data", c_uint32, 32),
3377 ]
3378 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_STRIDE_X and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3379 def get_cmd_code(self): return cmd_code
3380 def set_cmd_code(self, value): cmd_code = value
3381 def get_data(self): return data
3382 def set_data(self, value): data = value
3383 def get_payload_size(self): return payload_size
3384 def set_payload_size(self, value): payload_size = value
3385
3386class npu_set_ifm2_stride_y_t(Structure):
3387 _fields_ = [
3388 ("cmd_code", c_uint32, 10),
3389 ("must_be_zero", c_uint32, 4),
3390 ("payload_size", c_uint32, 2),
3391 ("reserved0", c_uint32, 16),
3392 ("data", c_uint32, 32),
3393 ]
3394 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_STRIDE_Y and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3395 def get_cmd_code(self): return cmd_code
3396 def set_cmd_code(self, value): cmd_code = value
3397 def get_data(self): return data
3398 def set_data(self, value): data = value
3399 def get_payload_size(self): return payload_size
3400 def set_payload_size(self, value): payload_size = value
3401
3402class npu_set_ifm2_stride_c_t(Structure):
3403 _fields_ = [
3404 ("cmd_code", c_uint32, 10),
3405 ("must_be_zero", c_uint32, 4),
3406 ("payload_size", c_uint32, 2),
3407 ("reserved0", c_uint32, 16),
3408 ("data", c_uint32, 32),
3409 ]
3410 def valid(self): return cmd_code==cmd1.NPU_SET_IFM2_STRIDE_C and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3411 def get_cmd_code(self): return cmd_code
3412 def set_cmd_code(self, value): cmd_code = value
3413 def get_data(self): return data
3414 def set_data(self, value): data = value
3415 def get_payload_size(self): return payload_size
3416 def set_payload_size(self, value): payload_size = value
3417
3418class npu_set_weight1_base_t(Structure):
3419 _fields_ = [
3420 ("cmd_code", c_uint32, 10),
3421 ("must_be_zero", c_uint32, 4),
3422 ("payload_size", c_uint32, 2),
3423 ("param", c_uint32, 16),
3424 ("data", c_uint32, 32),
3425 ]
3426 def valid(self): return cmd_code==cmd1.NPU_SET_WEIGHT1_BASE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3427 def get_cmd_code(self): return cmd_code
3428 def set_cmd_code(self, value): cmd_code = value
3429 def get_data(self): return data
3430 def set_data(self, value): data = value
3431 def get_param(self): return param
3432 def set_param(self, value): param = value
3433 def get_payload_size(self): return payload_size
3434 def set_payload_size(self, value): payload_size = value
3435
3436class npu_set_weight1_length_t(Structure):
3437 _fields_ = [
3438 ("cmd_code", c_uint32, 10),
3439 ("must_be_zero", c_uint32, 4),
3440 ("payload_size", c_uint32, 2),
3441 ("reserved0", c_uint32, 16),
3442 ("data", c_uint32, 32),
3443 ]
3444 def valid(self): return cmd_code==cmd1.NPU_SET_WEIGHT1_LENGTH and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3445 def get_cmd_code(self): return cmd_code
3446 def set_cmd_code(self, value): cmd_code = value
3447 def get_data(self): return data
3448 def set_data(self, value): data = value
3449 def get_payload_size(self): return payload_size
3450 def set_payload_size(self, value): payload_size = value
3451
3452class npu_set_scale1_base_t(Structure):
3453 _fields_ = [
3454 ("cmd_code", c_uint32, 10),
3455 ("must_be_zero", c_uint32, 4),
3456 ("payload_size", c_uint32, 2),
3457 ("param", c_uint32, 16),
3458 ("data", c_uint32, 32),
3459 ]
3460 def valid(self): return cmd_code==cmd1.NPU_SET_SCALE1_BASE and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3461 def get_cmd_code(self): return cmd_code
3462 def set_cmd_code(self, value): cmd_code = value
3463 def get_data(self): return data
3464 def set_data(self, value): data = value
3465 def get_param(self): return param
3466 def set_param(self, value): param = value
3467 def get_payload_size(self): return payload_size
3468 def set_payload_size(self, value): payload_size = value
3469
3470class npu_set_scale1_length_t(Structure):
3471 _fields_ = [
3472 ("cmd_code", c_uint32, 10),
3473 ("must_be_zero", c_uint32, 4),
3474 ("payload_size", c_uint32, 2),
3475 ("reserved0", c_uint32, 16),
3476 ("data", c_uint32, 32),
3477 ]
3478 def valid(self): return cmd_code==cmd1.NPU_SET_SCALE1_LENGTH and must_be_zero==0 and payload_size>=1 and payload_size<=2;
3479 def get_cmd_code(self): return cmd_code
3480 def set_cmd_code(self, value): cmd_code = value
3481 def get_data(self): return data
3482 def set_data(self, value): data = value
3483 def get_payload_size(self): return payload_size
3484 def set_payload_size(self, value): payload_size = value
Diqing Zhongb7311702020-04-14 12:31:44 +02003485