Files
retroSoC/rtl/ip/multimedia/apu_define.svh
T
maksyuki 67281e224f feat: add APU-P3 tests and enhancements for RTL and microcode integration
- Introduced new test cases for APU-P3 loader, control store, and sequencer functionality in .
- Enhanced the APU ring scheduler and stream router testbenches to validate reset timing and state transitions.
- Added comprehensive tests for APU microcode tools, ensuring assembler and interpreter consistency.
- Updated register parity tests to synchronize APU RTL and SDK ABI across P3.
- Expanded formal filelist generation to include APU loader and sequencer.
- Improved SBY configuration for formal verification with Bitwuzla.
2026-09-04 11:56:05 +08:00

462 lines
21 KiB
Systemverilog

// Copyright (c) 2026 Yuchi Miao <miaoyuchi@ict.ac.cn>
// retroSoC is licensed under Mulan PSL v2.
`ifndef RETROSOC_APU_DEFINE_SVH
`define RETROSOC_APU_DEFINE_SVH
// verilog_format: off -- keep the handwritten hardware/software ABI column aligned
`define APB4_APU__IP_ID 12'h000
`define APB4_APU__IP_VERSION 12'h004
`define APB4_APU__CAPABILITY0 12'h008
`define APB4_APU__CAPABILITY1 12'h00c
`define APB4_APU__COMMAND 12'h010
`define APB4_APU__STATUS 12'h014
`define APB4_APU__IRQ_STATE 12'h018
`define APB4_APU__IRQ_ENABLE 12'h01c
`define APB4_APU__IRQ_TEST 12'h020
`define APB4_APU__ERROR_STATUS 12'h024
`define APB4_APU__ERROR_ADDRESS 12'h028
`define APB4_APU__ERROR_DETAIL 12'h02c
`define APB4_APU__SEQUENCER_TIMEOUT 12'h030
`define APB4_APU__STREAM_ROUTE 12'h034
`define APB4_APU__STREAM_STATUS 12'h038
`define APB4_APU__OWNER_STATUS 12'h03c
`define APB4_APU__READ_BASE 12'h040
`define APB4_APU__READ_LIMIT 12'h044
`define APB4_APU__WRITE_BASE 12'h048
`define APB4_APU__WRITE_LIMIT 12'h04c
`define APB4_APU__DMA_TIMEOUT 12'h050
`define APB4_APU__ABI_DIGEST 12'h054
`define APB4_APU__SEQUENCER_STATUS 12'h058
`define APB4_APU__SEQUENCER_RETIRED 12'h05c
`define APB4_APU__STREAM_WATERMARK 12'h060
`define APB4_APU__MC_IMAGE_ADDRESS 12'h080
`define APB4_APU__MC_IMAGE_SIZE 12'h084
`define APB4_APU__MC_EXPECTED_CRC 12'h088
`define APB4_APU__MC_STATUS 12'h08c
`define APB4_APU__MC_ABI 12'h090
`define APB4_APU__MC_BUILD_ID_LO 12'h094
`define APB4_APU__MC_BUILD_ID_HI 12'h098
`define APB4_APU__MC_LOCK 12'h09c
`define APB4_APU__MC_ACTUAL_CRC 12'h0a0
`define APB4_APU__MC_LOAD_COUNT 12'h0a4
`define APB4_APU__JOB_CONTROL 12'h100
`define APB4_APU__JOB_INPUT_ADDRESS 12'h104
`define APB4_APU__JOB_INPUT_LENGTH 12'h108
`define APB4_APU__JOB_OUTPUT_ADDRESS 12'h10c
`define APB4_APU__JOB_OUTPUT_CAPACITY 12'h110
`define APB4_APU__JOB_INPUT_CONFIG 12'h114
`define APB4_APU__JOB_OUTPUT_CONFIG 12'h118
`define APB4_APU__JOB_FLAGS 12'h11c
`define APB4_APU__JOB_STATUS 12'h120
`define APB4_APU__JOB_INPUT_USED 12'h124
`define APB4_APU__JOB_OUTPUT_BYTES 12'h128
`define APB4_APU__JOB_FRAMES 12'h12c
`define APB4_APU__JOB_SOURCE_INFO 12'h130
`define APB4_APU__JOB_CYCLES 12'h134
`define APB4_APU__JOB_DETAIL 12'h138
`define APB4_APU__RING_BASE 12'h180
`define APB4_APU__RING_SIZE 12'h184
`define APB4_APU__RING_HEAD 12'h188
`define APB4_APU__RING_TAIL 12'h18c
`define APB4_APU__RING_CONTROL 12'h190
`define APB4_APU__RING_STATUS 12'h194
`define APB4_APU__RING_COMPLETED 12'h198
`define APB4_APU__RING_COALESCE 12'h19c
`define APB4_APU__RING_DOORBELL 12'h1a0
`define APB4_APU__KWS_MODEL_ADDRESS 12'h200
`define APB4_APU__KWS_MODEL_SIZE 12'h204
`define APB4_APU__KWS_MODEL_EXPECTED_CRC 12'h208
`define APB4_APU__KWS_CONTROL 12'h20c
`define APB4_APU__KWS_CONFIG 12'h210
`define APB4_APU__KWS_STATUS 12'h214
`define APB4_APU__KWS_RESULT 12'h218
`define APB4_APU__KWS_TIMESTAMP_LO 12'h21c
`define APB4_APU__KWS_TIMESTAMP_HI 12'h220
`define APB4_APU__KWS_FRAME_COUNT 12'h224
`define APB4_APU__KWS_INFERENCE_COUNT 12'h228
`define APB4_APU__KWS_HIT_COUNT 12'h22c
`define APB4_APU__KWS_OVERRUN_COUNT 12'h230
`define APB4_APU__KWS_MODEL_STATUS 12'h234
`define APB4_APU__KWS_MODEL_ACTUAL_CRC 12'h238
`define APB4_APU__PERF_CONTROL 12'h300
`define APB4_APU__PERF_STATUS 12'h304
`define APB4_APU__PERF_ACTIVE_CYCLES_LO 12'h308
`define APB4_APU__PERF_ACTIVE_CYCLES_HI 12'h30c
`define APB4_APU__PERF_INPUT_BYTES_LO 12'h310
`define APB4_APU__PERF_INPUT_BYTES_HI 12'h314
`define APB4_APU__PERF_OUTPUT_BYTES_LO 12'h318
`define APB4_APU__PERF_OUTPUT_BYTES_HI 12'h31c
`define APB4_APU__PERF_DECODED_FRAMES_LO 12'h320
`define APB4_APU__PERF_DECODED_FRAMES_HI 12'h324
`define APB4_APU__PERF_DMA_READ_STALLS_LO 12'h328
`define APB4_APU__PERF_DMA_READ_STALLS_HI 12'h32c
`define APB4_APU__PERF_DMA_WRITE_STALLS_LO 12'h330
`define APB4_APU__PERF_DMA_WRITE_STALLS_HI 12'h334
`define APB4_APU__PERF_STREAM_STALLS_LO 12'h338
`define APB4_APU__PERF_STREAM_STALLS_HI 12'h33c
`define APB4_APU__PERF_SEQUENCER_INSTR_LO 12'h340
`define APB4_APU__PERF_SEQUENCER_INSTR_HI 12'h344
`define APB4_APU__PERF_KWS_CYCLES_LO 12'h348
`define APB4_APU__PERF_KWS_CYCLES_HI 12'h34c
`define APB4_APU__PERF_FAULTS_LO 12'h350
`define APB4_APU__PERF_FAULTS_HI 12'h354
`define APB4_APU__CAPABILITY0_WAV 0
`define APB4_APU__CAPABILITY0_MP3 1
`define APB4_APU__CAPABILITY0_FLAC 2
`define APB4_APU__CAPABILITY0_PRIVATE_DMA 3
`define APB4_APU__CAPABILITY0_RING 4
`define APB4_APU__CAPABILITY0_STREAMS 5
`define APB4_APU__CAPABILITY0_KWS 6
`define APB4_APU__CAPABILITY0_SEQUENCER 7
`define APB4_APU__CAPABILITY0_RESAMPLER 8
`define APB4_APU__CAPABILITY1_CONTROL_KIB 0
`define APB4_APU__CAPABILITY1_DATA_KIB 8
`define APB4_APU__CAPABILITY1_MAX_CHANNELS 16
`define APB4_APU__CAPABILITY1_MAX_RATE_KHZ 18
`define APB4_APU__COMMAND_START_DIRECT 0
`define APB4_APU__COMMAND_ABORT 1
`define APB4_APU__COMMAND_SOFT_RESET 2
`define APB4_APU__COMMAND_RING_KICK 3
`define APB4_APU__COMMAND_MICROCODE_LOAD 4
`define APB4_APU__COMMAND_MODEL_LOAD 5
`define APB4_APU__COMMAND_CLEAR_COUNTERS 6
`define APB4_APU__STATUS_MICROCODE_VALID 0
`define APB4_APU__STATUS_MODEL_VALID 1
`define APB4_APU__STATUS_BUSY 2
`define APB4_APU__STATUS_RING 3
`define APB4_APU__STATUS_DECODE 4
`define APB4_APU__STATUS_KWS_LISTENING 5
`define APB4_APU__STATUS_QUIESCED 6
`define APB4_APU__STATUS_ABORTING 7
`define APB4_APU__STATUS_IDLE 8
`define APB4_APU__STATUS_SEQUENCER_TRAPPED 9
`define APB4_APU__STREAM_STATUS_TX_ACTIVE 0
`define APB4_APU__STREAM_STATUS_RX_ACTIVE 1
`define APB4_APU__STREAM_STATUS_TX_EMPTY 2
`define APB4_APU__STREAM_STATUS_TX_FULL 3
`define APB4_APU__STREAM_STATUS_RX_EMPTY 4
`define APB4_APU__STREAM_STATUS_RX_FULL 5
`define APB4_APU__STREAM_STATUS_TX_UNDERRUN 6
`define APB4_APU__STREAM_STATUS_RX_OVERRUN 7
`define APB4_APU__STREAM_STATUS_TX_COUNT 8
`define APB4_APU__STREAM_STATUS_RX_COUNT 16
`define APB4_APU__STREAM_WATERMARK_RX_HIGH 0
`define APB4_APU__STREAM_WATERMARK_TX_LOW 8
`define APB4_APU__IRQ_DIRECT_DONE 0
`define APB4_APU__IRQ_RING_EVENT 1
`define APB4_APU__IRQ_KWS_HIT 2
`define APB4_APU__IRQ_MICROCODE_LOAD_DONE 3
`define APB4_APU__IRQ_MODEL_LOAD_DONE 4
`define APB4_APU__IRQ_ABORT_DONE 5
`define APB4_APU__IRQ_INPUT_WATERMARK 6
`define APB4_APU__IRQ_OUTPUT_WATERMARK 7
`define APB4_APU__IRQ_FIRST_ERROR 8
`define APB4_APU__IRQ_STREAM_XRUN 9
`define APB4_APU__IRQ_SEQUENCER_TRAP 10
`define APB4_APU__ERROR_VALID 0
`define APB4_APU__ERROR_CODE 1
`define APB4_APU__ERROR_STAGE 7
`define APB4_APU__ERROR_AXI_RESPONSE 11
`define APB4_APU__ERROR_DESCRIPTOR_INDEX 13
`define APB4_APU__ERROR_CODE_NONE 0
`define APB4_APU__ERROR_CODE_INVALID_CONFIG 1
`define APB4_APU__ERROR_CODE_INVALID_RING 2
`define APB4_APU__ERROR_CODE_UNSUPPORTED 3
`define APB4_APU__ERROR_CODE_MALFORMED 4
`define APB4_APU__ERROR_CODE_TRUNCATED 5
`define APB4_APU__ERROR_CODE_CODEC_CRC 6
`define APB4_APU__ERROR_CODE_DECODE 7
`define APB4_APU__ERROR_CODE_RECONSTRUCTION 8
`define APB4_APU__ERROR_CODE_MICROCODE 9
`define APB4_APU__ERROR_CODE_MICROCODE_CRC 10
`define APB4_APU__ERROR_CODE_SEQUENCER 11
`define APB4_APU__ERROR_CODE_KWS_MODEL 12
`define APB4_APU__ERROR_CODE_KWS_CRC 13
`define APB4_APU__ERROR_CODE_KWS_ARITHMETIC 14
`define APB4_APU__ERROR_CODE_AXI_READ 15
`define APB4_APU__ERROR_CODE_AXI_WRITE 16
`define APB4_APU__ERROR_CODE_DMA_TIMEOUT 17
`define APB4_APU__ERROR_CODE_STREAM_UNDERRUN 18
`define APB4_APU__ERROR_CODE_STREAM_OVERRUN 19
`define APB4_APU__ERROR_CODE_ABORT 20
`define APB4_APU__ERROR_CODE_RESOURCE_RESET 21
`define APB4_APU__ERROR_CODE_OVERFLOW 22
`define APB4_APU__ERROR_STAGE_APB 0
`define APB4_APU__ERROR_STAGE_LOADER 1
`define APB4_APU__ERROR_STAGE_RING 2
`define APB4_APU__ERROR_STAGE_DMA_READ 3
`define APB4_APU__ERROR_STAGE_BITSTREAM 4
`define APB4_APU__ERROR_STAGE_ENTROPY 5
`define APB4_APU__ERROR_STAGE_RECONSTRUCTION 6
`define APB4_APU__ERROR_STAGE_RESAMPLER 7
`define APB4_APU__ERROR_STAGE_DMA_WRITE 8
`define APB4_APU__ERROR_STAGE_KWS_FRONTEND 9
`define APB4_APU__ERROR_STAGE_KWS_INFERENCE 10
`define APB4_APU__ERROR_STAGE_LIFECYCLE 11
`define APB4_APU__OWNER_STATUS_OWNER 0
`define APB4_APU__OWNER_STATUS_LOCK 8
`define APB4_APU__OWNER_STATUS_QUIESCE 9
`define APB4_APU__OWNER_STATUS_RESET 10
`define APB4_APU__JOB_STATUS_BUSY 0
`define APB4_APU__JOB_STATUS_DONE 1
`define APB4_APU__JOB_STATUS_ERROR 2
`define APB4_APU__JOB_STATUS_ABORTED 3
`define APB4_APU__JOB_STATUS_DIRECT_ACTIVE 4
`define APB4_APU__JOB_STATUS_INPUT_PENDING 5
`define APB4_APU__JOB_STATUS_OUTPUT_PENDING 6
`define APB4_APU__JOB_STATUS_WRITEBACK_PENDING 7
`define APB4_APU__JOB_STATUS_ERROR_CODE 8
`define APB4_APU__JOB_STATUS_STAGE 14
`define APB4_APU__JOB_STATUS_AXI_RESPONSE 18
`define APB4_APU__RING_STATUS_ACTIVE 0
`define APB4_APU__RING_STATUS_STALLED_UNOWNED 1
`define APB4_APU__RING_STATUS_EMPTY 2
`define APB4_APU__RING_STATUS_ERROR 3
`define APB4_APU__RING_STATUS_WRAPPED 4
`define APB4_APU__RING_STATUS_COALESCE_PENDING 5
`define APB4_APU__RING_STATUS_WRITEBACK_PENDING 6
`define APB4_APU__RING_STATUS_STOPPED_ON_ERROR 7
`define APB4_APU__RING_STATUS_PENDING_COUNT 8
`define APB4_APU__RING_STATUS_LAST_INDEX 16
`define APB4_APU__DESCRIPTOR_WORDS 32
`define APB4_APU__DESCRIPTOR_BYTES 128
`define APB4_APU__DESCRIPTOR_ALIGNMENT 128
`define APB4_APU__DESCRIPTOR_CONTROL 0
`define APB4_APU__DESCRIPTOR_RESULT_STATUS 1
`define APB4_APU__DESCRIPTOR_INPUT_ADDRESS 2
`define APB4_APU__DESCRIPTOR_INPUT_LENGTH 3
`define APB4_APU__DESCRIPTOR_OUTPUT_ADDRESS 4
`define APB4_APU__DESCRIPTOR_OUTPUT_CAPACITY 5
`define APB4_APU__DESCRIPTOR_INPUT_CONFIG 6
`define APB4_APU__DESCRIPTOR_OUTPUT_CONFIG 7
`define APB4_APU__DESCRIPTOR_JOB_FLAGS 8
`define APB4_APU__DESCRIPTOR_KWS_CONFIG 9
`define APB4_APU__DESCRIPTOR_RESULT_INPUT_USED 10
`define APB4_APU__DESCRIPTOR_RESULT_OUTPUT_BYTES 11
`define APB4_APU__DESCRIPTOR_RESULT_FRAMES 12
`define APB4_APU__DESCRIPTOR_RESULT_SOURCE_INFO 13
`define APB4_APU__DESCRIPTOR_RESULT_CYCLES 14
`define APB4_APU__DESCRIPTOR_RESULT_DETAIL 15
`define APB4_APU__DESCRIPTOR_COOKIE_LO 16
`define APB4_APU__DESCRIPTOR_COOKIE_HI 17
`define APB4_APU__DESCRIPTOR_START_TIMESTAMP_LO 18
`define APB4_APU__DESCRIPTOR_START_TIMESTAMP_HI 19
`define APB4_APU__DESCRIPTOR_FINISH_TIMESTAMP_LO 20
`define APB4_APU__DESCRIPTOR_FINISH_TIMESTAMP_HI 21
`define APB4_APU__DESCRIPTOR_KWS_RESULT 22
`define APB4_APU__DESCRIPTOR_MICROCODE_BUILD_ID 23
`define APB4_APU__DESCRIPTOR_CONTROL_OPERATION 0
`define APB4_APU__DESCRIPTOR_CONTROL_INPUT_FORMAT 4
`define APB4_APU__DESCRIPTOR_CONTROL_OUTPUT_MODE 8
`define APB4_APU__DESCRIPTOR_CONTROL_DOWNMIX 10
`define APB4_APU__DESCRIPTOR_CONTROL_RESAMPLE 11
`define APB4_APU__DESCRIPTOR_CONTROL_IOC 30
`define APB4_APU__DESCRIPTOR_CONTROL_OWN 31
`define APB4_APU__DESCRIPTOR_STATUS_DONE 0
`define APB4_APU__DESCRIPTOR_STATUS_ERROR 1
`define APB4_APU__DESCRIPTOR_STATUS_ABORTED 2
`define APB4_APU__DESCRIPTOR_STATUS_ERROR_CODE 3
`define APB4_APU__DESCRIPTOR_STATUS_STAGE 9
`define APB4_APU__DESCRIPTOR_STATUS_AXI_RESPONSE 13
`define APB4_APU__PERF_CONTROL_ENABLE 0
`define APB4_APU__PERF_CONTROL_CLEAR 1
`define APB4_APU__PERF_CONTROL_SNAPSHOT 2
`define APB4_APU__PERF_STATUS_SNAPSHOT_VALID 0
`define APB4_APU__MC_STATUS_BUSY 0
`define APB4_APU__MC_STATUS_VALID 1
`define APB4_APU__MC_STATUS_HEADER_ERROR 2
`define APB4_APU__MC_STATUS_RANGE_ERROR 3
`define APB4_APU__MC_STATUS_CONTROL_ERROR 4
`define APB4_APU__MC_STATUS_TABLE_ERROR 5
`define APB4_APU__MC_STATUS_CRC_ERROR 6
`define APB4_APU__MC_STATUS_CAPABILITY_ERROR 7
`define APB4_APU__MC_LOCK_LOCKED 0
`define APB4_APU__SEQUENCER_STATUS_PC 0
`define APB4_APU__SEQUENCER_STATUS_CLASS 11
`define APB4_APU__SEQUENCER_STATUS_OPCODE 15
`define APB4_APU__SEQUENCER_STATUS_WAIT 19
`define APB4_APU__SEQUENCER_STATUS_LOOP 20
`define APB4_APU__APUMC_MAGIC 32'h4150_4d43
`define APB4_APU__APUMC_ABI 32'h0001_0000
`define APB4_APU__APUMC_HEADER_BYTES 64
`define APB4_APU__APUMC_HEADER_WORDS 16
`define APB4_APU__APUMC_ENTRY_BYTES 32
`define APB4_APU__APUMC_ENTRY_WORDS 8
`define APB4_APU__APUMC_ENTRY_COUNT 3
`define APB4_APU__APUMC_MAX_INSTRUCTIONS 2048
`define APB4_APU__APUMC_HEADER_MAGIC 0
`define APB4_APU__APUMC_HEADER_ABI 1
`define APB4_APU__APUMC_HEADER_TOTAL_BYTES 2
`define APB4_APU__APUMC_HEADER_INSTRUCTIONS 3
`define APB4_APU__APUMC_HEADER_INSTR_OFFSET 4
`define APB4_APU__APUMC_HEADER_TABLE_OFFSET 5
`define APB4_APU__APUMC_HEADER_TABLE_BYTES 6
`define APB4_APU__APUMC_HEADER_ENTRY_OFFSET 7
`define APB4_APU__APUMC_HEADER_ENTRY_COUNT 8
`define APB4_APU__APUMC_HEADER_PRIMITIVES 9
`define APB4_APU__APUMC_HEADER_SCRATCH_END 10
`define APB4_APU__APUMC_HEADER_CRC 11
`define APB4_APU__APUMC_HEADER_BUILD_LO 12
`define APB4_APU__APUMC_HEADER_BUILD_HI 13
`define APB4_APU__APUMC_ENTRY_FORMAT_PC 0
`define APB4_APU__APUMC_ENTRY_RANGE 1
`define APB4_APU__APUMC_ENTRY_SCRATCH_BASE 2
`define APB4_APU__APUMC_ENTRY_SCRATCH_BYTES 3
`define APB4_APU__APUMC_ENTRY_MAX_LOOP 4
`define APB4_APU__APUMC_ENTRY_MAX_RETIRED 5
`define APB4_APU__APUMC_ENTRY_PRIMITIVES 6
`define APB4_APU__APUMC_ENTRY_TABLE 7
`define APB4_APU__MC_INSTRUCTION_IMMEDIATE 0
`define APB4_APU__MC_INSTRUCTION_AUX 32
`define APB4_APU__MC_INSTRUCTION_SRC1 40
`define APB4_APU__MC_INSTRUCTION_SRC0 44
`define APB4_APU__MC_INSTRUCTION_DST 48
`define APB4_APU__MC_INSTRUCTION_PREDICATE 52
`define APB4_APU__MC_INSTRUCTION_OPCODE 56
`define APB4_APU__MC_INSTRUCTION_CLASS 60
`define APB4_APU__MC_CLASS_CONTROL 0
`define APB4_APU__MC_CLASS_SCALAR 1
`define APB4_APU__MC_CLASS_BITSTREAM 2
`define APB4_APU__MC_CLASS_ENTROPY 3
`define APB4_APU__MC_CLASS_LOCAL 4
`define APB4_APU__MC_CLASS_KERNEL 5
`define APB4_APU__MC_CLASS_TRANSPORT 6
`define APB4_APU__MC_CONTROL_NOP 0
`define APB4_APU__MC_CONTROL_END 1
`define APB4_APU__MC_CONTROL_TRAP 2
`define APB4_APU__MC_CONTROL_JUMP_FWD 3
`define APB4_APU__MC_CONTROL_CALL_FWD 4
`define APB4_APU__MC_CONTROL_RET 5
`define APB4_APU__MC_CONTROL_LOOP_SETUP 6
`define APB4_APU__MC_CONTROL_LOOP_BACK 7
`define APB4_APU__MC_CONTROL_WAIT 8
`define APB4_APU__MC_SCALAR_MOV 0
`define APB4_APU__MC_SCALAR_MOVI 1
`define APB4_APU__MC_SCALAR_ADD 2
`define APB4_APU__MC_SCALAR_SUB 3
`define APB4_APU__MC_SCALAR_AND 4
`define APB4_APU__MC_SCALAR_OR 5
`define APB4_APU__MC_SCALAR_XOR 6
`define APB4_APU__MC_SCALAR_SHL 7
`define APB4_APU__MC_SCALAR_SHR 8
`define APB4_APU__MC_SCALAR_SAR 9
`define APB4_APU__MC_SCALAR_CMP 10
`define APB4_APU__MC_SCALAR_MIN 11
`define APB4_APU__MC_SCALAR_MAX 12
`define APB4_APU__MC_SCALAR_SAT 13
`define APB4_APU__MC_BITSTREAM_REFILL 0
`define APB4_APU__MC_BITSTREAM_PEEK 1
`define APB4_APU__MC_BITSTREAM_GET 2
`define APB4_APU__MC_BITSTREAM_SKIP 3
`define APB4_APU__MC_BITSTREAM_ALIGN 4
`define APB4_APU__MC_BITSTREAM_FRAME_SYNC 5
`define APB4_APU__MC_BITSTREAM_CRC8 6
`define APB4_APU__MC_BITSTREAM_CRC16 7
`define APB4_APU__MC_ENTROPY_HUFF_SYMBOL 0
`define APB4_APU__MC_ENTROPY_HUFF_PAIR 1
`define APB4_APU__MC_ENTROPY_HUFF_QUAD 2
`define APB4_APU__MC_ENTROPY_UNARY 3
`define APB4_APU__MC_ENTROPY_RICE4 4
`define APB4_APU__MC_ENTROPY_RICE5 5
`define APB4_APU__MC_ENTROPY_SIGN_RESTORE 6
`define APB4_APU__MC_LOCAL_LD32 0
`define APB4_APU__MC_LOCAL_ST32 1
`define APB4_APU__MC_LOCAL_TABLE8 2
`define APB4_APU__MC_LOCAL_TABLE16 3
`define APB4_APU__MC_LOCAL_TABLE32 4
`define APB4_APU__MC_LOCAL_FIFO_POP 5
`define APB4_APU__MC_LOCAL_FIFO_PUSH 6
`define APB4_APU__MC_KERNEL_REQUANT 0
`define APB4_APU__MC_KERNEL_STEREO 1
`define APB4_APU__MC_KERNEL_IMDCT6 2
`define APB4_APU__MC_KERNEL_IMDCT18 3
`define APB4_APU__MC_KERNEL_DCT32_POLY 4
`define APB4_APU__MC_KERNEL_FIXED 5
`define APB4_APU__MC_KERNEL_LPC 6
`define APB4_APU__MC_KERNEL_DECORRELATE 7
`define APB4_APU__MC_KERNEL_RESAMPLE 8
`define APB4_APU__MC_KERNEL_PCM_PACK 9
`define APB4_APU__MC_TRANSPORT_INPUT_REFILL 0
`define APB4_APU__MC_TRANSPORT_OUTPUT_COMMIT 1
`define APB4_APU__MC_TRANSPORT_OUTPUT_STREAM 2
`define APB4_APU__MC_TRANSPORT_DMA_WAIT 3
`define APB4_APU__MC_TRANSPORT_FRAME_COMMIT 4
`define APB4_APU__MC_TRANSPORT_JOB_RESULT 5
`define APB4_APU__MC_TRANSPORT_EVENT 6
`define APB4_APU__MC_PRED_ALWAYS 0
`define APB4_APU__MC_PRED_EQ 1
`define APB4_APU__MC_PRED_NE 2
`define APB4_APU__MC_PRED_SIGNED_LT 3
`define APB4_APU__MC_PRED_SIGNED_GE 4
`define APB4_APU__MC_PRED_UNSIGNED_LT 5
`define APB4_APU__MC_PRED_UNSIGNED_GE 6
`define APB4_APU__MC_PRED_INPUT_EXHAUSTED 7
`define APB4_APU__MC_PRED_INPUT_READY 8
`define APB4_APU__MC_PRED_OUTPUT_READY 9
`define APB4_APU__MC_PRED_KERNEL_DONE 10
`define APB4_APU__MC_PRED_TRANSPORT_DONE 11
`define APB4_APU__MC_WAIT_DMA 0
`define APB4_APU__MC_WAIT_KERNEL 1
`define APB4_APU__MC_WAIT_INPUT_FIFO 2
`define APB4_APU__MC_WAIT_OUTPUT_FIFO 3
`define APB4_APU__MC_WAIT_TX_STREAM 4
`define APB4_APU__MC_WAIT_RING_WRITEBACK 5
`define APB4_APU__MC_PRIMITIVE_BITSTREAM 0
`define APB4_APU__MC_PRIMITIVE_CRC 1
`define APB4_APU__MC_PRIMITIVE_HUFFMAN 2
`define APB4_APU__MC_PRIMITIVE_RICE 3
`define APB4_APU__MC_PRIMITIVE_LOCAL_MEMORY 4
`define APB4_APU__MC_PRIMITIVE_LOCAL_FIFO 5
`define APB4_APU__MC_PRIMITIVE_REQUANTIZE 6
`define APB4_APU__MC_PRIMITIVE_STEREO 7
`define APB4_APU__MC_PRIMITIVE_IMDCT6 8
`define APB4_APU__MC_PRIMITIVE_IMDCT18 9
`define APB4_APU__MC_PRIMITIVE_DCT32_POLY 10
`define APB4_APU__MC_PRIMITIVE_FIXED 11
`define APB4_APU__MC_PRIMITIVE_LPC 12
`define APB4_APU__MC_PRIMITIVE_DECORRELATE 13
`define APB4_APU__MC_PRIMITIVE_RESAMPLER 14
`define APB4_APU__MC_PRIMITIVE_PCM_PACK 15
`define APB4_APU__MC_PRIMITIVE_DMA_INPUT 16
`define APB4_APU__MC_PRIMITIVE_DMA_OUTPUT 17
`define APB4_APU__MC_PRIMITIVE_STREAM_OUTPUT 18
`define APB4_APU__MC_PRIMITIVE_FRAME_COMMIT 19
`define APB4_APU__MC_PRIMITIVE_EVENT 20
`define APB4_APU__MC_TRAP_ILLEGAL 1
`define APB4_APU__MC_TRAP_PC_RANGE 2
`define APB4_APU__MC_TRAP_CALL_STACK 3
`define APB4_APU__MC_TRAP_LOOP 4
`define APB4_APU__MC_TRAP_LOCAL_RANGE 5
`define APB4_APU__MC_TRAP_UNAVAILABLE 6
`define APB4_APU__MC_TRAP_WATCHDOG 7
`define APB4_APU__MC_TRAP_RETIRED_BUDGET 8
`define APB4_APU__MC_TRAP_ENGINE 9
`define APB4_APU__MC_TRAP_EXPLICIT 10
// verilog_format: on
`endif