在Vivado 2017.1中模拟VHDL 2008无约束数组类型

在Vivado 2017.1中模拟VHDL 2008无约束数组类型,vhdl,fpga,vivado,Vhdl,Fpga,Vivado,我有以下类型 type VECTOR_ARRAY_TYPE is array(natural range <>) of std_logic_vector; 我正在使用Vivado 2017.1,并已将文件标记为VHDL 2008。这些文件合成得非常好,但我在尝试运行模拟时遇到以下错误: ERROR: [XSIM 43-4187] File "/project_dir/sources_1/new/alu_data.vhd" Line 42 : The "Vhdl 2008 Uncon

我有以下类型

type VECTOR_ARRAY_TYPE is array(natural range <>) of std_logic_vector;
我正在使用Vivado 2017.1,并已将文件标记为VHDL 2008。这些文件合成得非常好,但我在尝试运行模拟时遇到以下错误:

ERROR: [XSIM 43-4187] File "/project_dir/sources_1/new/alu_data.vhd" Line 42 : The "Vhdl 2008 Unconstrained Array Type as Subtype in Array Type Definition" is not supported yet for simulation.
它所指的行号是上面的类型定义

错误是否正确,无约束数组类型不能用于模拟?或者,是否有某个设置需要更改,以便以不同的方式配置模拟器


谢谢。

所以你的问题是关于一个软件工具,它有大量的在线文档。所以你应该在网站上看看。 -->支持-->文档-->开发工具-->硬件开发-->Vivado设计套件-->用户指南。瞧,2017年第4期

附录C:Vivado模拟器中的VHDL 2008支持

Vivado®模拟器支持VHDL 2008(IEEE 1076-2008)的子集。完整列表见表C-1

[部分]表C-1:

  • VHDL-2008 STD和IEEE预编译包,包括新的固定和浮点包、无符号位等
  • 简化敏感度表
  • 匹配关系运算符
  • 一元约化逻辑算子
  • 简化案例陈述
  • 数组/位逻辑运算符
  • 数组/位加法运算符
  • 增强的位字符串文字
  • 条件语句和选定的顺序语句
  • 保护类型
  • 过程声明中的关键字“parameter”
  • 子类型中的数组元素解析函数 定义
  • 阻止评论
  • 预定义的数组类型
  • 作为泛型传递的类型
  • 信号的分层引用
  • 端口映射中的表达式
  • 读取输出端口
注:Vivado Simulator不支持上表中未提及的其他功能


完全正确。您可以随时尝试最新版本(v2017.4)。您的用法是正确的。您需要将其作为bug提交给Xilinx。这是IEEE标准化后的10年,也是Accelera标准化后的12年。不能说他们没有足够的时间来实现它。对于映射到二进制类型和模拟的合成来说,精化是完全不同的。用户指南901(合成)列出了支持的无约束元素类型(第8章VHDL-2008语言支持,支持的VHDL-2008功能,类型)。用户指南900(逻辑模拟)表C-1在2017年未发生变化。这就给您留下了ALDEC或Modelsim,用于支持具有无约束元素子类型的未绑定阵列类型的模拟器(IEEE Std 1076-2008 5.3.2阵列类型,5.3.2.1概述)。@JHBonarius“演示需求”是一些EDA供应商也称之为市场驱动的。因此,我们都需要提交bug报告来证明需求。事实上,我们需要的是一个具有标准化测试用例的网站,以及一种自动将它们提交给供应商的方法——这样一个人就可以生成报告,每个希望该功能正常工作的人都可以提交报告——从而证明对该功能的需求。@JHBonarius不要失去希望。像SystemVerilog这样相互竞争的事情应该主要完成。我们的时间间隔是现在。提交那些bug。大声抱怨损坏的功能。
ERROR: [XSIM 43-4187] File "/project_dir/sources_1/new/alu_data.vhd" Line 42 : The "Vhdl 2008 Unconstrained Array Type as Subtype in Array Type Definition" is not supported yet for simulation.