# Circuito integrado de aplicação especifica

Um Circuito integrado de aplicação especifica, em inglês application specific integrated circuit (ASIC), são circuitos orientados para implementação de tarefas específicas em domínios bem definidos, estão em contraste com os circuitos de aplicação geral, por exemplo, um chip projetado somente para rodar um telefone celular, circuitos de processamento de áudio e vídeo e circuitos da indústria automobilística, são considerados circuitos ASICs.
Com o recurso, tamanho e ferramentas de design melhorado ao longo dos anos, a complexidade máxima possível num ASIC cresceu de 5.000 portas para mais de 100 milhões. ASICs modernos incluem muitas vezes microprocessadores internos, blocos de memória incluindo ROM, RAM, EEPROM, memória flash e outros grandes blocos de construção. ASIC é muitas vezes denominado sistema em um chip (System-on-a-chip). Projetistas de ASICs digitais costumam usar uma linguagem de descrição de hardware (HDL), como Verilog ou VHDL, para descrever a funcionalidade de ASICs.
Os componentes (modelos) de um circuito integrado para aplicação especifica são subdivididos em totalmente personalizado e semipersonalizado, sendo que o semipersonalizado também é subdividido em Matrizes de portas e Célula Padrão. Alguns fabricantes e pesquisadores consideram dois modelos de Dispositivos Lógicos Programáveis (PLD) como dispositivos ASICs, porém esta afirmação gera polêmicas devido ao fato de PDLs serem programados pelo usuário, e alguns modelos podem ser alterados após a primeira configuração.

## História

Os primeiros ASICs utilizavam tecnologia de Matrizes de portas (gate array). A empresa Ferranti do Reino Unido produziu por volta de 1980, o primeiro gate array, a ULA (Uncommitted Logic Array), uma aplicação de grande sucesso encontrado nos computadores pessoais de 8 bits ZX Spectrum, ZX81 e low-end, introduzido em 1981 e 1982. Estes foram usados ​​por Sinclair Research (UK) essencialmente como solução de baixo custo de E/S visando à manipulação de gráficos do computador.

## Totalmente Personalizado

O componente totalmente personalizado (full custom) tem o seu projeto desenvolvido a nível de transistores. O projeto completo e desenvolvimentos do circuito são personalizados (desenvolvidos) manualmente pelo designer. Devido a este fator seu custo é muito elevado, fazendo com que os atualmente clientes migrem, conforme o possível para outros modelos de ASIC .
As vantagens deste projeto é que oferece alto desempenho, menor custo para a produção de grandes quantidades, maior confiabilidade, menor dissipação de energia e também a capacidade de integrar componentes analógicos, porem as desvantagens deste são o aumento do tempo de criação, complexidade, exigência de muito maior equipe de design especializada tornando maior as despesas do projeto, e uma vez transformado em silício o projeto não pode ser modificado. Exemplos de ASICs Full- Custom são processador móvel, circuitos integrados de sensores e projetos que exigem grande confiabilidade em pouco tempo.

## Célula Padrão

Em meados dos anos 1980, quando um designer iria escolher um fabricante de ASIC, tinha apenas a possibilidade de implementar o seu projeto apenas usando as ferramentas de designer disponíveis a partir do fabricante. Não havia uma ligação efetiva das ferramentas de projeto entre fabricantes. Uma solução para este problema, que também produziu um dispositivo de densidade muito mais elevada, foi a implantação de células padrão (standard cells) onde cada fabricante ASIC poderia criar blocos funcionais com características elétricas conhecidas, utilizavam células lógicas predefinidos (portas AND, OR, multiplexadores e flip-flops, por exemplo) conhecidas como bibliotecas de células.
Layouts do modelo células padrão são facilmente identificados por fileiras de células de mesma “altura”, separados por canais de fiação.
Células grandes, como multiplicadores ou micro-controladores pode abranger várias linhas celulares e bloquear alguns dos canais de fiação. Este padrão geralmente são menos eficientes do que uma padrão totalmente personalizado, devido às restrições de tamanho de células fixas e requisitos para canais de fiação dedicados.
Projeto de Célula Padrão se encaixa entre Matrizes de Células (Gate Array) e design Totalmente Customizado (Full-Custom) tanto em termos de sua engenharia não recorrente e custo. Célula Padrão é uma tecnologia ASIC que reduz o custo de implementação física e tempo de projeto em relação à tecnologia de circuitos totalmente personalizado. A tecnologia Célula Padrão usa bibliotecas de portas ou pequenos circuitos lógicos.
A vantagem é que os designers Célula Padrão é a economizar tempo, dinheiro e reduzir o risco por meio de um pré-projetado já pré-testado e com biblioteca de células padrão caracterizada. Além disso, cada célula padrão pode ser otimizada individualmente. As desvantagens são o tempo gasto na concepção de bibliotecas de células.

## Matriz de Portas

Matriz de Portas são arranjo de transistores que o fabricante disponibiliza para que seja personalizado de acordo com a informação de interconexões fornecida pelo cliente.
Este é um método de fabricação em que os transistores e outros dispositivos ativos, são predefinidos no wafers de silício. Só as melhores camadas de metal, que definem a interconexão entre transistores, são definidas pelo desenvolvedor. Usando wafers pré-fabricadas até os passos de metalização podemos usar o mesmo padrão de wafers para mais de um cliente assim reduz o tempo necessário para fazer um novo ASIC Matriz de Portas. Este modelo de ASIC contém centenas de milhares de portas, o custo de fabricação é menor do que os de Célula Padrão e Totalmente Personalizado, devido a fato que os custos dos wafers são baixos porque muitos projetos de clientes diferentes podem ser criados a partir do mesmo projeto wafer base, assim os ciclos de produção são muito mais curtos a produção é muito mais rápida. Da mesma forma, as embalagens de fundição e os custos de teste são baixos devido ao padrão de pinos e dispositivos de teste comuns que podem ser usados para vários projetos.