包的VHDL配置

问题描述 投票:0回答:2

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

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

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

configuration package vhdl
2个回答
0
投票

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;

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

希望可以帮到你


0
投票

我有完全相同的需求。我有一个很大的核心,可以做很多事情,根据我想要构建的机器,有不断变化的值(ADC,DAC和其他不同的硬件)。我解决它的方法是为项目提供一个顶级文件夹(所有常用文件)和每台机器的子文件夹。在每个子文件夹中,我都有特定于每台机器的VHDL文件(包,实体,体系结构)。机器特定文件在“机器”库中编译,而不是“工作”。然后,我告诉编译器(模拟器或综合)“机器”库源所在的位置(子文件夹)。

© www.soinside.com 2019 - 2024. All rights reserved.