2019.5.11
前へ
次へ
ホームページトップへ戻る

[新連載]CPLD入門!
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使うことになるだろうと思ってはいたのですが。
何を今頃になって、というようなものですが。
ようやく本気で、CPLDと四つに取り組みます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第46回]


●CPLD版VGAIF(3)もとになる回路図

前々回、前回からの続きです。
前々回は水平同期回路の回路図をお見せしました。
前回は水平、垂直表示のためのVRAMアドレスの調整回路の回路図をお見せして、その説明をしました。
今回は残りの回路の回路図をお見せします。
いずれも製品版のVGA/CRTIFボードの回路からVGA回路のみを取り出して整理したものです。
前にも書きましたが、VHDLプログラムを書くための参考にするつもりで整理したものですから、細部についてはいい加減に済ましてしまっているところもあります。
あくまで参考としてご覧ください。

下は垂直同期回路です。


下はVGAIF回路の中心となる部分です。

水平同期回路のカウンタ出力によってVRAM(中央のIC38の62256)アドレスをスキャンして出力した文字コードデータをキャラジェネROM(27C256)のアドレスA3〜A10に入力します。
キャラジェネROMのA0〜A2には垂直同期回路のカウンタから縦方向の文字パターンを出力するためのラインデータ(000〜111)が入力されます。
その結果ROMから出力される水平方向8ビットの文字パターンはシフトレジスタにラッチされたあと、ビットクロックによってパラレルシリアル変換されて映像出力回路に送出されます。
回路左側部分にはCPU側からVRAMアドレスに文字コードを書き込むためのアドレスバス、データバス回路があります。

下はCPU側からVRAMにアクセスするためのアドレスデコード回路です。


前々回、前回と今回見ていただいた回路全部をまとめて可能な限りCPLDに詰め込んでしまいます。
下が今まで見ていただいた回路をEPM7128SLC84に置き換えた回路図です。


74HC245は残念ながら残ってしまいました。
EPM7128SLC84のI/O端子のほとんどを使ってしまって、74HC245を含めてCPLD化するには端子数が足りなかったためです。

それにしても見事なほどのブラックボックスです。
ま。
図に描くだけならどうにでもできますけれど。
これで本当に期待した通りに動作してくれますでしょうか。
果たして期待通りに動作するVHDLプログラムは書けますでしょうか。
乞うご期待、であります。

CPLD入門![第46回]
2019.5.11upload

前へ
次へ
ホームページトップへ戻る