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# 44442

Spartan-6 Integrated Block for PCI Express - L0s エントリにより AXI 送信パケットがドロップする

説明

問題のあったバージョン : v2.1
修正されたバージョンやその他の既知の問題は、(ザイリンクス アンサー 45702) を参照してください。

ASPM L0s を入力するためにエンドポイント ブロックがイネーブルになっている場合、AXI s_* (AXI 送信インターフェイス) で送信されるパケットが AXI ラッパーでドロップする可能性があります。

ソリューション


これは、trn_tdst_rdy_n がディアサートされると Integrated Block で送信インターフェイスがスロットルされるからです。AXI ラッパーでこの状況が正しく予測されず、この状況が発生しているときにユーザーにより AXI ラッパーにパケットが送信されると、パケットがドロップします。この問題は、エンドポイントで ASPM L0s がイネーブルの場合にのみ発生します。

ASPM L0s エントリは、システムによりイネーブルまたはディスエーブルにできます。ASPM がイネーブルかどうかを確認するには、コアのコンフィギュレーション メモリ空間のアドレス 0x68 にあるリンク コントロール レジスタのビット 1:0 を読み出します。この情報は、ユーザー インターフェイスの出力ポート cfg_lcommand[1:0] でも確認できます。これらのビットが 00 であれば、ASPM はディスエーブルで’す。このレジスタの詳細は、PCI 基本仕様のセクション 7.8.7 を参照してください。

ASPM L0s エントリがイネーブルの場合、または不明な場合は、L0s が入力されたときに送信インターフェイスがスロットルされることが AXI ラッパーで認識されるようにラッパーを変更する必要があります。これには、生成されたコアの名前と同じ最上位ソース ラッパー ファイルを変更します。このファイルは生成されたコアの source ディレクトリにあり、Verilog または VHDL ファイルです。このファイルで、パラメーター C_PM_PRIORITY を True に設定します。

この変更を加えると、S_AXIS_TX_TREADY をディアサートすることにより、パケットの途中で AXI 送信インターフェイス (S_* インターフェイス) をスロットルできるようになります。これは、ユーザー ガイドに書かれていることと異なります。パケットの転送中に S_AXIS_TX_TREADY がディアサートされたことがデザインで認識されるようにしてください。

Verilog

axi_basic_top モジュールのインスタンシエーションで C_PM_PRIORITY パラメーターを TRUE に変更します。

axi_basic_top #(
.C_DATA_WIDTH (32), // RX/TX interface data width
.C_FAMILY ("S6"), // Targeted FPGA family
.C_ROOT_PORT ("FALSE"), // PCIe block is in root port mode
.C_PM_PRIORITY ("TRUE") // Disable TX packet boundary thrtl

) axi_basic_top (

VHDL

axi_basic_top モジュールのインスタンシエーションで C_PM_PRIORITY パラメーターを TRUE に変更します。ファイルの上部にある定数を変更しないようにしてください。これは、モジュールのインスタンシエーションでは使用されません。

axi_basic_top_inst : axi_basic_top
generic map (
C_DATA_WIDTH=> 32, -- RX/TX interface data width
C_FAMILY=> "S6", -- Targeted FPGA family
C_ROOT_PORT=> FALSE, -- PCIe block is in root port mode
C_PM_PRIORITY=> TRUE, -- Disable TX packet boundary thrtl
TCQ=> 1, -- Clock to Q time

C_REM_WIDTH=> 1, -- trem/rrem width
C_STRB_WIDTH=> 4 -- TSTRB width
)

改訂履歴
2012/01/18 - アンサー 45072 への参照を追加
2011/10/07 - 初版

注記 : [バージョン] 列には問題が最初に発生したバージョンがリストされています。問題はそれより以前のバージョンでも発生していた可能性がありますが、古いバージョンではそれを検証するテストは実行されていませんでした。

アンサー レコード リファレンス

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
45702 Spartan-6 FPGA Integrated Block for PCI Express - AXI インターフェイスのすべてのバージョンのリリース ノートおよび既知の問題 N/A N/A
AR# 44442
日付 05/19/2012
ステータス アクティブ
種類 既知の問題
IP
  • Spartan-6 FPGA Integrated Endpoint Block for PCI Express ( PCIe )
このページをブックマークに追加