Thursday, January 26, 2012

DefinitionsFPGA: A Field-Programmable Gate Array (FPGA) is a semiconductor device containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational functions such as decoders or mathematical functions.

ASIC: An application-specific integrated circuit (ASIC) is an integrated circuit designed for a particular use, rather than intended for general-purpose use. Processors, RAM, ROM, etc are examples of ASICs.FPGA vs ASICSpeedASIC rules out FPGA in terms of speed. As ASIC are designed for a specific application they can be optimized to maximum, hence we can have high speed in ASIC designs. ASIC can have hight speed clocks.CostFPGAs are cost effective for small applications. But when it comes to complex and large volume designs (like 32-bit processors) ASIC products are cheaper.Size/AreaFPGA are contains lots of LUTs, and routing channels which are connected via bit streams(program). As they are made for general purpose and because of re-usability. They are in-general larger designs than corresponding ASIC design. For example, LUT gives you both registered and non-register output, but if we require only non-registered output, then its a waste of having a extra circuitry. In this way ASIC will be smaller in size.PowerFPGA designs consume more power than ASIC designs. As explained above the unwanted circuitry results wastage of power. FPGA wont allow us to have better power optimization. When it comes to ASIC designs we can optimize them to the fullest.Time to MarketFPGA designs will till less time, as the design cycle is small when compared to that of ASIC designs. No need of layouts, masks or other back-end processes. Its very simple: Specifications -- HDL + simulations -- Synthesis -- Place and Route (along with static-analysis) -- Dump code onto FPGA and Verify. When it comes to ASIC we have to do floor planning and also advanced verification. The FPGA design flow eliminates the complex and time-consuming floor planning, place and route, timing analysis, and mask / re-spin stages of the project since the design logic is already synthesized to be placed onto an already verified, characterized FPGA device.

Type of DesignASIC can have mixed-signal designs, or only analog designs. But it is not possible to design them using FPGA chips.CustomizationASIC has the upper hand when comes to the customization. The device can be fully customized as ASICs will be designed according to a given specification. Just imagine implementing a 32-bit processor on a FPGA!PrototypingBecause of re-usability of FPGAs, they are used as ASIC prototypes. ASIC design HDL code is first dumped onto a FPGA and tested for accurate results. Once the design is error free then it is taken for further steps. Its clear that FPGA may be needed for designing an ASIC.Non Recurring Engineering/ExpensesNRE refers to the one-time cost of researching, designing, and testing a new product, which is generally associated with ASICs. No such thing is associated with FPGA. Hence FPGA designs are cost effective.Simpler Design CycleDue to software that handles much of the routing, placement, and timing, FPGA designs have smaller designed cycle than ASICs.More Predictable Project CycleDue to elimination of potential re-spins, wafer capacities, etc. FPGA designs have better project cycle.ToolsTools which are used for FPGA designs are relatively cheaper than ASIC designs.Re-UsabilityA single FPGA can be used for various applications, by simply reprogramming it (dumping new HDL code). By definition ASIC are application specific cannot be reused.

What are FPGAs

Field Programmable Gate Arrays (FPGAs) are programmable semiconductor devices that are based around a matrix of configurable logic blocks (CLBs) connected via programmable interconnects.

What are ASICs

Application Specific Integrated Circuits (ASICs) are devices custom built for the particular design.

What are FPGA Design Advantages

Faster time-to-market – no layout, masks or other manufacturing steps are neededNo upfront NRE (non recurring expenses) – costs typically associated with an ASIC designSimpler design cycle – due to software that handles much of the routing, placement, and timingMore predictable project cycle – due to elimination of potential re-spins, wafer capacities, etc.Field reprogramability – a new bitstream can be uploaded remotely

What are FPGA Design Limitations

Power consumption – FPGAs fundamentally use a lot more power than ASICsPrice – they also fundamentally cost moreSpeed – ASICs can still blow any FPGA away in sheer speed although design techniques can help with this issue.Density – ASIcs can still pack a lot more logic into a single chip than an FPGAIP – modern, complex IP (a complete PCI Express of Hypertransport core for example) may take up most or all of an FPGA but only 10% of an ASIC

What are ASIC Design Advantages

Full custom capability – for design since device is manufactured to design specsLower unit costs – for very high volume designsSmaller form factor – since device is manufactured to design specsHigher raw internal clock speeds

What are ASIC Design Limitations

High NRE cost – for design since device is manufactured to design specsLower unit costs – for very high volume designsSmaller form factor – since device is manufactured to design specsHigher raw internal clock speeds