ソリューション ID: rd05122009_524
掲載日: 2009年12月01日
製品カテゴリー: IP (Intellectual Property)
製品エリア: IP その他
製品サブ・エリア: その他(IP)
IP 製品: PCI Express 1/2/4/8 Lanes (x8)
件名
PCI Express Compiler ユーザーガイド バージョン 9.0: 既知の問題
回答
イシュー: 309948 第4章 "Functional Description": クロッキング・セクション
クロッキングのセクションでは、下記の設定について説明しています:
- MegaWizard® Plug-In Manager デザインフロー クロッキング—ハードIPでの実装
- MegaWizard Plug-In Manager デザインフロー クロッキング—ソフトIPでの実装
- SOPC® Builder デザインフロー クロッキング—ソフトIPでの実装
「SOPC Builder デザインフロー クロッキング - ハードIPでの実装」について説明しているセクションがありません。
「SOPC Builder デザインフロー クロッキング - ソフトIPでの実装」の内容が、ハードIPでの実装に対しても適用できます。
イシュー: 309946 第4章 "Functional Description": クロッキング・セクション
図4-23 「SOPC Builder - 独立クロックドメイン」には情報が欠けています。
この図では、PCI Express Megacore® Avalon® MMブロックへの2つの入力クロックを示されるべきです。2つの入力クロック(Ref_clkとclk)は、表5-39に記述されています。Avalon-MMのクロック信号は図4-23に示されていません。
イシュー: 307753 第5章 "Signals": Avalon-ST インタフェース・セクション
図5-2 「64bit または 128bitのAvalon-ST Rx データパス」では、rx_st_badrec0信号について下記のように説明しています:
"TLP用のデコードされたBARビット。トランザクション・レイヤのrx_desc[135:128]に一致します。これらのビットは、rx_st_data0の第2サイクルに有効になります。"
この記述は64bitのデータパスについては正しく、デスクリプタは2クロックサイクルを消費します。
しかし、上記の記述は128bitのインタフェースについては正しくありません。128bitのデータパスでは、全デスクリプタでは1クロックサイクルしかかからず、bardecは2クロックサイクル目では有効ではありません。
イシュー: 314540 第5章 "Signals": Avalon-ST インタフェース・セクション
表5-16では、12ビットの信号 cfg_np_bas[11:0] が8ビットのフィールドで表示されていますが、これは正しくありません。cfg_np_basは12ビットの信号です。表5-16のaddress 7 (DW 7)の正しいマッピングは下記の通りです:
Bits[31:24] = all 0's
Bits[23:12] = tl_cfg_ctl[23:12]
Bits[11:0] = cfg_np_lim[11:0]
イシュー: 321267 第5章 "Signals": リセット信号セクション
表5-8 「リセット信号 (パート2 of 2)」では、reset_status信号について説明していますが、その信号がどのように生成されているかについての詳細を説明していません。
下記の記述が、バージョン 9.1のユーザーガイドに追加される予定です:
"reset_status信号はsrstおよびcrstの関数です。これらのどちらかの信号がアサートされると、reset_statusはアサートされます。npor信号がアサートされると、reset_statusはゼロにリセットされます。"
イシュー: 321274 第4章 "Functional Description " : アーキテクチャ・セクション
トランザクションのオーダリング・ルールは表4-2に記述されています。
Quartus II バージョン9.1のリリース時に、ユーザーガイドのこのセクションには下記の文章が追加される予定です: "MSIリクエストはPCI Expressのメモリライトと全く同じ方法で伝えらます。そのため、フロー制御、オーダリング、データ・インテグリティの観点で両者を区別することはできません。"
イシュー: 321277 第4ション "Functional Description" ECRCセクション
ECRCフォワーディングが有効なときに、ECRCエラーが発生したことをユーザーアプリケーションからコアに通知する方法についての情報がユーザーガイドには記述されていません。Quartus II バージョン9.1のユーザーガイドでは、下記の情報が追加される予定です: "アプリケーションでECRCエラーを検出した場合、PCI Express MegaCoreにエラーを通知するためにERR_NONFATALメッセージTLPを送る必要があります。"
エラー処理の詳細については、PCI Express Base Specification, Rev. 2.0のセクション 6.2にあるError Signaling and Loggingを参照して下さい。
イシュー: 321281 第5章 "Signals": リセット信号セクション
reset_status信号がどのクロックに同期しているかについての情報がユーザーガイドでは欠落しています。下記の情報がQuartus II バージョン9.1のユーザーガイドに追加される予定です: "reset_status信号はpld_clkに同期しています。したがって、reset_status信号はpld_clkクロックが安定しているときにのみデアサートされます。"
イシュー: 321282 第5章: "Signals" 完了サイドバンド信号セクション
cpl_err[6.22]の説明には、Quartus II バージョン9.1リリース時にユーザーガイドに下記の情報が追加される予定です:
cpl_err[2]: コンプリーターのアボート・エラー。アプリケーションは、コンプリーターアボート(CA)つきのポステッドまたはノンポステッドリクエストへの応答の際にこの信号をアサートします。ノンポステッドリクエストの場合、アプリケーションはコンプリーター・アボート(CA)つきのコンプリーション・パケットを生成してリクエスタに送信した後、このエラー信号をアサートしてMegaCoreに通知します。MegaCoreは自動的にコンフィグレーション空間のレジスタにエラー・ステータス・ビットをたて、PCI Express Base Specificationに従ってエラーメッセージを送信します。
cpl_err[3]: 予期せぬコンプリーションエラー。アプリケーション層のマスターブロックが予期せぬコンプリーション・トランザクションを検出した場合、この信号をアサートする必要があります。予期せぬコンプリーションの多くはMegaCoreのトランザクション層で検出され、レポートされます。詳細については、4-54ページの"Errors Detected by the Transaction Layer"を参照して下さい。
cpl_err[4]: ポステッドTLPへのアンサポーテッドリクエストエラー。ポステッドリクエストをアンサポーテッド・リクエスト (UR)として扱う場合に、アプリケーションがこの信号をアサートします。MegaCoreはコンフィグレーション空間のレジスタのエラーステータスビットを自動的にセットし、PCI Express Base Specificationに従ってエラーメッセージを送信します。アンサポーテッド・リクエストの多くはMegaCoreのトランザクション層内部で検出され、レポートされます。詳細については、4-54ページの"Errors Detected by the Transaction Layer"を参照して下さい。
cpl_err[5]: ノンポステッドTLPへのアンサポーテッドリクエストエラー。アンサポーテッドリクエスト (UR) コンプリーションつきのノンポステッドリクエストに応答するとき、アプリケーションはこの信号をアサートします。この場合、アプリケーションはアンサポーテッドリクエストのステータスを立てたコンプリーションパケットをリクエスタに返し、このエラー信号をアサートしてMegaCoreに通知します。MegaCoreはコンフィグレーション空間のレジスタのエラーステータスビットを自動的にセットし、PCI Express Base Specificationに従ってエラーメッセージを送信します。アンサポーテッド・リクエストの多くはMegaCoreのトランザクション層内部で検出され、レポートされます。詳細については、4-54ページの"Errors Detected by the Transaction Layer"を参照して下さい。
cpl_err[6]: ログヘッダー。アサートされたとき、err_desc_func0ヘッダーのログをとります。Avalon-STインタフェースを使用する、ソフトIPとハードIPの両方のMegaCoreの実装で使用されます。アサートされたとき、最初のエラーを検出時はTLPヘッダがAERヘッダーログレジスタに記録されます。使用する際は、対応するcpl_errエラービット(2、3、4、または5)と同時にアサートされる必要があります。ソフトIPでは、TLPヘッダはerr_desc_func0バスを通してアプリケーションからMegaCoreに渡されます。ハードIPでは、cpl_err[6]をアサートする前にアプリケーションから下記の値を4つのLMIレジスタに書き込むことで、ヘッダをMegaCoreに渡します:
¨lmi_addr: 12'h81C, lmi_din: err_desc_func0[127:96]
¨lmi_addr: 12'h820, lmi_din: err_desc_func0[95:64]
¨lmi_addr: 12'h824, lmi_din: err_desc_func0[63:32]
¨lmi_addr: 12'h828, lmi_din: err_desc_func0[31:0]
LMIシグナリングについての詳細は、5-34ページの"LMI Signals—Hard IP Implementation"を参照して下さい。
x8のソフトIPについては、cpl_errのビット [3:1]のみ使用可能です。ソフトIPのx1またはx4およびハードIPでは、全てのビットが使用可能です。
イシュー: 323073 第5章: "Signals " Avalon-ST インタフェースセクション
下記の入力はPCI Express Compilerユーザーガードの"for simularion only"として記述されていますが、RTL上でどのように接続すべきかの情報が書かれていません:
p_clk_in
rxdata0_ext
rxdatak0_ext
rxvalid0_ext
phystatus_ext
rxelecidle0_ext
rxstatus0_ext
Quartus II バージョン9.1リリース時のユーザーガイドには、下記の記述が追加される予定です: 「内部のトランシーバを使用する設定では、これらの信号はシミュレーションのみに使用されます。Quartus IIでのコンパイル時には、これらのパイプ信号は未接続で構いません。」
フィードバック
アルテラは、このソリューションがユーザーが意図した目的において機能することを保証するものではなく、ソリューションの使用に関する保証および信頼性に対しても責任を負わないものとします。
