zxmak wrote:зависит, еще как зависит.
Это можно проверить в modelsim.
zxmak wrote:Я тоже на первый взгляд решил что не зависит, но когда симулятор таймингов по схеме пентагона начал писать, пришлось разобраться во всех сигналах, тогда и понял что зависит, заодно понял почему пентагон не требует вайтов (по той-же самой причине).
Ну, я нарисовал фрагмент схемы и переименовал клоки вида Cxx в нормальные названия сигналов (а также выходы счетчиков). Безвейтовость там только за счет того что есть 2 регистра ИР23 которые выполняют кэширование пикселей/атрибутов и запись в них идет в те моменты когда процессор физически не может обращаться к ОЗУ.
Например такты рефреша всегда отдаются видеоконтроллеру. Запись в кэширующие регистры делается по сигналу RAS, который до этого гейтуется несколькими вентилями.
Триггер отвечающий за пиксели/атрибуты всегда работает в режиме двоичного счета, либо хранения, другое дело что запись в память процессором может происходить в разные моменты времени относительно момента чтения данных из памяти в кэш-регистры, но порядок записи в эти кэш регистры всегда одинаковый. Порядок записи там либо ...APAPAPAP... либо ...PAPAPAPA... (какой конкретно, надо моделировать, ну или смотреть подробно соотношение всех сигналов), порядка ...PPA... или ...AAP... быть не может.
Когда ты программно процессором пишешь в память пикселей, то ты не можешь знать что именно сейчас выбирает контроллер атрибутов, A или P, и именно по этому и создается впечатление что "меняется порядок выборки". Т.к. ты можешь перезаписать прцессором еще не выбранные пиксели, либо перезаписать процесором пиксели которые уже были выбраны пидеоконтроллером (именно этим и объясняется мигание полоски когда запись идет "на гране"). Процессор со своей записью может вклинится либо между AP либо между PA, но работа триггера при этом совершенно никак не меняется.
Более того, для точной эмуляции надо еще учитывать, что пиксели и атрибуты выводятся на экран с задержкой относительно их считывания из памяти в кэширующие регистры. Запись в выходные регистры происходит по счетчику H2 (счетчик знакомест).