Programming a Configuration Memory Device - 2021.1 English

Vivado Design Suite User Guide Programming and Debugging (UG908)

Document ID
UG908
Release Date
2021-06-16
Version
2021.1 English
  1. After creating the configuration memory device, Vivado device programmer prompts "Do you want to program the configuration memory device now?" as shown below.

    Click OK to open the Program Configuration Memory Device dialog box.



  2. Set all the fields in this dialog box appropriately:
    • Configuration file (.mcs or .bin) - Specifies the file to use for programming the configuration memory device. The memory configuration file is created with the write_cfgmem Tcl command. See Creating a Configuration Memory File for more information.
    • State of non-config mem I/O pins:
      • Pull-none - Specifies that the indirect configuration bitstream programmed into the FPGA has the unused I/O pins set to pull-none.
      • Pull-up - Specifies that the indirect configuration bitstream programmed into the FPGA has the unused I/O pins set to pull-up.
      • Pull-down - Specifies that the indirect configuration bitstream programmed into the FPGA has the unused I/O pins set to pull-down.
      Important: Ensure the state of non-config mem I/O pins matches what you set in the write_bitstream properties. The default value for this property is pull-down.
    • Program Operations (performed on the configuration memory device):
      • Address Range - Specifies the address range of the configuration memory device to program. The address range values can be:
        • Configuration File Only - Use only the address space required by the memory configuration file to erase, blank check, program, and verify.
        • Entire Configuration Memory Device - Erase, blank check, program, and verify will be performed on the entire device.
    • RS Pins - Optional. Revision Select Pin Mapping that is used with BPI configuration memory devices only (where the upper two FPGA address pins on the flash are tied to the FPGA RS[1:0]). When the option is enabled, Vivado drives the FPGA RS[1:0] for programming. Refer to the appropriate FPGA Configuration User Guide on application usage.
    • Erase - Erases the contents of the configuration memory device.
    • Blank Check - Checks the configuration memory device to make sure the device is void of data prior to programming.
    • Program - Programs the configuration memory device with the specified Configuration File (.mcs or .bin).
    • Verify - Verifies that the configuration memory device contents match the Configuration File (.mcs or .bin) after programming.
    • Verify Checksum - Validates the data programmed in the configuration memory device. The tool calculates the checksum value based on the data programmed in the configuration memory device and compares it to the checksum value specified in the .prm file.
      Tip: User generates cfgmem file and specifies -checksum write_cftmem option. This step creates the .prm files that contain checksum information about the cfgmem output file.
    • Create SVF Only - Enabling this option allows for the creation of an .svf file with the program operations that you specified. Other third party tools can use the .svf file to program configuration memory devices outside of Vivado.
      Important: When this option is enabled, Vivado just generates the .svf file with the relevant program options. It does not actually program the configuration memory device.
  3. Click OK to start the Erase, Blank Check, Program, and Verify operations on the configuration memory device per the selections in this dialog box. Vivado notifies you as each operation finishes.
    Note: Pressing Apply will store the configuration memory settings but will not program the configuration memory device. If you press Cancel after pressing Apply the configuration memory device will be set and programming can be performed at a later time.