4746|4

59

帖子

8

TA的资源

一粒金砂(中级)

楼主
 

VHDL中除法使用错误。求指教 [复制链接]

vhdl语言的问题,用FPGA串口接受到一串数据,然后用这一串数据除以256,并将余数取出来。再用64除以这一个余数。
为什么会出错呢?原因好像是两端都要是实数。

下面程序中 h_pixel是串口接受的数据。some_level是常数256。
程序代码如下:
     RTR_int:= h_pixel/some_level;  --多少像素  一阶
     RTR_rec:=h_pixel rem some_level; --余数
     
     if RTR_rec>0 then
      n_pixel:=some_level/RTR_rec;  --余数中的,每多少像素补一个像素进去
      。。。。。。
    end if;



错误代码如下:
line 218: Operator must have constant operands or first operand must be power of 2

[ 本帖最后由 jinghong21 于 2013-3-4 10:36 编辑 ]
此帖出自FPGA/CPLD论坛

最新回复

/仅支持除数是常数的。对于2的整数幂, 应直接用移位方法即可!  详情 回复 发表于 2013-3-6 20:38
点赞 关注
 

回复
举报

6892

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
VHDL通常情况下仅能处理整数。
此帖出自FPGA/CPLD论坛

点评

如果将串口接收的h_pixel值 变为常数就不会出错,因为h_pixel是未知数,所以可能 RTR_rec:=h_pixel rem some_level中RTR_rec也是未知的, n_pixel:=some_level/RTR_rec;这一句出错了。 请问有没有方法解决这个问  详情 回复 发表于 2013-3-5 09:04
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 

回复

59

帖子

8

TA的资源

一粒金砂(中级)

板凳
 

回复 沙发 eeleader 的帖子

如果将串口接收的h_pixel值  变为常数就不会出错,因为h_pixel是未知数,所以可能 RTR_rec:=h_pixel rem some_level中RTR_rec也是未知的,
n_pixel:=some_level/RTR_rec;这一句出错了。
请问有没有方法解决这个问题啊?求指教。。。
此帖出自FPGA/CPLD论坛
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

4
 
/仅支持除数是常数的。对于2的整数幂,
应直接用移位方法即可!
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复

6892

帖子

0

TA的资源

五彩晶圆(高级)

5
 
/仅支持除数是常数的。对于2的整数幂,
应直接用移位方法即可!
此帖出自FPGA/CPLD论坛
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表