ALTLVDS_RXメガファンクションは、クロックとデータの関係を非 DPA モードに設定するための制限付きドロップダウン・リスト選択機能を提供します。 パラメーターは 、[rx_inclock] に対する「rx_in」の位相整列とは何ですか?このパラメーターを設定すると、ALTLVDS_RXメガファンクションはシリアルデータの適切なキャプチャー・フェーズを計算します。
位相シフト値はrx_inclock期間に基づいています。これはインターフェイスによって異なります。 以下は、一般的なrx_inclock使用シナリオです。
- 1 ワード当たり 1 個のシリアルビット 1 個のrx_inclock期間 (シングル・データレート・クロック)
- 1 ワード当たりのシリアルビットすべてに対して 2 つのrx_inclock期間 (ダブル・データ・レート・クロック)
- 1 ワード当たりのシリアルビットすべてに対する同数のrx_inclock期間 (フル・データレート・クロック)
メガファンクションで利用可能な位相シフト選択により、キャプチャー・クロックをシリアル・データ内の異なる位置に設定します。これは、1 ワード当たりのシリアルビット数 (逆シリアル化ファクター) のrx_inclock期間数に基づいています。 1 つのデータビット期間内に位相シフトを指定する機能は、受信したシリアルワードごとに発生するrx_inclock期間の数によって異なります。
例えば、次のパラメーターを備えたインターフェイスを考えてみましょう。
- データレート = 800 Mbps
- デシリアライゼーション・ファクター = 8
- rx_inclock = 100 MHz
この場合、受信される 8 個のシリアルビットすべてに 1 つのrx_inclock期間があります。 つまり、ALTLVDS_RXメガファンクション (0、45、90 度など) で 45 度単位で選択した各設定は、シリアルワード内のキャプチャー・フェーズを別のビット位置に設定します。 この設定は、ビット期間内にフェーズ・キャプチャーの位置を変更しません。 これらの選択のたびに、インターフェイスの並列側で異なるワードアライメントが生じます。
次のパラメーターを備えた 2 つ目の例を考えてみましょう。
- データレート = 800 Mbps
- デシリアライゼーション・ファクター = 8
- rx_inclock = 800 MHz
この場合、シリアルビット期間ごとに 1 つのrx_inclock期間があります。 選択した各設定により、1 ビット以内にキャプチャー・フェーズが変更されます。
[rx_inclock] パラメーターに対して [rx_inのフェーズの整合性とは] の [ALTLVDS_RXメガファンクション] ドロップダウン・リスト選択を使用して、キャプチャー ・フェーズを 不可能な位置に設定したい場合があります。
可能なキャプチャー・フェーズ位置の合計数は、インターフェイスのデシリアライゼーション・ファクターによって異なります。 各シリアル・ビット期間には、高速クロックから 8 フェーズが利用可能です。 高速クロックはシリアル・ビットレートで動作します。
可能なキャプチャー・フェーズの合計数は、8 * デシリアライゼーション・ファクターに等しくなります。
上記の例では、デシリアライゼーション・ファクターは 8 ですので、シリアルワードの 8 ビットすべてにキャプチャー・クロックを設定するために、合計 64 個のフェーズポジションがあります。ALTLVDS_RX・バリエーション・ファイルを変更することで、キャプチャー・フェーズを単一ビット位置、異なるビット位置、または両方の組み合わせに設定することができます。
法的位相値は、高速クロック期間を 8 で割った単位で等しくする必要があります。8 フェーズシフト刻みはすべて 1 ビット期間に等しくなります。 上記の例 1 のパラメーターを使用して、rx_inclockの立ち上がりエッジを 8 ビットワードの 3 番目のシリアルビットの中央に配置することを指定する場合、合計 20 フェーズシフト単位 (最初の 2 ビット期間ごとに 8 フェーズ刻み、3 ビット期間でセンター整列立ち上がりエッジで 4 フェーズ刻み) が必要になります。
この例の高速クロックは、データレートと同じ 800MHz で動作します。 高速クロック期間は 1.25 ns で、位相シフト単位で 156.25ps となります。 この例で入力クロックとデータの関係を説明するために必要な位相シフトの合計は、20 * 156.25ps = 3.125 ns です。
希望の位相シフト値を計算したら、ALTLVDS_RX・バリエーション・ファイルに入力します。 ファイルを開いて、次のパラメーターを見つけます。
Verilog の場合: ALTLVDS_RX_component.inclock_phase_shift
VHDL の場合: inclock_phase_shift
計算した値を入力してください。単位はピコ秒です。
注: シリアルデータの最上位ビット (MSB) は、ALTLVDS_RXメガファンクションのrx_outポート上の逆シリアル化された並列データの MSB ではありません。 ビット滑り回路を使用して、単語の境界を並列側に設定する必要があります。