FC2カウンター FPGAの部屋 DDR SDRAMコントローラ作製予定
fc2ブログ

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

FPGAの部屋

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

DDR SDRAMコントローラ作製予定

仕事の関係でDDR SDRAMコントローラを作ることになった。とりあえずDDR266を目指す。DDR333まで、DDR400になるとDRAMの電圧が2.6Vになるのでとりあえずパス。デバイスはXilinxのVirtex2pro。
以前SDRAMコントローラを作ったがこのときのやり方では、だめ。
DDR266となると、動作周波数133MHzなので、一周期7.5ns。
DDRはクロックの半分ずつでデータサンプルするので、3.75ns。これだと、FPGAのIOBのフリップフロップのセットアップタイム、基板の配線遅延を考えるととてもコントローラ側のクロックではDDR SDRAMのリードデータはサンプルできない。
それで、基板の配線遅延とセットアップタイムを換算した最適の位置にサンプリングポイントを移せないかと考えた。DQSをサンプルして、クロックの立ち上がりで1をサンプルできれば良いから、DCMの動的位相シフトを利用してクロックをシフトしていって、1になる位置と0になる位置を測定して、その中間にすれば良いじゃないか?(われながらいい考え!!)
もしかしてと思って、アプリケーションノート見ると、XAPP268動的位相調整を発見。なんだもうあるじゃないですか。
ちょっとがっかりしながら、ソースを見ると、なんと動作周波数が高い。DDR266ではある理由からだめ。
それで、自分で作り直す。
出来ました、ちゃんと、シミュレーションではDQSの真ん中まで、クロックシフトしてます。
これからDDR SDRAMコントローラ本体をある程度まででっち上げて、テストしなくちゃ。
なにしろ、DDRを初期化してから、同期取れるまでreadコマンド送らないといけないから。
回路を作らないと実機でテストできない。
希望があればソースを公開してもいいかな。でも、使う人いないでしょう。
それに、まだアンサーサーチを見ていると、不安な面があるから、実機でクリアしないとだめだ。
  1. 2005年07月03日 13:06 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


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

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