急 为什么要自己写乘法器代码?
时间:10-02
整理:3721RD
点击:
最近在学FPGA,要写一些滤波器的算法,要用到乘法器,我很奇怪大家为什么都要自己写VHDL乘法器代码,为什么不用QUARTUS内部自带的LPM乘法器?
谢谢各位高手帮小弟解决这一疑惑!
谢谢各位高手帮小弟解决这一疑惑!
可能因为功耗或面积原因,需要从RTL级入手解决
量身定制呗
这还用说
不然大家都用ASIC完了
大部分纯属练手,当然不排除部分有特殊要求。
FPGA会调用乘法器,DC会用DW里面的
自己写的未必有多好
最好是用自带的乘法器,自写的应赶不上FPGA CORE生成的效率高,
如果担心移植问题,比如ALTERA和XILINX平台的,可以写个参数型的文件,将平台与适用位宽,signed/unsigned全包含在里面,以后换平台也轻松得很。
IPcore对位宽都有限制,有的时候需要拼接使用,很麻烦。还不如自己写一个省事。
从可移植型以及约束目标可控性(面积最优还是速度最优)角度讲,还是用自己写的吧,调用IP的话,FPGA时序通过并不代表DC一定通过。
如果在FPGA,使用自带的IP是可以的,前提是买了相关的license,否则只能自己写
如果是做ASIC,也可以用现有的IP,成本是一个要考虑的因素,另外就是性能。所以很多设计最后还是自己设计乘法器
除非是极特殊的应用场合。否则,哪怕你是用门来搭建乘法器性能也未必好过IP。比IP性能好的乘法器通常是全定制的。
上opencores上找
滤波器中的乘法器可以自己实现,用补码查找表,不过一般都会用库里面的乘法器,除了有特殊要求!
