私は、80x30テキストモードで640x480 VGAディスプレイを駆動するために、ディスクリートコンポーネントを使用してデジタル回路で作業しています。
640x480ディスプレイの場合、ピクセルクロックは25.175MHzで、周期は約40nsです。これほど頻繁に新しいピクセルをディスプレイに提供できるはずなのかわかりません。
私の回路の基本的なアーキテクチャは次のとおりです。
水平ピクセルのバイナリカウンターは、25.175MHzで800までカウントアップします(640可視ピクセル+フロントポーチ、同期、バックポーチの場合は160)。800で、垂直ラインカウンターをインクリメント(および525ラインでリセット)
水平および垂直位置を使用して、現在の文字のX、Y座標を導き出します。
文字のx、y座標を使用して、ビデオメモリにインデックスを付けてASCII文字を取得します。
ASCII文字を使用して文字ROMのインデックスを作成し、文字のビットパターンを取得する
パラレルシリアルシフトレジスタを使用して、8ピクセルの文字ラインをピクセルクロック周波数で個々のビットに変換します。
チェーンをたどると、カウンタ-> RAM-> ROM-> Parallel to Serial Shift Register
私が見つけることができる最速のコンポーネントを使用すると、伝搬遅延とアクセス時間は合計で約15ns + 20ns + 70ns + 15ns = 120nsになり、25MHzの40ns周期よりもはるかに大きくなります。
さらに高い解像度とリフレッシュレートでは、100ns(10ns周期)をはるかに超えるピクセルクロックを使用できます。
システム内の他のすべての信号を考慮しなくても、RAM / ROMのアクセス時間が既に十分に長い場合に、10nsごとに新しいピクセルをディスプレイに提供する方法はありますか?