UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 30120

Endpoint Block Plus Wrapper for PCI Express v1.6 および v1.6.1 - ISE 10.1 初期 IP 3 (IP_10.1.0) のリリース ノートおよび既知の問題

説明

このアンサーでは、 ISE 10.1 初期 IP アップデート (IP_10.1.0) でリリースされた Endpoint Block Plus Wrapper v1.6 および v1.6.1 のリリース ノートおよび既知の問題を示します。次の情報が記載されています。

  • 一般情報
  • 新機能
  • 修正点
  • 既知の問題

インストール手順、CORE Generator の一般的な既知の問題、およびデザイン ツールの要件は、次の『IP リリース ノート ガイド』を参照してください。

http://japan.xilinx.com/support/documentation/user_guides/xtp025.pdf

ソリューション

一般情報

重要 : (Xilinx Answer 30124) から v1.6.1パッチをダウンロードしてインストールする必要があります。

このパッチをインストールすると、v1.6 の重要な問題の一部が修正されます。

このアンサーに記述されている修正点と既知の問題は v1.6.1 に対するもので、v1.6 には該当しません。

ライセンス要件

ISE 9.1i SP4 IP アップデート 2 リリース時点では、LogiCORE Endpoint Block Plus for PCI Express コアを生成およびインプリメントするにはライセンスが必要です。

ライセンスは無償です。

ライセンスは製品ラウンジから入手できます。

http://japan.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?iLanguageID=1&sGlobalNavPick=&sSecondaryNavPick=&key=V5_PCI_Express_Block_Plus

ES シリコン

このコアを含む Virtex-5 エンジニアリング サンプル (ES) シリコンをターゲットにする場合の詳細は、(Xilinx Answer 24697) を参照してください。

新機能

  • ISE 10.1 ツールをサポート
  • Virtex-5 FXT デバイスのサポートを追加
  • 新しい Virtex-5 LXT (20、155) パーツの UCF を追加
  • GUI でコンフィギュレーションできる GTP/GTX トランスミッター設定を追加
  • 新しいピン pin cfg_err_cpl_rdy_n を追加 - cfg_err インターフェイスに対する新しいスロットル信号

修正された問題

- CR 451293 : サンプル デザインのクリーンアップ

ISE 環境においてサンプル デザインの使用を妨げていた `define がモジュール名から削除されました。 


- CR 449622 : シミュレーションのリンク アップに関する問題

x8 コアに対してデフォルトのシミュレーションを実行するとコアがリンク アップしないという問題が修正されました。 


- CR 445024 : ハードウェア プラットフォームで PIO サンプル デザインのメモリ バイト テストにエラーが発生する

DWORD 以外のアクセスが行われると、データが破損した CplD が PIO サンプル デザインによって返されます。 


- CR 448940 : NC-Sim シミュレーションの場合に cds.lib で work 構文を定義する必要がある

NC-Sim を実行しても、スクリプト ファイルによって work ライブラリ構文が cds.lib ファイルに追加されません。 

この問題を修正する方法は、該当の入門ガイドおよびユーザー ガイドに記載されています。


- CR 456831 : x8 VHDL フローの場合に Perl スクリプト turn_off_upper_lanes.pl でエラーが発生する

8 レーン VHDL フローの場合、Perl スクリプト turn_off_upper_lanes.pl での検索パターンが間違っています。


- CR 458537 : データ クレジットがないために TX 送信の問題が発生する

データ クレジットがないために TX 送信の問題が発生するという、統合ブロックでの既知の制限に対して、回避策が導入されました。

この問題は、特定の状況下で統合ブロックが停止する原因となっていました。

回避策により、この状態が発生しなくなります。

この修正は Block Plus ラッパー内で完全に行われているため、ロジックを変更する必要はありません。 


既知の問題

Endpoint Block Plus Wrapper for PCI Express には、3 つの主なコンポーネントがあります。

  • Virtex-5 FPGA Integrated Block for PCI Express
  • Virtex-5 FPGA GTP トランシーバー
  • Block Plus Wrapper FPGA ファブリック ロジック

各コンポーネントに対する既知の問題および制限は、次のとおりです。

Virtex-5 FPGA Integrated Block for PCI Express の既知の制限

統合ブロックの既知の制限のリストは、次を参照してください。

『Virtex-5 FPGA Integrated Endpoint Block for PCI Express デザイン ユーザー ガイド』 (UG197)

この情報は、第 4 章の「Known Restrictions (既知の制限)」セクションに記載されています。

このガイドは次のリンク先から入手できます。

http://www.xilinx.com/support/documentation/user_guides/ug197.pdf

Virtex-5 FPGA GTP トランシーバー

次は、Integrated Block for PCI Express に接続する GTP トランシーバーに関する既知の問題です。

  • トランシーバーが Rx.L0s から遷移する

GTP トランシーバーが Rx.L0s から遷移すると、 FTS-FTS-COM-SKP チャネル ボンディング シーケンスの SKP シンボルに続く有効なデータのシンボル タイムが最大 8 つ、ブロックによって無視されます。
これは、GTP からの RXCHANISALIGNED 信号のアサートにおける遅延が原因です。
パケットがアップストリーム ポートによってリプレイされ、統合ブロックによって正しく ACK 受信された場合、リンクはアップしたままになります。
しかし、失われた元のデータが ACK であった場合は、アップストリーム コンポーネントでは、ACK を送信した後に L0s に戻り、ウェークアップして ACK を送信した後 L0s に戻る可能性があります。
これが繰り返されると、リンク再トレーニングが実行されます。
失われたデータはなく、リンクは最終的には回復するので、操作への影響はないか最小限です。

  • TX パスが L0s に遷移し、パケットが受信される

コアの TX パスが L0s に遷移し、パケットがリンク パートナーによって送信されると、L0 に遷移し直して ACK を送信するのに非常に長い時間がかかるため、リンク パートナーによってパケットがリプレイされます。
結果として、コアによって 2 つの ACK (元のパケットに対して 1 つと、リプレイされたパケットに対してもう 1 つ) が送信されます。
これは、GTP が L0s から L0 に戻るのにかかる時間が原因です。
現時点では回避策はありません。

  • GTP リセット

シミュレーションでは、GTP がリセットになると、TXp および TXn の両方を X、1、または 0 に駆動するのではなく、最後に駆動されたロジック値に TX 出力が保持されます。
このため、リンク パートナー モデルによって動作が誤って認識され、パケットの START と判断されることがあります。
この問題は、Denali BMF を使用した場合に発生することが報告されています。Denali モデルでは、これらの値がパケットの START と判断され、エラーが報告されます。
この問題を回避するには、GTP がリセットになった場合に実行される Denali エラー報告機能をオフにします。

  • 8B/10B エラーの報告

GTP トランシーバーでは、RXSTATUS[2:0] を 3'b100、RXDATA[7:0] を 8'hFE、RXCHARISK を 1 にそれぞれ設定して、8B/10B エラーを示す必要があります。
トランシーバーによって RXSTATUS は正しく設定されますが、RXDATA および RXCHARISK には正しい値が示されません。
そのため、8B/10B エラーが LCRC エラーと認識され、統合ブロックによって NAK DLLP が送信されます。
これにより致命的なエラーが発生することはありませんが、準拠しない応答になります。
この問題は、GTP トランシーバーの RXSTATUS 出力をモニタリングし、ファブリック ロジックを使用して統合ブロックへの RXDATA および RXDATAK 入力に正しい値を挿入することで回避できます。

  • L0s からの遷移におけるチャネル ボンディング

リンクが L0s から L0 に遷移すると、マルチレーン リンクのチャネル ボンディングに関する問題が発生します。
この問題の回避策は、Block Plus Wrapper for PCI Express に含まれています。
インプリメンテーション中に、次のようなパスでラッチが使用されていることが MAP によって報告されることがあります。

"ep/BU2/U0/pcie_ep0/pcie_blk/SIO/.pcie_gt_wrapper_i/icdrreset<7:0>".

これらのラッチは予測されるもので、コアが正しく動作するのために必要です。

  • 電気的アイドルのシミュレーション

シミュレーション中に、電気的アイドルを駆動して各リンク パートナーをシミュレーションしなければならない場合があります。
ザイリンクスの GTP トランシーバーでは、RXp および RXn ラインで 1、0、または X が受信されることが予測され、電気的アイドルを表すハイ インピーダンスは予測されません。
電気的アイドルを表すハイ インピーダンスがリンク パートナー モデルによって送信されると、デザインはリンク アップできません。
この問題を回避するには、電気的アイドルに対して 1、0、または X を駆動するようにリンク パートナー モデルを設定するか、ハイ インピーダンスを 1、0、または X に置き換えるロジックをテストベンチに挿入します。
(Xilinx Answer 29294) には、これと同様の回避策が説明されています (シミュレーションの場合にザイリンクスのダウンストリーム ポート モデルに接続すると発生する問題を回避する方法)。

  • GTP リセットのシミュレーション

シミュレーションでは、GTP がリセットになると、TXp および TXn の両方を X、1、または 0 に駆動するのではなく、最後に駆動されたロジック値に TX 出力が保持されます。
このため、リンク パートナー モデルによって動作が誤って認識され、パケットの START と判断されることがあります。
この問題は、Denali BMF を使用した場合に発生することが報告されています。Denali モデルでは、これらの値がパケットの START と判断され、エラーが報告されます。
この問題を回避するには、GTP がリセットになった場合に実行される Denali エラー報告機能をオフにします。

Block Plus Wrapper FPGA ファブリック ロジック

- CR 456000 : Link Capability レジスタのビット 10 および 11 が間違って設定される。
これらのビットは、アクティブ ステート電力管理サポート レベルを示すものです。
11 ではなく 01 に設定される必要があります。
この問題は v1.7 で修正される予定です。UCF ファイルに次を追加することにより Virtex-5 Block for PCI Express の属性を上書きすると、この問題を修正できます。

INST "ep/BU2/U0/pcie_ep0/pcie_blk/pcie_ep" LINKCAPABILITYASPMSUPPORT = "01";

- CR 468765 : (Xilinx Answer 30668) を参照

- CR 469909 : v1.6.1 Block Plus Endpoint Wrapper for PCI Express ではすべてのデバイス コンフィギュレーション (LXT、SXT、および FXT) に TX バッファー バイパス モードが使用される。
TX バッファー バイパスを使用すると、パーツの温度が大幅に上昇または下降する可能性があるため、最初に実行される TX 位相アライメントでエラーが発生する場合があり、リンク エラーやその他の安定性に関する問題の原因となります。
LXT および SXT に対しては、この問題は v1.8 リリースで修正される予定です。FXT に対する修正は、後のバージョンで行われる予定です (日付は未定)。
この問題が発生している場合、システム リセットを発行 (ラッパーに sys_reset_n 入力をアサート) すると TX 位相アライメントが再度開始されます。

PIO サンプル デザイン

- CR 444221 : PIO RX エンジン ファイルに PIO_64_RX_MEM_RD64_FMT_TYPE ステート宣言が 2 つ含まれている。
合成ツールでは 2 番目の定義が無視されるため、これによって問題が発生することはないはずです。
問題が発生した場合は、FSM の 2 番目の定義を削除してください。

- CR 466393 : PIO TX エンジン ステート PIO_64_TX_CPL_QW1 の最後の else 文が PIO_64_TX_CPLD_QW1 ステートをポイントしている。
これは、PIO_64_TX_CPL_QW1 をポイントしているべきです。
前の条件のいずれかが満たされるまで PIO_64_TX_CPL_QW1 で保持された後、初期ステートの PIO_64_TX_RST_STATE に戻る必要があります。

シミュレーション

- リンク トレーニングでの長いシミュレーション時間については、(Xilinx Answer 29294) を参照してください。

UCF ファイル

- CR 452484 : x1 および x4 の UCF ファイルによっては未使用の MGT の横にある MGT クロック入力ピンが使用される。
UCF ファイルは、x1 および x4 の UCF ファイルが x8 の UCF ファイルのサブセットであるように構成されています。
x8 の UCF ファイルでは、クロック入力ピンの横にある GTP はすべて常時使用中ですが、x1 および x4 デザインではそうではない場合があります。
GTP ユーザー ガイドには、未使用の MGT の横にはクロックを入力すべきではないと記載されています。
その理由は、予測できないクロック問題を発生させることがあるためです。
クロック入力の横にある GTP が PCI Express によって使用されていない場合は、CORE Generator RocketIO ウィザードを使用することにより、その GTP に対するダミー GTP を作成することが推奨されます。
詳細は、『Virtex-5 FPGA RocketIO GTP トランシーバー ユーザー ガイド』 (UG196) を参照してください。

http://japan.xilinx.com/support/documentation/user_guides/j_ug196.pdf

この問題が発生しないように、Block Plus コアの UCF ファイルが現在修正中です。

- x1、x4、および x8 のデザインによっては、デフォルトの MAP および PAR 設定を使用した場合にタイミングが満たされないことがある。
タイミング クロージャを達成するには、複数の PAR シードを使用するか、フロアプランが必要になる場合があります。
配置配線の複数回実行 (MPPR) を使用すると、タイミングを満たすために複数のコスト テーブルを試すことができます。

MPPR の使用に関する詳細は、次のページで『コマンド ライン ツール ユーザー ガイド』 (UG628) (旧名『開発システム リファレンス ガイド』) を検索して参照してください。

http://japan.xilinx.com/support/library.htm

また、デザインおよびコアの両方でタイミングを満たすために、フロアプランの実行および高度な配置制約の追加が必要になる場合もあります。

資料

- CR 456008 : リンク パートナーとの通信が失われると trn_rsrc_dsc_n がアサートされると、ユーザー ガイドに記載されている。
これは間違いです。trn_rsrc_dsc_n は、Block Plus コア内部で High に接続されています。


trn_rsrc_dsc_n に類似の機能を実現するには、trn_lnk_up_n コア出力を使用して、コアと接続するフレーミング ステート マシンをリセットする必要があります (リンク ダウン イベントが発生するとコアに対する TLP を受信または送信するプロセス中にあるロジックを含む)。


特に、Block Plus コアでリンク ダウン (信頼上の理由に関するリカバリ エラー)、ウォーム リセット (PERST# アサーション)、ホット リセット (インバンド)、またはリンク ディスエーブル (インバンド) が発生した場合は、trn_lnk_up_n が数マイクロ秒間ディアサートされ (実際の時間はリンク ダウンの原因によって異なる)、コアと接続するすべてのロジックを静止 (リセット) ステートに戻すために使用される必要があります。

改訂履歴

2008/04/16 - 「修正された問題」に CR 458537 を追加。「既知の問題」に CR 469909 を追加。

2008/04/03 - CR 468765 を追加。

2008/03/24 - 初版。

AR# 30120
日付 10/01/2015
ステータス アクティブ
種類 リリース ノート
IP
  • Endpoint Block Plus Wrapper for PCI Express
このページをブックマークに追加