FC2カウンター FPGAの部屋 キャラクタ・ディスプレイ・コントローラの構成
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

キャラクタ・ディスプレイ・コントローラの構成

まずは仕様をもう一度書く。
1.640×480ドット、60Hz、ドットクロックは25MHz
2.8×8ドットのキャラクタROMを使用する。データ出力幅は8bit。
3.キャラクタは80×60文字、よってそのデータを保存しているフレームバッファの容量は4,800キャラクタ。
4.キャラクタのビット長は7ビット。更に色のコードRED, GREEN, BLUEの各ビットがあるので、フレームバッファは10ビット長。
char_disp_ctler_3_070524.png

ブロック図を示す。
アドレス用カウンタは1行キャラクタのラスタを書くごとに80文字分(正確に言うと79文字分)インクリメントされるが、次はまた0に戻る。これを8回(垂直カウンタの下位3ビットで判断する)繰り返すと、次のアドレスは80になる。このように4799番地までアドレスが進む。
フレームバッファは、デュアルポートのBRAMを使用している。これでディスプレイ用のアドレスと、プロセッサなどから書き込むアドレスを分離できるので、表示画面が乱れない。RAMB16_S2_S2を5つ使用している。
キャラクタROMはとりあえず0~9、A~Zまで作ってある。コードはアスキーコードだ。8本のラスタのアドレスは垂直用カウンタの下位3ビットで指定される。キャラクタROMのアドレスはフレームバッファからのデータだ。キャラクタROMはBRAM16_S9の初期化部分にキャラクタのデータを入れてある。
キャラクタROMの8ビットのデータはシフトレジスタにロードされて、出力とフレームバッファからの各色のデータと比較されて、指定された色の映像信号が出力される。
  1. 2007年05月24日 20:41 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
http://marsee101.blog.fc2.com/tb.php/494-b3b17912
この記事にトラックバックする(FC2ブログユーザー)