首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VHDL -条件编译

VHDL -条件编译
EN

Stack Overflow用户
提问于 2015-07-20 16:18:12
回答 1查看 2K关注 0票数 2

我的VHDL测试平台使用了一些特定于VHDL'2008的特性,但是,取决于我到底在测试什么或者我所使用的仿真软件,它不能总是在VHDL'2008中编译。

为了解决这个问题,我创建了两个版本的testbench:

  • 完整的版本,汇编在VHDL'2008。
  • 轻型的,所有的VHDL'2008行删除,编译在VHDL'93。

然而,维护这个测试工作台的两个几乎相同的版本确实是件很烦人的事情,所以我想以某种方式合并它们。

我最初想我可以使用一个泛型和一个"IF .. GENERATE“语句,但是这显然不允许我‘93’编译一个具有'2008特性‘的文件。

有没有办法合并这两个文件,并仍然用VHDL'93编译结果?

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 23:48:18

选项1- Pragmas

如果使用VHDL 2008的代码没有替换代码的其他部分(即使用VHDL 2008的代码做额外的事情),您可以使用诸如

代码语言:javascript
复制
vhdl_93_component_u : foo_93 port map ( clk => clk, out => out);
-- rtl_synthesis off
vhdl_2008_component_u : foo_2008 port map ( clk => clk, out => out);
-- rtl_synthesis on

此外,检查您的工具是否接受启用和禁用对语用的解释,以及它接受哪种语用。-- rtl_synthesis on/off就是一个例子。

选项2 --不同的文件

如果您可以将代码拆分为3 (testbench top,VHDL '93代码,VHDL 2008代码),那么您只能编译所需的文件(假设包/体系结构/实体名称相同)。

如果您不能重构代码以使用类似的东西,我建议您回顾一下实现testbench的方式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31521465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档