描述
关键词:计算、计算
我想用CORDIC核心V1.0来计算输入的平方根。输入和输出数据需要什么格式?这与平方根有什么关系?
解决方案
在CORDIC V4.0和以后的数据表中有几个示例和改进的数据格式信息。
CORDIC核心的输入和输出是Q1格式二进制数。Q1格式从左边有一个假想的十进制一个位置。CORDIC的平方根函数采用无符号输入/输出数据。下面给出Q1数字格式的例子。
当核心用于平方根计算时,有两种方法解释CORDIC核的结果:
案例1:计算分数的平方根
对于8位输入,输入的格式是:
0.0001000 =(平方RT 1/16)
输出的格式是:
0.0100000=(1/4)
对于20位输入,输入的格式是:
0.000 0100000亿=(SqRT 1/16)
输出的格式是:
0.0100000亿日元=(1/4)
案例2:不同的平方根的输入/输出可以被解释为“改变”输入范围。
从左(Q1)的十进制一个位置开始,如果输入数据由2×N位左移,则输出数据由N位左移。
对平方根的8位输入是:
100=(SqRT 4)—gt;这个输入由6=2×3移位,因此n=3。
10=(2)———–gt;输出移位3。
对平方根的一种可能的20位输入是:
00000000000000000 10=SqRT(2)—–gt;输入由18=2×9移位,因此n=9。
100000 000 01.0110 101000=1.4140625,输出偏移9。
另一种可能的20位输入和平方根函数的结果是:
0000000000000000 100=SqRT(4)
2亿
对CORDIC平方根的整数和整数的实例化如下所示:
Xyin:STDYLogLogic向量(20-1下降到0);
XyOUT:STDYLogLogic向量(20-1下降到0);
实例化一个21位平方根:
XiNi-SqRRT:STDyLogic向量(21-1下降到0);
XyOutsQRRT: STdLogLogic向量(21-1下降到0);
完成下列任务:
输入:
Xyin Sqrt& lt;=xin in and ‘;0′;
输出:
XyOUT(20-1下降到11)& lt=(其他=& gt;‘0’’);
XyOUT(10下降到0)& lt;= xSuxOxSqRT(21-1下降到10)
有关LogICORCORDIC发行说明和已知问题的详细列表,请参阅(赛灵思解答29570).
没有回复内容