FC2カウンター FPGAの部屋 Spartan3A Starter KitのビットマップVGAコントローラの仕様3(レイテンシの測定2)
FC2ブログ

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

FPGAの部屋

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

Spartan3A Starter KitのビットマップVGAコントローラの仕様3(レイテンシの測定2)

今回は、ROWアドレスやバンクが異なる(つまりプリチャージ、ACTコマンドを入れなければならない)Write, ReadコマンドがFIFOに詰まっている場合のレイテンシについてシミュレーションしてみた。前回はReadコマンドが詰まっている時というつもりだったが、現在のテストベンチの構成だと、Wrteして、Readという方が修正が楽だったので、たぶんレイテンシに差はないはずなので、この構成でやってみた。
シミュレーションの結果を下に示す。
BitMaped_VGA_Controller_7_090110.gif

上図は、DDR2 SDRAMコントローラへのWrite, Read要求用のFIFOがFULLになったところのRead要求を入力してから、Readされた値がoutput_data に出てくるまでの時間を測定している。測定した時間は1340nsec という情けないような値だ。。。これをビットマップVGAコントローラの動作クロック65MHzの周期15.38nsec で割ると、約87クロックとなる。87に一番近い2の累乗は128なので、ビットマップVGAコントローラの非同期FIFOの深度は256とする。深度の半分128word (1word = 16bits) まで減ったらDDR2 SDRAMコントローラへRead要求を出すことにする。
この時のDDR2 SDRAMコントローラのスループットは、上図の区間にWriteコマンドが8個、Readデータが9個出ていたので、(8+9) X 4バースト X 2バイト = 136バイトのデータ転送を行っている。時間は1340nsec かかっているので、101KBytes/sec となる。MegaでなくてKiloだ。。。がっくり。。。フルバーストするとスループットは600MBytes/sec となるので、1/5940となっている。
アクセス毎にROWアドレスが違っていると、このように効率が落ちてしまう。この場合、バンクがいくつあってもスループットには貢献しないので、パソコンでやっても同様になるはずだ。ただし、キャッシュラインの関係でバースト長が長く設定されている場合はもう少しスループットが良くなるはず。それでも倍位かな?

(注)当然、動作クロックが違うとレイテンシ、スループットは異なりますが、性能の比率としては同様になるはずと思っています。
  1. 2010年01月10日 06:50 |
  2. VGAコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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