”DQSをクロックとしてDQのリードデータを受けるDDR2 SDRAMコントローラの構想2”で、ISERDESでDQを受けられるようにDDR2 SDRAMコントローラを変更してやってみたのだが、どうもPlace & Routeでルートができなくて止まってしまう。
どうやらDQSのOLOGICに、クロックの違うFFが入っているのと、OLOGICのResetに他のOLOGIC内のFFと違ったReset信号が入っているので、ルートできないようだ。
実は、OLOGICにインスタンシエーションされるとだめなのは、以前からわかっていて、これらのFFをOLOGICにインスタンシエーションされないようにしておいたはずなのだが、ISERDESを使った過程でOLOGICの中に組み込まれてしまっているようだ。ちなみにDQSとDQの入力はISERDESに変更したが、出力の方はODDRを使用している。そのせいかな?
いろいろXSTのディレクティブを使用したりしてみたが、どうもうまくいかない。昨日1日それでつぶしてしまった。。。
もしかすると、何か制限があるかもしれないので、もう一度、マニュアルを読み返すか? ラッツネットになっているFPGA Editorを見てどうなっているか解釈してみるつもりだ。
出力もOSERDESにしてみようかとも思う。
もしそれでもだめならば、今のところは、DQはDDR2 SDRAMのクロックの立ち上がりに同期して出力し、DQSはそれよりも位相を90度送られて出力している。だが、DQの方を位相を90度進ませて(270度)出して、DQSをDDR2 SDRAMのクロックの立ち上がりに同期して出力すると、DQSはOLOGICにすんなり入るようにVerilogソースを書き換えられると思うので、それも考慮の対象としたい。
- 2008年06月23日 12:42 |
- DDR SDRAMコントローラ
-
| トラックバック:0
-
| コメント:0