FC2カウンター FPGAの部屋 2008年05月10日
FC2ブログ

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

FPGAの部屋

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

DQの最適な遅延値を測定するDDR2 SDRAMコントローラの問題点

DQの最適な遅延値を測定するDDR2 SDRAMコントローラの問題点がわかった。
controller.v はclkx(clkからは180度位相がずれている)で動作しているが、データパスは大体clkで動作している。この間のパスは動作周波数を200MHzとすると、周期は5nsとなるので、clkxの動作回路からclkの動作回路までの最大遅延は5nsの半分の2.5nsとなる。逆も同じだ。
このパスが、軒並みクリティカルパスになっている。以前の100MHz動作のDDR SDRAMでは問題にならなかったが、200MHz動作にすると、そこのクリティカルパスが問題となって、タイミングがミートしない。
こうなると、この書き方は問題があることになる。これを解決するためには、最初からほとんどをclk で動かすように書き換えないとだめなようであるので、書き換えることにする。clkx で駆動する必要がある部分は最後に出力する部分で clkx で動作させることにする。

というわけでDDR2 SDRAMコントローラは書き直すことにした。また完成が先になってしまったがしょうがない。以前もタイミングが厳しかったが、今回、回路を増やしたのでしょうがないかもしれない。
やはり、クロックは同一クロックでなるべく作るべきという教訓ができた。(常識かもしれないが。。。)
もともと、Xilinx社のアプリケーションノート XAPP253を勉強して作ったので、そうなってしまった。
最後にTiming Analyzer の画面を。左上のタイミングが満足しないパスを見るといろいろなパスのタイミングが満足しないことがわかると思う。
DDR2_implement_prob_1_080510.png
  1. 2008年05月10日 21:21 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0