Golden NoC CDO Support - 2025.1 English - UG1283

Bootgen User Guide (UG1283)

Document ID
UG1283
Release Date
2025-05-29
Version
2025.1 English

The Golden NoC CDO (Configuration Data Object) in Versal devices verifies configuration of the Network on Chip (NoC) for the boot process. Golden NoC CDO verifies security requirements of the user generated boot CDOs in SSI technology devices. Verification of boot-time configuration is crucial for ensuring secured data flow and connectivity within the Versal architecture. The following are some key usage:

Initial Configuration

The Golden NoC CDO sets up the initial configuration of the NoC, ensuring that all data paths and connections are correctly established for the system to function properly.

System Stability

Proper configuration of the NoC ensures system stability and reliability during boot-time, providing deterministic boot path across variety of custom designs.

BIF Example

bitstream_boot_1:
{
    id_code = 0x04dc0093
    extended_id_code = 0x01
    id = 0xb
    image
    {
        name = pmc_subsys, id = 0x1c000001
        { id = 0xb01, type = bootloader, file = executable.elf }
        { id = 0xb0A, type = pmcdata, load = 0xf2000000, file = topology.slr1.v1.cdo, file = pmc_data_slr_1.cdo }
    }
    image
    {
        name = pl_cfi, id = 0x18700000
        { id = 0xb05, type = cdo, file = bitstream_boot_1.rnpi }
    }
}
 
bitstream_boot_2:
{
    id_code = 0x04dc0093
    extended_id_code = 0x01
    id = 0xb
    image
    {
        name = pmc_subsys, id = 0x1c000001
        { id = 0xb01, type = bootloader, file =executable.elf }
        { id = 0xb0A, type = pmcdata, load = 0xf2000000, file = topology.slr2.v1.cdo, file = pmc_data_slr_1.cdo }
    }
    image
    {
        name = pl_cfi, id = 0x18700000
        { id = 0xb05, type = cdo, file = bitstream_boot_2.rnpi }
    }
}
 
bitstream_1:
{
    id_code = 0x04dc0093
    extended_id_code = 0x01
    id = 0xc
    boot_config {smap_width=0}
    image
    {
        name = pl_cfi, id = 0x18700000
        { id = 0xc03, type = cdo, file = bitstream_1.rcdo }
        { id = 0xc05, type = cdo, file = bitstream_1.rnpi }
    }
}
 
bitstream_2:
{
    id_code = 0x04dc0093
    extended_id_code = 0x01
    id = 0xc
    boot_config {smap_width=0}
    image
    {
        name = pl_cfi, id = 0x18700000
        { id = 0xc03, type = cdo, file = bitstream_2.rcdo }
        { id = 0xc05, type = cdo, file = bitstream_2.rnpi }
    }
}
 
bitstream_master:
{
    id_code = 0x14d10093
    extended_id_code = 0x01
    id = 0x2
    image
    {
        name = pmc_subsys, id = 0x1c000001
        { id = 0x01, type = bootloader, file = executable.elf }
        { id = 0x09, type = pmcdata, load = 0xf2000000, file = topology.slr0.v1.cdo, file = pmc_data.cdo }
    }
    image
    {
        name = SUB_SYSTEM_BOOT_MASTER, id = 0x1c000001, type = slr-boot
        { id = 0x10, slr = 0, file = bitstream_boot_0.rnpi }
        { id = 0x10, slr = 1, section = bitstream_boot_1 }
        { id = 0x10, slr = 2, section = bitstream_boot_2 }
        { id = 0x10, type = cdo, file = .noc_clock.cdo }
    }
    image
    {
        name = lpd, id = 0x4210002
        { id = 0x0C, type = cdo, file = lpd_data.cdo }
        { id = 0x0B, core = psm, file = psm_fw.elf }
    }
    image
    {
        name = fpd, id = 0x420c003
        { id = 0x08, type = cdo, file = fpd_data.cdo }
    }
    image
    {
        name = subsystem, id = 0x1c000000
        { id = 0x0D, type = cdo, file = subsystem.cdo }
    }
    image
    {
        name = CONFIG_MASTER, id = 0x1c000003, type = slr-config
        { id = 0x11, section = bitstream_1 }
        { id = 0x12, section = bitstream_2 }
        { id = 0x13, type = cdo, file = bitstream_master_config.rcdo }
    }
}