CORE 寄存器块(MAC 核心控制)

基址CORE_BASE + 0x3000 | 地址范围0x3000 ~ 0x3FFF

来源:RK3588 TRM §36.4.3 Detail Registers Description

CORE 模块包含 MAC 阵列和累加器,负责卷积乘累加运算。


RKNN_core_s_status(0x3000)

执行器状态寄存器(只读)。

Bit属性复位值字段名描述
31:18RO0x0保留
17:16RO0x0status_1执行器 1 状态。0:空闲;1:正在执行;2:正在执行且执行器 1 等待执行;3:保留
15:2RO0x0保留
1:0RO0x0status_0执行器 0 状态。编码同 status_1

RKNN_core_s_pointer(0x3004)

寄存器组指针与 ping-pong 控制。

Bit属性复位值字段名描述
31:17RO0x0保留
16RO0x0executer当前使用的寄存器组。0:执行器组 0;1:执行器组 1
15:6RO0x0保留
5W1C0x0executer_pp_clear清除执行器组指针,写 1 清零
4W1C0x0pointer_pp_clear清除寄存器组指针,写 1 清零
3RW0x0pointer_pp_modePing-pong 模式。0:按执行器切换;1:按指针切换
2RW0x0executer_pp_en执行器组 ping-pong 使能。0:禁用;1:使能
1RW0x0pointer_pp_en寄存器组 ping-pong 使能。0:禁用;1:使能
0RW0x0pointer当前待设置的寄存器组。0:组 0;1:组 1

RKNN_core_operation_enable(0x3008)

操作使能寄存器。写入此寄存器将触发 CORE 模块开始执行。此寄存器及之后的寄存器均为 ping-pong 影子寄存器。

Bit属性复位值字段名描述
31:1RO0x0保留
0RW0x0op_enCORE 操作使能。0:禁用;1:使能

RKNN_core_mac_gating(0x300C)

MAC 软时钟门控寄存器。

Bit属性复位值字段名描述
31:27RO0x0保留
26:0RW0x7800800slcg_op_en软时钟门控信号

注意:复位值为 0x07800800,与其他寄存器不同。


RKNN_core_misc_cfg(0x3010)

杂项配置寄存器:精度、深度可分离、量化使能。

Bit属性复位值字段名描述
31:20RO0x0保留
19:14RW0x0soft_gating累加器软门控信号
13:11RO0x0保留
10:8RW0x0proc_precision处理精度。0:int8;1:int16;2:fp16;3:bf16;6:int4;7:tf32
7:2RO0x0保留
1RW0x0dw_en深度可分离模式使能。0:禁用;1:使能 Depthwise 模式
0RW0x0qd_en量化特征数据计算使能。0:禁用;1:使能

RKNN_core_dataout_size_0(0x3014)

输出特征尺寸寄存器 0:宽高。

Bit属性复位值字段名描述
31:16RW0x0dataout_height激活后输出数据高度
15:0RW0x0dataout_width激活后输出数据宽度

RKNN_core_dataout_size_1(0x3018)

输出特征尺寸寄存器 1:通道数。

Bit属性复位值字段名描述
31:16RO0x0保留
15:0RW0x0dataout_channel激活后输出数据通道数

RKNN_core_clip_truncate(0x301C)

截断与舍入控制寄存器。

Bit属性复位值字段名描述
31:7RO0x0保留
6RW0x0round_type舍入类型。0:奇入偶不入;1:0.5 向上进 1
5RO0x0保留
4:0RW0x0clip_truncate截断位数