SSIT 支持 - 2023.2 简体中文

Bootgen 用户指南 (UG1283)

Document ID
UG1283
Release Date
2023-10-18
Version
2023.2 简体中文

堆叠硅片互联技术(SSI 技术)用于打破摩尔定律的限制,提供所需功能以满足最严苛的设计要求。

采用 SSI 技术的器件由多个超级逻辑区域 (SLR) 组成,其中每个 SLR 均为一颗裸片。SLR0 也称为 Master SLR(主 SLR),它是底部裸片。SLR1 是自下而上第二颗裸片,SLR2 是自下而上第三颗,以此类推。AMD Versal™  自适应 SoC SSI 技术变体可包含最多 4 个 SLR。

每个 SLR 都有其自己的平台管理控制器 (PMC) 和可编程逻辑 (PL) 区域,就像单片器件 Versal 自适应 SoC 一样,但 slave SLR(从 SLR)没有 AI 引擎和处理器系统 (PS) 区域。

要在此器件上启动的最终 PDI 是所有 PDI 的 PDI。由于每个 SLR 都有其自己的 PMC 块,因此每个 SLR 都会随一个 PDI 一起启动,此 PDI 集成在主 PDI 内。
注释: 每个 SLR 中的 PLM elf 都应相同。
含 SSI 技术器件的 Versal 自适应 SoC 的 BIF 不同于其单片器件变体。以下是含 2 个 SLR 器件的 bif 示例。
注释: 以下整个 BIF 代码块都纳入单个文件。Bootgen 会读取多个 BIF 块,并基于 BIF 标签创建各自的 PDI。在主 BIF 中引用这些 BIF 标签,Bootgen 会基于主 BIF 将各 PDI 合并为主 PDI。此主 PDI 即足以启动 SSI 技术器件。
注释: 从 SLR 搭配指示下游连接的特殊 smap_width=0 选项一起使用,且不得更改。

适用于单从 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
  }
 }
}

适用于双从 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 }
  }
}
注释: SSI 技术器件支持 MCS 格式启动镜像/PDI 生成。为从接口生成的中间 PDI 始终采用二进制格式。生成的最终 PDI 将采用 mcs 格式(前提是已选中此格式)。

适用于三从 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
  }
 }