在VHDL测试台中使用外部名称

在VHDL测试台中使用外部名称,vhdl,test-bench,Vhdl,Test Bench,我正在编写一个自检VHDL测试台,我想监控设计中未路由到端口的内部信号。我想使用外部信号让测试台看到这些信号,但Vivado给了我语法错误。语法错误只是说“靠近“”的错误”。我的目标是在我的架构中声明此信号,如下所示: alias DATA is <<signal .tb_filename.design_filename.signal_name : std_logic_vector(31 downto 0) >>; 别名数据不可用; 这是使用外部名称的正确方法吗?您是

我正在编写一个自检VHDL测试台,我想监控设计中未路由到端口的内部信号。我想使用外部信号让测试台看到这些信号,但Vivado给了我语法错误。语法错误只是说“靠近“”的错误”。我的目标是在我的架构中声明此信号,如下所示:

alias DATA is <<signal .tb_filename.design_filename.signal_name : std_logic_vector(31 downto 0) >>;
别名数据不可用;

这是使用外部名称的正确方法吗?

您是否给了编译器正确的开关,告诉它您想要使用VHDL-2008?@MatthewTaylor,是的。我正在使用Vivado 2019,我的项目目标设置为VHDL,因此我认为它应该自动支持VHDL 2008.No。维瓦多需要被告知。Vivado认为VHDL-2008是VHDL的单独语言选项。您需要在源代码选项中为每个文件设置它。Vivado默认情况下以VHDL93加载文件(它声称为2002,但不是)。您必须在gui中手动设置它,或者在创建项目时使用tcl
read\u vhdl-vhdl2008
。如果要将项目中的所有内容设置为2008,请尝试
set_属性文件\u TYPE{VHDL 2008}[get_files*.vhd]
。在模拟器中使用VHDL2008也祝您好运-缺少支持,而合成支持最终相当不错。如果您仍然有问题,请查看帖子:“tb_filname”应该是测试台实体名称,“design_filename”应该是设计文件实体的实例标签。您是否向编译器提供了正确的开关,告诉它您想要使用VHDL-2008?@MatthewTaylor,是的。我正在使用Vivado 2019,我的项目目标设置为VHDL,因此我认为它应该自动支持VHDL 2008.No。维瓦多需要被告知。Vivado认为VHDL-2008是VHDL的单独语言选项。您需要在源代码选项中为每个文件设置它。Vivado默认情况下以VHDL93加载文件(它声称为2002,但不是)。您必须在gui中手动设置它,或者在创建项目时使用tcl
read\u vhdl-vhdl2008
。如果要将项目中的所有内容设置为2008,请尝试
set_属性文件\u TYPE{VHDL 2008}[get_files*.vhd]
。在模拟器中使用VHDL2008也祝您好运-缺少支持,而合成支持最终相当不错。如果您仍然有问题,请查看帖子:“tb_filname”应该是测试台实体名称,“design_filename”应该是设计文件实体的实例标签。