FPGA

FPGA

FPGA ou field-programmable gate array (ou ainda matriz de portas programáveis) é um dispositivo lógico programável que suporta a implementação de circuitos digitais.

A estrutura geral de uma FPGA está ilustrada na Figura 1, onde os três componentes básicos de um FPGA se fazem presentes: os retângulos representam blocos de entrada e saída, os quadrados brancos representam blocos lógicos e os azuis Switches.

Sem título

Hoje já são comuns blocos de memória, DSP e até mesmo um processador ARM na arquitetura de FPGAs.

Os blocos lógicos são arranjados em uma matriz bidimensional, e os fios de interconexão são organizados como canais de roteamento horizontais e verticais entre as linhas e colunas do bloco lógico. Os canais de roteamento contém fios e switches programáveis que permitem que os blocos lógicos se conectem de várias formas diferentes.

Cada bloco lógico em FPGA tipicamente tem um pequeno número de entradas e saídas, um dos blocos lógicos normalmente se chama LookUp Table(LUT) que contém células de armazenamento que são usadas para implementar uma pequena função lógica. Cada célula é capaz de guardar um valor lógico, 0 ou 1. O valor guardado é produzido como saída da célula de armazenamento. LUTs de vários tamanhos podem ser criadas, onde o tamanho é definido pelo número de entradas.

Resumidamente são diversas funções lógicas, memória, DSP, blocos de Entradas e Saídas, que podem se conectar de diversas formas diferentes para representar um hardware descrito em uma linguagem de descrição de hardware (HDL) ou em um diagrama de blocos.

O arquivo de entrada, seja ele HDL ou diagrama de blocos é sintetizado por uma ferramenta normalmente fornecida pelo fabricante do FPGA e é gerado um arquivo binário com a configuração de hardware que aquele FPGA deve adotar.

FPGA na indústria

FPGA é utilizado em diversos setores da industria, está presente em setores onde desempenho, paralelismo e tempo real são cruciais. Por se tratar de hardware, é possível realizar uma instrução por ciclo de clock! Você pode ter, por exemplo, N cálculos rodando em paralelo e entregando o resultado no mesmo pulso de clock. Algo completamente impossível para um software realizar.

Para citar alguns mercados em que FPGA é forte:

  •     Setor elétrico, para processamento digital de sinal em tempo real;
  •     Setor de telecom, em switches e roteadores de alto desempenho;
  •     Setor de multimédia, para processamento de imagens em tempo real e alto desempenho;
  •     Setor militar;
  •     Setor automotivo, dentre outros.

Basicamente sempre que alto processamento, paralelismo e tempo real forem necessários, a utilização de um FPGA deve ser considerada. Segundo a pesquisa realizada pela UMB 31% dos projetos dos seus leitores que participaram da pesquisa utilizam FPGA em seu produto.

Fabricantes de FPGA

Hoje as duas principais empresas fabricantes de FPGA são a Altera e a Xilinx, segundo a mesma pesquisa da UMB 64% dos projetos utilizam Xilinx enquanto 42% utilizam Altera. A terceira colocada é a Lattice com 10% de uso em projetos dos que realizaram a pesquisa.

Lembrando que o resultado pode passar de 100% pois alguém que participa da pesquisa pode trabalhar em projetos diferentes com vendedores de FPGA diferentes ou até mesmo diferentes FPGA em um mesmo projeto.

Website | Veja + conteúdo

Engenheiro de computação com experiência no desenvolvimento de software e hardware para sistemas embarcados.

Principalmente em projetos para a indústria envolvendo FPGA.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
15 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Não interessa
Não interessa
21/09/2020 11:05

Conteúdo fraquíssimo. Só prova que o “autor” não conhece nada sobre o assunto e andou juntando pedaços de textos da Internet.

Lauriano Elmiro Duarte
Lauriano Elmiro Duarte
21/05/2018 15:43

ótima materia, indica fontes de consultas e projetos para estudarmos ?
abraços

trackback
22/03/2015 22:55

[…] FPGA [7];  […]

trackback
15/10/2014 09:46

[…] um processador descrito em linguagem de hardware, que pode ser customizado e sintetizado em um FPGA [6] ou ASIC. Uma vantagem evidente no uso de softcores está na flexibilidade pois possibilita a fácil […]

trackback
25/09/2014 01:12

[…] [10] FPGA  […]

trackback
21/07/2014 00:07

[…] movimento Maker parece ter chegado para o público de FPGA, com o Papilio é possível unir o melhor do mundo Arduino com um […]

trackback
16/07/2014 00:24

[…] Leia mais sobre a arquitetura deste tipo de dispositivo aqui. […]

trackback
18/06/2014 17:47

[…] mencionado no artigo sobre arquitetura de FPGA, agora dentro do FPGA, além de DSP, blocos de memória e LUTS, também temos um processador ARM. A […]

Talvez você goste:

Séries

Menu