AR# 69447

|

Zynq UltraScale+ MPSoC - PS SMMU で SmartConnect を介して PS ポートに接続されている複数のマスターを区別できない

説明

Zynq UltraScale+ MPSoC PS にある System MMU (SMMU) では、どのマスターがメモリにアクセスしているか識別するため、15 ビットの StreamID が使用されています。 

HP および HPC ポートに接続されている PL マスターの StreamID ビットは、次のようになります。


  • ビット 14:10 は TBU の数値です。
  • ビット 9:6 はマスター ID ビットで、PS で定義されています。
  • ビット 5:0 は PL からの AWID および ARID です。

SmartConnect からは PL への AWID/ARID は提供されません。 

SMMU は同じ HP ポートに接続されている 2 つのマスターを区別できません。

つまり、マスター A はマスター B のメモリ領域にアクセスできる可能性があります。

Xen などのハイパーバイザーでアプリケーションを実行していると、これが問題になる可能性があります。

アプリケーション A に関連付けられているマスター A は、アプリケーション B に関連付けられているマスター B に割り当てられているメモリ リソースへアクセスできません。

ソリューション

2018.1 以前のリリース:

回避策は、SmartConnect を使用せずに、それを AXI インターコネクトに置き換えてください。

AXI インターコネクトによって、SI スロット番号に基づいてマスター ID が入力される AWID/ARID 信号の前に追加されます。

これで HP または HPC ポートを共有する PL マスターの ID が作成されます。

または、別の PL AXI インターフェイスへの接続を考慮してください。PS 内の別の AXI ID が前に追加されます。


2018.1 およびそれ以降のリリース:

AXI Sideband Format Utility IP では、SmartConnect IP を介して ID が強化されています。 

この IP では、ID が SmartConnect を通過するようにするため、AxUSER で SMID の挿入および抽出が実行されます。 

この IP は Vivado 2018.1 でリリースされており、新しいデザインには、この IP を使用することを推奨します。

詳細は、(PG307) を参照してください。

https://japan.xilinx.com/support/documentation/ip_documentation/axi_sideband_util/v1_0/pg307-axi-sideband-util.pdf

サンプルのブロック図を生成する Tcl スクリプトが添付されています。これは 2018.1 バージョンで作成されていて、AXI Sideband Format Utility IP を、複数の AXI CDMA IP が S_AXI_HP0_FPD に接続されている MPSoC デザインに含める方法がわかるようになっています。 

次の表には、axi_cdma_0 および axi_cdma_1 のフル SMID がまとめられています。 

TCU およびマスター ID のフィールドについては、(UG1085) の第 16 章を参照してください。

フル SMID は、SMMU をコンフィギュレーションするのに必要です。

IPTBU ID[14:10]Master ID[9:6]AXI ID[5:0]Stream ID[14:0]
axi_cdma_05'b0_00114'b10106'b00_0000
15'b000_1110_1000_0000 = 15'h0E80
axi_cdma_15'b0_00114'b10106'b00_000115'b000_1110_1000_0001 = 15'h0E81
 

次のブロック図には AXI インターフェイスのみが記されています。





添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
2018p1_sidebandFormatExample.tcl 51 KB TCL
AR# 69447
日付 11/02/2018
ステータス アクティブ
種類 一般
デバイス
ツール
IP
Boards & Kits
People Also Viewed