PCIeソリューションに向けた Arria V Avalon-MMインターフェイス: ユーザーガイド

ID 683773
日付 5/21/2017
Public
ドキュメント目次

4.6.2.1. コンフィグレーション・スペース・レジスターのアクセス

tl_cfg_ctl信号は、次の図に示すコンフィグレーション・スペース・レジスターのコンテンツを含む多重化バスです。コンフィグレーション・スペースに格納された情報は、ラウンドロビン順でアクセスされます。ここでのtl_cfg_addはアクセスされているレジスターを表します。次の表は、tl_cfg_ctlで多重化されたコンフィグレーション情報のレイアウトを示しています。

図 13. tl_cfg_ctlで利用可能な多重化されたコンフィグレーション・レジスター情報青色で示されているフィールドは、ルートポートでのみ使用可能です。
表 30.  コンフィグレーション・スペース・レジスターの説明

レジスター

入力/出力

説明

cfg_dev_ctrl_func<n>

16

出力

cfg_dev_ctrl_func<n>[15:0]は、PCI Expressケイパビリティー・ストラクチャーのデバイス制御レジスターです。
cfg_dev_ctrl2

16

出力

cfg_dev2ctrl[15:0] は、PCI Expressケイパビリティー・ストラクチャーのデバイス制御2です。

cfg_slot_ctrl

16

出力

cfg_slot_ctrl[15:0]は、PCI-Expressケーパビリティーのスロットステータスです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_link_ctrl

16

出力

cfg_link_ctrl[15:0]は、PCI Expressケイパビリティー・ストラクチャーのプライマリー・リンク制御です。

Gen2の場合、Gen1 L0ステートへ最初のリンク・トレーニング後に、より高いデータレートへの再トレーニングを開始するため、ルートポートのRetrain Linkビット(cfg_link_ctrl)のBit[5])に1’b1を書き込む必要があります。再トレーニングは、LTSSMをRecoveryステートにします。リンク上の両方のデバイスがより高いデータレートをサポートできる場合であっても、PCI Express用Arria VハードIPのIPコアに対しては、高いデータレートへの再トレーニングは自動的ではありません。

cfg_link_ctrl2

16

出力

cfg_link_ctrl2[31:16]は、Gen2に向けたPCI Expressケイパビリティー・ストラクチャーのセカンダリー・リンク制御です。

tl_cfg_addr=4'b0010の場合、tl_cfg_ctlは、プライマリーおよびセカンダリー・リンク制御レジスターである { {cfg_link_ctrl[15:0], cfg_link_ctrl2[15:0]}を返します。プライマリー・リンク・ステータス・レジスターの内容は、tl_cfg_sts[46:31]で利用可能です。

Gen1バリアントの場合、リンク帯域幅通知ビットは常に0に設定されます。Gen2バリアントの場合は、このビットは1に設定されます。

cfg_prm_cmd_func<n>

16

出力

PCIコンフィグレーション・スペースのベース/プライマリー・コマンド・レジスターです。

cfg_root_ctrl

8

出力

PCI-Expressケーパビリティーのルート制御およびステータス・レジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_sec_ctrl

16

出力

PCI-Expressケーパビリティーのセカンダリー・バス制御およびステータス・レジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_secbus

8

出力

二次的なバス番号です。このレジスターは、ルートポート・モードでのみ用可能です。

cfg_subbus

8

出力

従属バス番号です。このレジスターは、ルートポート・モードでのみ用可能です。

cfg_msi_addr

64

出力

cfg_msi_add[63:32]は、Message Signaled Interrupt (MSI) の上位メッセージ・アドレスです。cfg_msi_add[31:0]は、そのMSIメッセージ・アドレスです。

cfg_io_bas

20

出力

Type1コンフィグレーション・スペースの上位20ビットのI/Oリミットレジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_io_lim

20

出力

Type1コンフィグレーション・スペースの上位20ビットのIOリミットレジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_np_bas

12

出力

Type1コンフィグレーション・スペースの上位12ビットのメモリー・ベース・レジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_np_lim

12

出力

Type1コンフィグレーション・スペースの上位12ビットのメモリー・リミット・レジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_pr_bas

44

出力

Type1コンフィグレーション・スペースの上位44ビットのプリフェッチ可能なベースレジスターです。このレジスターは、ルートポート・モードでのみ使用可能です。

cfg_pr_lim

44

出力

Type1コンフィグレーション・スペースの上位44ットのプリフェッチ可能なリミットレジスターです。ルートポート・モードで使用可能です。

cfg_pmcsr

32

出力

cfg_pmcsr[31:16]は電源管理制御であり、cfg_pmcsr[15:0]は電源管理ステータス・レジスターです。

cfg_msixcsr

16

出力

MSIメッセージ制御です。

cfg_msicsr

16

出力

MSIメッセージ制御です。このレジスターのフィールドについては、次の表を参照してください。

cfg_tcvcmap

24

出力

コンフィグレーション・トラフィック・クラス(TC)/仮想チャネル(VC)マッピングです。アプリケーション層は、この信号を使用してパケットのトラフィック・クラスをもとに適切なチャネルへマッピングされるTLPを生成します。

  • cfg_tcvcmap[2:0]: TC0へのマッピング(常に0)
  • cfg_tcvcmap[5:3]: TC1へのマッピング
  • cfg_tcvcmap[8:6]: TC2へのマッピング
  • cfg_tcvcmap[11:9]: TC3へのマッピング
  • cfg_tcvcmap[14:12]: TC4へのマッピング
  • cfg_tcvcmap[17:15]: TC5へのマッピング
  • cfg_tcvcmap[20:18]: TC6へのマッピング
  • cfg_tcvcmap[23:21]: TC7へのマッピング
cfg_msi_data

16

出力

cfg_msi_data[15:0]はMSIへのメッセージデータです。

cfg_busdev

13

出力

ハードIPにプログラミングあるいはキャプチャされるバス/デバイス番号です。

図 14. コンフィグレーションMSIコントロール・ステータス・レジスター
表 31.  コンフィグレーションMSIコントロール・ステータス・レジスターの説明

ビット

フィールド

説明

[15:9]

Reserved

N/A

[8]

mask capability

ベクトル単位のマスキングが可能です。このビットは、PCIローカルバス仕様書で定義されているMask_BitsおよびPending_Bitsレジスターを使用したオプションのベクトル単位のMSIマスキングをサポートしていないため、0にハードワイヤードされています。ベクトル単位のマスキングは、アプリケーション層のレジスターを使用することで実装可能です。

[7]

64-bit address capability

64ビットアドレスが可能です。

  • 1: 64ビットのメッセージアドレスが送信可能な機能
  • 0: 64ビットのメッセージアドレスが送信不可能な機能

[6:4]

multiple message enable

このフィールドは、MSI信号の許容値を示します。たとえば、このフィールドに「100」と書き込む場合、16個のMSI信号が割り当てられます。

  • 3’b000: 1つのMSIが割り当てられました
  • 3’b001: 2つのMSIが割り当てられました
  • 3’b010: 4つのMSIが割り当てられました
  • 3’b011: 8つのMSIが割り当てられました
  • 3’b100: 16つのMSIが割り当てられました
  • 3’B101: 32つのMSIが割り当てられました
  • 3’b110: 予約済み
  • 3'b111: 予約済み

[3:1]

multiple message capable

このフィールドは、リクエストされたMSIメッセージの数を決定するために、システム・ソフトウェアによって読み取られます。

  • 3’b000: 1つのMSIがリクエストされました
  • 3’b001: 2つのMSIがリクエストされました
  • 3’b010: 4つのMSIがリクエストされました
  • 3’b011: 8つのMSIがリクエストされました
  • 3’b100: 16つのMSIがリクエストされました
  • 3’b101: 32つのMSIがリクエストされました
  • 3’b110: 予約済み

[0]

MSI Enable

0に設定すると、このコンポーネントはMSIの使用を許可されません。

複数の機能をサポートするデザインでは、ホスト・ソフトウェアはMSIイネーブルビットを使用して機能のMSIをマスクしないでください。マスクにMSIイネーブルビットを使用すると、MSIリクエストがある機能から保留中の状態となり、他の機能へのMSIリクエストをブロックすることがあります。