FC2カウンター FPGAの部屋 2008年06月30日
FC2ブログ

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

FPGAの部屋

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

OSERDESのお勉強

DDR2 SDRAMコントローラを作っていると、DQなどの入出力ピンの入力をISERDESにして、出力をODDRにすると、どうもPlace & Route でルートできないといわれてエラーになってしまう。
Virtex4のIOブロックの詳細回路図がないのかと思って探したのだが、良くわからなかった。そこでISERDESにはOSERDESを使っておけば問題ないだろうということで、OSERDESを使うことにした。でもOSERDESも内部構造がなぞである。Virtex4 FPGAユーザーズガイド(英語版)ににも載っていないし。。。
でもありました。Xilinx社のアプリケーションノート、XAPP721 ISERDES と OSERDES を使用した高性能DDR2 SDRAM インターフェイスにOSREDESの内部回路が載っていた。説明が少なくてなぞの端子があるが、大体このアプリケーションノートを見るとわかった。でも、もっともっとユーザーズマニュアルに詳しく書いて欲しいと思った。
下にXilinx社のアプリケーションノート、XAPP721 ISERDES と OSERDES を使用した高性能DDR2 SDRAM インターフェイスの3ページより転載します。
V4_OSERSES_1_080630.png

OSERDESをDDRモードにすると、最低4ビット入力となって、CLKDIVはCLK入力の1/2にする必要がある。そうなると、CLKDIVは100MHz、CLKは200MHzとなる。今までは、DDR2 SDRAMコントローラは200MHzで動作していたのだが、OSERDESを使う出力だけは100MHzでデータをロードする必要が出てきた。(ISERDESは200MHzで使うことができた)
最初からすべてのDDR2への出力にOSERDESを使うことを前提に100MHzで設計していたら良いのだろうが、200MHzで動く資産があるので、これを使うには、100MHzで動作するOSERDESとの同期を取る必要がある。200MHzで発行するWriteコマンドを100MHzのクロックエッジに同期させる必要が出てきたので、同期信号を作成した。この同期信号に同期してWriteを発行すれば、100MHzに対してのタイミングが確定されるので、OSERDESでDQとDQSを出力することが出来るようになる。
  1. 2008年06月30日 21:11 |
  2. Virtex4のお勉強
  3. | トラックバック:0
  4. | コメント:0