Сообщение от
fifan
Результат - пустой чёрный экран. Так что с выводом изображения что-то не то.
1. Изменить строку:
Код:
ActivePixel <= blank1 and vid; -- 1 = when pixel on screen
на
Код:
ActivePixel <= not blank1 and vid; -- 1 = when pixel on screen
Вопрос в том что означает лог. 1 для blank1.
2. Смотреть процесс:
Код:
process(clock,vcnt,hcnt) -- бланкирование
begin
if (clock'event and clock = '1') then
if (hcnt = 128 and vcnt (9) = '0') then
blank <='1';
elsif (hcnt = 511) then
blank <= '0';
end if;
end if;
end process;
На предмет правильности работы, гашение должно быть строчное и кадровое.
3. Зачем "обновлять" blank1 каждые 8мь пикселей?
Код:
process(hcnt,clock,vid0,blank) -- подготовка видеоданных для мультиплексирования
begin
if hcnt (2 downto 0) = "111" then
if clock'event and clock = '1' then
vid2 <= vid0;
blank1 <= blank;
end if;
end if;
end process;
Далее так же касается и Ewgeny7
4. Давать сигналам внятные имена: vid0,vid2,blank1 - непонятно что это и зачем, нужно лезть в код глубже и соображать что происходит...
5. Разбивать проект на функциональные блоки, пример можно глянуть в исходниках пентевы, например