在 VHDL 中,通用映射分配的 RHS 指的是什么?



根据我对VHDL的理解,端口映射声明将是:

signal reset_n : std_logic;
...
port map (
...
reset_n => reset_n
);

。其中端口映射分配的 LHS 是组件上的端口名称,RHS 是您在上面声明的信号。

但是对于通用地图,RHS指的是什么?

...
generic map (
...
baud_rate => baud_rate
);

LHS 是实体中的泛型字段,由 RHS 指定的任何内容写入(对吗?(,这是将值传递到泛型中的 VHDL 方式。但是,如果 RHS 未声明为信号,那么分配给 LHS 的是什么?引擎盖下发生了什么?

起初,LHS被称为正式的,RHS被称为实际的。

形式是指您在实体中声明的常量。

entity foo is
generic (
constant baud_rate : T_BAUD
);
end entity;

实际通用映射中正式映射相关联。与实际值一样,您可以关联:

  • 来自更高层的另一个通用常量
  • 在建筑声明区域中声明的常量
  • 或在包中声明的全局常量
  • 表达式,包括文本。

例子:

entity e is
generic (
baudrate : T_BAUD
);
end entity;
architecture a of e is
constant BR : T_BAUD := 100 kBd;
begin
inst1: entity work.foo
generic map (
baud_rate => baudrate
);
inst2: entity work.foo
generic map (
baud_rate => BR
);
inst3: entity work.foo
generic map (
baud_rate => 115.2 KBd
);
end architecture;

最新更新