包的VHDL配置

时间:2015-03-13 21:58:46

标签: configuration package vhdl

我有两个包(pkg1和pkg2),其中一个包含一组常量。

根据配置的不同,我想使用pkg1或pkg2,但不能同时使用。

那么,我怎样才能在VHDL中做到这一点?如何定义包的配置?

2 个答案:

答案 0 :(得分:0)

vhdl没有一些预处理器可以像verilog那样操作代码

你不能在不同的情况下定义使用包语句。

但是你可以为每种情况使用具有不同名称的常量 if - 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;

编译器/合成器将终止不可用的常量。

希望可以帮到你

答案 1 :(得分:0)

我有完全相同的需求。我有一个大型内核,可以完成很多工作,并且根据要构建的机器的不同,值会不断变化(ADC,DAC和其他各种硬件)。我解决问题的方法是在项目的顶层文件夹(所有通用文件)和每台计算机的子文件夹。在每个子文件夹中,都有每个计算机专用的VHDL文件(软件包,实体,体系结构)。特定于计算机的文件在“计算机”库中而不是在“工作”库中编译。然后,我告诉编译器(模拟器或合成器)“计算机”库源(子文件夹)位于何处。