如何计算VHDL中的犯罪反向(Arcsin)



我正在使用 Altera de0 nano soc fpga Quartus 16.1 Lite Edition 。在Internet进行了搜索后,我发现可以直接使用sincosatan Altera的Corda IP Core。还发现查找表(LUT(可用于sin或cos(主要在Google中使用(,但是如何在VHDL中获得 sin Inverse(ARCSIN(?我找到了一个sincos查找表,有没有一种方法来生成 sin

是的,可以为arcsin生成查找表。

1(确定输入精度,换句话说,您要保存多少个值。例如,如果您的精度为0.1。

,则需要存储11个值
arcsin(0), arcsin(0.1), arcsin(0.2), ..., arcsin(1).

2(找到Arcsin函数的结果。这是我通过谷歌搜索找到的来源。

arcsin(0)   = 0
arcsin(0.1) = 5.7
arcsin(0.2) = 11.5
...
arcsin(1)   = 90

3(确定输出精度。

如果精度为1,则所有值都舍入整数。

arcsin(0.1) = 6
arcsin(0.2) = 12

如果精度为0.5,则结果如下。对于此精度,输出需要9位大小。8位用于整数部分,1位用于分数部分。

arcsin(0.1) = 5.5
arcsin(0.2) = 11.5

4(映射输入值到查找表的地址。例如,它应该像下面的0.1精度一样。此示例不需要其他查找表或地址映射的大逻辑。

0   -> 0
0.1 -> 1
0.2 -> 2
...
1   -> 10

5(在VHDL中实现此查找表,就像您为sincos找到的那样。

是的。

例如,使用cordic ...我在Google上的第一个热门歌曲之一:基于FPGA的计算机的电线算法的调查

最新更新