FPGAの部屋FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。SDRAMコントローラを使ってみるために、グラフィック・コントローラを作って、プロセッサを実装し文字やグラフィックを描画してみようと思う。今のところプロセッサはOpencoresのSH2プロセッサ、Aquariusを考えている。60Hzで行ってみたい。60Hzの規格を下に示す。29ラインピクセルクロックは65MHzだ。50MHzのクロックをDCMで13/10倍すると65MHzになるので、これを使用する。Access)アーキテクチャとする。VGAポートのRGBのビット数は4ビットずつなので、合計12ビット。これを2バイトに割り当てると、メモリは約1.6Mバイト必要となる。このデータを1秒間に60フレーム必要とするので、ビットマップVGAコントローラに必要なメモリ帯域は約100Mバイト/秒となる。16ビット幅、DDR2-300の帯域は600Mバイト/秒であるため、メモリ帯域の1/6をビットマップVGAコントローラで使用する。リフレッシュやその他無駄な時間があるため、メモリ帯域の占有時間はもっと長くなることが予想されるが、CPUの動作周波数はOpencoresによると、せいぜい50MHzだろうと思うので、メモリ帯域は足りると思われる。SDRAMは512Mビットなので、バイトに直すと64Mバイト。そのうちの約1.6Mバイトをグラフィックメモリとして使用する。CPUがキャラクタを描画するは負荷が重いと思われるので、キャラクタを生成するキャラクタ生成コントローラを付加することにする。メモリアクセス・データパスのブロック図を下に示す。上図でビットマップVGAコントローラからのメモリアクセス要求、キャラクタ生成コントローラからのアクセス要求、CPUからのメモリアクセス要求はアービタで優先順位付けされる。ビットマップVGAコントローラからのメモリアクセス要求が最優先でサービスされることになる。最初の実装では、キャラクタ生成コントローラを実装せずに、ビットマップVGAコントローラとCPUだけを実装することにする。]キャラクタ生成コントローラは、少し先になると思います。グラフィック関係を勉強してからと考えています。期待しないで待っていて下さい。]LCD用グラフィックコントローラは入手も難しく、製品寿命も短いのでFPGAの活躍場所ですね。私も参考にさせていただきますのでよろしくお願いします。]一応、VGAポート用のグラフィックコントローラを考えています。グラフィックコントローラができれば良いなと思っています。昔のグラフィックコントローラのデータシートを見たりして勉強しようと思っています。どなたか良い本かデータシートがありましたら、譲って下さい。URLhttps://marsee101.blog.fc2.com/tb.php/1344-e689aa67この記事にトラックバックする(FC2ブログユーザー)プロフィールAuthor:marseeFPGAの部屋へようこそ!FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。WEBブログデザイナ。