インテルのみ表示可能 — GUID: nik1410564964459
Ixiasoft
7.1.1. レジスターアクセスの定義
7.1.2. PCIコンフィグレーション・ヘッダー・レジスター
7.1.3. PCI Express機能構造
7.1.4. インテル定義のVSEC Capabilityヘッダー
7.1.5. Uncorrectable Internal Error Status (修正不可能な内部エラーステータス) レジスター
7.1.6. Uncorrectable Internal Error Mask (修正不可能な内部エラーマスク) レジスター
7.1.7. Correctable Internal Error Status (修正可能な内部エラーステータス) レジスター
7.1.8. Correctable Internal Error Mask (修正可能な内部エラーマスク) レジスター
10.5.1. ebfm_barwrプロシージャー
10.5.2. ebfm_barwr_immプロシージャー
10.5.3. ebfm_barrd_waitプロシージャー
10.5.4. ebfm_barrd_nowtプロシージャー
10.5.5. ebfm_cfgwr_imm_waitプロシージャー
10.5.6. ebfm_cfgwr_imm_nowtプロシージャー
10.5.7. ebfm_cfgrd_waitプロシージャー
10.5.8. ebfm_cfgrd_nowtプロシージャー
10.5.9. BFMコンフィグレーション・プロシージャー
10.5.10. BFM共有メモリー・アクセス・プロシージャー
10.5.11. BFMログおよびメッセージ・プロシージャー
10.5.12. Verilog HDL Formattingファンクション
インテルのみ表示可能 — GUID: nik1410564964459
Ixiasoft
A.3. 物理層
物理層は、PCI Expressプロトコルスタックの最下位レベルに位置しています。これは、シリアルリンクに最も近い層でもあります。リンクを介してパケットをエンコードおよび送信し、受信したパケットを受け取り、デコードします。物理層は、Gen1実装では2.5 Gbps、Gen2実装では2.5または5.0 Gbps、Gen3実装では2.5、5.0または8.0 Gbpsで動作する高速SERDESインターフェイスを介してリンクに接続します。
物理層は、次の動作に関与します。
- リンクのトレーニング
- レーンあたり2.5 Gbps (Gen1)、5.0 Gbps (Gen2)、または8.0 Gbps (Gen3) の128b/130bエンコーディング/デコーディング用のスクランブル/デスクランブルおよび8B/10Bエンコーディング/デコーディング
- データのシリアライズおよびデシリアライズ
- イコライゼーション (Gen3)
- PIPE 3.0 Interfaceの動作
- 自動速度ネゴシエーションの実装 (Gen2およびGen3)
- トレーニング・シーケンスの送信およびデコード
- ハードウェア自律速度制御の提供
- 自動レーン反転の実装
物理層は、PIPE Interface Specificationによって2つの層に分割されています (上の図では垂直方向の線で分割されています)。
- PHYMAC - MAC層には、LTSSM、スクランブリング/デスクランブル、バイトの並び替え、およびマルチレーン・デスキュー機能が含まれています。
- PHY Layer - PHY層には、Gen1およびGen2用の8B/10Bエンコードおよびデコード機能が含まれています。Gen3用には、128b/130bエンコードおよびデコード機能も含まれています。PHYには、エラスティック・バッファリングおよびシリアライズ/デシリアライズ機能も含まれています。
物理層は、デジタル要素およびアナログ要素の両方を統合します。インテルは、PHYからPHYMACを分離するためにPIPEインターフェイスをデザインしました。PCI Express用のインテルStratix 10ハードIPは、PIPEインターフェイス仕様に準拠しています。
注: 内部PIPEインターフェイスは、シミュレーションで表示されます。Signal Tapなどのロジック・アナライザーを使用したハードウェアのデバッグには使用できません。Signal Tapをこのインターフェイスに接続しようとしても、デザインのコンパイルは成功しません。
図 82. 物理層のアーキテクチャー
PHYMACブロックは、4つの主要なサブブロックから構成されています。
- MAC Lane - RXパスおよびTXパスの両方がこのブロックを使用します。
- RX側では、ブロックは物理層パケットをデコードし、受信したTS1/TS2オーダーセットのタイプおよび数をLTSSMにレポートします。
- TX側では、ブロックはDLLおよびOrdered Set and SKPサブクロック (LTSTX) からのデータをマルチプレクス化します。また、初期化中にLTSSMがレーンをディスエーブルする際に、レーン番号や強制PAD値など、レーン固有の情報も追加します。
- LTSSM - このブロックは、各レーンのTXおよびRXトレーニング・シーケンスを追跡するLTSSMおよびロジックを実装しています。
- 送信パスでは、グローバルおよびレーンごとの制御ビットの両方をアサートすることで、各MACレーンのサブブロックおよびLTSTXサブブロックと交信し、特定の物理層パケットを生成します。
- 受信パスでは、各MACレーンのサブブロックによってレポートされる物理層パケットを受信します。また、マルチレーン・デスキュー・ブロックもイネーブルします。このブロックは、上位層に物理層のステータスをレポートします。
- LTSTX (Ordered Set and SKP Generation) - このサブブロックは、物理層パケットを生成します。LTSSMブロックからの制御信号を受信し、各レーンの物理層パケットを生成します。すべてのレーンに対して同じ物理層パケットを生成し、TS1/TS2フィールドに対応するリンクまたはレーン番号に対してPADシンボルを生成します。このブロックはまた、定義済みのPIPE信号をアサートし、その結果を待機することで、PCSサブレイヤーへのレシーバー検出動作も処理します。加えて、定義済みの各タイムスロットでSKP Ordered Setを生成し、パケットの途中でSKP Ordred Setが挿入されることが無いように、TXアライメント・ブロックと交信します。
- Deskew - このサブブロックは、マルチレーン・デスキュー機能と、初期化されたレーンとデータパス間のRXアライメントを実行します。マルチレーン・デスキューは、各レーンにシンボルを格納するための8ワードのFIFOバッファーを1つ実装しています。各シンボルには、8つのデータビット、1つのディスパリティー・ビット、および1つの制御ビットが含まれます。このFIFOはFTS、COM、およびSKPシンボルを破棄し、PADおよびIDLをD0.0データに置き換えます。8つすべてのFIFOにデータが含まれると、読み出しが発生する可能性があります。マルチレーン・デスキュー・ブロックが最初にイネーブルされる場合、各FIFOは最初のCOMが検出された後に書き込みを開始します。7クロックサイクル後もすべてのレーンがCOMシンボルを1つも検出しない場合は、リセットされ再同期プロセスが再度開始されます。これ以外の場合は、RXアライメント機能がDLLへと送信される64ビット・データ・ワードを再度作成します。