記事 ID: 000074481 コンテンツタイプ: トラブルシューティング 最終改訂日: 2021/08/29

トランシーバー・チャネルを再構成してトランシーバー・ブロック内の CMU PLL を、STRATIX IV GX デバイスのトランシーバー・ブロックの外側にある追加の CMU PLL または ATX PLL に切り替える場合、トランシーバー・ブロックが不正なtx_clkout周波数を生じる原因

環境

BUILT IN - ARTICLE INTRO SECOND COMPONENT
詳細

 

インテルは、マルチ PLL ダイナミック・リコンフィグレーション機能を使用する際に、Stratix® IV デバイスの機能シミュレーションおよびハードウェアにおける問題を特定しました。このマルチ PLL 機能により、トランシーバー・ブロックの外側にある追加のトランスミッター PLL を聞き取るためにトランシーバー・チャネルをリコンフィグレーションできます。

機能シミュレーションでこの機能を使用すると、トランシーバー・ブロック内のトランスミッター PLL からトランシーバー・ブロックの外側にあるトランスミッター PLL (CMU/ATX) に切り替えると 、tx_clkout 周波数が不正になる場合があります。ハードウェアでは、Quartus® II ソフトウェアは期待通りに複数インスタンス間でトランスミッター PLL をマージしません。

この問題の詳細については、次の例で説明します。次の要件を備えたデザインを検討してください。

  • OTU1 データレート (2.666 Gbps) で動作する 1 つのチャネル (図に示す A)
  • OTU1、ファイバー・チャネル 4G (4.25G)、SONET OC48 (2.488 Gbps) を切り替えることができる 1 つのチャネル (図の B)
  • 上記の 2 つのチャネルを 2 つの異なるトランシーバー・ブロックに配置する必要があると仮定します。

このデザインを実装するには、以下のように 2 つの ALTGX インスタンスをインスタンス化し、マルチ PLL リコンフィグレーション機能 (オプション - 「CMU/ATX PLL を追加使用」) を使用する必要があります。ALTGX Megawizard の [リコンフィグレーション設定] 画面で™)

  • ALTGX インスタンス 1: チャネル A、メイン PLL を PLL2 として 2666 Mbps で実行。
  • ALTGX インスタンス 2: チャネル B、メイン PLL を PLL0 (0 は PLL の論理参照インデックス) を 4250 Mbpsで実行 、PLL として PLL を 2488.32 Mbps で実行、PLL 2 を2666 Mbps で実行

両方の ALTGX インスタンスで、同数の入力基準クロックを維持します。これは、以下のステップ 3 で説明されているように、2 つのインスタンス間で PLL2 を共有する必要があります。

このデザイン構成では、図 1 に示すように、これを実現するために必要な PLL は 3 つだけです。

図 1.Multi PLL リコンフィグレーションのデザインシナリオ例

Figure 1
フルサイズを見る

 

機能シミュレーションの問題:

機能シミュレーションでは、「TX PLL select によるチャネル・リコンフィグレーション」モードを使用して PLL 0から PLL 2 に切り替えると、tx_clkout周波数が不正であることがわかります。以下は回避策です。

CMU PLL が「外部トランシーバー・ブロック PLL」の場合:

- 「外部トランシーバー・ブロック PLL」(PLL2)で TX PLL リコンフィグレーションを実行し、次に

- 目的のチャネル (チャネル B) で [Channel and TX PLL Select] を実行して、この「外部トランシーバー・ブロック PLL」に切り替えます。

 

ATX PLL が「外部トランシーバー・ブロック PLL」の場合:

 

 

- ATX PLL ではリコンフィグレーションはサポートされていません。

- ATX PLL (PLL2)をメイン PLL (チャネルがリッスンするデフォルトの PLL) にしてから

- トランシーバー・ブロック内の CMU PLL (PLL0)に切り替えて戻します。

ハードウェアの問題

QII ソフトウェアは、不正な 2 つのインスタンス間で PLL2 をマージしません。

両方の ALTGX インスタンスの PLL 2 を1 つの物理トランスミッター PLL 位置にマージするには、次の手順を実行します。

1) アサインメント・エディターで GXB TX PLL リコンフィグレーション・グループ 設定を作成し、両方のインスタンスのtx_dataoutに同じ値 (例: 0 または 1、2 など) を割り当てます。

2) トランシーバー・ブロックの外側のチャネルにクロックを供給する TX PLL の位置を手動で割り当てます。この例では PLL2 です。以下の手順は、手動による場所の割り当て方法を示しています。

  • コンパイルレポートのフィッター ・オプションのリソースセクションからGXB トランスミッター PLLを選択します。デザインに使用されているすべての PLL のトランスミッター PLL ノード情報を確認できます。
  • PLL 2 では、同じノードに対して2つの位置割り当てを確認できます (例:tx_pll_edge0)
  • 図 2 に示すように 、tx_pll_edge0 に 2 つの場所のいずれかを使用し、課題エディターで手動で割り当てます。

図 2.トランスミッター PLL の手動割り当て

Figure 1
フルサイズを見る

 

x、y 座標に関連する PLL の物理的な位置については、AN578: STRATIX IV GX および GT デバイスにおける CMU PLL および ATX PLL の手動配置 を参照してください

3) ラッパー・ファイルを変更して、ALTGX インスタンス の「txplledge.inclk<>」 パラメーターを同じにします。

この例の場合、インスタンス 2 ラッパーファイルには次のパラメーターが表示されます。

tx_pll_edge0.inclk0_input_period = 9412

tx_pll_edge0.inclk1_input_period = 6430

tx_pll_edge0.inclk2_input_period = 6002

 

インスタンス 1 ラッパー・ファイルには、次のパラメーターが表示されます。

tx_pll_edge0.inclk0_input_period = 0、

tx_pll_edge0.inclk1_input_period = 0、

tx_pll_edge0.inclk2_input_period = 6002

 

 

入力基準クロック・パラメーター(INCLK INPUT PERIOD)に不一致がある場合、QII ソフトウェアは両方のインスタンスの PLL2をマージできません。

 

 

したがって、PLL の最大数を持ち、インスタンス 1 のラッパーに含める instance2 の tx_pll_edge<>. パラメーターを指定します。以下は、instance1 で必要な変更です。

tx_pll_edge0.inclk0_input_period = 9412

tx_pll_edge0.inclk1_input_period = 6430

tx_pll_edge0.inclk2_input_period = 6002

 

 

 

3) デザインをコンパイルし、コンパイルレポートフィッター ・オプションのリソースセクションからGXB トランスミッター PLLを観察します。

 

 

 

 

これで、2 つのインスタンスのトランスミッター PLL が単一の物理的な位置にマージされていることがわかります (例:HSSIPLL_X119_Y10_N135)

関連製品

本記事の適用対象: 2 製品

Stratix® IV GT FPGA
Stratix® IV GX FPGA

このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。