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