Intel® Quartus® Prime Standard Edition User Guide: Partial Reconfiguration Intel® FPGA IP

ID 683404
Date 4/18/2019
Public

1.3.2. Generating an Encrypted PR Bitstream

To partially reconfigure your Intel® Arria® 10 device with an encrypted bitstream:
  1. Create a 256-bit key file (.key).
  2. To generate the key programming file (.ekp) from the Intel® Quartus® Prime shell, type the following command:
    quartus_cpf --key <keyfile>:<keyid> \
         <base_sof_file> <output_ekp_file>

    For example:

    quartus_cpf --key my_key.key:key1 base.sof key.ekp
  3. To generate the encrypted PR bitstream (.rbf), run the following command:
    quartus_cpf -c <pr_pmsf_file> <pr_rbf_file>
    qcrypt -e --keyfile=<keyfile> --keyname=<keyid> –lockto=\
         <qlk file> --keystore=<battery|OTP> \
         <pr_rbf_file> <pr_encrypted_rbf_file>
    • lockto—specifies the encryption lock.
    • keystore—specifies the volatile key (battery) or the non-volatile key (OTP).

    For example:

    quartus_cpf -c top_v1.pr_region.pmsf top_v1.pr_region.rbf \
         qcrypt -e --keyfile=my_key.key --keyname=key1 --keystore=battery \
         top_v1.pr_region.rbf top_v1_encrypted.rbf
  4. To program the key file as volatile key (default) into the device, type the following command:
    quartus_pgm -m jtag -o P;<output_ekp_file>

    For example:

    quartus_pgm -m jtag -o P;key.ekp
  5. To program the base image into the device, type the following command:
    quartus_pgm -m jtag -o P;<base_sof_file>

    For example:

    quartus_pgm -m jtag -o P;base.sof
  6. To partially reconfigure the device with the encrypted bitstream, type the following command:
    quartus_pgm -m jtag --pr <output_encrypted_rbf_file>

    For example:

    quartus_pgm -m jtag --pr top_v1_encrypted.rbf