问题描述
关键词:Virtex-6,Spartan-6,HDLC编译器:852,通用
当我针对Virtex-6或Spartan-6器件时,XST中发生以下错误,但在定位旧器件时我没有任何问题。为什么?
“ex_0010.vhd”第5行:单位ex_0010没有名为my_width的通用名称
解决/修复方法
当通用名称与代码中的泛型名称不匹配时,会发生此错误。
对于较旧的器件,XST会忽略错误消息,但从Virtex-6和Spartan-6器件开始,这将被标记为错误。
例如:
泛型(-generics)选项允许您重新定义顶层设计块中定义的泛型(VHDL)或参数(Verilog)值。
在以下示例中,width定义了添加操作的大小。
文件:ex_0010.vhd
编译库:工作
库;
使用ieee.std_logic_1164.all;
使用ieee.numeric_std.all;
实体ex_0010是 – 注意:错误点在这里
generic(width:integer:= 8);
port(a,b:in unsigned(width-1 downto 0);
res:out unsigned(width-1 downto 0));
结束ex_0010;
ex_0010的架构beh是
开始
res <= a + b;
结束
可以在ISE Project Navigator的XST综合选项中直接重新定义泛型(参数)(参见图1)。
由于泛型名称的不同,会发生错误。应更正该名称以解决此错误。
在11.2中,XST为Virtex-6和Spartan-6系列引入了新的VHDL / Verilog解析器。有关此更改的更多信息,请参阅(Xilinx答复32927) 。
没有回复内容