スタックド シリコン インターコネクト テクノロジ (SSI テクノロジ) は、ムーアの法則の限界を打ち破り、最も厳しいデザイン要件に応える性能を実現します。
SSI テクノロジ デバイスは、各 SLR が 1 つのダイである複数の SLR (Super Logic Region) で構成されています。SLR0 (マスター SLR とも言う) は最下部のダイです。SLR1 は下から 2 番目、SLR2 は下から 3 番目のように続きます。AMD Versal™ アダプティブ SoC SSI テクノロジの中には、最大 4 つの SLR を含めることが可能なものもあります。
各 SLR には、モノリシック Versal アダプティブ SoC のように独自のプラットフォーム管理コントローラー (PMC) とプログラマブル ロジック (PL) 領域がありますが、スレーブ SLR には AI エンジン 領域とプロセッシング システム (PS) 領域はありません。
このデバイスで起動する最終的な PDI は複数の PDI をまとめた 1 つのイメージです。各 SLR には独自の PMC ブロックがあるため、SLR はそれぞれメイン PDI に統合された PDI で起動します。
注記: 各 SLR の PLM ELF は同じである必要があります。
SSI テクノロジを使用した Versal アダプティブ SoC の BIF は、モノリシックのバリアントとは異なります。次に、2 つの SLR デバイスを使用した場合の BIF の例を示します。
注記: 次の BIF コード ブロック全体が 1 つのファイルにまとめられます。Bootgen は複数の BIF ブロックを読み出して、BIF ラベルに基づいてそれぞれの PDI を作成します。これらの BIF ブロック ラベルは、Bootgen がどの個別 PDI をマスター PDI にマージするかに基づいて、マスター BIF で参照されます。このマスター PDI だけで、SSI テクノロジ デバイスを起動できます。
注記: スレーブ SLR は、ダウンストリーム接続を示す特別なオプション smap_width=0 を使用するので、変更しないでください。
1 スレーブ SLR デバイスの SSI テクノロジの非セキュア BIF の例
例 - HBM デバイス
bitstream_boot_1:
{
id_code = 0x04d28093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0xb01
type = bootloader
file = gen_files/plm.elf
}
partition
{
id = 0xb0A
type = pmcdata, load = 0xf2000000
file = gen_files/pmc_data_slr_1.cdo
}
}
image
{
name = pl_noc
id = 0x18700000
partition
{
id = 0xb05
type = cdo
file = project_1_wrapper_boot_1.rnpi
}
}
}
bitstream_1:
{
id_code = 0x04d28093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
image
{
name = pl_cfi
id = 0x18700000
partition
{
id = 0xc03
type = cdo
file = project_1_wrapper_1.rcdo
}
partition
{
id = 0xc05
type = cdo
file = project_1_wrapper_1.rnpi
}
}
}
bitstream_master:
{
id_code = 0x04d28093
extended_id_code = 0x01
id = 0x2
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0x01
type = bootloader
slr = 0
file = gen_files/plm.elf
}
partition
{
id = 0x09
type = pmcdata, load = 0xf2000000
slr = 0
file = gen_files/pmc_data.cdo
}
}
image
{
name = SUB_SYSTEM_BOOT_MASTER
id = 0x18700000
type = slr-boot
partition
{
id = 0x05
type = cdo
slr = 0
file = project_1_wrapper_boot_0.rnpi
}
partition
{
id = 0xb15
slr = 1
section = bitstream_boot_1
}
partition
{
id = 0x02
type = cdo
file = noc_pll.rnpi
}
}
image
{
name = lpd
id = 0x4210002
partition
{
id = 0x0C
type = cdo
slr = 0
file = gen_files/lpd_data.cdo
}
partition
{
id = 0x0B
core = psm
slr = 0
file = static_files/psm_fw.elf
}
}
image
{
name = fpd
id = 0x420c003
partition
{
id = 0x08
type = cdo
slr = 0
file = gen_files/fpd_data.cdo
}
}
image
{
name = CONFIG_MASTER
id = 0x18700000
type = slr-config
partition
{
id = 0xc16
slr = 1
section = bitstream_1
}
partition
{
id = 0x13
type = cdo
slr = 0
file = project_1_wrapper_master_config.rcdo
}
}
}
2 スレーブ SLR デバイスの SSI テクノロジの非セキュア BIF の例
// For generating SLR1 – boot PDI
bitstream_boot_1:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
image
{
name = pmc_subsys, id = 0x1c000001
partition { id = 0xb01, type = bootloader, file = gen_files/plm.elf }
partition { id = 0xb0A, type = pmcdata, load = 0xf2000000, file = gen_files/pmc_data_slr_1.cdo }
}
image
{
name = pl_noc, id = 0x18700000
partition { id = 0xb05, type = cdo, file = boot_1.rnpi }
}
}
// For generating SLR2 – boot PDI
bitstream_boot_2:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0}
image
{
name = pmc_subsys, id = 0x1c000001
partition { id = 0xb01, type = bootloader, file = gen_files/plm.elf }
partition { id = 0xb0A, type = pmcdata, load = 0xf2000000, file = gen_files/pmc_data_slr_2.cdo }
}
image
{
name = pl_noc, id = 0x18700000
partition { id = 0xb05, type = cdo, file = boot_2.rnpi }
}
}
// For generating SLR1 – partial config PDI
bitstream_1:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
image
{
name = pl_cfi, id = 0x18700000
partition { id = 0xc03, type = cdo, file = config_1.rcdo }
partition { id = 0xc05, type = cdo, file = config_1.rnpi }
}
}
// For generating SLR2 – partial config PDI
bitstream_2:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0xc
boot_config {smap_width=0}
image
{
name = pl_cfi, id = 0x18700000
partition { id = 0xc03, type = cdo, file = config_2.rcdo }
partition { id = 0xc05, type = cdo, file = config_2.rnpi }
}
}
// For generating final PDI – by combining above generated PDIs.
bitstream_master:
{
id_code = 0x04d10093
extended_id_code = 0x01
id = 0x2
image
{
name = pmc_subsys, id = 0x1c000001
partition { id = 0x01, type = bootloader, slr = 0, file = gen_files/plm.elf }
partition { id = 0x09, type = pmcdata, load = 0xf2000000, slr = 0, file = gen_files/pmc_data.cdo }
}
image
{
name = SUB_SYSTEM_BOOT_MASTER, id = 0x18700000, type = slr-boot
partition { id = 0x05, type = cdo, slr = 0, file = boot_0.rnpi }
partition { id = 0xb15, slr = 1, section = bitstream_boot_1 }
partition { id = 0xb15, slr = 2, section = bitstream_boot_2 }
partition { id = 0x02, type = cdo, file = gen_files/bd_70da_pspmc_0_0_noc_clock.cdo }
}
image
{
name = lpd, id = 0x4210002
partition { id = 0x0C, type = cdo, slr = 0, file = gen_files/lpd_data.cdo }
partition { id = 0x0B, core = psm, slr = 0, file = static_files/psm_fw.elf }
}
image
{
name = fpd, id = 0x420c003
partition { id = 0x08, type = cdo, slr = 0, file = gen_files/fpd_data.cdo }
}
image
{
name = CONFIG_MASTER, id = 0x18700001, type = slr-config
partition { id = 0xc16, slr = 1, section = bitstream_1 }
partition { id = 0xc16, slr = 2, section = bitstream_2 }
partition { id = 0x13, type = cdo, slr = 0, file = master_config.rcdo }
}
}
注記: MCS 形式の bootimage/PDI 生成は、SSI テクノロジ デバイスでサポートされます。スレーブ用に生成される中間 PDI は、常にバイナリ形式です。最終的に生成される PDI は、選択した場合は、MCS 形式になります。
3 スレーブ SLR デバイスの SSI テクノロジの認証 BIF の例
command : bootgen -arch versal -image all.bif -w on -o final_ref.bin -log error
bitstream_boot_1:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0,bh_auth_enable}
pskfile = PSK1.pem
sskfile = SSK1.pem
metaheader
{
authentication = rsa
}
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0xb01
type = bootloader
authentication = rsa
file = gen_files/plm.elf
}
partition
{
id = 0xb0A
type = pmcdata, load = 0xf2000000
file = gen_files/pmc_data_slr_1.cdo
}
}
image
{
name = pl_noc
id = 0x18700000
partition
{
id = 0xb05
type = cdo
authentication = rsa
file = project_1_wrapper_boot_1.rnpi
}
}
}
bitstream_boot_2:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0,bh_auth_enable}
pskfile = PSK2.pem
sskfile = SSK2.pem
metaheader
{
authentication = rsa
}
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0xb01
type = bootloader
authentication = rsa
file = gen_files/plm.elf
}
partition
{
id = 0xb0A
type = pmcdata, load = 0xf2000000
file = gen_files/pmc_data_slr_2.cdo
}
}
image
{
name = pl_noc
id = 0x18700000
partition
{
id = 0xb05
type = cdo
authentication = rsa
file = project_1_wrapper_boot_2.rnpi
}
}
}
bitstream_boot_3:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xb
boot_config {smap_width=0,bh_auth_enable}
pskfile = PSK3.pem
sskfile = SSK3.pem
metaheader
{
authentication = rsa
}
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0xb01
type = bootloader
authentication = rsa
file = gen_files/plm.elf
}
partition
{
id = 0xb0A
type = pmcdata, load = 0xf2000000
file = gen_files/pmc_data_slr_3.cdo
}
}
image
{
name = pl_noc
id = 0x18700000
partition
{
id = 0xb05
type = cdo
authentication = rsa
file = project_1_wrapper_boot_3.rnpi
}
}
}
bitstream_1:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xc
pskfile = PSK1.pem
sskfile = SSK1.pem
boot_config {smap_width=0,bh_auth_enable}
metaheader
{
authentication = rsa
}
image
{
name = pl_cfi
id = 0x18700000
partition
{
id = 0xc03
type = cdo
authentication = rsa
file = project_1_wrapper_1.rcdo
}
partition
{
id = 0xc05
type = cdo
authentication = rsa
file = project_1_wrapper_1.rnpi
}
}
}
bitstream_2:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xc
pskfile = PSK2.pem
sskfile = SSK2.pem
boot_config {smap_width=0,bh_auth_enable}
metaheader
{
authentication = rsa
}
image
{
name = pl_cfi
id = 0x18700000
partition
{
id = 0xc03
type = cdo
authentication = rsa
file = project_1_wrapper_2.rcdo
}
partition
{
id = 0xc05
type = cdo
authentication = rsa
file = project_1_wrapper_2.rnpi
}
}
}
bitstream_3:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0xc
pskfile = PSK3.pem
sskfile = SSK3.pem
boot_config {smap_width=0,bh_auth_enable}
metaheader
{
authentication = rsa
}
image
{
name = pl_cfi
id = 0x18700000
partition
{
id = 0xc03
type = cdo
authentication = rsa
file = project_1_wrapper_3.rcdo
}
partition
{
id = 0xc05
type = cdo
authentication = rsa
file = project_1_wrapper_3.rnpi
}
}
}
bitstream_master:
{
id_code = 0x04d14093
extended_id_code = 0x01
id = 0x2
boot_config { bh_auth_enable }
pskfile = psk.pem
sskfile = ssk.pem
metaheader
{
authentication = rsa
}
image
{
name = pmc_subsys
id = 0x1c000001
partition
{
id = 0x01
type = bootloader
slr = 0
authentication = rsa
file = gen_files/plm.elf
}
partition
{
id = 0x09
type = pmcdata, load = 0xf2000000
slr = 0
file = gen_files/pmc_data.cdo
}
}
image
{
name = BOOT_MAS_AUTH
id = 0x18700000
type = slr-boot
partition
{
id = 0x05
type = cdo
slr = 0
authentication = rsa
file = project_1_wrapper_boot_0.rnpi
}
partition
{
id = 0xb15
slr = 1
authentication = rsa
section = bitstream_boot_1
}
partition
{
id = 0xb15
slr = 2
authentication = rsa
section = bitstream_boot_2
}
partition
{
id = 0xb15
slr = 3
authentication = rsa
section = bitstream_boot_3
}
partition
{
id = 0x02
type = cdo
authentication = rsa
file = noc_pll.rnpi
}
}
image
{
name = lpd
id = 0x4210002
partition
{
id = 0x0C
type = cdo
slr = 0
authentication = rsa
file = gen_files/lpd_data.cdo
}
partition
{
id = 0x0B
core = psm
slr = 0
authentication = rsa
file = static_files/psm_fw.elf
}
}
image
{
name = fpd
id = 0x420c003
partition
{
id = 0x08
type = cdo
slr = 0
authentication = rsa
file = gen_files/fpd_data.cdo
}
}
image
{
name = CONF_MAS_AUTH
id = 0x18700000
type = slr-config
partition
{
id = 0xc16
slr = 1
authentication = rsa
section = bitstream_1
}
partition
{
id = 0xc16
slr = 2
authentication = rsa
section = bitstream_2
}
partition
{
id = 0xc16
slr = 3
authentication = rsa
section = bitstream_3
}
partition
{
id = 0x13
type = cdo
slr = 0
authentication = rsa
file = project_1_wrapper_master_config.rcdo
}
}