AN 1013: Using Generic QSPI Flash on Control Block-Based Devices

ID 855235
Date 6/30/2025
Public

4.1. Generating Programming Files Using the Convert Programming Files Feature

Complete the following steps to generate the programming file or files you require, using Convert Programming Files.
  1. Click File > Convert Programming Files.
  2. Under Output programming file, select JTAG Indirect Configuration File (.jic) as the Programming Type. The Generic Flash Programmer supports only this file type.
  3. Specify the File name and the (...) output directory for the .jic file you generate.
  4. For the configuration Mode, select either Active Serial x4 or Active Serial.
  5. To specify the Configuration device, click the (...) button to select a supported flash memory device and predefined programming flow.
    Figure 7. Convert Programming File: Output Programming File
  6. In the Configuration Device window, select the appropriate settings:
    • Device family: Target FPGA device family.
    • Configuration mode: Target Active Serial configuration scheme.
    • Custom database directory: Specifies the location of the .xml file that preserves a flash memory device definition and flow information. The default location is the project directory or current working directory.
      Note: When you specify a non-default folder for the Custom database directory location, place the .sof and .jic files in the same folder as the .xml file to avoid missing a defined flash database or corruption of the .jic file.
  7. When you select a predefined device, you cannot modify any setting. Alternatively, click <<new device>> to define a new flash memory device and programming flow.
  8. Specify the following accordingly based on the flash device datasheet.
    • Device name: Any name meaningful to you.
    • Device ID: 3-byte QSPI flash ID from 9Fh (Read ID) flash opcode.
    • Device I/O voltage: QSPI flash operating voltage.
    • Device density: QSPI flash size.
    • Total device die: Number of dies in a stacked device. If no information is provided in the flash device datasheet, define it as 1.
    • Single I/O mode dummy clock: Dummy clock needed for 0Bh opcode.
    • Quad I/O mode dummy clock: Dummy clock needed for EBh opcode.
    • Programming flow template: Select the most appropriate flash manufacturer.
    Figure 8. Convert Programming File: Configuration Device
    Note: After selecting the Programming flow template, it is recommended to review the flash operation (Initialization, Program, Erase, Verify/Blank-Check/Examine, Termination). Refer to the Programming Flow and the QSPI Flash Examples sections of this document for more guidance.
  9. Click Apply and OK.
  10. Under the Input files to convert, select the SOF Data item, and then click the Add File button.
  11. Specify the .sof file that contains the configuration bitstream data. To include raw data, click Add Hex Data and specify a .hex file.
  12. To enable bitstream compression or encryption security settings, select the .sof file and click Properties.
  13. Select the Flash Loader text and click the Add Device button. Select the device that controls loading of the flash device.
  14. After you specify all options in the Convert Programming Files window, click the Generate button to create the files.
    Figure 9. Convert Programming Files: Input Files to Convert