找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4436|回复: 0
收起左侧

搞定HDLCompiler:499 line:Illegal operation with real number

[复制链接]
ID:91350 发表于 2015-11-1 18:03 | 显示全部楼层 |阅读模式

一、parameter在可综合逻辑设计中只能用于定义整数,否则综合后会提示下面的错误信息;而在仿真中既可以定义整数,也可以定义实数。

3421003492257.png
HDLCompiler:499 "" line 60: Illegal operation with real number


二、当以下面的形式给出参数定义时,CLK_CYCLE将是一个舍去小数部分的整数。

parameter CLK_CYCLE = 10/4;

三、在仿真时如果要定义一个实数参数时,可以是下面任意一种定义形式。

parameter CLK_CYCLE = 2.5; 或

parameter CLK_CYCLE = 10.0/4; 或

parameter CLK_CYCLE = 10/4.0; 或

parameter CLK_CYCLE = 10.0/4.0;

四、在进行可综合逻辑设计时,如果一个参数是经过又乘又除后得到的,那么有如下两种形式,一种是先除后乘,另一种是先乘后除。这里推荐用先乘后除,杜绝用先除后乘,理由是先乘后除的结果更加接近真实值(能够除尽的情况除外)。不妨以具体数值进行分析,如T0=15,CLK_CYCLE的值理论上为66.6667。如果采用先除后乘,由于100/15舍去小数后得6,再乘以10,CLK_CYCLE结果为60;如果采用先乘后除,100*10得1000,再除以15,舍去小数后CLK_CYCLE结果为66。很明显,66更加接近真实值。

parameter CLK_CYCLE = 100/T0*10; 或

parameter CLK_CYCLE = 100*10/T0;


回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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