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