微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 用verilog如何编写一个既快速又省资源的整型开方函数呢?

用verilog如何编写一个既快速又省资源的整型开方函数呢?

时间:10-02 整理:3721RD 点击:
现在遇到一个问题,要用verilog实现sqrt函数,要求可仿真,可综合;调用乘法器逐次逼近这样速度很慢,耗费资源也很大,有人提供建议说用查找表的方法,将平方或开方的数事先写到ROM里,但是这样的话如何进行仿真呢?仿真的时候哪里有ROM呀?



本人参照下面文档,编写过整数开2次方和3次方的模块,思路和除法器类似,只需要加法器和比较器且运算周期固定,便于流水线的实现。另外感谢文档的作者。
http://www.docin.com/p-414936103.html


看你的要求了,快速快到什么程度,需要合成到什么样的频率,如果要求不是特别高,可以问下度娘手算开方的方法,比较适合硬件实现,也比较容易做pipeline

感觉还是使用查表的办法来的快

一起学习!1



   如果是24bit甚至32bit的数呢

贼简单 designware里面有sqrt

使用CORDIC来实现!

非常感谢

非常棒哈哈哈哈

建议参考《高速硬件开平方电路的ASIC设计》

用IP核啊

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

网站地图

Top