FC2カウンター FPGAの部屋 DE0のSDR SDRAMコントローラ4(デバック中)
FC2ブログ

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

FPGAの部屋

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

DE0のSDR SDRAMコントローラ4(デバック中)

”DE0のSDR SDRAMコントローラ3(ALTPLL)”でMegaWizard Plug-In Manager でALTPLLを生成した。しかし、SDRAMに供給するクロックは、位相シフトを考えても、独立に1つのポートを割り当てたほうが良いと思ったので、ALTPLLの出力を変更した。

ここで疑問なのだが、Cyclone IIIのSDRAMへのクロックの出し方はどうすればよいのだろう?Xilinxだと、IOBに内蔵されたDDRレジスタを叩いて、クロックを出力させたが、Cyclone IIIではPLLから直接外部IOパッドに出力のだろうか?
Cyclone III デザイン・ガイドラインの13ページのクロック出力数の項を下に参照させて頂く。

Cyclone III PLL は、最大5 個のクロック出力(c0-c4)を備えています。c0 クロッ ク出力は、専用外部クロック出力ピン(推奨)、通常のユーザI/O または専用グ ローバル・クロック・ネットワークに接続することができます。


ということなので、どうやらALTPLLのc0にSDRAMへのクロック出力をアサインする必要がある。もう一度、ALTPLLの設定を変更した。
SDRAMCTL_DE0_2_101019.png

これで、c0がSDRAMへのクロック出力(133.333MHz)、c1が内部でSDRAMをコントロールする為に使用するクロック0度(133MHz)、c2が内部でSDRAMをコントロールする為に使用するクロック180度(133.333MHz)、c3が133.333/16MHz=8.3333MHz、c4がCMOSカメラ・ディスプレイ回路用の25MHzとなった。

次に、SDR SDRAMコントローラ単体でバーストテストをすることにした。現在、Veritakでシミュレーションをできるようにソースを修正中だ。XilinxのDDR2 SDRAMコントローラのプロジェクトからAlteraのSDR SDRAMコントローラに変更しているので、バグが満載だけれど、少しずつ直している。
SDRAMCTL_DE0_3_101019.png
  1. 2010年10月19日 05:45 |
  2. SDR SDRAMコントローラ
  3. | トラックバック:0
  4. | コメント:4

コメント

 こんばんわ。

>どうやらALTPLLのc0にSDRAMへのクロック出力をアサインする必要がある。もう一度、ALTPLLの設定を変更

えーと、PLLのC0~C4は全部外に出すことができますので、どれでもSDRAMへのクロックとして使うことができます。で、専用外部クロック出力ピンを使うと、普通のI/Oピンよりジッタを減らすことができ、ここにつなげるにはC0を使うということです。だだし必ずしも市販のKitは、この専用ピンがSDRAMのクロックにつながっていなかたりしますが・・・^^;)。でも、普通のI/OピンでもSDRAMの133MHzぐらいなら問題にならないほど小さなジッタですので心配はいりません。
  1. 2010/10/21(木) 01:31:41 |
  2. URL |
  3. くり #-
  4. [ 編集 ]

くりさん、いつもありがとうございます。了解しました。
1つ質問なのですが、クロックの内部クロックからのディレイがどのようになるのかがよく分かりません。Xilinxですと、DDRレジスタを叩いてクロックを出力するので、FPGAから出力するデータとクロックの位相が大体合うのですが、Alteraでは、PLLの位相シフトでデータとクロックの位相を合わせるのでしょうか?
よろしくお願いいたします。
  1. 2010/10/21(木) 04:56:35 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

こんばんわ。

>Alteraでは、PLLの位相シフトでデータとクロックの位相を合わせるのでしょうか

基本はPLLで位相シフトですね。この辺、FPGA BBSの方に書いたことがあるので

http://www.fpga.co.jp/cbbs/cbbs.cgi?mode=res&namber=6103&page=&no=0

こちらもどうぞ。
  1. 2010/10/21(木) 23:38:11 |
  2. URL |
  3. くり #-
  4. [ 編集 ]

くりさん、こんにちは。
ありがとうございました。
twitterで長船さんに説明していただいて、更にSDRAMのデータを取りやすいように位相シフトしていることがわかりました。
  1. 2010/10/22(金) 04:35:10 |
  2. URL |
  3. marsee #f1oWVgn2
  4. [ 編集 ]

コメントの投稿


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

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