
Сообщение от
IanPo
Пришло в голову:
возможно, во втором случае надо включить в список чувствительности еще и Sync_count(0), только я не уверен.
Тогда оставлю вариант через два if.
Вот еще сигнал INT на проверку. Сигнал прерывания формируется по кадровому импульсу частотой 70Гц.
Длительность прерывания 32 такта процессора.
Сюда нужно добавлять сигнал сброса или не надо?
Код:
------------------------------------------------------------------------------------
-- Сигнал прерывания
-- Примечание: прерывание генерится с частотой 70Гц по кадровому синхроимпульсу
------------------------------------------------------------------------------------
INT_sync : process(VSync, HSync_count)
begin
if HSync_count >= 8 then
C_INT <= '1';
elsif (VSync'event and VSync = '1') then
C_INT <= '0';
end if;
end process INT_sync;
Cо сбросом
Код:
------------------------------------------------------------------------------------
-- Сигнал прерывания
-- Примечание: прерывание генерится с частотой 70Гц по кадровому синхроимпульсу
------------------------------------------------------------------------------------
INT_sync : process(C_RESET, VSync, HSync_count)
begin
if C_RESET = '0' or HSync_count >= 8 then
C_INT <= '1';
elsif (VSync'event and VSync = '1') then
C_INT <= '0';
end if;
end process INT_sync;
Еще чуток сигналов и синхрогенератор считай написан