作者sasako (只想把你留在心中)
看板Electronics
标题Re: [问题] Verilog 中如何去实现arctan?
时间Sun Aug 31 02:37:34 2008
※ 引述《chiunyao ()》之铭言:
: 想请问一下
: 在Verilog中
: 要怎麽实作出arctan 这个函数呢
: 因为在cadence 中的AmbitWave 中并没有提供 arctan这个Module
: 只有 SIN CON SINCOS 这几个
: 请问有人知道要怎麽实做呢?或是提供我一个方向
: 谢谢
对於硬体来说,这种复杂计算的函数大概都只能算出约略的值..
而且bit数也决定能近似多少位数..
可以统计你所有可能的input值,作个truth table,速度会比较快..
不然只能用其他较简单的函数去近似他,再去实现...
个人想法 仅供参考
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.115.224.22
※ 编辑: sasako 来自: 59.115.224.22 (08/31 02:38)
1F:推 deathcustom:简单的作法:做table,烧进ROM,然後用INPUT去读值 08/31 02:52
2F:推 finalhaven:用ROM的方式把值写进去,然後读出来 08/31 13:54
3F:推 ilovepachaya:楼上皆正解 08/31 16:49
4F:推 chiunyao:我想问一下 可是被要求说 只能用 SIN COS这些函数实现 08/31 16:52
5F:推 tkhan:去翻高中课本吧.. 08/31 17:41
6F:→ tkhan:如果是在职的RD,那快点辞职.. 08/31 17:42
7F:推 paullai:arctan(x) =arc sin x/[(x^2+1)^(1/2)] 08/31 21:42
8F:→ paullai:至於arc sin y 你可以选择看看用无穷级数或积分等等来表示 08/31 21:42
9F:→ paullai:建议翻翻建议可以翻翻微积分or微分表or积分表 08/31 21:43
10F:→ paullai:阿 漏了一个括号 orz 应该是下面这样 08/31 21:43
11F:→ paullai:arctan(x) =arc sin {x/[(x^2+1)^(1/2)]} 08/31 21:43
12F:推 abayson:有种叫cordic电路可以实现arctan 在OFDM是用这个做的 08/31 23:04
13F:推 sepcher:NCO + CORDIC 08/31 23:25
14F:推 chiunyao:我试看看大家的想法 09/01 00:15
15F:推 Aragom:超大型数位信号积体电路设计这门课会学用cordic实作arctan 09/01 02:49
16F:推 bighead319:用ROM去做简单又快,用一般逻辑去算的话,即使面积较小 09/01 12:23
17F:→ bighead319:但他的switch power可能还是比ROM来的大 09/01 12:24