2012年2月2日木曜日

DDR3メモリは信号処理には使いにくいですね

DDR3メモリを使ったロジック回路を初めて組んでいるところです.想像したとおり、信号処理には使いにくいです.

信号処理に使いやすいのは、書きたいときにclockに同期して書けて、読みたいときにclockに同期して読めるSRAMみたいなメモリなんですが、DDRは書くときも読むときもコマンドを送信しないと書き読みできねえし、書いたつもりでもそれがFIFOに積んだだけなのか、実際にメモリに書かれたのかはわからんので、かったるいなぁ.読むときも待たないとデータが出てこないし.

DDRメモリ様のご都合に合わせて回路を書かなくちゃいけないんでめんどくさーー.

1つのDDRをみんなで使うような回路を書いてた同僚のご苦労が偲ばれます.

かしこ

2 件のコメント:

  1. 昔、30年以上昔ですが、logic in memory とか memory in logic という言い方が少しはやったことがあったことを思い出しました。その流れはその後廃れてしまったようだったけど、地下水脈で生き続けていたんですね。DDRはlogic in memory でmemory が賢くなってしまったヤツかな。memory 様が賢いのでこれに合わせて皆の衆が働かねばならない。memory in logic は今日のFPGAがそれに当たるのかな。logic から見てすぐそばに自由に使えるmemory がlogic と同列に存在する感じ。

    返信削除
  2. いま使っている基板には1GbitのDDR3メモリチップが基板に載っています.
    アドレス幅[25:0]すなわち64Mワードで、ワード幅[15:0]すなわち16bitで、トータル1GbitのDDR3チップです.
    ところが、Spartan3のメモリコントローラがこういったDDR3チップ固有の素性を隠蔽し、ユーザーから見えるアドレッシングは、アドレス[26:0]でデータ[7:0]のメモリに見えるようです.ややこしいことしてるなあ.

    返信削除