Как передать сигналы через экземпляр в VHDL - PullRequest
0 голосов
/ 01 мая 2019

У меня есть код верхнего уровня, который генерирует значения для сигнала с именем cntr.

Я пытаюсь создать простой экземпляр, который будет считывать это значение cntr, изменять это значение и отправлять его на светодиоды, чтобы я мог видетьповедение.Вот код для моего сабвуфера, написанный ниже.

В коде верхнего уровня у меня GPIO_LED определен как OUT (slv), а cntr определен как сигнал (slv).

В последней строке кода в подпрограмме вы можете увидеть экземпляр, который я поместил на верхний уровень.

Когда я компилирую, я получаю сообщение об ошибке, формального "cntr" не существует.

Как мне заставить мою сабвуфер читать сигнал, генерируемый верхним уровнем?

   entity xfer is

        Port (GPIO_LED: out std_logic_vector(7 downto 0));

    end entity xfer;

    architecture rtl of xfer is

    signal cntr: std_logic_vector(31 downto 0);

    begin

    GPIO_LED(7 downto 0) <= cntr(27 downto 20) and "11111111";

    end rtl;

    --This goes in top level.
    --xfer_inst: entity work.xfer port map (GPIO_LED => GPIO_LED, cntr=> cntr);
...