搜索
bottom↓
回复: 14

ISE与Quartus II的综合工具性能疑问,请求指导!!!

[复制链接]

出0入0汤圆

发表于 2012-9-10 13:56:19 | 显示全部楼层 |阅读模式
本帖最后由 beirvin 于 2012-9-10 13:57 编辑

刚开始学习FPGA,最近在编写数码管显示时遇到了一个让人不解的问题。不说废话,直接拿出我的问题吧,请看如下代码:
module number_mod_module
(
    CLK, RSTn,
         Number_Data,
         Ten_Data, One_Data
);

    input CLK;
         input RSTn;
         input [7:0]Number_Data;
         output [3:0]Ten_Data;
         output [3:0]One_Data;
         
         /*********************************/
         
         reg [31:0]rTen;
         reg [31:0]rOne;
         
         always @ ( posedge CLK or negedge RSTn )
             if( !RSTn )
                begin
                   rTen <= 32'd0;
                   rOne <= 32'd0;
               end
            else
               begin
                    rTen <= Number_Data / 10;
                    rOne <= Number_Data % 10;
            end
       
         /***********************************/
         
         assign Ten_Data = rTen[3:0];
         assign One_Data = rOne[3:0];
         
         /***********************************/

endmodule
同样的代码,在Quartus II9.1上综合成功,但是在ISE12.4上综合就会出现如下报错:
ERROR:Xst:867 - "number_mod_module.v" line 48: Operator / is only supported when the second operand is a power of 2.
这句话的意思是二目运算符“/”只有第二个操作数为2的幂次方才有效。事实上我将其改成如下代码:
                rTen <= Number_Data / 4;
                    rOne <= Number_Data % 4;
这样的话在ISE12.4上综合就能成功。
这个问题小弟着实不明白,希望各位仁兄给予指点!!!
补充一点,小弟拥有两块开发板,一款是赛灵思的spartan 3E XC3S500,一款是altera的cycloneII EP2C8Q208C8N,呵呵都是实验室提供的!



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

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

出0入0汤圆

发表于 2012-9-10 14:19:57 | 显示全部楼层
直接除法一般是不行的,也是不提倡的

出0入0汤圆

发表于 2012-9-10 17:07:01 | 显示全部楼层
楼上正解
不知道Quartus 是怎么综合的,窃以为最终不能综合成硬件吧,用来仿真还差不多

出0入0汤圆

发表于 2012-9-10 17:15:26 | 显示全部楼层
直接的,非移位可以搞定的除法操作导致生成组合除法器,消耗大,综合器不支持完全正常。

出0入0汤圆

发表于 2012-9-10 21:35:45 | 显示全部楼层
/10 和%10都可以用移位的方式解决

出0入0汤圆

发表于 2012-9-10 21:43:44 | 显示全部楼层
jlhgold 发表于 2012-9-10 21:35
/10 和%10都可以用移位的方式解决

关注,是不是先*102再移动10位?FPGA有乘法器,对于常数还是有办法的

出0入0汤圆

发表于 2012-9-10 22:43:55 | 显示全部楼层
NJ8888 发表于 2012-9-10 21:43
关注,是不是先*102再移动10位?FPGA有乘法器,对于常数还是有办法的

我想到的差不多 不过我想102.4应该也行 虽然没有试过 不过我至少觉得 这样肯定比直接 除 来的快些

出0入0汤圆

发表于 2012-9-10 22:49:57 | 显示全部楼层
NJ8888 发表于 2012-9-10 21:43
关注,是不是先*102再移动10位?FPGA有乘法器,对于常数还是有办法的

给个参考链接 不是我写的 只是觉得很好 收藏的
http://blog.csdn.net/rill_zhen/article/details/7961937
http://blog.csdn.net/rill_zhen/article/details/7964535

出0入0汤圆

发表于 2012-9-10 23:39:15 | 显示全部楼层
jlhgold 发表于 2012-9-10 22:49
给个参考链接 不是我写的 只是觉得很好 收藏的
http://blog.csdn.net/rill_zhen/article/details/7961937 ...

好资料,多谢分享

出0入0汤圆

 楼主| 发表于 2012-9-11 22:38:14 | 显示全部楼层
lgg88 发表于 2012-9-10 14:19
直接除法一般是不行的,也是不提倡的

谢谢指导,阿莫论坛是我见过最活跃的论坛!
最近比较忙,给老师做项目,呵呵,没有来的及回复,见谅!

出0入0汤圆

 楼主| 发表于 2012-9-11 22:46:19 | 显示全部楼层
zkf0100007 发表于 2012-9-10 17:07
楼上正解
不知道Quartus 是怎么综合的,窃以为最终不能综合成硬件吧,用来仿真还差不多 ...

我在网上查到了一些资料,他们给出的解释是quartus II会自动把“除法器.V”和“求余器.v”自动添加到“使用文本.v”层次之下。我的理解是quartusII综合器会自动生成除法器和求余器的模块,而ISE综合器没有这个功能吧。最后还是要感谢你的指导!

出0入0汤圆

 楼主| 发表于 2012-9-11 22:47:39 | 显示全部楼层
dr2001 发表于 2012-9-10 17:15
直接的,非移位可以搞定的除法操作导致生成组合除法器,消耗大,综合器不支持完全正常。
...

也就是说,ISE是不持上面非移位的除法,我得自己用移位的方法来写吧!

出0入0汤圆

 楼主| 发表于 2012-9-11 22:49:00 | 显示全部楼层
本帖最后由 beirvin 于 2012-9-11 22:51 编辑
jlhgold 发表于 2012-9-10 21:35
/10 和%10都可以用移位的方式解决


嗯,我下去试试,当时很奇怪同样的代码字不同的开发环境下的综合结果居然不同!

出0入0汤圆

 楼主| 发表于 2012-9-11 22:50:47 | 显示全部楼层
jlhgold 发表于 2012-9-10 22:43
我想到的差不多 不过我想102.4应该也行 虽然没有试过 不过我至少觉得 这样肯定比直接 除 来的快些 ...

嗯,谢谢各位的指导,呵呵,大家一起交流学起来才会更快,我是刚学完STM32转过来的~

出0入0汤圆

发表于 2012-9-12 12:41:43 来自手机 | 显示全部楼层
beirvin 发表于 2012-9-11 22:49
嗯,我下去试试,当时很奇怪同样的代码字不同的开发环境下的综合结果居然不同! ...

同样的代码在同一开发环境下,每次综合,布局,布线的结果都不同,更别说在不同的开发环境了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-24 09:22

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

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