CORDIC

简介

CORDIC IP提供数学函数(主要是三角函数)的硬件加速,这些函数通常用于电机控制、计量、信号处理和许多其他应用。与软件实现相比,它加速了这些函数的计算,使得可以使用更低的工作频率,或释放处理器周期以执行其他任务。

主要特性

CORDIC支持以下特性:

  • 24位CORDIC旋转引擎

  • 圆形和双曲模式

  • 旋转和矢量模式

  • 函数:正弦、余弦、双曲正弦、双曲余弦、反正切、双反正切、双曲反正切、模数、平方根、自然对数、指数

  • 可编程精度

  • 低延迟AHB从接口

  • 结果就绪即可读取,无需轮询或中断

  • DMA读写通道

  • 支持通过DMA进行多寄存器读/写

功能描述

概述

CORDIC是一种计算高效的逐次逼近算法,用于评估三角函数和双曲函数。

在三角(圆形)模式下,角度θ的正弦和余弦通过旋转单位向量[1, 0]经过递减的角度来确定,直到旋转角度的累积和等于输入角度θ。然后,旋转向量的x和y笛卡尔分量分别对应于θ的余弦和正弦。相反,向量[x, y]的角度对应于反正切(y / x),通过将[x, y]旋转经过连续递减的角度来获得单位向量[1, 0]来确定。旋转角度的累积和给出原始向量的角度。

CORDIC算法也可以用于计算双曲函数(双曲正弦、双曲余弦、双曲反正切),通过用沿双曲线的步骤替换连续的圆形旋转。其他函数可以从上述基本函数派生。

CORDIC函数

使用协处理器的第一步是通过相应地编程CORDIC_CSR寄存器的FUNC字段来选择所需的函数。

表6.1: CORDIC函数列出了CORDIC协处理器支持的函数。

表 6.1: CORDIC函数

函数

主参数(ARG1)

次参数(ARG2)

主结果(RES1)

次结果(RES2)

余弦

角度θ

模数m

m·cosθ

m·sinθ

正弦

角度θ

模数m

m·sinθ

m·cosθ

相位

x

y

atan2(y,x)

√(x²+y²)

模数

x

y

√(x²+y²)

atan2(y,x)

反正切

x

无

tan⁻¹x

无

双曲余弦

x

无

cosh x

sinh x

双曲正弦

x

无

sinh x

cosh x

双曲反正切

x

无

tanh⁻¹x

无

自然对数

x

无

ln x

无

平方根

x

无

√x

无

自然指数

x

无

eˣ

无

几个函数接受两个输入参数(ARG1和ARG2),有些同时生成两个结果(RES1和RES2)。这是算法的副作用,意味着只需要一次操作就能获得两个值。例如,在执行极坐标到直角坐标转换时:sin θ也生成cos θ,cos θ也生成sin θ。

同样适用于直角坐标到极坐标转换(phase(x,y), modulus(x,y))和双曲函数(coshθ, sinhθ)。

注意:指数函数exp x可以作为sinh x和cosh x的和获得。此外,底数N的对数log_N x可以通过将ln x乘以常数K得出,其中K = 1/ln N。

对于某些函数(atan, log, sqrt),可以应用缩放因子来扩展函数的范围,超出q1.31定点格式支持的最大[-1, 1]范围。对于所有其他圆形函数,缩放因子必须设置为θ,对于双曲函数设置为1。

余弦

表 6.2: 余弦参数

参数

描述

范围

ARG1

角度θ(弧度),除以π

[-1, 1]

ARG2

模数m

[0, 1]

RES1

m·cosθ

[-1, 1]

RES2

m·sinθ

[-1, 1]

SCALE

不适用

0

此函数计算范围[-π, π]内角度的余弦。它也可用于执行极坐标到直角坐标的转换。

主参数是弧度角度θ。在编程ARG1之前必须除以π。

次参数是模数m。如果m大于1,必须在软件中应用缩放以将其适配到ARG2的q1.31范围。

主结果RES1是角度的余弦乘以模数。

次结果RES2是角度的正弦乘以模数。

正弦

表 6.3: 正弦参数

参数

描述

范围

ARG1

角度θ(弧度),除以π

[-1, 1]

ARG2

模数m

[0, 1]

RES1

m·sinθ

[-1, 1]

RES2

m·cosθ

[-1, 1]

SCALE

不适用

0

此函数计算范围[-π, π]内角度的正弦。它也可用于执行极坐标到直角坐标的转换。

主参数是弧度角度θ。在编程ARG1之前必须除以π。

次参数是模数m。如果m大于1,必须在软件中应用缩放以将其适配到ARG2的q1.31范围。

主结果RES1是角度的正弦乘以模数。

次结果RES2是角度的余弦乘以模数。

相位

表 6.4: 相位参数

参数

描述

范围

ARG1

x坐标

[-1, 1]

ARG2

y坐标

[-1, 1]

RES1

相位角θ(弧度),除以π

[-1, 1]

RES2

模数m

[0, 1]

SCALE

不适用

0

此函数计算向量v = [x y]在范围[-π, π]内的相位角(也称为atan2(y,x))。它也可用于执行直角坐标到极坐标的转换。

主参数为 x 坐标,即沿 x 轴方向的向量分量;若 \(|x|\) > 1,应在软件中缩放以适配 ARG1 的 q1.31 范围。 次参数为 y 坐标,即沿 y 轴方向的向量分量;若 \(|y|\) > 1,应在软件中缩放以适配 ARG2 的 q1.31 范围。

RES1 为相位角 θ,需再乘以 π 才得到弧度制角度。由于相位的环形特性,接近 +π 的值可能回绕至 −π。 RES2 为模值 √(x²+y²),若 \(|v|\) > 1 则饱和为 1。

模数

表 6.5: 模数参数

参数

描述

范围

ARG1

x坐标

[-1, 1]

ARG2

y坐标

[-1, 1]

RES1

模数m

[0, 1]

RES2

相位角θ

[-1, 1]

SCALE

不适用

0

此函数计算向量 v = [x y] 的幅度(模数),也可用于直角坐标到极坐标转换。

主参数为 x 坐标;若 \(|x|\) > 1,需缩放至 ARG1 的 q1.31 范围。 次参数为 y 坐标;若 \(|y|\) > 1,需缩放至 ARG2 的 q1.31 范围。

RES1 为模值 √(x²+y²),若 \(|v|\) > 1 则在 RES1 饱和至 1。 RES2 为相位角 θ(除以 π 的归一化值),转换为弧度需乘以 π。

反正切

表 6.6: 反正切参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-1, 1]

ARG2

不适用

–

RES1

2⁻ⁿ·tan⁻¹x,弧度,除以π

[-1, 1]

RES2

不适用

–

SCALE

n

[0,7]

此函数计算输入参数 x 的反正切值。

当 \(|x|\) > 1 时,需按 2⁻ⁿ 进行缩放,使 2⁻ⁿ·x ∈ (-1,1) 后写入 ARG1,并将 n 写入 SCALE。注意最大允许输入 tanθ = 128(约 89.55°),超过时需用软件方法分段或变换。 RES1 为角度 θ = atan(x)(已除以 π 的归一化格式),转换为弧度需乘以 2ⁿ·π。RES2 不使用。

双曲余弦

表 6.7: 双曲余弦参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-0.559,0.559]

ARG2

不适用

–

RES1

2⁻ⁿ·cosh x

[0.5,0.846]

RES2

2⁻ⁿ·sinh x

[-0.683,0.683]

SCALE

n

1

此函数计算双曲角 x 的双曲余弦。亦可用于计算指数:eˣ = cosh x + sinh x,e⁻ˣ = cosh x − sinh x。

仅支持 x ∈ [−1.118, 1.118]。由于 cosh x 的最小值为 1 超出 q1.31,需对输入按 2⁻ⁿ 缩放并设 SCALE = 1。 输出需还原:RES1=cosh x 与 RES2=sinh x 需各乘以 2。

双曲正弦

表 6.8: 双曲正弦参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-0.559,0.559]

ARG2

不适用

–

RES1

2⁻ⁿ·sinh x

[-0.683,0.683]

RES2

2⁻ⁿ·cosh x

[0.5,0.846]

SCALE

n

1

此函数计算双曲角 x 的双曲正弦,亦可用于 eˣ 和 e⁻ˣ 的组合。

支持 x ∈ [−1.118, 1.118]。输入按 2⁻ⁿ 缩放、SCALE = 1(n=1),写入 ARG1 为 x·0.5。 输出还原:RES1=sinh x 与 RES2=cosh x 需各乘以 2。

双曲反正切

表 6.9: 双曲反正切参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-0.403,0.403]

ARG2

不适用

–

RES1

2⁻ⁿ·atanh x

[-0.559,0.559]

RES2

不适用

–

SCALE

n

1

此函数计算输入参数 x 的双曲反正切。

支持 \(|x|\) ≤ 0.806。输入按 2⁻ⁿ 缩放,并设 SCALE = 1(n=1),写入 ARG1 为 x·0.5。 输出还原:RES1=atanh x 需乘以 2。RES2 不使用。

自然对数

表 6.10: 自然对数参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-0.054,0.875]

ARG2

不适用

–

RES1

2⁻⁽ⁿ⁺¹⁾·ln x

[-0.279,0.137]

RES2

不适用

–

SCALE

n

[1,4]

此函数计算输入参数 x 的自然对数。

仅支持 x ∈ [0.107, 9.35]。需选择缩放因子 n ∈ [1,4] 使 ARG1= x·2⁻ⁿ 满足 ARG1 < 1 − 2⁻ⁿ,并将 n 写入 SCALE。 RES1 为 2⁻(n+1)·ln(x),需乘以 2⁽ⁿ⁺¹⁾ 还原。RES2 不使用。

表 6.11: 自然对数的缩放因子与对应范围

n

x 范围

ARG1 范围

1

0.107 ≤ x < 1

0.0535 ≤ ARG1 < 0.5

2

1 ≤ x < 3

0.25 ≤ ARG1 < 0.75

3

3 ≤ x < 7

0.375 ≤ ARG1 < 0.875

4

7 ≤ x ≤ 9.35

0.4375 ≤ ARG1 < 0.584

平方根

表 6.12: 平方根参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[0.027,0.875]

ARG2

不适用

–

RES1

2⁻ⁿ√x

[0.04,1]

RES2

不适用

–

SCALE

n

[0,2]

此函数计算输入参数 x 的平方根。

仅支持 x ∈ [0.027, 2.34]。选择 n ∈ [0,2] 使 ARG1 = x·2⁻ⁿ 满足 ARG1 < (1 − 2^(−n−2)),并将 n 写入 SCALE。 RES1 为 2⁻ⁿ·√x,需乘以 2ⁿ 还原。RES2 不使用。

表 6.13: 平方根的缩放因子与对应范围

n

x 范围

ARG1 范围

0

0.027 ≤ x < 0.75

0.027 ≤ ARG1 < 0.75

1

0.75 ≤ x < 1.75

0.375 ≤ ARG1 < 0.875

2

1.75 ≤ x < 2.341

0.4375 ≤ ARG1 < 0.585

自然指数

表 6.14: 自然指数参数

参数

描述

范围

ARG1

x·2⁻ⁿ

[-0.2795,0.2795]

ARG2

不适用

–

RES1

2⁻ⁿ·eˣ

[0.0817,0.7648]

RES2

2⁻ⁿ·eˣ

[0.0817,0.7648]

SCALE

n

2

此函数计算输入参数 x 的指数(exp)。

支持 x ∈ [−1.11817, 1.11817]。需固定按 2⁻² 缩放(n=2):ARG1 = x·0.25,SCALE 写入 2。 RES1、RES2 为 2⁻²·eˣ,均需乘以 4 还原。

定点表示

CORDIC以定点有符号整数格式操作。输入和输出值可以是q1.31或q1.15。

在q1.31格式中,数字由一个符号位和31个小数位(二进制小数位)表示。因此数字范围是-1 (0x80000000)到1 - 2⁻³¹ (0x7FFFFFFF)。

在q1.15格式中,数字范围是-1 (0x8000)到1 - 2⁻¹⁵ (0x7FFF)。此格式的优点是两个输入参数可以打包到单个32位写入中,两个结果可以在一次32位读取中获取。

缩放因子

CORDIC函数中列出的几个函数指定了缩放因子SCALE。这允许将函数输入范围扩展到覆盖CORDIC支持的完整值范围,而不会使输入、输出或内部寄存器饱和。如果需要缩放因子,必须在软件中计算并编程到CORDIC_CSR寄存器的SCALE字段中。在将缩放值编程到CORDIC_WDATA寄存器之前,必须相应地缩放输入参数。还必须在从CORDIC_RDATA寄存器读取的结果上撤销缩放。

注意:缩放因子由于缩放值的截断而导致精度损失。

精度

结果的精度取决于CORDIC迭代次数。算法以每次迭代一个二进制位的恒定速率收敛。

CORDIC每个时钟周期可以执行四次迭代。对于每个函数,表6.15:精度与迭代次数显示了每四次迭代后剩余的最大误差,以及达到该精度所需的时钟周期数。

根据该表,可以确定所需的时钟周期数,并将其对应的“迭代次数/4”编码写入 CORDIC_CSR 寄存器的 PRECISION 字段。协处理器在完成所编程的迭代次数后即停止,结果可立即读取。

表 6.15: 精度与迭代次数

函数

迭代次数

周期数

最大残余误差

最大残余误差

q1.31格式

q1.15格式

Sin,Cos,Phase, Mod,Atan

4

1

2⁻³

2⁻³

8

2

2⁻⁷

2⁻⁷

12

3

2⁻¹¹

2⁻¹¹

16

4

2⁻¹⁵

2⁻¹⁵

20

5

2⁻¹⁸

2⁻¹⁶

24

6

2⁻¹⁹

2⁻¹⁶

Sinh,Cosh,Atanh, Ln,Exp

4

1

2⁻²

2⁻²

8

2

2⁻⁶

2⁻⁶

12

3

2⁻¹⁰

2⁻¹⁰

16

4

2⁻¹³

2⁻¹³

20

5

2⁻¹⁷

2⁻¹⁵

24

6

2⁻¹⁸

2⁻¹⁵

Sqrt

4

1

2⁻⁷

2⁻⁷

8

2

2⁻¹⁴

2⁻¹⁴

12

3

2⁻¹⁹

2⁻¹⁵

Note

  1. 最大残余误差是指在给定迭代次数后,相对于双精度浮点参考计算结果所剩余的最大误差。另可能存在舍入误差:q1.15 格式最多 2⁻¹⁶,q1.31 格式最多 2⁻²⁰。

  2. 对于模数(Modulus)> 0.5 的情况,量化误差会增大,可达精度会按模数大小成比例降低。

  3. 对于 ln,SCALE 应为 1;若使用更大的缩放因子,可达精度将按比例降低。

  4. 对于 sqrt,SCALE 应为 0;若使用更大的缩放因子,可达精度将按比例降低。

根据该表,可以确定所需的时钟周期数,并将其对应的“迭代次数/4”编码写入 CORDIC_CSR 寄存器的 PRECISION 字段。协处理器在完成所编程的迭代次数后即停止,结果可立即读取。

零开销模式

使用协处理器的最快方式是预编程CORDIC_CSR寄存器,包括要执行的函数(FUNC)、所需的时钟周期数(PRECISION)、输入和输出值的大小(ARGSIZE, RESSIZE)、输入参数数量(NARGS)和/或结果数量(NRES),以及缩放因子(SCALE)(如果适用)。

随后,通过向 CORDIC_WDATA 寄存器写入输入参数来触发计算。一旦写入了正确数量的输入参数(且任何正在进行的计算已完成),将以当前 CORDIC_CSR 设置启动新计算。如设置不变,无需重复编程 CORDIC_CSR。

若需要两个 32 位输入(ARGSIZE=0, NARGS=1),需先写 ARG1 再写 ARG2。若一系列计算中 ARG2 不变,可在首个计算启动后将 NARGS 改为 0,以后只写 ARG1。复位后 ARG2 缺省为 +1 (0x7FFFFFFF)。

当使用 16 位输入(ARGSIZE=1)时,将 ARG1 放低 16 位、ARG2 放高 16 位打包为 32 位写入(NARGS=0)。

对于仅单输入的函数,建议设 NARGS=0;若设为 1,则需执行第二次写入以触发计算(该次的 ARG2 数据不会被使用)。

计算进行中若读取 CORDIC_RDATA,则总线会等待直至结果就绪,因此可“写后立即读”而无需轮询;也可等待预期周期数后再读。在不影响当前计算结果的前提下,可在计算过程中重编程 CORDIC_CSR 或预装入下一次的参数到 CORDIC_WDATA。这些更新在上一计算完成后生效。

当一次计算完成后,可从 CORDIC_RDATA 寄存器读取结果。若期望两个 32 位结果(NRES = 1,RESSIZE = 0),将先读出主结果(RES1),随后读出次结果(RES2)。若仅期望一个 32 位结果(NRES = 0,RESSIZE = 0),第一次读取即输出 RES1。

若期望 16 位结果(RESSIZE = 1),对 CORDIC_RDATA 的一次读取会返回打包在同一 32 位字中的两个结果:RES1 位于低半字,RES2 位于高半字。此时推荐将 NRES 设为 0;若 NRES = 1,为了释放协处理器以启动下一次计算,必须执行第二次对 CORDIC_RDATA 的读取,并丢弃该次读取的数据。

当读出预期数量的结果(取决于 NRES/RESSIZE)且已写入预期数量的参数后,下一次计算开始。任意在挂起操作存在时对 CORDIC_WDATA 的额外写入会取消原挂起并覆盖数据。

使用流程概述: 1) 配置 CORDIC_CSR 2) 写入本次计算的参数到 CORDIC_WDATA(启动计算) 3) 如需,更新下一次计算的 CORDIC_CSR 4) 写入下一次计算的参数到 CORDIC_WDATA 5) 读取 CORDIC_RDATA 的结果(触发下一次计算) 6) 重复 3)

轮询模式

当 CORDIC_RDATA 有新结果时,CORDIC_CSR 的 RRDY 被置位。可通过读取 CORDIC_CSR 轮询该标志,并通过读取 CORDIC_RDATA(次数取决于 NRES)复位该标志。相比直接读取结果,轮询稍慢,但不会阻塞处理器或总线,适合需要低中断延迟的场景。

中断模式

通过设置CORDIC_CSR寄存器中的中断使能(IE)位,每当RRDY标志被设置时就会生成中断。当标志被复位时中断被清除。此模式允许在中断服务例程下读取计算结果,从而相对于其他任务给予优先级。但是,由于中断处理延迟,它比直接读取结果或轮询标志要慢。

DMA模式

当 DMA 写使能(DMAWEN=1)且无挂起操作时,产生 DMA 写请求,将 ARG1 传输到 CORDIC_WDATA;若 NARGS=1,将产生第二个写请求传输 ARG2。待输入齐备且上一计算结果已被读走后,启动新计算并产生下一轮 DMA 写请求。

当 DMA 读使能(DMAREN=1)且 RRDY 置位时,产生 DMA 读请求,将 RES1 从 CORDIC_RDATA 传输到内存;若 NRES=1,将产生第二次读请求传出 RES2,随后 RRDY 清除。

读写通道可独立使能。若同时使能,CORDIC 可在 DMA 协助下对缓冲数据进行自动往复计算,CPU 可并行处理其他任务。常见链路: - 结果被外设定期取走时,可由外设发起 DMA 读,读走 CORDIC_RDATA 同时触发下一次写请求以装入下一输入(此时开启 DMAWEN,禁用 DMAREN)。 - 若输入来自外设(如 ADC),可由外设发起 DMA 写,将样本直接写入 CORDIC_WDATA;计算完成后若 DMAREN=1,再由 DMA 将结果读回内存。

注意: - DMA 不会用于配置 CORDIC_CSR,适用于重复执行相同功能与参数设置的情形,SCALE 期间不可变化。 - 每个 DMA 请求必须由对应的对 CORDIC_WDATA 或 CORDIC_RDATA 的访问予以应答。启用 DMA 读时避免 CPU 访问 CORDIC_RDATA;启用 DMA 写时避免 CPU 访问 CORDIC_WDATA,以免提前应答阻塞 DMA。

中断

此IP有一个中断信号。这是一个电平中断。这是一个功能完成中断。没有错误中断。

操作完成时生成中断。中断是可屏蔽的。

相关寄存器是CORDIC_CSR。

寄存器

寄存器描述

CORDIC_RF寄存器

CORDIC_RF中的寄存器及其相应的偏移量如表8.1:CORDIC_RF中寄存器的偏移地址所示。

表 8.1: CORDIC_RF中寄存器的偏移地址

偏移量

寄存器名称

功能描述

0x0

IP_VER

IP版本号

0x4

GIT_VER

Git版本号

0x8

CORDIC_CSR

CORDIC控制/状态寄存器

0xC

CORDIC_WDATA

CORDIC参数寄存器

0x10

CORDIC_RDATA

CORDIC结果寄存器

0x14

CORDIC_DBG

CORDIC调试寄存器

IP版本号

地址偏移:0x0

表 8.2: IP_VER的格式

字段

位

访问

复位值

描述

IP_VER

23:0

RO

24’h010002

IP版本号

保留

31:24

/

0x0

/

Git版本号

地址偏移:0x4

表 8.3: GIT_VER的格式

字段

位

访问

复位值

描述

GIT_VER

31:0

RO

32’h0

Git版本号

CORDIC控制/状态寄存器

地址偏移:0x8

表 8.4: CORDIC_CSR的格式

字段

位

访问

复位值

描述

func

3:0

R/W

0

函数

  • 4’d0000: FUNC-COS: 余弦

  • 4’d0001: FUNC-SIN: 正弦

  • 4’d0010: FUNC-PHASE: 相位

  • 4’d0011: FUNC-MOD: 模数

  • 4’d0100: FUNC-ATAN: 反正切

  • 4’d0101: FUNC-COSH: 双曲余弦

  • 4’d0110: FUNC-SINH: 双曲正弦

  • 4’d0111: FUNC-ATANH: 双曲反正切

  • 4’d1000: FUNC-LN: 自然对数

  • 4’d1001: FUNC-SQRT: 平方根

  • 4’d1010: FUNC-EXP: 指数

precision

7:4

R/W

5

所需精度,精度值为1到15

  • 4’b0000: 保留

  • 4’b0001: iter4: 迭代4次/4

  • 4’b0010: iter8: 迭代8次/4

  • 4’b0011: iter12: 迭代12次/4

  • 4’b0100: iter16: 迭代16次/4

  • 4’b0101: iter20: 迭代20次/4

  • 4’b0110: iter24: 迭代24次/4

  • 4’b0111: iter28: 迭代28次/4

scale

10:8

R/W

0

缩放因子

应用于参数和/或结果的缩放因子

保留

15:11

/

0x0

/

ien

16

R/W

0

使能中断

  • 1’b0: 禁用

  • 1’b1: 使能

dmaren

17

R/W

0

使能DMA读通道

  • 1’b0: 禁用DMA读

  • 1’b1: 使能DMA读

dmawen

18

R/W

0

使能DMA写通道

  • 1’b0: 禁用DMA写

  • 1’b1: 使能DMA写

nres

19

R/W

0

CORDIC_RDATA寄存器中的结果数量

  • 1’b0: 一个32位值

  • 1’b1: 两个32位值

nargs

20

R/W

0

CORDIC_WDATA寄存器期望的参数数量

  • 1’b0: 一个32位参数

  • 1’b1: 两个32位参数

ressize

21

R/W

0

输出数据宽度

  • 1’b0: 32位

  • 1’b1: 16位

argsize

22

R/W

0

输入数据宽度

  • 1’b0: 32位

  • 1’b1: 16位

保留

30:23

/

0x0

/

rrdy

31

RO

0

结果就绪标志

  • 1’b0: 结果未就绪

  • 1’b1: 结果就绪,CORDIC_RDATA寄存器包含新数据

CORDIC参数寄存器

地址偏移:0xC

表 8.5: CORDIC_WDATA的格式

字段

位

访问

复位值

描述

arg

31:0

R/W

0

函数输入参数

CORDIC结果寄存器

地址偏移:0x10

表 8.6: CORDIC_RDATA的格式

字段

位

访问

复位值

描述

res

31:0

RO

0

函数结果

CORDIC调试寄存器

地址偏移:0x14

表 8.7: CORDIC_DBG的格式

字段

位

访问

复位值

描述

arg_cnt

7:0

RO

0

循环计数器,RC。记录核心接受的参数数量。计算开始时递增。

res_cnt

15:8

RO

0

循环计数器,RC。记录用户读取的结果数量。获取计算结果时递增。

保留

29:16

/

0x0

/

core_busy

30

RO

0

core_busy,指示CORE忙碌

busy

31

RO

0

busy,指示IP忙碌。当参数挂起、核心忙碌或结果挂起时设置忙碌。