В VHDL, на что ссылается RHS общего назначения карты? - PullRequest
0 голосов
/ 11 октября 2018

Исходя из моего понимания 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?Что происходит под капотом?

1 Ответ

0 голосов
/ 11 октября 2018

Сначала 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;
...