微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何用verilog求以2为底的对数

如何用verilog求以2为底的对数

时间:10-02 整理:3721RD 点击:
请高手指点,如何用verilog求以2为底的对数。
已知要求的数的位宽
希望这个操作能在一个clk内完成

DW_log2



    什么意思?

designware,当然你也可以自己写,但你自己写的效率不一定有这个好。

一个cycle精度要求不高就查表,精度高没法,需要多cycle。

有算法可以实现的。查表是最不可取的方法

用crodic算法啊,像anta2、log这些函数用crodic算法很容易实现且精度很高。1拍时钟估计很难完成的,加几级流水就可以了。

crodic需要很多级。

可以在一个cycle里完成


不好意思,什么是crodic算法?我没接触过这个东西,你有相关的资料吗?

超越运算多数算法都是迭代的。
迭代算法1cycle是不可能的
并行的,比如查表+一次二次拟合,精度上不去。
精度上去了,面积你也接受不了。
虽然能1cycle内完成,但是不流水的话,能慢死你。当然吞吐率可以比较高。

cordic也可在synopsys DW裡面找到喔

1周期,。要求有点高

听起来好难实现啊

你的这个求对数肯定是约算的,要不然不可能在一个周期内完成(非流水),我做过一个求对数,约算,11楼说的方法,精度还是蛮高的。


crodic算法,在田耘的书上有····一个时钟内可以完成,不过效率不高是必然的。如楼上别人说的,可以增加流水线·

你可以参考这个:http://www.cantares.on.ca/extras.html

采用查表的方法可以解决这个问题。


您好,大概了解了下cordic算法,可是具体要怎么实现呢,希望您能指点一下

旁观学习

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top