Permanently Programmed FPGAs: Antifuse vs Flash

Introduction


Permanently Programmed FPGAs: Antifuse vs Flash



Field-programmable gate arrays typically require configuration at every power-up cycle. This characteristic introduces latency and requires dedicated configuration pins. For applications demanding instant operation and permanent programmability, alternative FPGA technologies exist that require configuration only once.


This article examines two permanent programming technologies: antifuse-based and flash-based FPGAs. You will gain an understanding of how antifuse cells are programmed, how flash memory elements retain configuration data, and the architectural differences in logic blocks and interconnect networks between these technologies. The discussion covers programming methods, logic cell structures, and routing architectures used in commercially successful permanently programmed FPGAs.



Comparison of FPGA Architectures


(toc) #title=(Table of Content)


What Are Permanently Programmed FPGAs?


Permanently programmed FPGAs use non-volatile configuration technologies that retain their programmed state without external memory or power-up configuration loading. Unlike SRAM-based FPGAs that load configuration data from an external ROM at each startup, these devices are programmed once and maintain that configuration indefinitely.


Two primary technologies enable permanent programming: antifuses and flash memory cells. Antifuse technology creates a permanent conductive path between metal layers when programmed. Flash technology uses floating-gate transistors that store charge to control switching elements. Both approaches eliminate the need for configuration pins and power-up delay.


Antifuse Technology


An antifuse is fabricated as a normally open connection between two metal layers. The structure consists of an insulating material sandwiched between metal lines. In its unprogrammed state, no electrical connection exists.


Programming Mechanism


When a programming voltage is applied across the antifuse terminals, the insulating layer breaks down and forms a permanent conductive link. The resulting connection exhibits resistance of approximately 100 Ω, which is higher than a standard metal via but sufficiently low for signal routing.


Each antifuse must be programmed individually. The FPGA incorporates addressing circuitry that selects specific antifuses and applies the programming voltage. As shown in Figure 3-12, pass transistors connected in parallel with each antifuse allow bypassing during programming. Row and column selection signals activate the appropriate pass transistors, ensuring only the target antifuse receives the programming voltage.


Antifuse Technology


Advantages Over Traditional Fuses


Antifuses offer several benefits compared to conventional fuse technologies. In a typical FPGA, most programmable connections should remain open. Antifuses naturally provide this property—unprogrammed antifuses remain disconnected. A traditional fuse starts as a closed connection that must be blown open, which is inefficient for applications requiring predominantly open connections.


Flash Configuration Technology


Flash memory technology provides non-volatile programmability using floating-gate transistor structures. A floating gate is electrically isolated within the transistor gate stack. A low-leakage capacitor stores charge on this floating gate, and the presence or absence of this charge controls the transistor's switching behavior.


Flash-Programmed Switch Cell


The flash-programmed cell controls two transistors. The first transistor serves as the programmable connection point for interconnect or logic routing. The second transistor provides read-write access to the memory cell. A word line controls access to the floating-gate transistor during programming and read operations.


Flash Configuration Technology


This architecture allows the FPGA to retain its configuration indefinitely without power, similar to antifuse technology. However, flash-based FPGAs can typically be reprogrammed multiple times, unlike antifuse devices that support only one programming cycle.


Logic Blocks for Permanently Programmed FPGAs


Logic blocks in antifuse-programmed FPGAs rely heavily on multiplexer-based architectures. Multiplexers are well-suited to this technology because their functionality derives from making or breaking connections and routing signals.


Basic Multiplexer Logic Element


A single multiplexer implements a simple logic function. When the control signal a is 0, the output equals input d0. When a is 1, the output equals d1. This element allows configuration of which input signal is copied to the output.


Multilevel Multiplexer Architectures


More complex logic elements use multiple multiplexer stages. A two-level multiplexer structure with four control signals provides significantly richer logic functionality. The control signals for the first-stage multiplexers may be derived from ANDed inputs, while the final stage uses ORed control signals.


Example logic families using these architectures include:


  • Actel Axcelerator – Uses C-cells for combinational logic and R-cells for registers, organized into SuperClusters with four C-cells and two R-cells per cluster
  • Actel ProASIC 500K – Implements any function of three inputs (except three-input XOR) using multiplexers with true/complement input selection

Interconnection Networks


Interconnect architecture differs between antifuse and flash-based FPGAs. Antifuses introduce less signal degradation than pass transistors used in SRAM-programmable FPGAs, making them attractive for high-performance applications.


Local Wiring Systems


The Actel Axcelerator implements three local wiring systems:


Wiring System Function Performance Characteristic
FastConnect Horizontal connections within or between adjacent SuperClusters Standard programmable routing
CarryConnect Routes carry signals between SuperClusters Optimized for arithmetic operations
DirectConnect Internal connections between adjacent C-cells and R-cells No antifuses; lower resistance

Global Routing


Segmented wiring channels implement generic global routing. Routing tracks span the chip both horizontally and vertically. Segment lengths vary, with most wires divided into segments of different lengths. A small number of wires run the full chip length for long-distance signals.


Three types of global signals are typically provided:


  • Hardwired clocks (HCLK) driving R-cell clock inputs directly
  • Routed clocks for clock, clear, preset, or enable pins
  • Global clear (GCLR) and global preset (GPSET) for R-cells and I/O

Interconnection Networks


Programming Process


Antifuse programming requires applying a voltage sufficient to create the permanent connection. This voltage is delivered through the wires that the antifuse will connect. The FPGA architecture positions all antifuses within interconnect channels, allowing the wiring system to address individual antifuses during programming.


The programming voltage is applied across selected row and column lines. Only the antifuse at the intersection of an activated row and column receives sufficient voltage to program. This addressing scheme, combined with bypass pass transistors, ensures precise control over which antifuse programs.


Outlook


Permanently programmed FPGAs continue to serve applications requiring instant-on operation, high security against configuration readback, and radiation tolerance. Antifuse technology provides superior performance characteristics but supports only one programming cycle. Flash-based devices offer reprogrammability with slightly lower performance but greater flexibility.


As system requirements evolve, hybrid approaches combining embedded flash with antifuse elements may emerge. The fundamental trade-off between programmability and performance remains central to FPGA technology selection for permanent configuration applications.


FAQs


What is the main difference between antifuse and flash FPGA technologies?

Antifuse creates a permanent physical connection that cannot be reversed, while flash uses floating-gate transistors that can be reprogrammed multiple times.



Do permanently programmed FPGAs need configuration at power-up?

No, they retain their configuration without external memory or power-up loading sequences.



What is the typical resistance of a programmed antifuse?

Approximately 100 ohms, which is higher than a standard metal via but suitable for signal routing.



How many programming cycles do antifuse FPGAs support?

Antifuse FPGAs support only a single programming cycle, as the connection is permanent.



Can flash-based FPGAs be reprogrammed in the field?

Yes, most flash-based FPGAs support multiple reprogramming cycles while retaining non-volatile configuration storage.



#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Ok, Go it!