インテル® Stratix® 10 LタイルおよびHタイル・トランシーバーPHYユーザーガイド

ID 683621
日付 3/03/2020
Public
ドキュメント目次

2.5.1.8. PIPE用ネイティブPHY IPコアのポート

図 108. PIPE用ネイティブPHY IPコアの信号およびポート
表 111.  PIPEモードでのネイティブPHY IPコアのポート
ポート 入力/出力 クロックドメイン 説明
クロック
rx_cdr_refclk0 入力 該当なし PHYのTX PLLおよびRX CDP向けの100 MHzの入力リファレンス・クロック・ソースです。
tx_serial_clk0 / tx_serial_clk1 入力 該当なし PLLで生成された高速シリアルクロックです。

注: tx_serial_clk1 は、Gen3 x 1モードでのみ使用されます。

pipe_hclk_in[0:0] 入力 該当なし ASNブロックに使用する500 MHzのクロックです。このクロックはPLLで生成され、Gen1またはGen2用にコンフィグレーションされます。

注: Gen3デザインでは、Gen1/Gen2に使用されるfPLLからのクロックを使用します。

pipe_hclk_out[0:0] 出力 該当なし PHY-MACインターフェイスに供給する500 MHzのクロック出力です。
PHY-MAC層からのPIPE入力
tx_parallel_data[31:0] 入力

tx_coreclkin

MACから駆動されるTXパラレルデータです。Gen1では8ビットまたは16ビットにできます。Gen2では16ビット、Gen3では32 ビットです。

注: unused_tx_parallel_data は「0」に固定する必要があります。

アクティブHighです。詳しくは、表 112 を参照してください。

tx_datak[3:0][1:0]、または[0] 入力

tx_coreclkin

送信データのデータおよびコントロールのインジケーターです。

Gen1またはGen2では、0であれば tx_parallel_data がデータであることを示し、1であれば tx_parallel_data がコントロールであることを示します。

Gen3では、bit[0]tx_parallel_data[7:0] に対応し、bit[1]tx_parallel_data[15:8] に対応し、それ以降も同様に続きます。

アクティブHighです。詳しくは、表 112 を参照してください。

pipe_tx_sync_hdr[(2*N-1):0] 入力

tx_coreclkin

Gen3では、送信された130ビットのブロックがDataかまたはControl Ordered Set Blockかを示します。

以下のエンコーディングが定義されています。

2'b10: データブロック

2'b01: Control Ordered Set Block

この値は pipe_tx_blk_start = 1b'1 の際に読み出されます。

128b/130bのエンコーディングおよびデコーディングを用いるデータ送受信の詳細については、PCI Express Base Specification, Rev. 3.0Lane Level Encodingを参照してください。

Gen1およびGen2のデータレートでは使用しません。

アクティブHighです。

pipe_tx_blk_start[(N-1):0] 入力

tx_coreclkin

Gen3では、TXデータで128ビットのブロックデータの開始ブロックバイト位置を指定します。PCSおよびPHY-MAC (FPGAコア) 間のインターフェイスが32ビットである際に使用します。

Gen1およびGen2のデータレートでは使用しません。

アクティブHighです。

pipe_tx_elecidle[(N-1):0] 入力

非同期

送信出力を強制的に電気的アイドルにします。タイミング図については、Intel PHY Interface for PCI Express (PIPE) を参照してください。

アクティブHighです。

pipe_tx_detectrx_loopback[(N-1):0] 入力

tx_coreclkin

PHYに受信検出動作の開始を指示します。パワーアップ後にこの信号をアサートすると、ループバック動作を開始します。タイミング図については、Intel PHY Interface for PCI Express (PIPE) の項6.4を参照してください。

アクティブHighです。

pipe_tx_compliance[(N-1):0] 入力

tx_coreclkin

1サイクルの間アサートすると、ランニング・ディスパリティーを負にセットします。コンプライアンス・パターンを送信するときに使用します。詳しくは、Intel PHY Interface for PCI Express (PIPE) Architectureの項6.11 を参照してください。

アクティブHighです。

pipe_rx_polarity[(N-1):0] 入力

非同期

1'b1であれば、PHY層に受信データの極性を反転させるよう命令します。

アクティブHighです。

pipe_powerdown[(2*N-1):0] 入力

tx_coreclkin

指定されたステートにパワーステートを変更するようPHYに要求します。Power Stateは以下のようにエンコードされます。

2'b00: P0 - 通常動作

2'b01: P0s - 低リカバリー時間、省電力ステート

2'b10: P1 - 長リカバリー時間、低消費電力ステート

2'b11: P2 - 最も低い電力ステート

pipe_tx_margin[(3*N-1):0] 入力

tx_coreclkin

VODマージンの選択を送信します。PHY-MACが、Link Control 2 Registerの値に基づいて、この信号の値をセットします。以下のエンコーディングが定義されています。

3'b000: 通常動作範囲

3'b001: フルスイング: 800 - 1200 mV、ハーフスイング: 400 - 700 mV

3'b010-3'b011: 予約済み

3'b100-3'b111: フルスイング: 200 - 400 mV、ハーフスイング: 100 - 200 mV、その他は予約済み

pipe_tx_swing[(N-1):0] 入力

tx_coreclkin

トランシーバーが、pipe_tx_margin で定義されたFullスイング電圧とHalfスイング電圧のどちらを使用しているかを示します。

1'b0: フルスイング

1'b1: ハーフスイング

pipe_tx_deemph[(N-1):0] 入力

非同期

ディエンファシスの選択を送信します。PCI ExpressのGen2 (5 Gbps) モードでトランスミッターのディエンファシスを選択します。

1'b0: –6 dB

1'b1: -3.5 dB

pipe_g3_txdeemph[(18*N-1):0] 入力

非同期

Gen3では、トランスミッターのディエンファシスを選択します。この18ビットで以下に示す係数を指定します。

[5:0]: C-1

[11:6]: C0

[17:12]: C+1

TXディエンファシスへのプリセットのマッピングについては、TXディエンファシスのプリセットマッピングの項を参照してください。Gen3対応のデザインでは、Gen2データレート向けTXディエンファシスは常に-6 dBです。Gen1データレート向けTXディエンファシスは、常に-3.5 dBです。

詳しくは、Intel PHY Interface for PCI Express (PIPE) Architectureの項6.6を参照してください。

pipe_g3_rxpresethint[(3*N-1):0] 入力

非同期

レシーバーのRXプリセットヒントを提供します。PIPE Gen3コンフィグレーションの場合、これを3'b000に設定します。
pipe_rx_eidleinfersel[(3*N-1):0] 入力

非同期

Highにアサートされると、電気的アイドルステートは、リンクのもう一端でデバイスを検出するアナログ回路を使用して特定されるのではなく、推測されます。以下のエンコーディングが定義されています。

3'b0xx: 現在のLTSSMステートでElectrical Idle Inferenceが必要とされていません。

3'b100: 128 ms内にCOM/SKP OSが存在しません。

3'b101: Gen1またはGen2で、1280 UIインターバル内にTS1/TS2 OSが存在しません。

3'b110: Gen1で2000 UIインターバル内に、Gen2で16000 UIインターバル内に、Electrical Idle Exitが存在しません。

3'b111: Gen1で128 msウィンドウ内にElectrical Idle終了が存在しません。

注: FPGAファブリックに、Receiver Electrical Idle Inference (EII) を実装することをお勧めします。
pipe_rate[(2*N)-1:0] 入力

非同期

2ビットのエンコーディングは、次のリストで定義されています。

2'b00: Gen1レート (2.5 Gbps)

2'b01: Gen2レート (5.0 Gbps)

2'b10: Gen3レート (8.0 Gbps)

pipe_sw_done[1:0] 入力

該当なし

レート切り替えが完了したことを示す、Masterクロック生成バッファーからの信号です。ボンディング・モードでのみ、この信号を使用します。

ノンボンディング・アプリケーションでは、この信号は内部でローカルCGBに接続されます。

pipe_tx_data_valid[(N-1):0] 入力

tx_coreclkin

Gen3では、この信号はPHYに現在のクロックサイクルで tx_parallel_data を無視するよう指示するために、MACによってデアサートされます。1'b1の値はPHYがデータを使用する必要があることを示します。0の値はPHYがデータを使用する必要がないことを示します。

アクティブHighです。

pipe_eq_eval 入力 tx_coreclkin

Highをアサートして、遠端トランスミッターのTX EQ設定の評価を開始します。

アクティブHighです。

pipe_eq_invalidreq 入力 tx_coreclkin

Highをアサートして、リンクパートナーのTX EQ設定が範囲外であることを示します。

アクティブHighです。

pipe_eq_inprogress 入力 tx_coreclkin

Highをアサートして、MACがRecovery.EqualizationのPhase 2にあることを示します。

アクティブHighです。

PHY-MAC層へのPIPE出力
rx_parallel_data[31:0]、[15:0]、または[7:0] 出力

rx_coreclkin

MACへ駆動されるRXパラレルデータです。

Gen1では8ビットまたは16ビットにできます。Gen2では16ビットのみです。Gen3では32ビットです。詳しくは、表 112 を参照してください。

rx_datak[3:0][1:0]、または[0] 出力

rx_coreclkin

データおよびコントロールのインジケーターです。

Gen1またはGen2では、0であれば rx_parallel_data がデータであることを示し、1であれば rx_parallel_data がコントロールであることを示します。

Gen3では、Bit[0]rx_parallel_data[7:0] に対応し、Bit[1]rx_parallel_data[15:8] に対応し、それ以降も同様に続きます。詳しくは、表 112 を参照してください。

pipe_rx_sync_hdr[(2*N-1):0] 出力

rx_coreclkin

Gen3では、送信された130ビットのブロックがDataかまたはControl Ordered Set Blockかを示します。以下のエンコーディングが定義されています。

2'b10: Dataブロック

2'b01: Control Ordered Setブロック

この値は pipe_rx_blk_start = 4'b0001の際に読み出されます。128b/130bのエンコーディングおよびデコーディングを用いるデータ送受信の詳細については、PCI Express Base Specification, Rev. 3.0の項4.2.2.1.のLane Level Encodingを参照してください。

pipe_rx_blk_start[(N-1):0] 出力

rx_coreclkin

Gen3では、RXデータで128ビットのブロックデータの開始ブロックバイト位置を指定します。PCSおよびPHY-MAC (FPGAコア) 間のインターフェイスが32ビットである際に使用します。Gen1およびGen2のデータレートでは使用しません。

アクティブHighです。

pipe_rx_data_valid[(N-1):0] 出力

rx_coreclkin

Gen3では、この信号はMACに現在のクロックサイクルで rx_parallel_data を無視するよう指示するために、PHYによってデアサートされます。1'b1の値はMACがデータを使用する必要があることを示します。1'b0の値はMACがデータを使用する必要がないことを示します。

アクティブHighです。

pipe_rx_valid[(N-1):0] 出力

rx_coreclkin

RXデータおよびコントロールがイネーブルである際にアサートされます。
pipe_phy_status[(N-1):0] 出力

rx_coreclkin

複数のPHY要求の完了を通信するために使用される信号です。

アクティブHighです。

pipe_rx_elecidle[(N-1):0] 出力

非同期

アサートされると、レシーバーの電気的アイドルが検出されます。

アクティブHighです。

pipe_rx_status[(3*N-1):0] 出力

rx_coreclkin

受信データストリームおよびレシーバー検出のために受信ステータスおよびエラーコードをエンコードする信号です。以下のエンコードが定義されています。

3'b000 - 受信データはOK

3'b001 - SKPが1つ追加されました。

3'b010 - SKPが1つ削除されました。

3'b011 - レシーバーが検出されました。

3'b100 - 8B/10Bまたは128b/130bのどちらかのデコードエラー、およびRXディスパリティー・エラー (オプション)

3'b101 - エラスティック・バッファーのオーバーフロー

3'b110 - エラスティック・バッファーのアンダーフロー

3'b111 - ディスパリティー・エラー受信、3'b100でディスパリティー・エラーがレポートされた場合には使用されません。

pipe_sw[1:0] 出力 該当なし クロック生成バッファーへのレート切り替え要求を示す信号です。ボンディング・モードでのみ、この信号を使用します。

ノンボンディング・アプリケーションでは、この信号は内部でローカルCGBに接続されます。

アクティブHighです。詳しくは、表 112 を参照してください。

表 112.  Simplified Interfaceをディスエーブルした際のビットマッピング
信号名 Gen1 (X Byte SerializerおよびRX Byte Deserializerがディスエーブル) Gen1 (TX Byte SerializerおよびRX Byte Deserializerがx2モード)、Gen2 (TX Byte SerializerおよびRX Byte Deserializerがx2モード) Gen3
tx_parallel_data tx_parallel_data[7:0] tx_parallel_data[18:11,7:0] tx_parallel_data[56:49,47:40,18:11,7:0]
tx_datak tx_parallel_data [8] tx_parallel_data [19,8] tx_parallel_data[57,48,19,8]
pipe_tx_compliance[(N-1):0] tx_parallel_data [9] tx_parallel_data [9] tx_parallel_data [9]
pipe_tx_elecidle[(N-1):0] tx_parallel_data [10] tx_parallel_data [10] tx_parallel_data [10]
pipe_tx_detectrx_loopback[(N-1):0] tx_parallel_data [20] tx_parallel_data [20] tx_parallel_data [20]
pipe_powerdown[(2*N-1):0] tx_parallel_data [22:21] tx_parallel_data [22:21] tx_parallel_data [22:21]
pipe_tx_margin[(3*N-1):0] tx_parallel_data[25:23] tx_parallel_data[25:23] tx_parallel_data[25:23]
pipe_tx_swing[(N-1):0] tx_parallel_data [27] tx_parallel_data [27] tx_parallel_data [27]
pipe_tx_deemph[(N-1):0] 該当なし tx_parallel_data [26] 該当なし
pipe_tx_sync_hdr[(2*N-1):0] 該当なし 該当なし tx_parallel_data[29:28]
pipe_tx_blk_start[(N-1):0] 該当なし 該当なし tx_parallel_data [30]
pipe_tx_data_valid[(N-1):0] 該当なし 該当なし tx_parallel_data [31]
pipe_rate[(2*N)-1:0] tx_parallel_data[33:32] tx_parallel_data[33:32] tx_parallel_data[33:32]
pipe_rx_polarity[(N-1):0] tx_parallel_data [34] tx_parallel_data [34] tx_parallel_data [34]
pipe_eq_eval 該当なし 該当なし tx_parallel_data [35]
pipe_eq_inprogress 該当なし 該当なし tx_parallel_data [36]
pipe_eq_invalidreq 該当なし 該当なし tx_parallel_data [37]
pipe_g3_rxpresethint[(3*N-1):0] 該当なし 該当なし tx_parallel_data[60:58]
pipe_g3_txdeemph[(18*N-1):0] 該当なし 該当なし tx_parallel_data[78:61]
rx_parallel_data rx_parallel_data[7:0] tx_parallel_data[22:15,7:0] rx_parallel_data[62:55,47:40,22:15,7:0]
rx_datak rx_parallel_data[8] rx_parallel_data[23,8] rx_parallel_data[63,48,23,8]
rx_syncstatus rx_parallel_data[10] rx_parallel_data[25,10] rx_parallel_data[65,50,25,10]
pipe_phystatus[(N-1):0] rx_parallel_data[32] rx_parallel_data[32] rx_parallel_data[32]
pipe_rx_valid[(N-1):0] rx_parallel_data[33] rx_parallel_data[33] rx_parallel_data[33]
pipe_rx_status[(3*N-1):0] rx_parallel_data[36:34] rx_parallel_data[36:34] rx_parallel_data[36:34]
pipe_rx_sync_hdr[(2*N-1):0] 該当なし 該当なし rx_parallel_data[31:30]
pipe_rx_blk_start[(N-1):0] 該当なし 該当なし rx_parallel_data[37]
pipe_rx_data_valid[(N-1):0] 該当なし 該当なし rx_parallel_data[38]