PPU H/V


Обзор

H/V сокращение от "Horizontal/Vertical". В состав схемы H/V входят:
H/V-счетчики считают количество пикселей в строке и количество строк, соответственно. H тикает от 0 до 340 (включая), V тикает от 0 до 261 (включая). Итого видимая часть экрана представляет собой 262 строки по 341 пикселя каждая.
H/V-декодер выбирает нужные пиксели и строки для H/V-логики.
H/V-логика управляет всеми остальными узлами PPU. Схематически это просто набор защелок, по типу "эта защелка активна от 64го до 128го пикселя", значит соответствующая контрольная линия идущая от этой защелки тоже активна.

Теперь подробнее по каждой части H/V.

Устройство H/V счетчиков


Вот, один "шаг" H/V счетчика:

Изображение

inc: если на входе 1, то счетчик делает инкремент, иначе на выходе (out) текущее значение.
carry: перенос на следующий шаг
RES: сигнал общего сброса
HC (или VC у V-counter): сигнал очистки всего счетчика, H-counter сбрасывается когда декодер обнаруживает там значение H=340, V-counter сбрасывается при V=261.

так как H-counter считает все время, то вход самого первого каскада заведен на Vcc.

вход V-counterа регулируется H-декодером. когда H=340, то вход V устанавливается в 1, что дает возможность увеличить его значение на 1.

carry каждого предыдущего бита заведен на inc следующего, получается carry-chain.

Весь H-counter. Слева транзисторная схема, справа - логическая.



переносы с 0 по 4 суммируются через NOR и подаются на вход 5.
вход 0 заведен на Vcc (счетчик всегда считает)

Зачем нужна логика переноса

Счетчики включают в свой состав такой небольшой кусочек:

Зачем он нужен? Да хер его знает. Скорее всего, чтобы уменьшить propagation delay цепочки переносов.


H/V Логика

Предварительные результаты получения логических схема H/V логики. Нужно будет потом ещё проверить "инверсность" названий (косая черточка перед названием линии).
"Горизонтальная" логика, отвечает за генерацию контрольных линий в зависимости от горизонтального положения луча (H):

Логика ODD/EVEN

  

Логика ODD/EVEN состоит из двух замкнутых друг на друга псевдозащелок, управляемых двумя мультиплексорами. Получается такая очень хитрая "макро"-защелка :)



Назад...