Вы используете позиционную связь для карты портов.Когда вы делаете это, порядок портов в вашей карте портов должен соответствовать порядку портов в объявлении вашего компонента.Используя позиционную ассоциацию, правильный порядок:
dut:D_FF port map(D_s,s_s,CLOCK_s,Q_s);
Обратите внимание, что в вашем примере вы подключили сигнал Q_s
к s
, s_s
к CLOCK
и CLOCK_s
на Q
(потому что ваш заказ был не таким).
Я всегда предпочитаю именованную ассоциацию.Слева у вас есть «формальный» (порт, указанный в объявлении вашего компонента).Справа у вас есть «фактический» (сигнал, который вы подключаете к этому порту).Пробелы предназначены только для улучшения читабельности.
dut: D_FF
port map (
D => D_s,
s => s_s,
CLOCK => CLOCK_s,
Q => Q_s
);
Карты именованных ассоциативных портов гораздо проще отлаживать, и порты можно сопоставлять в любом порядке.