There are two types of microchips, ASICs and FPGAs which are usually considered for electronic product designs. Without ample knowledge, one might make the silly mistake of picking a particular one that does not have a relevant application in the project. To make an informed choice, you need to first understand the differences between the two; you must know their types, applications, and advantages before you pick any.
What is an ASIC?
This is an Application-specific Integrated Circuit. This is named so because the ASIC microchip is particularly designed and manufactured for only a specific application. You cannot reprogram or modify it after it is produced.
Types of ASIC
Here are the three types discussed:
- Gate array ASICs- These offer the lowest levels of customization. They start with standard and predefined silicon layers. You can customize them only by manipulating the interconnections within the transistors. This also needs to be done in the metallization stage of the manufacturing process.
- Standard cell ASICs- They are semi-customizable. Here the silicon layers are comprised completely of the library components and functional standard blocks.
- Full custom design ASICs- Here, you can create your own ASIC right from the scratch. You can take it down to the transistor level and make the exact specifications that you need.
They are used in products that are intended for permanent applications and need not be modified. They are used in smartphones, voice recorders, computers, or TVs.
What is an FPGA?
These are Field Programming Gate Arrays. These chips are manufactured for general use but they have Configurable Logic Blocks (CLBs) within them. They also have programmable interconnects and they can be reprogrammed to perform multiple functions as many times as you want.
Here are the main ways of classifying them:
- Symmetrical arrays- These arrangements are made up of rows and columns of interconnected logic blocks. They are surrounded by input and output blocks.
- Row-based architecture- This has alternate rows of logic blocks and resources of programmable interconnects. The I/O blocks are on the edge.
- Hierarchical PLDs- They have more complex layouts and logic blocks and interconnects are on the top level. There are also logic modules that have combinatorial and sequential elements.
FPGAs are used in applications that require ongoing flexibility or in prototypes while product designing.
In this regard, you can consult Orthogone software engineering and understand which one to pick among ASIC and FPGA.