カスタムハードウェアのSpartan 6(XC6SLX16-2CSG225I)およびDDR(IS43R86400D)メモリインターフェイスに問題があります。私はSP601 devボードで試してみましたが、すべて期待どおりに動作します。Spartan 6 MIG DDRでの較正の失敗を調べるには
このサンプルプロジェクトを使用すると、soft_calibrationを有効にすると完了せず、calib_doneは低く保たれます。
キャリブレーションを無効にすると、私が見る限り完全にメモリに書き込むことができます。しかし、それを読み込もうとすると、Xilinxメモリコントローラがコマンドの実装を停止する前に、さまざまな成功した読み出しコマンドが得られます。これが起こると、コマンドFIFOがいっぱいになり、完全な状態を保ちます。成功したコマンドの数は8から300まで変化します。
おそらくDQSのセンタリングに関連するタイミングの問題であると私は確信しています。しかし、有効にすると較正を完了できないため、連続DQSチューニングはありません。だから、タイミングがずれるまでキャリブレーションを無効にして動作すると仮定しています。
キャリブレーションが失敗する理由を探していなければならない場所はありますか?
私はこれが典型的なスタックオーバーフローの問題ではないことを知っています。それが不適切な場所なら、私は引き出します。
おかげ
この質問のより適切な場所は、[Electrical Engineering Stack Exchange](http://electronics.stackexchange.com/)です。私たちはスタックオーバーフローに関するいくつかのHDL質問をしますが、主にロジックに焦点を当てるものであり、この質問のような低レベルのハードウェアの詳細ではありません。 – duskwuff
それはよく知っているよ。どうもありがとうございました。 – Shane