Dram(3) DDR SDRAM使用の方向付け


 「Dram(2) SDramの基礎動作をさせる」で記録した様にSDRAMを動かす事が出来たので、図に乗ってDDR SDRAMを使う事をチャレンジします。

●DDR SDRAMを調べる

 早速、SDramの調査の時に知った Elpida Memory, Inc.社の「ユーザーズマニュアル DDR SDRAM の使い方」をダウンロードしてSDramとDDR SDRAMの差違を調べました。
 「ユーザーズマニュアル DDR SDRAM の使い方」には、SDramとDDR SDRAMの違いが「機能・仕様の違い」「コマンドの違い」「動作タイミングの違い」に分けて記述されているので「ユーザーズマニュアル DDR SDRAM の使い方」を参考にして戴くとして、特に問題と思う点とその対策を下記します。
 
 @データ転送周波数が2倍 :処理速度を上げるか、データ幅を広げるかして対応。
 AインタフェースがSSTL−2 :CycloneV FPGAが対応しているのでそれを使用。
 Bバースト長が最大8 :転送時間が長くなるが、バースト長8 をつなぎ合わせて対応。
 CリードはDDR SDRAMが発行する「DQS」でデータをサンプル:対応策を考える必要有り。
 D動作周波数範囲が83〜133MHz:思わない指定が有り、対策要

 @〜Bは、DDR SDRAMを使用するのにそれなりの覚悟をしていたが、CとDは詳細を調べて初めて判ったので事例を調べて対応方法を考える。

●QuartusUの外部メモリインタフェースを調べる

 
 ハードウエアのCycloneV FPGAが対応している外部メモリインタフェースを調べたところ、特別なレジスタやDLLが備わって無く、コアロジックを使って対応している事が判った。 このため、動作周波数は制限されている。
 又、DDR SDRAMが発行するリードデータサンプル信号「DQS」は使われずPLLで発生した内部信号でリードデータをサンプルしている。


●DDR SDRAM使用の方向付け

 
 今回のDDR SDRAM使用は次の方向での実験します。
 いつも通り、先ずはチャレンジして、ダメだったらその時に考えます。

 @ハードウエア  :DDR SDRAM搭載ボードを使用する。プリント基板の確認は今後行う。
 Aリードデータサンプル信号「DQS」:PLLで発生した信号でリードデータをサンプルする。
 BDDR SDRAMの動作周波数範囲が83〜133MHz :高速動作が出来る様なVerilogHDLで記述する。
    例えば、シーケンサを作る場合、ハードウエア量は増えるが高速な「ワンホット方式」を使う。
    又、以前に記録した「MySOC USBHostとLCD制御を組込(10)動作周波数の限界を調べる」を参考にする。
 Cオリジナルの回路を目指す :アルテラ社のメガファンクションの使用を考えたが、今回はオリジナルを目指す。


●DDR SDRAM搭載ボードはアルテラ社のCycloneV 3c25 starter Board

 CycloneV FPGAとDDR SDRAMが搭載されているボードを探したら、写真に示すアルテラ社のCycloneV 3c25 starter Boardが有りましたのでこれを使います。
 搭載されているDDRSDRAMは、台湾Zentel社のA3S56D40ETPです。
 A3S56D40ETPは、256Mbitで4Mwordx16Bitx4Bank構成で133MHzまで動作します。
 DDRSDRAMとFPGAは、一対一で接続されています。






次に全体とDDRSDRAM付近の写真を示します。赤丸の部分がDDRSDRAMです。右端がFPGAです。








ホームへ戻る