搜索
bottom↓
回复: 18

发现乘除法运算狂占资源啊,真是吃不消,有没有好的瘦身方法

[复制链接]

出0入0汤圆

发表于 2011-10-8 16:13:51 | 显示全部楼层 |阅读模式
Step <= max - (max -min)*cnt/cnt_all;

上面这样的运算耗费了两百多的 LE,吃不消啊 。。。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-10-8 16:15:59 | 显示全部楼层
可以自己写个乘法器。

出0入0汤圆

发表于 2011-10-8 18:12:01 | 显示全部楼层
HDL!=programming language

出0入0汤圆

发表于 2011-10-8 18:34:17 | 显示全部楼层
没有使用嵌入式乘法器吗?还是你的fpga没有?

出0入0汤圆

发表于 2011-10-8 19:55:05 | 显示全部楼层
不知道你建模做过定点算法没,不用太精确的话可以查表;不行就硬乘法器,自己写的乘法器不是太靠谱的。

出0入0汤圆

 楼主| 发表于 2011-10-8 21:58:56 | 显示全部楼层
【4楼】 freud
不知道你建模做过定点算法没,不用太精确的话可以查表;不行就硬乘法器,自己写的乘法器不是太靠谱的。

-------------------------------------------------------------------------------------------------------------------


没做过定点算法,HDL也是才涉及不久。
精度要求不高,查表如何操作  ?

出0入0汤圆

发表于 2011-10-8 22:11:42 | 显示全部楼层
回复【5楼】wangwenjia

【4楼】 freud  
不知道你建模做过定点算法没,不用太精确的话可以查表;不行就硬乘法器,自己写的乘法器不是太靠谱的。
-------------------------------------------------------------------------------------------------------------------
没做过定点算法,hdl也是才涉及不久。
精度要求不高,查表如何操作  ?

-----------------------------------------------------------------------

你搜搜网上有一堆的

出0入0汤圆

发表于 2011-10-8 23:09:35 | 显示全部楼层
写程序要动点儿脑筋吧,让语言去综合出一个乘法器?不现实

出0入0汤圆

发表于 2011-10-8 23:22:43 | 显示全部楼层
【7楼】philoman
写程序要动点儿脑筋吧,让语言去综合出一个乘法器?不现实
-----------------------------------------------------------------------
正好,我也有这个疑问回复
我也是搞不明白,直接用HDL里提供的这个*和硬件或者HDL写一个乘法器出来有什么区别? 难道用HDL里的这个*的话,综合器直接用组合逻辑的方式实现一个乘法器?(就是数电里列出真值表然后画个什么图的方法用与非或门弄一个乘法器出来)

出0入0汤圆

发表于 2011-10-9 06:19:18 | 显示全部楼层
幸亏不是高精度乘法.......
前几天某同学一道输入两个数 输出两数的乘积的题目
怎么也通不过。。。。

时间限制1s

竟然是50000位高精度乘法 得用FFT 我一直不明白的路过。。

出0入0汤圆

发表于 2011-10-9 14:10:15 | 显示全部楼层
回复【9楼】aheadlead  瓦之
幸亏不是高精度乘法.......
前几天某同学一道输入两个数 输出两数的乘积的题目
怎么也通不过。。。。
时间限制1s
竟然是50000位高精度乘法 得用fft 我一直不明白的路过。。
-----------------------------------------------------------------------

50000位,您玩笑开大了吧!

出0入0汤圆

发表于 2011-10-12 21:24:06 | 显示全部楼层
在QuartusII中执行入下步骤:
1、Tools -> MegaWizard Plug-in Manager 弹出兆函数对话框,选择单选项创建新的兆函数(megafuction),点击next。
2、在出现的对话框中的左侧,有一些列的IP核,选中Arithmetic(运算),选择ALTFP_MULT,在右侧选择生产的语言类型(VHDL还是Verilog?),并给它取个名字,然后点击next;
3、出现了相应的界面,按提示一步步操作即可。
用了芯片提供的乘法器,直接写*或者/的话用的芯片的le资源。

出0入0汤圆

发表于 2011-10-13 11:26:18 | 显示全部楼层
自己弄个循环乘法器,我以前自己写了个16*16的定点并行乘法器,好像4级流水线,用了1万门

出0入0汤圆

发表于 2011-10-14 10:45:33 | 显示全部楼层
查找表构建:通常用case语句给出特定的输入,和相应的输出

出0入0汤圆

发表于 2011-10-18 16:34:01 | 显示全部楼层
我晕,你没用megacode啊

出0入0汤圆

发表于 2011-10-20 17:17:19 | 显示全部楼层
不建议试验VHDL语言编写乘除法,太耗资源

出0入0汤圆

发表于 2011-10-21 23:50:41 | 显示全部楼层
芯片已经自带乘法器,直接用就可以了。

出0入0汤圆

发表于 2011-10-28 20:52:32 | 显示全部楼层
如果时延要求不是很高的话.可以用移位器和加法器实现乘法器,多占几个时钟周期来实现
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 11:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表