问题描述
关键字:Platgen,C_CLKDV_DIVIDE,不兼容类型
使用XPS时,我们希望将100 MHz时钟除以16.我们使用系统中最初使用的dcm,将参数C_CLKDV_DIVIDE设置为16并将引脚CLKDV连接到需要该频率时钟的IP。我正在使用XPS GUI来配置DCM。
启动PLATGEN脚本后,我们收到以下错误消息:
错误信息:
—————————————
错误:HDLParsers:800 – dcm_0_wrapper.vhd第110行 – C_CLKDV_DIVIDE的类型与16的类型不兼容。
解决/修复方法
这里的问题是C_CLKDV_DIVIDE参数期望是实数值而不是整数。它的根本原因是DCM模块的MPD文件。
解决方法1:
将生成的DCM包装器文件中的通用C_CLKDV_DIVIDE从16修改为16.0。
解决方法2:
将DCM pcore文件夹从EDK安装目录复制并粘贴到项目目录下的pcore文件夹中,并修改其MPD文件,该文件可在Data文件夹中找到。通过将第46行更改为以下内容,下次运行Platgen时错误将消失。
PARAMETER C_CLKDV_DIVIDE = 2.0,DT = REAL,VALUES =(1.5 = 1.5,2.0 = 2.0,3.0 = 3.0,3.5 = 3.5,4.0 = 4.0,4.5 = 4.5,5.0 = 5.0,5.5 = 5.5,6.0 = 6.0,6.5 = 6.5,7.0 = 7.0,7.5 = 7.5,8.0 = 8.0,9.0 = 9.0,10.0 = 10.0,11.0 = 11.0,12.0 = 12.0,13.0 = 13.0,14.0 = 14.0,15.0 = 15.0,16.0 = 16.0)
此答复记录适用于8到16之间的任何整数除数值。
最新的EDK 9.1i Service Pack中已修复此问题,可从以下位置获得:
没有回复内容