Um ASIC é desenvolvido e otimizado para uma aplicação específica e não pode ser reconfigurado.
Seus elementos do circuito interno (transistores) são dispostos em uma estrutura fixa com uma interconexão (fiação) fixa e imutável entre eles.
Como um ASIC serve para apenas uma finalidade, incorpora apenas os elementos lógicos necessários para essa finalidade, por exemplo, se um multiplicador de ponto flutuante não for necessário, ele não será incorporado ao design.
Por outro lado, um FPGA pode ser configurado e reconfigurado para qualquer aplicação possível.
Da mesma forma que um ASIC, seus elementos de circuito interno são organizados em uma estrutura fixa (blocos lógicos programáveis ou PLBs), mas com interconexões reconfiguráveis entre eles. Os elementos lógicos de um FPGA são selecionados para suportar uma ampla variedade de aplicações, mas sofrem com o processo de "usar ou perder" quando elementos lógicos específicos não são usados.
Se um multiplicador de ponto flutuante não for necessário para uma aplicação específica, mas o FPGA já possua um, então esse recurso fica desconectado e representa "espaço desperdiçado" dentro do FPGA.
Embora ambos os dispositivos possam conter centenas de milhões de transistores, um ASIC pode usar esses transistores para oferecer alta eficiência e desempenho em detrimento da flexibilidade. As cobranças iniciais de NRE para desenvolver um ASIC podem ser exorbitantes, enquanto os custos unitários podem ser relativamente baixos.
Um FPGA usa os transistores para entregar alta eficiência e alto desempenho com muita flexibilidade.
As cobranças iniciais de NRE para desenvolver um FPGA podem ser extremamente baixas, enquanto os custos unitários são geralmente mais altos. É importante observar que essas não são regras definitivas e inflexíveis. Na questão de desempenho, por exemplo, os FPGAs recentes evoluíram para fornecer taxas de clock de mais de 500 MHz e são geralmente fabricados em geometrias de processo de silício de última geração. Em resumo, a fronteira entre FPGAs e ASICs torna-se cada vez mais indistinta com cada nova geração de FPGA.