我正在使用 Altera de0 nano soc fpga 和 Quartus 16.1 Lite Edition 。在Internet进行了搜索后,我发现可以直接使用sin
,cos
和atan
Altera的Corda IP Core。还发现查找表(LUT(可用于sin或cos(主要在Google中使用(,但是如何在VHDL
中获得 sin
Inverse(ARCSIN
(?我找到了一个sin
和cos
查找表,有没有一种方法来生成 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中实现此查找表,就像您为sin
或cos
找到的那样。
是的。
例如,使用cordic ...我在Google上的第一个热门歌曲之一:基于FPGA的计算机的电线算法的调查