Site Search

The point of this content!

  • Does the ×1 mode supported by Altera's Quad-Serial configuration devices (EPCQ devices) successfully configure FPGAs that only support EPCS devices? verify
  • Explains how to compare EPCS and EPCQ devices and how to generate programming files

1.First of all


After power-on, the FPGA performs an operation called "configuration" that transfers circuit information from external storage memory.

Altera has released serial configuration devices (hereafter referred to as EPCS devices) for some time, and the active serial (hereafter referred to as AS) mode using EPCS devices enables configuration with the simplest circuit configuration. Is possible. However, with recent FPGAs, as the device scale increases, EPCS devices may run out of capacity, or an increase in configuration time may cause system problems, such as delays in device startup time.

Altera has released a new configuration device, the Quad-Serial configuration device (hereafter referred to as EPCQ device), which addresses the above issues.

Features of EPCQ devices include:

  • Supports x4/x1 in AS configuration
  • Low cost, low pin count non-volatile memory
  • Supports 2.7-3.6V operating voltage
  • Can be erased or rewritten over 100,000 times
  • Supports write protection function

And so on.

For more information, please see the datasheets below and our related sites.

■ Quad-Serial Configuration (EPCQ) data sheet
  https://www.altera.com/en_US/pdfs/literature/hb/cfg/cfg_cf52012.pdf

■ EPCQ (Quad-Serial Configuration Device)
 http://www.elsena.co.jp/elspear/altera/device/configuration/epcq/

One of the features is "supports AS configuration x1". FPGAs released after the EPCQ devices were released (Stratix® V devices, Arria® V devices, Cyclone® V devices, etc.) will work fine, but FPGAs released before that will not work. I'm not sure if it works with 1.

In this article, we will use a board on which an EPCS device is mounted, replace the configuration device from an EPCS device to an EPCQ device, and perform operation verification with EPCQ ×1. In addition, we will also introduce the points to note at that time.

We hope that by referring to this document, you will be able to resolve any concerns you may have about using EPCQ devices.


2. EPCQ device features

2-1. Lineup of EPCS and EPCQ devices

Article header 1 4
Lineup of EPCS and EPCQ Devices


Up to EPCS16 8-pin SOIC is supported by EPCQ16 8-pin SOIC, and for EPCS64 and above, EPCQ devices with the same capacity are available in the same package. In addition, EPCS devices have a lineup of 32Mbit products and up to 512Mbit products that are not lined up, so there are more choices than ever before.

2-2. Pin description

Article header 1 5
EPCS Device and EPCQ Device ×1 Pinout


Within the 16-pin SOIC symbol, EPCS devices have pins marked with (1) and EPCQ devices have pins outlined in yellow. Each pin description has the same comment "You can leave these pins floating or you can connect them to to Vcc or GND", so pin handling is fine in the same way.

The EPCS device and EPCQ device x1 have different pin names, DATA1 for DATA and DATA0 for ASDI, so be careful when connecting to FPGA.

2-3. Quartus II Development Software Support


If you want to use the EPCQ device in ×1, set the ×1 specification in the Quartus® II software settings and generate programming files.

Note that the versions supported by the Quartus II development software differ depending on the EPCQ device model, so be careful when generating programming files.

Article header 2 3
EPCQ Devices and Supported Quartus II Development Software Versions

2-4. Others


For detailed information such as internal register maps and access timings for EPCS and EPCQ devices, please refer to the datasheets prepared for each device.

EPCS: https://www.altera.com/en_US/pdfs/literature/hb/cfg/cyc_c51014.pdf
EPCQ: https://www.altera.com/en_US/pdfs/literature/hb/cfg/cfg_cf52012.pdf

The information posted on this page is the content extracted from the following materials.

EPCS Information: Jan 2012 Serial Configuration (EPCS) Devices Datasheet
EPCQ information: 2014.01.10 Quad-Serial Configuration (EPCQ) Devices Datasheet

Please be sure to refer to the latest data sheet at the above URL, as the content may change as the materials are updated.

3. Configuration Verification to Cyclone III Devices


For verification of the Cyclone III device, we used Sapphire, an evaluation verification board made by Altima Corporation Corporation. The appearance will be a white board with a shape like this.

Article header 8 2
External view of Saphire board


This board has an EPCS64 SOIC 16 pin mounted (blue frame in Figure 8). This time, we will replace it with the same package of EPCQ256 and perform verification. The implemented FPGA is EP3C25F324C8NES.

Article header 9 2
External view of FPGA (Cyclone III device)

3-1. Replacing the configuration device


Remove the mounted EPCS64 and mount EPCQ256.

Article header 10 1
Changes in configuration device replacement


Since the EPCQ256 is brand new and unprogrammed, it should not be possible to configure, but just to be sure, I turned on the power and confirmed that configuration was not possible.

3-2. Generation of programming files


Quartus II development software v13.0SP1 was used to convert the programming files. The source SOF file was generated by the Quartus II software v7.2.

As a programming file, a file with the following specifications is generated.

  • POF file / JIC file
  • Compression (uncompressed/compressed) checked/unchecked
  • Disable EPCS ID Check is checked/not checked


To convert SOF files to POF or JIC files, use the "Convert Programming Files" feature in the Quartus II development software. Please refer to the following for the setting location.

Article header 4 1
Where to set Convert Programming Files


For information on how to use the Convert Programming Files feature, refer to Quartus II Getting Started Guide - Using Convert Programming Files.

3-3. Programming to EPCQ Device


The Quartus II software v13.0SP1 Programmer was used to program the EPCQ device.

The board has a JTAG header and a 10pin header that can be directly programmed to a configuration device. This time, we programmed in two ways.

  1. Program the POF file into the configuration device. In that case, use a 10pin header that can be directly programmed into the configuration device.
  2. Program the JIC file into the configuration device. Then program through the FPGA using the JTAG header.

3-4. Verification results


The following shows the result of checking the operation by programming the programming file for each specification generated in 5-2 above.

Article header 5 2
inspection result

3-5. Summary


Can Cyclone III devices be configured with EPCQ256 AS ×1 this time? introduced the verification of

As a result, on a board routed for the SOIC 16 pin of an EPCS device, using a programming file generated by using the Convert Programming Files function and enabling the "Disable EPCS ID check" setting, the EPCQ256 device and We were able to confirm that configuration is possible with a combination of Cyclone III devices.