The issue can be avoided by defining unique keys and IVs for each SLR of the 3D IC. To define unique keys and IVs for each SLR, a 3D IC NKY file must be used for the bitstream encryption, as shown in Listing 3. The NKY file must define keys and IVs separately for each SLR by appending the SLR index to each value, separated by a comma, as shown in Listing 3. The NKY is applied through the GUI configuration as shown in Figure 3. A solution is not available using bitstream properties or through direct AES key value configuration in the Vivado GUI.
AMD recommends that each SLR uses a unique set of encryption keys. See Design Advisory 71558. If the same key is re-used for all SLRs, the left-most 12 bytes of each IV used must be unique. For information on how to generate keys and IVs securely, see Design Advisory 76171.
Device xcvu125_CIV;
EncryptKeySelect BBRAM;
Key0 c830798c3482adeefca448f278ae58a3da088681638a4edd4393cb1dce60d616, 0;
StartIV0 20d3608e58eaa205395c20ca8a252f1f, 0;
Key0 5d3a4a212664b58abd30bea12606598478ad7a9cff35027b486f88745cc9a8f3, 1;
StartIV0 af26483cfa083ca86250487c4aa532d2, 1;
Listing 3. NKY file for UltraScale/UltraScale+ 3D IC encryption configuration using unique keys and IVs for each SLR.
Note: the last comma-separated value (highlighted) of each Key and StartIV line indicate the index of the targeted SLR.
Figure 3. UltraScale/UltraScale+ 3D IC encryption settings refer to using an NKY file.
See Also: