包的VHDL配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包的VHDL配置相关的知识,希望对你有一定的参考价值。
我有两个包(pkg1和pkg2),其中一个包含一组常量。
根据配置,我想使用pkg1或pkg2,但不能同时使用两者。
那么,我怎样才能在VHDL中做到这一点?如何定义包的配置?
答案
vhdl没有一些预处理器来操纵像verilog这样的代码
你不能在不同的情况下定义use package语句。
但你可以为每种情况使用不同名称的常量,如果 - generate - 语句如下:
package pkg is
constant case_1;
constant case_2;
end pkg;
然后在您的架构块中:
if condition1 generate
signal1 <= case_1;
end generate;
if condition2 generate
signal1 <= case_2;
end generate;
编译器/合成器将终止不可用的常量。
希望可以帮到你
另一答案
我有完全相同的需求。我有一个很大的核心,可以做很多事情,根据我想要构建的机器,有不断变化的值(ADC,DAC和其他不同的硬件)。我解决它的方法是为项目提供一个顶级文件夹(所有常用文件)和每台机器的子文件夹。在每个子文件夹中,我都有特定于每台机器的VHDL文件(包,实体,体系结构)。机器特定文件在“机器”库中编译,而不是“工作”。然后,我告诉编译器(模拟器或综合)“机器”库源所在的位置(子文件夹)。
以上是关于包的VHDL配置的主要内容,如果未能解决你的问题,请参考以下文章