打印
[Actel FPGA]

请教,求余时出错

[复制链接]
1579|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LPC300|  楼主 | 2010-5-30 12:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用四个数码管显示一个X千X百X十X的一个数字,
千位码是用这个数字除以1000,剩下的位原理类似,用除或者取余的语法来达成。
问题出现:编译时发生错误,除数只能用2的整次幂。divisor must be a positive constant power of 2

如:     num1    <= counter1%10;
            num2    <= counter1/10%10;
            num3    <= counter1/100%10;
            num4    <= counter1/1000;



但是我在看网上的有些网友的代码时,他们的程序里是可以直接这样实现的。这是不是跟芯片有关?

相关帖子

沙发
maoyanketi| | 2010-5-30 12:44 | 只看该作者
与芯片、综合器有关,对除法、取余等操作有些综合器不支持~

使用特权

评论回复
板凳
LPC300|  楼主 | 2010-6-5 23:13 | 只看该作者
那我要实现以上功能有什么其他的方法吗?谢谢指导

使用特权

评论回复
地板
3B1105| | 2010-6-5 23:14 | 只看该作者
比如除法器,就是用FPGA内部逻辑资源搭建,网上有很多除法器的实现方式,可作为参考~

使用特权

评论回复
5
6019实验室| | 2010-6-5 23:15 | 只看该作者
FPGA是逻辑门电路,所以要考逻辑方法实现除法器,因此不支持除法综合。

FPGA做数据处理太差啦!

使用特权

评论回复
6
yelinggtx| | 2010-6-7 17:34 | 只看该作者
5# 6019实验室

FPGA做数据处理并没有你想象的那么差,现在很多FPGA都集成了乘法器 FFT等IPCore,算法处理同DSP不相上下,如果只是IPCore,为软核的话,根据自己程序的写法和芯片的架构有密切关系,所以FPGA数据处理能力是值得信任的,如果用FPGA专做算法,不推荐,但是掺杂有数据处理的综合设计FPGA优势明显

使用特权

评论回复
7
aresc| | 2010-6-8 21:27 | 只看该作者
用减法就可以了,比如4567,先求千位的数字N4,再求百位数字N3,十位数字N2以及个位数字N1

int N4 =N3=N2=N1= 0;
int i;
int value = 4567;
while (value >= 1000)
{
      N4++;
      value -= 1000;
}
while (value >= 100)
{
      N3++;
      value -= 100;
}
while (value >= 10)
{
      N2++;
      value -= 10;
}

N1 = value;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:30——驱动高手、流利的英语

107

主题

525

帖子

0

粉丝