AR# 53550

7 Series Integrated Block Wrapper for PCI Express v1.7 - 128 ビット ユーザー インターフェイスおよび 64 ビット BAR のシミュレーションが機能しない (Root Port シミュレーション モデル (DSPORT) から不正なパケットが送信される)

説明

問題の発生したバージョン : v1.7
修正バージョンおよびその他の既知の問題 : (ザイリンクス アンサー 40469) を参照

128 ビットのユーザー インターフェイスおよび 64 ビット BAR で設定された Endpoint コアをシミュレーションする場合、Root Port シミュレーション モデル (DSPORT) から不正なパケットが送信されるためシミュレーションでエラーが発生します。 32 ビット BAR のみまたは 64 ビット ユーザー インターフェイスのコアでは、この問題は発生しません。

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

ソリューション

pci_exp_usrapp_tx モジュールのタスク tsk_memory_write_64 の下に問題が見つかりました。

                        if (ep_)

                            trn_terrfwd_n  <= #(Tcq) 0;

                        trn_tsrc_rdy_n     <= #(Tcq) 1;

 

                        case ((_len - 1) % 4)

                          1 : trn_trem_n   <= #(Tcq) 2'b11;  // D0---------

                          2 : trn_trem_n   <= #(Tcq) 2'b10;  // D0-D1------

                          3 : trn_trem_n   <= #(Tcq) 2'b01;  // D0-D1-D2---

                          0 : trn_trem_n   <= #(Tcq) 2'b00;  // D0-D1-D2-D3


正しい RTL は、次のとおりです。

                        if (ep_)

                            trn_terrfwd_n  <= #(Tcq) 0;

                        trn_tsrc_rdy_n     <= #(Tcq) 0;

 

                        case ((_len - 1) % 4)

                          0 : trn_trem_n   <= #(Tcq) 2'b11;  // D0---------

                          1 : trn_trem_n   <= #(Tcq) 2'b10;  // D0-D1------

                          2 : trn_trem_n   <= #(Tcq) 2'b01;  // D0-D1-D2---

                          3 : trn_trem_n   <= #(Tcq) 2'b00;  // D0-D1-D2-D3

改訂履歴
2012/12/17 - 初版

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

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
40469 7 Series Integrated Block for PCI Express - Vivado 2012.4 および ISE 14.7 までのすべてのバージョンに対するリリース ノートおよび既知の問題 N/A N/A
AR# 53550
日付 06/21/2013
ステータス アクティブ
種類 既知の問題
IP