Почему выбранное мной назначение сигналов не работает? - PullRequest
0 голосов
/ 21 ноября 2018

Что я сделал не так с выбранным назначением сигнала в моем коде VHDL?

with s select x <= a when (s = '1')
         else y <= a when (s = '0');

Я также попробовал это:

with s select x <= a when '1';
with s select y <= a when '0';

1 Ответ

0 голосов
/ 19 декабря 2018

Не совсем понятно, что вы хотите сделать.Из того, что вы показали нам, мне кажется, что вы хотите создать демультиплексор, управляемый сигналом s (1 вход, 2 выхода), где x <= a при s = '1' и y <= a при s = '0'</p>

Использование выбора должно быть сделано в случаях, когда вы хотите создать мультиплексор (n входов, 1 выход).То есть, противоположность demux!

Я бы порекомендовал вам использовать простой оператор if для создания demux.

Пример:

if s='1' then x <= a; else y <= a; end if;

...