This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > FPGA-Based Prototyping Methodology > Which platform? (1) build-your-own > FPGA configuration

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

FPGA configuration

FONT SIZE : AAA

FPGA configuration is the process in which the FPGAs are programmed with a bit stream and take on our intended functionality. Configuration data, which can range in the tens of Mbits per FPGA, is generated by the FPGA tools after place & route is completed. 

Since FPGAs are SRAM-based volatile devices, the configuration process must take place after each power-up, but can also be performed an unlimited number of times after initial configuration. 

There are a number of methods to configure FPGAs that can be broadly described as parallel or serial, master or slave, and JTAG. The mode is determined by hardwiring dedicated configuration mode signals. The following list describes the major characteristics of the different configuration modes: 

• In the master modes, the FPGA is controlling the configuration upon power-up or when triggered by a configuration pin. 

• In slave modes an external device controls the configuration interface. 

• Serial configuration is slower than parallel but uses less signals, therefore leaving more signals to be used for the application itself. 

• JTAG interface overrides and other configuration modes. 

Configuration data can reside in a non-volatile memory or at a host computer. Multiple bit streams can be placed sequentially in the storage device and all FPGAs are configured in order in a sequence determined by hardwiring each FPGA. 

The most common configuration mode is via JTAG and this is usually how the download cables form host PC’s communicates with the devices. However, it would be non-intuitive for those not familiar with FPGAs to make use of that download cable approach. 

For non-FPGA experts, we can employ some added dedicated circuitry and common CompactFLASH™ (CF) cards. Commercial CF devices are readily available and of high enough capacity to hold the configuration data of even the largest FPGA devices. In fact, multiple configurations can be stored in the same card and the end-users can choose which one is loaded on the board by a simple setting of switches or even by remote control from a utility running on a host PC in the lab. There would still be room left over in the CF memory to hold other data, for example, documentation and user guides. This approach is very popular with those creating multiple copies of the FPGA platform for distribution to remote end-users. Removable CF cards provide the flexibility to transport the systems configuration to remote locations. 

To enable the use of CF cards, a dedicated circuit called the Xilinx ® System ACE™ controller is typically implemented in a separate small FPGA on the board. System 

ACE technology is a piece of Xilinx ® IP which reads the CF card and then emulates a JTAG interface memory for the FPGAs to be configured. Figure 58 shows a multi-mode configuration approach centered upon the System ACE controller. 

Figure 58: CompactFLASH™ based configuration via System ACE™ technology

CompactFLASH™ based configuration via System ACE™ technology.png

More information about System ACE and for a full description of FPGA configuration modes, refer to Xilinx ® documentation listed in the references.

  • XC4020XLA-09BG256C

    Manufacturer:Xilinx

  • FPGA XC4000XLA Family 20K Gates 1862 Cells 227MHz 0.35um Technology 3.3V 256-Pin BGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC3042-50PG84M

    Manufacturer:Xilinx

  • FPGA XC3000 Family 3K Gates 144 Cells 5V 84-Pin CPGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC3042-70PG84C

    Manufacturer:Xilinx

  • FPGA XC3000 Family 3K Gates 144 Cells 70MHz 5V 84-Pin CPGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC5204-5PQG100C

    Manufacturer:Xilinx

  • FPGA XC5200 Family 6K Gates 480 Cells 83MHz 0.5um Technology 5V 100-Pin PQFP
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS:

  • XC2C128-6CPG132C

    Manufacturer:Xilinx

  • CPLD CoolRunner -II Family 3K Gates 128 Macro Cells 244MHz 0.18um Technology 1.8V 132-Pin CSBGA
  • Product Categories: Embedded - CPLDs (Complex Programmable Logic Devices)

    Lifecycle:Active Active

    RoHS:

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.