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 Technology > FPGA > The Difference Between FPGA and ASIC - FPGA Technology

The Difference Between FPGA and ASIC

Date: Oct 06, 2022

Click Count: 193

The Difference Between FPGA and ASIC

1. FPGA

FPGA is the product of further development based on PAL, GAL, CPLD, and other programmable devices. It emerged as a semi-custom circuit in the field of Application Specific Integrated Circuits (ASICs), solving the shortcomings of custom circuits and overcoming the shortcomings of the limited number of gates of the original programmable devices.


It is the main hardware platform for today's digital system design. The main feature is that it is completely user-configurable and programmable by software to perform a specific function and can be repeatedly erased. When modifying and upgrading, no additional PCB board changes are required, only program modifications and updates on the computer, making the hardware design work a software development effort, shortening the system design cycle, increasing implementation flexibility, and reducing costs.


Features of FPGA: When power is applied, the FPGA chip reads the data in the EPROM into the on-chip programming RAM, and after the configuration is completed, the FPGA enters the working state. After power down, the FPGA reverts to a white chip, and the internal logic relationship disappears so the FPGA can be used repeatedly.


Theoretically, FPGAs allow unlimited programming.


FPGA programming does not require a special FPGA programmer; only a general-purpose EPROM PROM programmer can be used. FPGA has a wealth of internal flip-flops, and I/O pins can be quickly finished without user intervention in the chip layout wiring and process issues. They can change the logic function at any time, using flexibility.


2. ASIC

ASIC is an integrated circuit designed and manufactured in response to specific user requirements and the needs of specific electronic systems. In a word, it is a chip that cannot be bought in the market. Apple's A-series processor is a typical ASIC.


ASICs are customized, specifically divided into full custom and semi-custom.


The characteristics of ASICs are: tailored to the needs of specific users and faster execution. ASICs have the advantages of small size, low power consumption, high reliability, high performance, confidentiality, and low cost when compared to general-purpose integrated circuits in mass production. ASICs require a long development cycle and are risky, and if there is a problem, it will lead to the complete scrapping of the finished chip.


Artificial intelligence has received more and more attention in recent years, and many companies are actively developing hardware that enables mobile AI, especially if it can be combined with future IoT applications. There are two major schools of thought on implementing mobile AI: the FPGA school and the ASIC school.


The FPGA school is represented by Xilinx's Zynq platform, while Movidius represent the ASIC school, and the specific differences between FPGAs and ASICs are analyzed below.


3. Differences Between FPGA and ASIC

(1) Design flow

FPGA: The complete FPGA design flow includes functional description, circuit design and input, functional simulation, synthesis and optimization, post-synthesis simulation, implementation and layout wiring, timing simulation, board-level simulation and verification, debug and load configuration.


ASIC: The design flow of ASIC (digital chip) includes functional description, module partitioning, module code input, module-level simulation and verification, system integration and system simulation and verification, synthesis, STA (static timing analysis), and formal verification.


Regarding design cost: FPGA is superior for small volumes; ASIC is superior for a large volumes.


FPGA is a chip, but we can modify the internal logic connection and configuration to achieve the function we want by programming. Implementing an ASIC is like starting from a blank sheet of paper. You have to have the code, synthesize, layout, wire, and finally get GDSII (a timing provision format) and then go to the flowing chip.


(2) Speed

The same process and design on the FPGA should be slower than the ASIC. Because the FPGA is internally based on a common structure, that is, LUT (Look Up Table), which can implement adders, combinational logic, etc... While ASICs, generally adders are adders and comparators are comparators, the generality of FPGA structure inevitably leads to redundancy.


In addition, the basic unit of FPGA is LUT (LUT is composed of Slice, Slice is composed of CLB, this is the structure of Xilinx); for this reason, if a large design can not achieve a LUT, you have to use two LUT, a Slice can not achieve, you have to use CLB, different structures in a specific location, the interconnection between the signals caused by wire delay is a part that cannot be ignored.


For ASIC, there is no structural limitation, and a specific line layout can be very close in space; relatively speaking, wire delay and cell delay should be smaller than FPGA. Of course, there is also DFF in LUT, and as a high-speed design, it is usually a beat after a simple combinational logic operation, and then the next step is done.


(3) Volume

FPGAs must be much larger to achieve the same functionality as ASICs and at a fraction of the main frequency.


(4) Power Consumption

FPGAs consume more power than ASICs under the same process conditions, especially FPGAs based on static memory (SRAM) look-up table (LUT) and configuration element technology with 6 transistors per cell, which occupy a lot of silicon area, consume much more power than the equivalent ASICs.


(5) Cost

FPGA is expensive in a single chip, development tool cost and hardware loss risk are non-existent, ASIC is expensive in the cost of flowing chip and development tools, and NRE (Non-Recurring Engineering) cost becomes quite expensive with the improvement of the process unless the chip can be mass production after a successful, or single chip cost is very expensive!


(6) Other Aspects

The main advantage of FPGA technology is still the short time to market.


ASICs can be ready to run immediately after power-up, have more packaging options per logic size, and can include some analog logic. In contrast, FPGAs take time to load configurations into memory and therefore do not work immediately. In addition, FPGA packaging is more complex.


FPGAs also include interface I/Os, classified as normal I/Os and high-speed I/Os. High-speed I/Os support high-speed SERDES, etc., and are used to implement high-speed interfaces such as XAUI, PCI-e, etc., which can be several Gbps. In addition, a wide variety of hardcore IPs are also the differentiation tools for FPGA vendors, such as PowerPC, ARM, and other hardcore IPs, which constitute a programmable and reconfigurable processing platform integrating CPU+FPGA.


(7) Positioning of Both

The use of FPGA and ASIC products should be selected according to the positioning of the product and design needs.


ASIC products are suitable for particularly large design scale (such as CPU, DSP or multilayer switching chip, etc.) or products with very mature technology and very low-profit margin (such as household appliances and other consumer appliances) and general-purpose devices for a large number of applications (such as RAM, PHY, etc.).


PGA products are suitable for products with moderate design scale, products requiring rapid market capture, or flexible changes in feature design, such as PDH, SDH devices below 2.5GB, and most interface conversion chips. Of course, the choice of which product to design and designers to fully consider their product positioning.


(8) The Two are Integrating

Nowhere is this more evident than in the integration of FPGAs in processors and the rise of programmable ASICs. As SoC becomes mainstream, the boundary between the two is not so obvious.


4. Summary

In a nutshell, it's like GPUs and CPUs: GPUs can process images very quickly, but GPUs have some difficulty processing other things, and CPUs can handle a lot of operations and images, just slowly. Once you're going for a certain purpose (ASIC), the fastest implementation is fine. If you want to be multi-faceted (FPGA), it's impossible to be the best in every aspect. You have to weigh the pros and cons when using it.


<< Previous: Basic knowledge of FPGA architecture and applications

<< Next: FPGA Basics: What is FPGA, and why do you need it?

Need Help?

Support

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