VHDL将常数分组在一起



是否可以将相关常数分组在一起?我要做的是拥有通用常数,然后将其与相关常数和类型分组在一起。在像Python这样的软件中,可以将包装内部的包装或类中的包装完成。

我想做的是这样的事情:

library constants;
...
if (some_signal = constants.group_a.SOME_CONSTANT_VALUE) then
    ...
end if;

阅读器可以看到常数来自这里的位置group_a

如果我很好地理解了问题,则可以使用包装中的记录

package ex_pkg is
  type constants_group_1_t is record
    CONSTANT1 : integer;     
    CONSTANT2 : integer;
    CONSTANT3 : integer;
    CONSTANT4 : integer;
  end record constants_group_1_t;
constant constant_group1 : constants_group_1_t  := (
 CONSTANT1 => 1,
 CONSTANT2 => 2,
 CONSTANT3 => 3,
 CONSTANT4 => 4
);
end package;

然后您可以将其用作

liberary work;
...
 if some_integer = work.ex_pkg.constants_group1.CONSTANT1 then
 end if; 

基本上,您可以声明一种新的记录类型,其中包含您要使用的所有常数,这可以是您所选的任何类型,然后创建新创建的类型的常数,并为每个字段为其值分配其值。然后,您可以访问它,例如" record.field"。此外,您可以根据需要定义记录的记录。

最新更新