
Сообщение от
omercury
Чевой?

Может наоборот?
Я про формирование из уже готовых пикселей:
Код:
ps <= ps1 when (video_mode(3) = '1') else ps2;
-- video modes manage
vm14 <= video_mode(1) or video_mode(4);
vm12 <= not (video_mode(1) and video_mode(2) and (not video_mode(4)));
vm_ps <= vm12 or (not vblank_n);
vm_st <= vm14 or (not vblank_n);
vm_pr <= not ((not vblank_n) or (vm14 and vm12));
sel16 <= (not vblank_n) or (not video_mode(4));
-- video data switchers
RR <= (video_mode(0) and pxls(0)) when ((vm_st='0') and (pxls(1)='0'))
else (not pxls(0)) when ((vm_st='0') and (pxls(1)='1'))
else ps(6) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(2) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(2) when ((vm_pr='0') and ((sel16='0')))
else '0';
GG <= (video_mode(0) or pxls(0)) when ((vm_st='0') and (pxls(1)='0'))
else '0' when ((vm_st='0') and (pxls(1)='1'))
else ps(5) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(1) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(0) when ((vm_pr='0') and ((sel16='0')))
else '0';
BB <= (video_mode(0) and (not pxls(0))) when ((vm_st='0') and (pxls(1)='0'))
else pxls(0) when ((vm_st='0') and (pxls(1)='1'))
else ps(4) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(0) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(3) when ((vm_pr='0') and ((sel16='0')))
else '0';
II <= '0' when ((vm_st='0') and (pxls(1)='0'))
else '0' when ((vm_st='0') and (pxls(1)='1'))
else ps(7) when ((vm_ps='0') and ((pxls(0)='0')))
else ps(3) when ((vm_ps='0') and ((pxls(0)='1')))
else pxls(1) when ((vm_pr='0') and ((sel16='0')))
else '0';
Здесь - 99% асинхронности. Это тот участок, который в оригинале был реализован на КП12/КП11 и мелкой логике.