80x30 텍스트 모드에서 640x480 VGA 디스플레이를 구동하기 위해 개별 구성 요소를 사용하는 디지털 회로에서 작업하고 있습니다.
640x480 디스플레이의 경우 픽셀 클록은 25.175MHz이며 약 40ns의주기를 갖습니다. 나는 종종 디스플레이에 새로운 픽셀을 제공 할 수 있어야한다고 생각하지 않습니다.
회로의 기본 아키텍처는 다음과 같습니다.
수평 픽셀의 이진 카운터는 25.175MHz ~ 800 (앞 현관, 싱크, 뒷 현관의 경우 640 개의 가시 픽셀 + 160)에서 카운트됩니다. 800에서 수직 라인 카운터를 증가시킵니다 (그리고 525 라인에서 리셋)
수평 및 수직 위치를 사용하여 현재 문자의 x, y 좌표를 도출합니다.
문자의 x, y 좌표를 사용하여 비디오 메모리로 색인하여 ASCII 문자를 검색하십시오.
ASCII 문자를 사용하여 문자 ROM에서 색인화하여 문자의 비트 패턴을 얻습니다.
병렬-직렬 시프트 레지스터를 사용하여 픽셀 클록 주파수에서 문자의 8 픽셀 라인을 개별 비트로 변환
체인을 따라 가면 카운터-> RAM-> ROM-> 직렬 시프트 레지스터와 병렬
내가 찾을 수있는 가장 빠른 구성 요소를 사용하면 전파 지연 및 액세스 시간이 약 15ns + 20ns + 70ns + 15ns = 120ns에 이르며 25MHz의 40ns보다 훨씬 큽니다.
더 높은 해상도와 재생률에서 100ns를 초과하는 픽셀 클록을 가질 수 있으며 이는 10ns주기입니다.
RAM / ROM의 액세스 시간이 이미 시스템의 다른 모든 신호를 고려하지 않고 이미 위에있을 때 10ns마다 디스플레이에 새로운 픽셀을 제공하는 방법은 무엇입니까?