FC2カウンター FPGAの部屋 DDR SDRAMコントローラ その後2
FC2ブログ

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

FPGAの部屋

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

DDR SDRAMコントローラ その後2

ddr_transaction.png

DDR SDRAMコントローラはシミュレーションで検証する限りは大体出来上がった。これはその波形だ。DDR SDRAMコントローラとマイクロンのチップMT46V16M16、4個のモデルをつないで、シミュレーションした。
DQSがクロック、DQがデータである。どうせわかるヒトにしかわからないと思うので、これ以上の解説はしないが、データ幅64ビット、バースト長2、 CAS LATENCY=2である。最初のトランザクションは4 burst write(データは8個)次は、4 burst read(データは8個)。なお、この前にACTコマンドでバンクをアクティベートしてある。
最初、column addressに8,9,A,Bと入れてしまったが、なんだかおかしい。1クロックでデータが2つ出るので、1つwriteやreadコマンドを入れると 2つ書き読みしてしまうので、column addressの8番地にwriteすると、8と9番地に書いてしまう。次に9番地に書き込むと9とA番地に書き込んでしまったらしい。これは失敗。
column addressを8,A,C,Eにして問題解決。

テーマ:拡張ボード - ジャンル:コンピュータ

  1. 2005年08月04日 20:54 |
  2. DDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:3

コメント

なるほど、実機ではこうやって使われているんですね。クロックエッジでコマンドを戻したりせずに、4writeなら8clock間write command入れっぱなしなんですね。なにもsetup/holdいじめる必要無いので普通はそうしますよね。しかし、このチップ(MT46V16M16)、、、まさか?
  1. 2007/09/21(金) 12:27:59 |
  2. URL |
  3. やまちゅう #-
  4. [ 編集 ]

あ、まちがい。DDR/BL=2 なので4writeなら4clock間ですね、、、
  1. 2007/09/21(金) 12:41:51 |
  2. URL |
  3. やまちゅう #-
  4. [ 編集 ]

プロセッサのキャッシュフィル分だけバーストするのが、(つまり4バースト)普通だと思います。DDRでは2キャッシュライン分読み出して、半分はキャッシュとして使うのが、標準的かもしれません(8バースト)。そうすればその間にほかのバンクをアクティブにしてレイテンシを短縮したり、スループットをあげることができると思われます。
私のところでは、キャッシュをOFFしたRAMの共有領域にアクセスすることが多かったので、DDRでは2バースト、SDRでは1バーストのモードレジスタ設定を使用しています。こうすると、次のコマンドを入れるまでのレイテンシが短くなると思っています。連続バーストの時には、コマンドを入れ続けて、column境界までバーストします。
  1. 2007/09/21(金) 13:21:29 |
  2. URL |
  3. marsee #-
  4. [ 編集 ]

コメントの投稿


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

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