Quartus® II 10.0 SP1 およびそれ以前のバージョンのソフトウェアのバグが原因でrx_freqlocked信号がスタックハイ / アサートされた位置になることがあります。この問題は、PCIe モードを除くすべてのモードで発生する可能性があります。SAS/SATA、またはrx_signaldetect信号を使用するアプリケーションは、追加の回避策が必要になる場合があります。
Arria® II GX CDR ユニットが、PCIe モード以外のモードでrx_freqlocked信号をアサートし続ける理由の説明については、 Arria II GX Errata Sheet (PDF) を参照してください。
この問題を回避するには、以下のリンクから適切なパッチをダウンロードしてインストールします。この問題を解決するソフトウェア・ソリューションは、10.0 SP1 以降のQuartus® II ソフトウェア・バージョンに完全に統合されているため、それ以降のソフトウェア・バージョンではパッチは必要ありません。
ソフトウェアパッチは、以下に示す特定の以前のパッチと互換性がないことに注意してください。これらの互換性のないパッチのいずれかを使用している場合、図 1 で示し、以下に説明するリセットシーケンスを含む代替ソリューションを確認するか、互換性のあるパッチが必要な場合は、mysupport.altera.com にサービスリクエストを提出してください。
- Quartus® II ソフトウェア・バージョン 9.1 SP2 (パッチ 2.109 はパッチ 2.17、2.35、2.76、2.77、2.78、2.83、2.98 とは互換性がありません)
- Quartus® II ソフトウェア・バージョン 10.0 SP1 (パッチ 1.158 はパッチ 1.151 と互換性がありません)
パッチをインストールした後は、フルコンパイルを実行することなく、Quartus® II ソフトウェア・アセンブラーを再実行するだけです。
注: rx_signaldetect 信号を使用していない場合は、64k パラレル・クロック・サイクルのタイミングを無視して、以下の手順のみを参照してください。
- rx_analogreset 信号と rx_digitalreset 信号をアサートします。
- rx_freqlocked[0..n-1]信号はローになり、トランシーバーがリファレンス・クロックにロックしていることを示します(リファレンスにロック)。
- rx_analogreset信号をデアサートします。rx_analogreset信号をデアサートする前に、レシーバー入力にデータが存在することを確認してください。rx_signaldetectポートを使用している場合は、上記のタイミング図に従うことができます。rx_signaldetect 信号を使用していない場合は、RX バッファーでデータの存在を検出する方法について、以下の特記事項を参照してください。
- rx_freqlocked[0..n-1]信号がハイになり、トランシーバーがデータにロックしていることを示します。
- 最後のrx_freqlockedから約 4 μs (tLTD_Auto) 後に信号がハイになり、rx_digitalreset信号をデアサートします。
特記事項
以下の 1 つ以上の方法を使用して、RX バッファーにデータが存在するかどうかを識別します。
- 信号検出は、PCIe モードと基本モードで使用できます。rx_signaldetect信号をリンクインジケータの損失または存在として監視できます。RX バッファーに有効なデータが存在する場合、rx_signaldetect はアサートします。
- リンクを監視する信号検出機能がないモードの PPM 検出器をデバイスコアに実装できます。PPM検出器は、リンクに有効なデータが存在するかどうかを識別するのに役立ちます。
- ユーザーロジックのデータ破損または RX フェーズ競合のオーバーフロー / アンダーフロー状態は、RX バッファーでのデータの有効または無効を示している可能性があります。