Differences Between FPGA vs ASIC – Advantages and Disadvantages

FPGAs and ASICs are both types of integrated circuits that are often compared when implementing electronic product design. FPGAs and ASICS are similar in their circuit design flow that consists of arrays of logic cells that can be programmed using hardware description language. However, these two technologies differ in multiple ways, including their purpose and function. In this article, we’ll discuss the differences between FPGAs and ASICs and provide some of the advantages and disadvantages of using each.

What is an ASIC?

An ASIC, or application specific integrated circuit, is a chip that is designed for a particular purpose and effectively performs a repeated function. This type of chip is not reprogrammable once fabricated. ASICs are considered to be a system-on-chip (SOC) design, which allows it to be custom programmed to combine several related functions that together carry out a specific overall task. ASICs can vary in their uses, but typically involve controlling how an electronic device will function.

ASICs can be analog, digital, or a combination of the two. Analog components can include an amplifier or ADC, while digital components can include a microprocessor or EEPROM. The analog section of the chip is designed using transistor-level design techniques and manual layout processes. The digital section is designed using a hardware descriptor language (HDL), and then followed by automated place-and-route layout process.

Modern day electronics, such as cell phones, are increasingly integrating ASICs into their designs because of their ability to be customized for a particular use, their high performance, and their small size.

What is an FPGA?

FPGAs, or field programmable gate arrays, are integrated circuits that are manufactured for general use and can include thousands of configurable logic blocks (CLBs) and programmable interconnects. The CLBs are primarily made of look-up tables (LUTs), multiplexers, and flip-flops, which implement complex logic functions.

FPGA platform with Mac Computer FPGA Platform

An FPGA is therefore considered a programmable ASIC. As the name suggests, this type of chip is meant to be configured by a customer or a designer after manufacturing. Some FPGAs are reconfigured once in their lifetime, while others may be programmed as many times as needed to satisfy application requirements. FPGAs are programmed using hardware description languages (HDLs).

FPGAs are often used for a variety of different applications, including those that require ongoing flexibility like vehicle safety and image processing in security applications. Additionally, engineers may use FPGAs in prototypes in the design stage, but then will switch to implementing ASICs once the design is finalized and ready for mass production.

Advantages and Disadvantages of ASIC vs FPGA

Time to Market

When it comes to the amount of time it takes to design and develop FPGAs vs ASICs, FPGAs are generally easier and quicker to produce as they don’t require layout/masks and can be reprogrammed in the field as needed, so there is less of a need to perform testing and verification processes like that of ASICs.

ASIC design, however, is more complex, often requiring custom design and a multifaceted design flow. Additionally, due to the complexities and customizations, it can require a higher learning curve as well, lengthening the time to market.

NRE

The NRE costs, or non-recurring engineering costs, are different for both FPGAs and ASICs. ASICs have a high NRE cost due to custom design and development and costs of masks. This cost could potentially reach millions of dollars. FPGAs, on the other hand, have no NRE costs.

Unit Cost

Although ASICs have a high NRE cost, the unit cost per chip is relatively low, making it ideal for high-volume, mass production. Alternatively, FPGAs have a high unit cost, so this type of chip is not suited for mass production. It is however thought to be cost effective if developed in smaller quantities.

Performance/Power Consumption

Due to ASICs being designed for a dedicated purpose, it offers higher performance and speed compared to FPGAs. ASICs are also much more power efficient than FPGAs due to their ability to control and optimize power consumption levels. FPGAs require more power to perform similar functions as ASICs.

Unit Size

Because an ASIC is designed for one functionality, its internal architecture is optimized and precisely includes the number of gates required to function. FPGAs on the other hand are usually larger in size because of their multi-functionality.

Design Flow

ASICs have a much more complex and time-consuming design flow compared to FPGAs. Because ASICs are not reprogrammable, it is necessary for designers to perform various processes including design conceptualization, chip optimization, logical/physical implementation, and design validation and verification.

For FPGAs, such a design flow is not needed. Because their function can be altered after fabrication, designs can eliminate the complex planning, place and route, and timing analysis.

Summary Comparison Between ASIC and FPGA

ASIC FPGA
Time to Market Slow Fast
NRE High Low
Design Flow Complex Simple
Unit Cost Low High
Performance High Medium
Power Consumption Low High
Unit Size Low Medium

 

Debugging and Developing I2C and SPI Systems

I2C or SPI protocols can be used to interface with FPGA or ASIC devices or other peripheral devices. Total Phase offers various development debugging tools, like host adapters and protocol analyzers. Host adapters can be used for embedded systems, chips (FPGA, ASIC, SoC), peripheral testing, programming, and debugging. Protocol analyzers are tools which capture data on the bus and decode the electrical signals to provide a higher-level view of the data.

Host Adapters

Total Phase offers multiple host adapters that suit a variety of I2C and SPI testing and programming applications.

The Aardvark I2C/SPI Host Adapter is Total Phase’s general-purpose host adapter that can be used as an I2C or SPI master or slave device. As an I2C master and slave, it can support up to 800 kHz, as an SPI master it can support up to 8 MHz, and 4 MHz as an SPI slave.

The Cheetah SPI Host Adapter was designed as a high-speed programming device. It can quickly program SPI-based EEPROMs and Flash memory. As an SPI master, it can signal up to 40 MHz.

The Promira Serial Platform is Total Phase’s most advanced serial device. With its FPGA-based platform, users can select from a range of I2C and SPI applications, that provide varying levels of speeds and other functionalities to fit a variety of project requirements. As an I2C device, users can signal up to 3.4 MHz as a master or slave; as an SPI device, users can signal up to 80 MHz as a master and 20 MHz as a slave.

Protocol Analyzers

Total Phase also offers protocol analyzers for a variety of different protocols, including I2C and SPI.

The Beagle I2C/SPI Protocol Analyzer allows users to non-intrusively monitor an I2C bus up to 4 MHz and an SPI bus up to 24 MHz.

If you’d like to find out more how our debugging and development tools can benefit your embedded systems designs, please email us at sales@totalphase.com.