作者logFM3798 (阿涅!!)
看板Electronics
标题[问题] verilog 关於 cordic 的问题
时间Fri Oct 4 12:47:19 2013
各位前辈好 小弟是学 Verilog + FPGA 的新手
之前练过一些题目 基本的概念和写法都有些心得了
最近又在练习写一些新的电路 但一开始就卡关了 = =
有两组 input 比如说 A B 8-bit 的讯号 好了
我想要求出 把A当实部 B当虚部 他们的大小值
即 output 为
Mag = (A^2 + B^2) ^1/2
变成大小值输出这样
然後 之前有听说过用 cordic block 可以直接运算
我的问题是
1. Verilog 里面有支援这样的语法吗??
我合成时是用Quartus II 然後想烧进FPGA里面
只是我不知道这样能不能合出来= =
2. 如果不管 cordic block 这个东西
能不能给我个方向 该怎麽用Verilog 写出求大小值的电路
老实说我昨天一整天都在想这个
google也查了 跟cordic有关的文章也看了 结果还是一片混乱= =
烦请版上的大大救救小弟 不然今天进度又要卡了呜呜
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.138.176.76
1F:→ sasako:有卡才会进步罗!呵呵...虽然我不知道你在问啥 10/04 13:41
2F:→ lovepy:不支援 平方的部分可以用成A*A B*B 开根号比较麻烦要自己写 10/04 13:42
3F:→ lovepy:例如用查表或者其他数学近似法来弄出来 10/04 13:43
4F:推 sasako:多谢楼上说明 我看懂了 Verilog有范围限制 10/04 13:46
5F:→ sasako:跟你要宣告的bits数有关系 所以要先知道 A和B的范围在哪 10/04 13:46
6F:→ sasako:而近似的演算法 要再加上小数点的话 老实说 不好做 10/04 13:47
7F:→ sasako:要看你想近似到第几位 那你宣告的bit数又要再多一些 10/04 13:47
8F:推 bxxl:网路上可以找到很多cordic的文章啊, 10/04 13:49
9F:→ bxxl:你就是把他翻成verilog就好了, 应该也有现成的 10/04 13:50
10F:→ bxxl:或是你可以先用任一种程式语言写出来,确认步骤你都搞清楚了 10/04 13:51
11F:→ bxxl:再用verilog写,最基本的作法是n个bit输入就要n个cycle 10/04 13:53
12F:→ logFM3798:阿阿感谢前辈们的回覆!! 10/04 14:37
13F:→ logFM3798:bxxl 大 我看了cordic的文章後 还是很不解要怎麽 10/04 14:39
14F:→ logFM3798:用verilog 写出来 ,所以现在方向转成 平方後开根号 10/04 14:39
15F:→ logFM3798:我再去研究怎麽用verilog写开根号!!!! 10/04 14:40
16F:→ logFM3798:to lovepy大 感谢你的回覆 我应该会找近似做法来用 10/04 14:41
17F:→ logFM3798:to sasako大 我锁定A B在0~1之间的值 近似到小数第四位 10/04 14:42
18F:→ logFM3798:就好了~ 弄起来应该不会太难吧@@ 10/04 14:43
19F:推 dasala:你要做这个设计,应该先去了解乘法器的电路 10/04 15:04
20F:→ dasala:verilog要写的好,前题是:你知道你写的语法合成出来电路是 10/04 15:06
21F:→ dasala:怎样吗 10/04 15:06
22F:推 sasako:位数不多 相对硬体简单 不过你假如想写configure width那种 10/04 16:52
23F:→ sasako:就要好好想想 .. 10/04 16:52
24F:→ sasako:第一次写不用管gate count多少 把行为搞对 确定可以合成 10/04 16:54
25F:→ sasako:我想是第一步.. 10/04 16:54
26F:推 luckyBF:我觉得第一步先把数位电子跟逻辑电路学好比较重要 10/04 21:39
27F:推 luckyBF:没有实体的逻辑电路思想,纯软体写出来的东西写出来会很吓 10/04 21:41
28F:→ luckyBF:人 10/04 21:41
29F:推 tkhan:先画出架构图再来说.. 10/04 21:43
30F:推 bxxl:你可以去找computer arithmetic的书,包含各种运算及特殊函数 10/04 22:28
31F:→ sasako:其实吓人对我来说是正常的 因为我也是这样走过来 10/06 15:18
32F:→ sasako:程式就是多写 一直不断地从失败中获取经验 10/06 15:19
33F:→ lovepy:0~1之间的话可能要先决定是要用整数表示法还是浮点数表示法 10/06 15:40
34F:→ lovepy:数字系统不一样的话 运算作法也会不太一样 10/06 15:41