puf_file - 2021.2 English

Vitis Unified Software Platform Documentation: Embedded Software Development (UG1400)

Document ID
UG1400
Release Date
2021-12-15
Version
2021.2 English

Syntax

  • For Zynq devices and Zynq UltraScale+ MPSoC:
    [puf_file] <puf data file>
  • For Versal ACAP:
    puf_file = <puf data file>

Description

PUF helper data file.

  • PUF is used with black key as encryption key source.
  • PUF helper data is of 1544 bytes.
  • 1536 bytes of PUF HD + 4 bytes of CHASH + 3 bytes of AUX + 1 byte alignment.

See Black/PUF Keys for more information.

Example

  • For Zynq devices and Zynq UltraScale+ MPSoC:
    all:                                                        
    {                                                           
       [fsbl_config] pufhd_bh                                   
       [puf_file] pufhelperdata.txt                             
       [bh_keyfile] black_key.txt                               
       [bh_key_iv] bhkeyiv.txt                                  
       [bootloader,destination_cpu=a53-0,encryption=aes]fsbl.elf
    } 
  • For Versal® ACAP:
    all:                                                        
    {                                                           
       boot_config {puf4kmode}                                  
       puf_file = pufhd_file_4K.txt                             
       bh_kek_iv = bh_black_key-iv.txt
       image                                                    
       {                                                        
          name = pmc_subsys, id = 0x1c000001                    
          {                                                     
             type = bootloader, encryption = aes,               
             keysrc = bh_black_key, aeskeyfile = key1.nky,     
             file = plm.elf                                     
          }                                                     
          {                                                     
             type = pmcdata, load = 0xf2000000,                 
             aeskeyfile = key2.nky, file = pmc_cdo.bin          
          }                                                     
          {                                                     
             type=cdo, encryption = aes,                        
             keysrc = efuse_red_key, aeskeyfile = key3.nky,     
             file=fpd_data.cdo                                  
          }                                                     
       }                                                        
    }