.. _ip_ls_intf_nacc: NACC ========= 1. 简介 >>>>>>> 神经网络加速器(NACC)提高了神经网络的推理性能。NACC 的数据类型是 INT8,并支持 im2col、卷积、深度可分离卷积、平均池化、最大池化、全连接、激活函数和矩阵乘法的加速。 例如可以加速 ResNet、MobileNet、Alexnet、VGG16、YOLO 等结构的网络。 此 IP 可用作 NMSIS 中函数的加速器,以及开源的 TensorFlow Lite。 2. 主要特性 >>>>>>>>>>> NACC 的主要特性如下: * 支持 8 位定点数据格式。 * 支持总线传输数据宽度 128 位。 * 支持本地单端口 SRAM 缓存,总线可以独立访问 SRAM 功能。 * 支持加速 NMSIS 中的卷积、RGB 卷积、深度可分离卷积、池化、全连接、逐元素操作、激活函数。 * 支持加速 NMSIS 中的矩阵乘法函数。 * 支持加速 NMSIS 中的 im2col 函数。 * 支持 IFM 宽度或高度分割,核分割。 * 支持多核模式。 * 拥有共享 SRAM 来存储 IFM、临时数据和 OFM。 3. 功能描述 >>>>>>>>>>> NACC 框图 ---------------- NACC 由寄存器控制单元、DMA 控制器、MAC 单元、本地存储器和互连结构组成。 以下是 NACC 各单元的说明: * 寄存器控制单元接收任务并调度 DMA 引擎。 * DMA 控制器使用其 ICB 主接口在外部存储器和内部共享存储器之间移动数据。 * MAC 单元包含各种内部单元,用于读取 IFM、执行点积和累加。 NACC 的框图如下图所示: .. figure:: /assets/images/nacc_block.png :alt: NACC 模块框图 :align: center 图 3.1: NACC 模块框图 外部接口 ~~~~~~~~~~~~~~~~~~~~ NACC 使用 ICB 主接口、一个 ICB 从接口、一个中断接口、时钟和复位信号来启用与外部组件的访问。 - ICB 主接口 这些接口使 DMA 控制器能够对外部存储器进行读访问和写访问。NACC 有一个读/写主接口,M0 - ICB 从接口 使运行在外部主机应用处理器上的设备驱动程序能够访问 NACC 的控制寄存器。 - 中断接口 向外部主机应用处理器发送中断请求,通常用于发出作业完成或系统总线访问读/写错误的信号。 - 时钟和复位 NACC 有一个时钟和一个复位信号。 DMA 控制器 ~~~~~~~~~~~~~~~~~~~~ NACC 包含一个可以直接读写外部存储器的直接存储器访问(DMA)控制器。当 NACC 执行推理时,DMA 控制器读取神经网络描述。 此描述包含: * 命令流 * 网络权重 * 量化信息 * 偏置信息 DMA 控制器还传输输入特征图(IFM)、输出特征图(OFM)以及同样存储在系统内存中的 NACC 私有的中间数据。 DMA 控制器使用的通道有: * 读通道 NACC 使用读通道读取输入特征图并将其存储在其共享 RAM 中。此外,权重数据、偏置数据、量化数据也使用读通道传输到共享 RAM。DMA 控制器数据以 NHWC 格式存储。 DMA 控制器考虑核步长,因为这会影响 DMA 控制器存储激活所需的存储体或地址。 * 写通道 NACC 使用写通道将输出特征图从共享 SRAM 写入外部 SRAM。 多核 ~~~~~~~~~~~~~~~~~~~~ NACC 支持多核模式,该模式具有高扩展性、高传输性、高性能的优点。此模式适用于大型网络、大尺寸图像和高性能要求。 有两种类型的多核模式策略。计算能力的模式选择如下: 模式1:卷积、全连接卷积。 模式2:卷积、深度可分离卷积、池化、逐元素操作、RGB 卷积、矩阵运算。 支持配置的多核数量:[1,2,4,8,16,32],最大计算能力:2Tops(500MHz),4Tops(1GHz)。 TOPS 是每秒的 MAC 操作次数,计算公式为:TOPS = 64MAC * 2 * 频率 * NACC_数量; 数据格式 ~~~~~~~~~~~~~~~~~~~~ NACC 支持行业标准的 NHWC 格式的特征图数据。 NHWC 被 NACC 用作与 TensorFlow Lite 通信的输入和输出格式。 NHWC 格式具有以下属性: * 数据维度:N(数量)、H(高度)、W(宽度)和 C(通道)。 * 每个元素的大小(ElemSize)为 1 字节。 * 仅支持单批次(N=1)。 * NHWC 在访问中具有更好的局部性。 MAC 单元 ~~~~~~~~~~~~~~~~~~~~ MAC 单元执行卷积、深度可分离卷积、平均池化、最大池化、向量点积、im2col、全连接等所需的乘累加操作。 本地存储器 ~~~~~~~~~~~~~~~~~~~~ 本地存储器包括 SRAM 和寄存器阵列,SRAM 用于存储 IFM 和 OFM,实际上使用共享 SRAM。 用户应使用 DMA 将 IFM 从外部存储器传输到 SRAM,计算完成后,应将 OFM 从 SRAM 传输到外部存储器。 NACC 拥有 16 ∗ 1024 ∗ 32 位,总计 64KB 的 SRAM。 激活单元 ~~~~~~~~~~~~~~~~~~~~ 激活单元读取已完成的累加器,将偏置值加到结果中,并对每个点应用激活函数。 激活单元支持的激活函数有: * ReLU * ReLU6 * Tanh * Sigmoid * LUT * 无或旁路 ReLU 和 ReLU6 ^^^^^^^^^^^^^^^^^^^^ 修正线性单元(ReLU)操作通常在偏置加法之后执行。将所有负值设为 0,其余值保持不变。 ReLU6 与普通 ReLU 的区别在于最大输出限制为 6,主要是为了在移动端 int8 低精度时保持良好的数值分辨率。 Tanh 和 Sigmoid ^^^^^^^^^^^^^^^^^^^^ 激活单元通过结合查表法和双线性插值来支持 tanh 和 sigmoid 函数。两种函数使用相同的表,因为它们在数学上是相关的。 激活单元每个周期可以执行一次 tanh 或 sigmoid 函数。 还有一个可配置的查找表(LUT),可用于任何逐点的激活或函数。对于 8 位激活,LUT 最多可容纳 256 个 8 位值,这些值直接从 IFM 映射到 OFM。 当激活单元计算完成后,将其写回共享 RAM。输出激活缓存在共享 RAM 中,等待 DMA 控制器将其发送到外部存储器。 逐元素操作 ^^^^^^^^^^^^^^^^^^^^ 输出单元支持的逐元素操作有: * 逐元素加法 * 逐元素乘法 卷积 ---------------- 本节提供有关支持的数据类型、运算符和操作的信息,并详细介绍 NACC 的卷积和逐元素操作性能。 下表显示了 NACC 支持的卷积参数: .. list-table:: 表 3.1:卷积参数 :widths: 20 40 :header-rows: 1 * - 参数 - 范围 * - 核 - 1*1 < 核_x * 核_y <= 15*15 * - 精度 - IFM:8 位;权重:8 位 * - 步长 - 步长_x <= 3;步长_y <= 3 * - 核扩张 - 扩张_x = 1;扩张_y = 1 * - 输入填充 - 填充 <= 5 NACC 可以支持卷积加速, * 它支持编程的核大小范围 [1:15] * [1:15]。 * x 和 y 方向的最大步长为 3。 * 最大填充大小为 5。 * x 和 y 方向的最大扩张为 1。 * 它可以支持加速 NMSIS-NN 中的卷积函数。 步骤如下: * 步骤 1,将 IFM 传输到行缓冲器:您应将第一个 IFM 和核传输到行缓冲器。 * 步骤 2,计算第一个:NACC 等待开始计算,您可以配置 NACC_CTRL 寄存器中的 START 位来决定是否在写入后立即开始计算。 * 步骤 3,DMA 从行缓冲器读取 OFM:如果计算完成,DMA 可以从本地 SRAM 读取 OFM。 * 步骤 4,计算第二个:您可以将第二个 IFM 和核传输到行缓冲器,传输完成后,NACC 再次开始计算。 * 步骤 5,与步骤 3 相同。后续步骤是上述步骤的循环。 示例 ~~~~~~~~~~~~~~~~~~~~ 有两个示例展示了如何使用 NACC 加速卷积。 示例 1 ^^^^^^^^^^^^^^^^^^^^ 以下示例展示了一个基础卷积的详细配置,该函数在 MNSIS-NN 中为 risc_convolve_s8。 下表显示了卷积参数。 .. list-table:: 表 3.2:卷积参数(示例 1) :widths: 20 40 :header-rows: 1 * - 参数 - 值 * - IFM - 16*16*3 (HWC) * - OFM - 14*14*8 (HWC) * - 精度 - IFM:8 位;权重:8 位 * - 批次 - 1 * - 核 - 8*3*33 (NHWC) * - 步长 - 步长_x = 1;步长_y = 1 * - 核扩张 - 扩张_x = 1;扩张_y = 1 * - 输入填充 - 填充_x = 0;填充_y = 0 示例 2 ^^^^^^^^^^^^^^^^^^^^ 此示例展示了当 IFM 尺寸大于 NACC 提供的尺寸限制时的情况。下表显示了卷积参数(示例 2)。 .. list-table:: 表 3.3:卷积参数(示例 2) :widths: 20 40 :header-rows: 1 * - 参数 - 值 * - IFM - 80*80*3 (HWC) * - OFM - 78*78*8 (HWC) * - 精度 - IFM:8 位;权重:8 位 * - 批次 - 1 * - 核 - 8*3*33 (NHWC) * - 步长 - 步长_x = 1;步长_y = 1 * - 核扩张 - 扩张_x = 1;扩张_y = 1 * - 输入填充 - 填充_x = 1;填充_y = 1 在这种情况下,IFM 的尺寸超过了尺寸限制,您应首先将 IFM 分成小块,如下图所示,按宽度分割 IFM。 .. _NACC IFM 尺寸超限分割: .. figure:: /assets/images/nacc_split.png :alt: NACC IFM 尺寸超限分割 :align: center **图 3.2: NACC IFM 尺寸超限分割** 首先,如上图所示,您应将每个通道分成 2 部分。您应将部分 1 和部分 2 视为四个新的 IFM。您应控制 DMA 分别传输这四个新的 IFM。如果填充数不为 0,您应注意这两个新 IFM 的填充参数:IFM1 仅右侧无填充,IFM2 仅左侧无填充。 之后,您应像示例 1 一样计算这两个 IFM,并分别将四个 OFM 传输到外部存储器。完成 IFM2 的计算后,您将获得完整的 OFM。 池化 ---------------- 下表显示了 NACC 支持的池化参数: .. list-table:: 表 3.4:池化参数 :widths: 20 40 :header-rows: 1 * - 参数 - 范围 * - 核 - 2*2 < 核_x * 核_y <= 15*15 * - 精度 - IFM:8 位整数 * - 步长 - 步长_x <= 3;步长_y <= 3 * - 核扩张 - 扩张_x = 1;扩张_y = 1 * - 输入填充 - 填充 <= 5 NACC 可以支持池化加速, * 最大池化的最大核尺寸为 15 ∗ 15。平均池化仅支持 2 ∗ 2。 * 最大池化的 x 和 y 方向最大步长为 3。平均池化仅支持 2。 * 最大填充大小为 5。 * NACC 支持最大池化和平均池化。 步骤如下: * 步骤 1:使用 DMA 将 IFM 传输到行缓冲器。 * 步骤 2:NACC 开始计算并将 OFM 传输到行缓冲器。 * 步骤 3:使用 DMA 将 OFM 读取到外部存储器。 在上面的描述中,它是一个 NACC 系统,有些 NACC 系统由多核组成,DMA 可以将不同的 IFM 传输到每个 NACC。性能取决于系统中 NACC 的数量。 4. 中断 >>>>>>>>>>> NACC 有两组中断信号,一组是总线传输的读中断错误和写中断错误;另一组是 NACC 计算结果传输完成中断。 5. 寄存器 >>>>>>>>>>>>>> ACRYP_RF 寄存器 ------------------------ 寄存器及其在 NACC_REG 中的相应偏移量见下表。 .. list-table:: 表 5.1:NACC_REG 中寄存器的偏移地址 :widths: 10 25 46 :header-rows: 1 * - 偏移量 - 寄存器名称 - 功能描述 * - 0x0 - NACC_CTRL - NACC 计算模式配置 * - 0x4 - NACC_KERNEL - NACC 卷积核尺寸 * - 0x8 - NACC_IN_FM - NACC 输入特征图尺寸 * - 0xC - NACC_OUT_FM - NACC 输出特征图尺寸 * - 0x10 - NACC_PADDING - NACC 填充尺寸 * - 0x14 - NACC_INT_EN - NACC ICB 总线中断配置 * - 0x18 - NACC_INT_STATUS - NACC ICB 总线中断状态 * - 0x1C - NACC_ELEMENTWISE - NACC 逐元素操作配置 * - 0x20 - NACC_QUANT_MUL_DMA_ADDR - NACC 量化_乘数据 ICB 总线源地址 * - 0x24 - NACC_QUANT_SHIFT_DMA_ADDR - NACC 量化_移位数据 ICB 总线源地址 * - 0x28 - NACC_ACT_MAX - NACC 激活最大值参数 * - 0x2C - NACC_ACT_MIN - NACC 激活最小值参数 * - 0x30 - NACC_MATRIX_A - NACC 矩阵 A 尺寸 * - 0x34 - NACC_MATRIX_B - NACC 矩阵 B 尺寸 * - 0x38 - NACC_ACT_PARA - NACC 激活参数 * - 0x3C - NACC_IN_ACT_DMA_ADDR - NACC 激活数据 ICB 总线源地址 * - 0x40 - NACC_BIAS_DMA_ADDR - NACC 偏置数据 ICB 总线源地址 * - 0x44 - NACC_IN_K_DMA_ADDR - NACC 核数据 ICB 总线源地址 * - 0x48 - NACC_IN_FM_DMA_ADDR - NACC 输入特征图数据 ICB 总线源地址 * - 0x4C - NACC_OUT_DMA_ADDR - NACC 输出特征图数据 ICB 总线源地址 * - 0x64 - NACC_FM_OFFSET - NACC 特征图数据偏移量 * - 0x68 - NACC_DMA_OFFSET - NACC 每个批次输入 DMA 地址偏移量 * - 0x6C - NACC_IM2COL_TRANS_LEN - NACC IM2COL DMA 传输长度 * - 0x70 - NACC_CONV_TRANS_LEN - NACC 卷积 DMA 传输长度 * - 0x74 - NACC_DMA_OUT_TRANS_LEN - NACC 输出 DMA 传输长度 * - 0x78 - NACC_FULL_CONV_PARA - NACC 全连接参数 * - 0x7C - NACC_DMA_PARA1 - NACC DMA 传输批次大小 * - 0x80 - NACC_DMA_PARA2 - NACC 输入特征图数据偏移量(非连续地址) * - 0x84 - NACC_DMA_PARA3 - NACC DMA 传输参数 * - 0x88 - NACC_DMA_PARAA - NACC 核数据偏移量 * - 0x8C - NACC_BATCH_SIZE - NACC 批次参数 * - 0x90 - NACC_MEM_RANGE - NACC SRAM 参数 * - 0x94 - NACC_DMA_OFFSET1 - NACC 输入特征图单行数据偏移量 * - 0x98 - NACC_DMA_OFFSET2 - NACC 输出特征图数据偏移量 * - 0xA4 - NACC_IM2COL_DMA_ADDR - NACC IM2COL 数据 ICB 总线源地址 * - 0xAC - NACC_FM_CH - NACC 特征图通道尺寸 * - 0xB0 - NACC_IN_FM_SPLIT - NACC 输入特征图分割尺寸 * - 0xB4 - NACC_OUT_FM_SPLIT - NACC 输出特征图分割尺寸 * - 0xB8 - NACC_OUT_FM_SPLIT_LEN - NACC 输出特征图分割长度 * - 0xBC - NACC_IN_FM_SPLIT_W_OFFSET - NACC 输入特征图分割宽度偏移量 * - 0xC0 - NACC_IN_FM_SPLIT_W_OFFSET1 - NACC 输入特征图分割宽度偏移量1 * - 0xC4 - NACC_IN_FM_SPLIT_H_OFFSET - NACC 输入特征图分割高度偏移量 * - 0xC8 - NACC_IN_FM_SPLIT_H_OFFSET1 - NACC 输入特征图分割高度溢出偏移量1 * - 0xCC - NACC_IN_FM_SPLIT_H_OFFSET2 - NACC 输入特征图分割高度平均偏移量2 * - 0xD0 - NACC_OUT_FM_SPLIT_H_OFFSET - NACC 输出特征图分割高度偏移量 * - 0xD4 - NACC_OUT_FM_SPLIT_H_OFFSET1 - NACC 输出特征图分割高度偏移量1 * - 0xD8 - NACC_BROADCAST_CTRL - NACC 广播模式配置 * - 0xDC - NACC_BROADCAST_CTRL1 - NACC 广播模式配置1 * - 0xE0 - NACC_BROADCAST_DMA - NACC 广播 DMA 偏移量 * - 0xE4 - NACC_BROADCAST_SPLIT - NACC 广播分割高度偏移量 * - 0xE8 - NACC_ELEMENT_QUANT1_MULT - NACC 逐元素操作输入1乘法参数 * - 0xEC - NACC_ELEMENT_QUANT1_SHIFT - NACC 逐元素操作输入1移位参数 * - 0xF0 - NACC_ELEMENT_QUANT2_MULT - NACC 逐元素操作输入2乘法参数 * - 0xF4 - NACC_ELEMENT_QUANT2_SHIFT - NACC 逐元素操作输入2移位参数 * - 0xFC - NACC_VERSION - NACC IP 版本寄存器 NACC_CTRL ~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x0`` .. list-table:: 表 5.2:NACC_CTRL 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - CONV_MODE - 3:0 - RW - 0x0 - NACC 卷积模式选择: - 4'b0000: 卷积 - 4'b0001: 矩阵乘法 - 4'b0010: RGB 卷积 - 4'b0011: 深度可分离卷积 - 4'b0100: 全连接 - 4'b0101: 无 * - POOL_MODE - 7:4 - RW - 0x0 - NACC 池化模式选择: - 4'b0000: 最大池化 - 4'b0001: 平均池化 - 4'b0010: 无 * - ACT_MODE - 11:8 - RW - 0x0 - NACC 激活模式选择: - 4'b0000: ReLU - 4'b0001: ReLU6 - 4'b0010: Tanh - 4'b0011: Sigmoid - 4'b0100: 无 * - START - 12 - RW - 0x0 - NACC 启动工作使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - QUANT_EN - 13 - RW - 0x0 - NACC 量化使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - BIAS_EN - 14 - RW - 0x0 - NACC 偏置使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - FM_UPD - 15 - RW - 0x0 - NACC 特征图更新控制: - 1'b0: 禁用 - 1'b1: 使能 * - K_UPD - 16 - RW - 0x0 - NACC 卷积核更新控制: - 1'b0: 禁用 - 1'b1: 使能 * - IM2COL_EN - 17 - RW - 0x0 - NACC im2col 模式使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - ELEMENT_EN - 18 - RW - 0x0 - NACC 逐元素模式使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - ELEMENT_INPUT_QUANT_EN - 19 - RW - 0x0 - NACC 逐元素模式输入量化使能控制: - 1'b0: 禁用 - 1'b1: 使能 * - DATA_FORM - 21:20 - RW - 0x0 - NACC 数据格式选择: - 2'b00: 8 位数据计算 - 2'b01: 16 位数据计算 - 2'b10: 4 位数据计算 * - CLK_BYPASS - 27:22 - RW - 0x0 - NACC 时钟门控旁路控制: - 6'b0001: 量化时钟门控旁路 - 6'b0010: 累加加法时钟门控旁路 - 6'b0100: 池化时钟门控旁路 - 6'b1000: 深度可分离卷积时钟门控旁路 - 6'b10000: 顶层时钟门控旁路 * - 保留 - 31:28 - / - 0x0 - / NACC_KERNEL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x4`` .. list-table:: 表 5.3:NACC_KERNEL 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - K_SIZE_X - 3:0 - RW - 0x0 - 核大小 x,范围 [1:15] 内 * - K_SIZE_Y - 7:4 - RW - 0x0 - 核大小 y,范围 [1:15] 内 * - K_SIZE_XY - 15:8 - RW - 0x0 - 核大小 x * 核大小 y - 1 * - K_STRIDE_X - 19:16 - RW - 0x1 - x 方向的步长大小,只能是 1, 2, 3 * - K_STRIDE_Y - 23:20 - RW - 0x1 - y 方向的步长大小,只能是 1, 2, 3 * - K_DILATION_X - 27:24 - RW - 0x1 - x 方向的扩张大小,只能是 1 * - K_DILATION_Y - 31:28 - RW - 0x1 - y 方向的扩张大小,只能是 1 NACC_IN_FM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x8`` .. list-table:: 表 5.4:NACC_IN_FM 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_WIDTH - 15:0 - RW - 0x0 - 输入特征图的宽度 * - IN_FM_HEIGHT - 31:16 - RW - 0x0 - 输入特征图的高度 NACC_OUT_FM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xC`` .. list-table:: 表 5.5:NACC_OUT_FM 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_WIDTH - 15:0 - RW - 0x0 - 输出特征图的宽度 * - OUT_FM_HEIGHT - 31:16 - RW - 0x0 - 输出特征图的高度 NACC_PADDING ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x10`` .. list-table:: 表 5.6:NACC_PADDING 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - PAD_X - 3:0 - RW - 0x0 - x 方向的填充,只能是 0, 1, 2, 3, 4, 5 * - PAD_Y - 7:4 - RW - 0x0 - y 方向的填充,只能是 0, 1, 2, 3, 4, 5 * - 保留 - 31:8 - / - 0x0 - / NACC_INT_EN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x14`` .. list-table:: 表 5.7:NACC_INT_EN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BUS_WR_ERR_INTR_EN - 0 - RW - 0x0 - ICB 总线写错误中断使能 * - BUS_RD_ERR_INTR_EN - 1 - RW - 0x0 - ICB 总线读错误中断使能 * - FULL_TRANS_DONE_INTR_EN - 2 - RW - 0x0 - NACC 传输完成中断使能 * - 保留 - 31:3 - / - 0x0 - / NACC_INT_STATUS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x18`` .. list-table:: 表 5.8:NACC_INT_STATUS 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BUS_WR_ERR_INTR - 0 - WOC - 0x0 - ICB 总线写错误中断 * - BUS_RD_ERR_INTR - 1 - WOC - 0x0 - ICB 总线读错误中断 * - FULL_TRANS_DONE_INTR - 2 - WOC - 0x0 - NACC 传输完成中断 * - 保留 - 31:3 - / - 0x0 - / NACC_ELEMENTWISE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x1C`` .. list-table:: 表 5.9:NACC_ELEMENTWISE 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ELEMENTWISE_MODE - 3:0 - RW - 0x0 - NACC 逐元素操作模式选择: - 4'b0001: 逐元素减法 - 4'b0010: 逐元素加法 - 4'b0100: 逐元素乘法_S16_S8 - 4'b1000: 逐元素乘法 * - IN_ELEMENT_OFFSET1 - 12:4 - RW - 0x0 - 输入1 数据偏移值 * - IN_ELEMENT_OFFSET2 - 21:13 - RW - 0x0 - 输入2 数据偏移值 * - LEFT_SHIFT - 29:22 - RW - 0x0 - 输入1、输入2 数据左移值 * - 保留 - 31:30 - / - 0x0 - / NACC_QUANT_MUL_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x20`` .. list-table:: 表 5.10:NACC_QUANT_MUL_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - QUANT_MUL_DMA_ADDR - 31:0 - RW - 0x0 - 量化参数乘法数据 ICB 总线源地址 NACC_QUANT_SHIFT_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x24`` .. list-table:: 表 5.11:NACC_QUANT_SHIFT_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - QUANT_SHIFT_DMA_ADDR - 31:0 - RW - 0x0 - 量化参数移位数据 ICB 总线源地址 NACC_ACT_MAX ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x28`` .. list-table:: 表 5.12:NACC_ACT_MAX 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ACT_MAX - 31:0 - RW - 0x0 - 激活参数:最大值 NACC_ACT_MIN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x2C`` .. list-table:: 表 5.13:NACC_ACT_MIN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ACT_MIN - 31:0 - RW - 0x0 - 激活参数:最小值 NACC_MATRIX_A ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x30`` .. list-table:: 表 5.14:NACC_MATRIX_A 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - MATRIX_A_XSIZE - 15:0 - RW - 0x0 - 矩阵 A:x 方向尺寸值 * - MATRIX_A_YSIZE - 31:16 - RW - 0x0 - 矩阵 A:y 方向尺寸值 NACC_MATRIX_B ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x34`` .. list-table:: 表 5.15:NACC_MATRIX_B 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - MATRIX_B_XSIZE - 15:0 - RW - 0x0 - 矩阵 B:x 方向尺寸值 * - MATRIX_B_YSIZE - 31:16 - RW - 0x0 - 矩阵 B:y 方向尺寸值 NACC_ACT_PARA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x38`` .. list-table:: 表 5.16:NACC_ACT_PARA 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - ACT_INT_W - 1:0 - RW - 0x0 - 激活参数:整数宽度 * - 保留 - 31:2 - / - 0x0 - / NACC_IN_ACT_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x3C`` .. list-table:: 表 5.17:NACC_IN_ACT_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_ACT_DMA_ADDR - 31:0 - RW - 0x0 - 激活数据 ICB 总线源地址 NACC_BIAS_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x40`` .. list-table:: 表 5.18:NACC_BIAS_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BIAS_DMA_ADDR - 31:0 - RW - 0x0 - 偏置数据 ICB 总线源地址 NACC_IN_K_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x44`` .. list-table:: 表 5.19:NACC_IN_K_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_K_DMA_ADDR - 31:0 - RW - 0x0 - 核数据 ICB 总线源地址 NACC_IN_FM_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x48`` .. list-table:: 表 5.20:NACC_IN_FM_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_DMA_ADDR - 31:0 - RW - 0x0 - 输入特征图数据 ICB 总线源地址 NACC_OUT_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x4C`` .. list-table:: 表 5.21: NACC_OUT_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_DMA_ADDR - 31:0 - RW - 0x0 - 输出特征图数据 ICB 总线源地址 NACC_FM_OFFSET ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x64`` .. list-table:: 表 5.22: NACC_FM_OFFSET 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_OFFSET - 8:0 - RW - 0x0 - 输入特征图数据偏移值 * - OUT_FM_OFFSET - 17:9 - RW - 0x0 - 输出特征图数据偏移值 * - 保留 - 31:18 - / - 0x0 - / NACC_DMA_OFFSET ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x68`` .. list-table:: 表 5.23: NACC_DMA_OFFSET 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_DMA_OFFSET - 31:0 - RW - 0x0 - 输入 DMA 地址偏移量 NACC_IM2COL_TRANS_LEN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x6C`` .. list-table:: 表 5.24: NACC_IM2COL_TRANS_LEN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IM2COL_IN_TRANS_LEN - 15:0 - RW - 0x0 - 输入 DMA 传输长度 * - IM2COL_OUT_TRANS_LEN - 31:16 - RW - 0x0 - 输出 DMA 传输长度 NACC_CONV_TRANS_LEN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x70`` .. list-table:: 表 5.25: NACC_CONV_TRANS_LEN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - K_TRANS_LEN - 15:0 - RW - 0x0 - 核 DMA 传输长度 * - FM_TRANS_LEN - 31:16 - RW - 0x0 - 输入特征图 DMA 传输长度 NACC_DMA_OUT_TRANS_LEN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x74`` .. list-table:: 表 5.26: NACC_DMA_OUT_TRANS_LEN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - DMA_OUT_TRANS_LEN - 15:0 - RW - 0x0 - 输出特征图 DMA 传输长度 * - 保留 - 31:16 - / - 0x0 - / NACC_FULL_CONV_PARA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x78`` .. list-table:: 表 5.27: NACC_FULL_CONV_PARA 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - FULL_KER_SIZE - 7:0 - RW - 0x0 - 全连接核大小:in_fm_width * (in_fm_ch + 63) / 64 - 1 * - BIAS_SHIFT - 15:8 - RW - 0x0 - RGB 卷积参数:偏置移位 * - OUT_SHIFT - 23:16 - RW - 0x0 - RGB 卷积参数:输出移位 * - 保留 - 31:24 - / - 0x0 - / NACC_DMA_PARA1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x7C`` .. list-table:: 表 5.28: NACC_DMA_PARA1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IFM_TRANS_END_SIZE - 15:0 - RW - 0x0 - 输入特征图传输批次大小 * - K_TRANS_END_SIZE - 31:16 - RW - 0x0 - 核传输批次大小 NACC_DMA_PARA2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x80`` .. list-table:: 表 5.29: NACC_DMA_PARA2 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - FM_TRANS_OFFSET - 31:0 - RW - 0x0 - 输入特征图数据偏移值(非连续地址) NACC_DMA_PARA3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x84`` .. list-table:: 表 5.30: NACC_DMA_PARA3 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OFM_TRANS_END_SIZE - 15:0 - RW - 0x0 - 输出特征图传输批次大小 * - DW_CH_MULT - 19:16 - RW - 0x0 - 深度可分离卷积通道倍数:Out_fm_ch / 2 * (dw_ch_mult) = In_fm_ch,只能是 0, 1, 2, 3 * - 保留 - 31:20 - / - 0x0 - / NACC_DMA_PARAA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x88`` .. list-table:: 表 5.31: NACC_DMA_PARAA 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - K_TRANS_OFFSET - 31:0 - RW - 0x0 - 核数据偏移值(适用于全连接、逐元素操作、矩阵模式) NACC_BATCH_SIZE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x8C`` .. list-table:: 表 5.32: NACC_BATCH_SIZE 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_CH_BATCH_SIZE - 7:0 - RW - 0x0 - 输入特征图通道批次大小 * - K_BATCH_SIZE - 15:8 - RW - 0x0 - 核批次大小 * - K_ONE_BATCH_SIZE - 23:16 - RW - 0x0 - 单个批次传输的核大小 * - TEMP_RES_BATCH_SIZE - 27:24 - RW - 0x0 - 临时结果批次大小 * - 保留 - 31:28 - / - 0x0 - / NACC_MEM_RANGE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x90`` .. list-table:: 表 5.33: NACC_MEM_RANGE 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IFM_MEM_BASE - 1:0 - RW - 0x0 - 输入特征图通道批次大小 * - K_BATCH_SIZE - 11:2 - RW - 0x0 - 核基地址 * - OFM_MEM_BASE - 21:12 - RW - 0x0 - 输出特征图基地址 * - TEMP_MEM_BASE - 31:22 - RW - 0x0 - 临时结果基地址 NACC_DMA_OFFSET1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x94`` .. list-table:: 表 5.34: NACC_DMA_OFFSET1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_DMA_ROW_OFFSET - 31:0 - RW - 0x0 - 输入特征图单行数据偏移值 NACC_DMA_OFFSET2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0x98`` .. list-table:: 表 5.35: NACC_DMA_OFFSET2 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_DMA_OFFSET - 31:0 - RW - 0x0 - 输出特征图数据偏移值 NACC_IM2COL_DMA_ADDR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xA4`` .. list-table:: 表 5.36: NACC_IM2COL_DMA_ADDR 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IM2COL_DMA_ADDR - 31:0 - RW - 0x0 - IM2COL 数据 ICB 总线源地址 NACC_FM_CH ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xAC`` .. list-table:: 表 5.37: NACC_FM_CH 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_CH - 15:0 - RW - 0x0 - 输入特征图的通道数 * - OUT_FM_CH - 31:16 - RW - 0x0 - 输出特征图的通道数 NACC_IN_FM_SPLIT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xB0`` .. list-table:: 表 5.38: NACC_IN_FM_SPLIT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_SPLIT_WIDTH - 7:0 - RW - 0x0 - 输入特征图分割宽度 * - IN_FM_SPLIT_LEFT_WIDTH - 15:8 - RW - 0x0 - 输入特征图分割左侧宽度 * - IN_FM_SPLIT_LEFT_LEN - 31:16 - RW - 0x0 - 输入特征图分割左侧长度 NACC_OUT_FM_SPLIT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xB4`` .. list-table:: 表 5.39: NACC_OUT_FM_SPLIT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_SPLIT_SIZE - 7:0 - RW - 0x0 - 输出特征图分割尺寸 * - OUT_FM_SPLIT_WIDTH - 15:8 - RW - 0x0 - 输出特征图分割宽度 * - OUT_FM_SPLIT_LEFT_WIDTH - 23:16 - RW - 0x0 - 输出特征图分割左侧宽度 * - 保留 - 31:24 - / - 0x0 - / NACC_OUT_FM_SPLIT_LEN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xB8`` .. list-table:: 表 5.40: NACC_OUT_FM_SPLIT_LEN 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_SPLIT_LEN - 15:0 - RW - 0x0 - 输出特征图分割长度 * - OUT_FM_SPLIT_LEFT_LEN - 31:16 - RW - 0x0 - 输出特征图分割左侧长度 NACC_IN_FM_SPLIT_W_OFFSET ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xBC`` .. list-table:: 表 5.41: NACC_IN_FM_SPLIT_W_OFFSET 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_START_SPLIT_W_OFFSET - 31:0 - RW - 0x0 - 输入特征图起始分割宽度偏移量 NACC_IN_FM_SPLIT_W_OFFSET1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xC0`` .. list-table:: 表 5.42: NACC_IN_FM_SPLIT_W_OFFSET1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_MID_SPLIT_W_OFFSET - 31:0 - RW - 0x0 - 输入特征图中间分割宽度偏移量 NACC_IN_FM_SPLIT_H_OFFSET ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xC4`` .. list-table:: 表 5.43: NACC_IN_FM_SPLIT_H_OFFSET 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_START_SPLIT_H_OFFSET - 31:0 - RW - 0x0 - 输入特征图起始分割高度偏移量 NACC_IN_FM_SPLIT_H_OFFSET1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xC8`` .. list-table:: 表 5.44: NACC_IN_FM_SPLIT_H_OFFSET1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_MID_SPLIT_H_OV_OFFSET - 31:0 - RW - 0x0 - 输入特征图中间分割高度溢出偏移量 NACC_IN_FM_SPLIT_H_OFFSET2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xCC`` .. list-table:: 表 5.45: NACC_IN_FM_SPLIT_H_OFFSET2 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_FM_MID_SPLIT_H_AVG_OFFSET - 31:0 - RW - 0x0 - 输入特征图中间分割高度平均偏移量 NACC_OUT_FM_SPLIT_H_OFFSET ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xD0`` .. list-table:: 表 5.46: NACC_OUT_FM_SPLIT_H_OFFSET 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_START_SPLIT_H_OFFSET - 31:0 - RW - 0x0 - 输出特征图起始分割高度偏移量 NACC_OUT_FM_SPLIT_H_OFFSET1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xD4`` .. list-table:: 表 5.47: NACC_OUT_FM_SPLIT_H_OFFSET1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_MID_SPLIT_H_OFFSET - 31:0 - RW - 0x0 - 输出特征图中间分割高度偏移量 NACC_BROADCAST_CTRL ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xD8`` .. list-table:: 表 5.48: NACC_BROADCAST_CTRL 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BROADCAST_MODE - 1:0 - RW - 0x0 - NACC 广播模式选择: - 2'b00: 无 - 2'b01: 模式1,分割核,例如:卷积、全连接卷积 - 2'b10: 模式2,分割高度,例如:卷积、深度可分离卷积、RGB卷积、池化、逐元素操作 * - BROADCAST_NUM - 7:2 - RW - 0x0 - 广播数量配置:0, 1, 3, 7, 15, 31(实际数量 -1 * - 保留 - 31:8 - / - 0x0 - / NACC_BROADCAST_CTRL1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xDC`` .. list-table:: 表 5.49: NACC_BROADCAST_CTRL1 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - BROADCAST_OVER_EN - 31:0 - RW - 0x0 - 广播分割溢出使能标志 NACC_BROADCAST_DMA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xE0`` .. list-table:: 表 5.50: NACC_BROADCAST_DMA 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_DMA_UNICAST_OV_OFFSET - 9:0 - RW - 0x0 - 输入 DMA 单播溢出偏移量 * - IN_DMA_UNICAST_AVG_OFFSET - 19:10 - RW - 0x0 - 输入 DMA 单播平均偏移量 * - EU_BIAS_START_OFFSET - 27:20 - RW - 0x0 - MAC 单元偏置起始偏移量 * - 保留 - 31:28 - / - 0x0 - / NACC_BROADCAST_SPLIT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xE4`` .. list-table:: 表 5.51: NACC_BROADCAST_SPLIT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - OUT_FM_SPLIT_OV_HEIGHT - 9:0 - RW - 0x0 - 输出特征图分割高度溢出偏移量 * - OUT_FM_SPLIT_AVG_HEIGHT - 19:10 - RW - 0x0 - 输出特征图分割高度平均偏移量 * - 保留 - 31:20 - / - 0x0 - / NACC_ELEMENT_QUANT1_MULT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xE8`` .. list-table:: 表 5.52: NACC_ELEMENT_QUANT1_MULT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_ELEMENT_MULT1 - 31:0 - RW - 0x0 - 输入元素1乘法参数 NACC_ELEMENT_QUANT1_SHIFT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xEC`` .. list-table:: 表 5.53: NACC_ELEMENT_QUANT1_SHIFT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_ELEMENT_SHIFT1 - 31:0 - RW - 0x0 - 输入元素1移位参数 NACC_ELEMENT_QUANT2_MULT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xF0`` .. list-table:: 表 5.54: NACC_ELEMENT_QUANT2_MULT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_ELEMENT_MULT2 - 31:0 - RW - 0x0 - 输入元素2乘法参数 NACC_ELEMENT_QUANT2_SHIFT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xF4`` .. list-table:: 表 5.55: NACC_ELEMENT_QUANT2_SHIFT 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - IN_ELEMENT_SHIFT2 - 31:0 - RW - 0x0 - 输入元素2移位参数 NACC_VERSION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 地址偏移:``0xFC`` .. list-table:: 表 5.56: NACC_VERSION 的寄存器格式 :widths: 15 10 10 15 50 :header-rows: 1 * - 字段 - 位 - 访问 - 复位值 - 描述 * - VERSION - 31:0 - RO - 0x0001_0102 - 32 位版本号: - [31:24] 保留 - [23:16] 主版本号 - [15:8] 次版本号 - [7:0] 修订版本号