Так вот, если синхрогенератор делать на стандартную частоту телека 15625 проблем с Интом не видно, по крайней мере я не замечал
Но стоит так сказать приподняться на VGA частоту 31250, так начинаются непонятки с Интом, он появляется как то нестабильно, то два проскочет, то нормально пройдет, а может и вообще пропустить.
Кто что может посоветовать.
Вот кусок кода. А то я уже всю башню сломал
- Code: Select all
------------------------------------------------------------------------------------
-- Синхрогенератор
------------------------------------------------------------------------------------
-- Системные сигналы
------------------------------------------------------------------------------------
Sync_count[].clk = CLK_14MHZ; -- Системные сигналы TI, H0, H1, H2
Sync_count[].d = Sync_count[].q+1;
VCLK = !(Sync_count[0].q & Sync_count[1].q & Sync_count[2].q);
-- VCLK = !(Sync_count[0].q & Sync_count[1].q & Sync_count[2].q & Sync_count[3].q); -- Сигнал H2
------------------------------------------------------------------------------------
-- Строчная развертка
------------------------------------------------------------------------------------
HSync_count[].clk = VCLK; -- Сигналы строчной развертки H3, H4, H5, H6, H7, BC
HSync_count[].d = HSync_count[].q+1;
HSync_count[].clrn = !HReset;
HReset = HSync_count[3].q & HSync_count[4].q & HSync_count[5].q; -- сигнал RH = H6 & H7 & BC
HBorder = HSync_count[5].q; -- сигнал BC
HBlank = !(HSync_count[5].q & !HSync_count[4].q & HSync_count[3].q); --сигналы SG/ = !(BC & !H7 & H6)
HSync = HBlank # HSync_count[2].q; -- сигналы SS/ = SG/ # H5
------------------------------------------------------------------------------------
-- Кадровая развертка
------------------------------------------------------------------------------------
VSync_count[].clk = !HBorder; -- Сигналы кадровой развертки V0...V7
VSync_count[].d = VSync_count[].q+1;
VSync_count[].clrn = !VReset;
VReset = VSync_count[9].q & !VSync_count[8].q & !VSync_count[7].q & VSync_count[6].q & VSync_count[5].q & VSync_count[4].q;
VBorder = VSync_count[9].q # (VSync_count[8].q & VSync_count[7].q); -- сигнал BK = V8 # (V7 & V6)
VSync = VSync_count[9].q # !VSync_count[8].q # !VSync_count[7].q # !VSync_count[6].q # !VSync_count[5].q; -- сигнал KS/ = !V8 # !(V7 & V6 & V5 & V4)
-- VReset = VSync_count[8].q & VSync_count[5].q & VSync_count[4].q & VSync_count[3].q; -- сигнал RV = V8 & V5 & V4 & V3
-- VBorder = VSync_count[8].q # (VSync_count[7].q & VSync_count[6].q); -- сигнал BK = V8 # (V7 & V6)
-- VSync = VSync_count[8].q # !VSync_count[7].q # !VSync_count[6].q # !VSync_count[5].q # !VSync_count[4].q; -- сигнал KS/ = !V8 # !(V7 & V6 & V5 & V4)
------------------------------------------------------------------------------------
-- Счетчики мерцания
------------------------------------------------------------------------------------
Flash_count[].clk = !VSync; --Сигналы счетчиков мерцания BK/, FLASH
Flash_count[].d = Flash_count[].q+1;
------------------------------------------------------------------------------------
-- Строб бордера
------------------------------------------------------------------------------------
Border_sync.d = !(VBorder # HBorder);
Border_sync.clk = HSync_count[0].q; -- сигнал H3
------------------------------------------------------------------------------------
-- Сигнал прерывания
-- Примечание: прерывание генерится с частотой 50Гц
------------------------------------------------------------------------------------
Int_sync.d = GND;
-- Int_sync.clk = VSync_count[8].q; -- прерывание на 256 импульсе --VSync; -- сигнал KS/
Int_sync.clk = VSync_count[9].q; -- прерывание на 256 импульсе --VSync; -- сигнал KS/
Int_sync.prn = 2mux1(!HSync_count[3].q, !HSync_count[2].q, Turbo_en); --сигналы H6 и H5
------------------------------------------------------------------------------------
-- Сигнал прерывания
------------------------------------------------------------------------------------
C_INT = Int_sync.q;
------------------------------------------------------------------------------------
-- Сигнал кадровой разверки
------------------------------------------------------------------------------------
VS = VSync;
------------------------------------------------------------------------------------
-- Сигнал строчной развертки
------------------------------------------------------------------------------------
HS = HSync;
Закомментаренные участки относились к телевизору.