Radiant Programmer: What is Erase, Program, Verify Quad 1 operation used for?
Description:
Erase, Program, Verify Quad 1 enables that QE bit to '1'.
In general, there are two (2) requirements/steps to enable booting from external SPI Flash through x4 (QUAD Mode)
Step 1 - Convert the bitstream file into hex (Quad I/O read mode) - this is for the FPGA to switch from 03h mode (standard x1 SPI read mode) to Quad I/O read mode (EBh)
Step 2 - The SPI Flash target for booting must have an enabled QE (Quad Enable) bit, this is for the SPI Flash device to recognize the Quad I/O Read (EBh) command and be able to switch its read mode properly to Quad. Erase, Program, Verify Quad 1 enables that QE bit to '1'
In addition:
- There are SPI flash devices that by default, the QE bit is '0' which means the user needs to perform this EPVQ1 operation to set it to '1'
- There are SPI flash devices that by default, the QE bit is '1' and there is no need to perform EPVQ1 - one example is MachXO5-NX, the internal flash is 32Mbit flash from Winbond which already has a QE bit set to '1'. Thus only Step#1 is required.
- It is case to case basis. The user must check their SPI Flash datasheet to know if steps#1 and #2 will be required.
- The EPVQ1 is the same as Erase, Program, Verify only that additionally, it enables the Quad Enable (QE) bit of the SPI flash. The QUAD there does not mean that the programmer uses 4 data lines during programming, our programmer SW + HW is always in x1 serial so programming time will not be faster. When Quad Mode is enabled in reference to #1 and #2 steps, it only affects the booting (faster).
- Lattice support Quad (x4) SPI booting.
- Lattice do not support Quad (x4) for programming. Radiant programmer, programming cable - these tools only support x1 mode in programming.
Reference:
FPGA-TN-02099-3.4 - sysCONFIG User Guide for Nexus Platform
Technical Note
Related Articles
Avant Rev 03x: Why program Quad SPI Flash Programming failed with JTAG2SPI Bridge
Description User may experience Radiant Programmer fails to perform SPI flash programming via the JTAG2SPI bridge function on Avant Versa RevA Boards populated with Micron MT25QU512ABB8E12-0SIT (Quad) for Avant 03A silicon. There is no issue ...
3336 - MachXO2: what is the difference between "Flash erase, program, verify, secure" and "Flash erase, program, verify, secure plus"?
"FLASH Erase, Program, Verify, Secure" works as the following steps. 1. Erase the flash 2. Program the flash 3. Verify the flash 4. Secure the device by programming the Security bit This operation will secure the CFG Flash Sectors. For example, user ...
6179 - How do user program Lattice FPGA after programming a bitstream to the SPI Flash with JTAG_PORT and MASTER_SPI_PORT set to DISABLED?
Description: When JTAG_PORT and MASTER_SPI_PORT is set to DISABLED, user can no longer access the configuration logic through JTAG and MSPI Port. Thus, user can't perform programming with the interface. Solution: To workaround on this, user can ...
6238 - Lattice Programmer Tool: How to program Lattice FPGA using Programmer?
1. Open Lattice Radiant/Diamond Programmer. 2. Detect the programming cable: -Click "Detect Cable" on most right corner, then choose the first port if you are using only 1 FTDI USB cable. The sequence always starts at 0 which is the allocated address ...
5494 - I2C: What is difference between option "I2C Erase,Program,Verify,Feature" and option "I2C Program Feature Row"?
Description: The I2C Erase, Program, Verify option requires that the Feature Row be programmed prior to the execution of the "I2C Erase, Program, Verify" operation. This operation checks for the Feature Row match between the device and the JED file, ...