Zynq UltraScale+ MPSoC PS にある System MMU (SMMU) では、どのマスターがメモリにアクセスしているか識別するため、15 ビットの StreamID が使用されています。
HP および HPC ポートに接続されている PL マスターの StreamID ビットは、次のようになります。
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) を参照してください。
サンプルのブロック図を生成する 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 をコンフィギュレーションするのに必要です。
IP | TBU ID[14:10] | Master ID[9:6] | AXI ID[5:0] | Stream ID[14:0] |
---|---|---|---|---|
axi_cdma_0 | 5'b0_0011 | 4'b1010 | 6'b00_0000 | 15'b000_1110_1000_0000 = 15'h0E80 |
axi_cdma_1 | 5'b0_0011 | 4'b1010 | 6'b00_0001 | 15'b000_1110_1000_0001 = 15'h0E81 |
次のブロック図には AXI インターフェイスのみが記されています。
タイトル | サイズ | ファイルタイプ |
---|---|---|
2018p1_sidebandFormatExample.tcl | 51 KB | TCL |
AR# 69447 | |
---|---|
日付 | 11/02/2018 |
ステータス | アクティブ |
種類 | 一般 |
デバイス | |
ツール | |
IP | |
Boards & Kits |