问题描述
XST 8.1i中的HDL分析器在综合以下内容时失败:
使用以下库声明:
使用ieee.std_logic_signed.all
使用ieee.std_logic_unsigned.all
…
使用以下构造时::
案例模式是
当“0001”=>时
if(DIN(2 downto 0)=“011”)然后
SIG_EN <=’1′;
其他
SIG_EN <=’0′;
万一;
…
结束案例;
HDL Parser报告以下错误消息:
“错误:HDLParsers:810 – ”<file_name>“Line <#>。=在此范围内有两个可能的定义。”
综合在ISE 6.3.03i和7.1.04i中成功。
解决/修复方法
这是一个有效的错误。 IEEE库std_logic_signed具有在std_logic_unsigned中引用的函数。这就是不允许在同一范围内声明这两个库的原因。在VHDL编码中始终建议一次只使用其中一个库,而不是两者都使用。
这适用于旧版本的XST,因为XST未正确执行此语法检查。
没有回复内容