找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5218|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:91350 發(fā)表于 2015-11-1 18:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

一、parameter在可綜合邏輯設(shè)計中只能用于定義整數(shù),否則綜合后會提示下面的錯誤信息;而在仿真中既可以定義整數(shù),也可以定義實數(shù)。


HDLCompiler:499 "" line 60: Illegal operation with real number


二、當以下面的形式給出參數(shù)定義時,CLK_CYCLE將是一個舍去小數(shù)部分的整數(shù)。

parameter CLK_CYCLE = 10/4;

三、在仿真時如果要定義一個實數(shù)參數(shù)時,可以是下面任意一種定義形式。

parameter CLK_CYCLE = 2.5; 或

parameter CLK_CYCLE = 10.0/4; 或

parameter CLK_CYCLE = 10/4.0; 或

parameter CLK_CYCLE = 10.0/4.0;

四、在進行可綜合邏輯設(shè)計時,如果一個參數(shù)是經(jīng)過又乘又除后得到的,那么有如下兩種形式,一種是先除后乘,另一種是先乘后除。這里推薦用先乘后除,杜絕用先除后乘,理由是先乘后除的結(jié)果更加接近真實值(能夠除盡的情況除外)。不妨以具體數(shù)值進行分析,如T0=15,CLK_CYCLE的值理論上為66.6667。如果采用先除后乘,由于100/15舍去小數(shù)后得6,再乘以10,CLK_CYCLE結(jié)果為60;如果采用先乘后除,100*10得1000,再除以15,舍去小數(shù)后CLK_CYCLE結(jié)果為66。很明顯,66更加接近真實值。

parameter CLK_CYCLE = 100/T0*10; 或

parameter CLK_CYCLE = 100*10/T0;


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表