Qual é um FPGA – Fundamentos de Matrizes de Portas Programáveis em Campo

Um FPGA, matriz de portas programáveis em campo, é um circuito integrado projetado para ser configurado ou programado uma vez que esteja em um circuito para permitir que a funcionalidade seja atualizada ou alterada.

A Matriz de Portas Programáveis em Campo, ou FPGA, é um dispositivo lógico programável que pode ter sua configuração interna definida por software ou, como é chamado, “firmware”. Isso permite que a funcionalidade do FPGA seja atualizada ou mesmo totalmente alterada, conforme necessário, porque o firmware do FPGA é atualizado quando está em circuito.

Os componentes lógicos programáveis do FPGA, conhecidos como blocos lógicos, podem consistir em qualquer coisa, desde portas lógicas até elementos ou blocos de memória, ou praticamente qualquer elemento. Isso proporciona um grau considerável de flexibilidade.

Um PCB usando um FPGA para permitir que o circuito seja reconfigurado para fornecer funcionalidade de osciloscópio, analisador lógico, analisador de espectro, etc.

Aplicações FPGA

A natureza reconfigurável do FPGA significa que ele pode ser usado em um grande número de aplicações diferentes.

  • Prototipagem ASIC:   ASICs ou circuitos integrados específicos de aplicativos são frequentemente usados ​​em produção de alto volume, mas são muito caros para desenvolver e as mudanças são muito caras e demoradas para serem feitas. Depois que um chip ASIC é feito, sua funcionalidade é corrigida. Além disso, os chips ASIC são normalmente muito complicados e, para garantir que a funcionalidade esteja correta, geralmente um FPGA é usado em vez do chip ASIC durante o desenvolvimento e até mesmo no início da produção até que todos os problemas sejam removidos.
  • Equipamentos definidos por software:   Com os equipamentos agora tendendo mais a serem definidos por software, como no caso do rádio definido por software, o conceito está sendo amplamente utilizado em muitas áreas da tecnologia. O equipamento de teste definido por software também está se tornando mais amplamente utilizado – aqui a funcionalidade do instrumento de teste pode ser modificada de acordo com o que é necessário.

Noções básicas de FPGA

O FPGA tem a grande vantagem de ser totalmente programável e reprogramável. Dessa forma, ele se torna um grande circuito lógico configurável de acordo com um projeto, mas, se houver necessidade de alterações, pode ser atualizado.

Assim, se um cartão ou placa de circuito contiver um FPGA como parte do circuito, ele será programado durante o processo de fabricação, mas poderá ser reprogramado posteriormente para refletir quaisquer alterações. Por isso, é programável no campo, e é assim que surgiu seu nome.

Embora os FPGAs ofereçam muitas vantagens, existem algumas desvantagens. Eles são mais lentos que ASICs equivalentes (Application Specific Integrated Circuit) ou outros ICs equivalentes, e também são mais caros. No entanto, os ASICs são muito caros para desenvolver em comparação.

Isso significa que a escolha de usar um projeto baseado em FPGA deve ser feita no início do ciclo de projeto e dependerá de fatores como a necessidade de reprogramação do chip, se é possível obter funcionalidade equivalente em outro lugar e, claro, o custo permitido. Às vezes, os fabricantes podem optar por um projeto de FPGA para produtos iniciais, quando bugs ainda podem ser encontrados, e depois usar um ASIC quando o projeto estiver totalmente estável.

Os FPGAs são usados em muitas aplicações. Eles não são utilizados em produtos baratos de alto volume devido ao custo, mas encontram aplicações em uma variedade de áreas onde circuitos lógicos complexos podem ser necessários e mudanças podem ser antecipadas. As aplicações FPGA abrangem uma ampla gama de áreas, desde equipamentos para vídeo e imagem até circuitos para aplicações aeroespaciais e militares, bem como eletrônica para processamento especializado e muito mais.

FPGA internos

A arquitetura interna do FPGA é a chave para sua flexibilidade e, portanto, para seu sucesso. Essencialmente, um FPGA consiste em dois elementos básicos:

  • Blocos lógicos comuns:   O bloco lógico em um FPGA pode ser implementado de várias maneiras. A implementação real depende do fabricante e também da série de FPGA que está sendo usada. As variações incluem o número de entradas e saídas, a complexidade geral do bloco lógico em termos de circuitos e o número de transistores usados. Isso naturalmente tem um impacto na quantidade de área consumida no chip e, portanto, no tamanho do silício usado.
  • Roteamento interno do FPGA:   Os canais de roteamento dentro do FPGA compreendem fios que podem ser interconectados usando switches eletricamente configuráveis. Desta forma, é possível vincular diferentes pontos no chip e, assim, conectar os diferentes Blocos Lógicos Comuns da maneira que for necessária.

Desenvolvimento de Firmware FPGA

Como o FPGA é uma matriz lógica configurável, a lógica precisa ser configurada para atender aos requisitos do sistema. Essa configuração é fornecida por firmware, que é um conjunto de dados.

Devido à complexidade dos FPGAs, o software é usado para projetar sua função. O processo de design começa quando o usuário fornece uma definição de Linguagem de Descrição de Hardware (HDL) ou um design esquemático.

As HDLs comuns são VHDL (onde VHDL significa “VHSIC Hardware Description Language”) e Verilog. Depois disso, a próxima tarefa no processo de design do FPGA é produzir uma netlist gerada para a família de FPGA específica que está sendo usada. Essa netlist descreve a conectividade necessária dentro do FPGA e é gerada usando uma ferramenta de automação de projeto eletrônico.

Em seguida, a netlist pode ser ajustada à arquitetura real do FPGA usando um processo chamado place-and-route, geralmente executado pelo software proprietário da empresa FPGA.

Por fim, o projeto é comprometido com o FPGA e pode ser utilizado na placa de circuito eletrônico para o qual foi destinado.

Nota sobre a programação do FPGA:

Os FPGAs exigem que o firmware esteja disponível para definir a configuração da lógica dentro do chip. Este firmwave pode ser desenvolvido de várias maneiras e existem várias plataformas de software diferentes que podem ser usadas.

Leia mais sobre a programação FPGA

Teste FPGA

Tendo em vista sua complexidade, é necessário realizar testes rigorosos do projeto do FPGA. Este teste normalmente será realizado em cada estágio do processo de desenvolvimento do FPGA.

Inclui simulação funcional e outras metodologias de verificação, mas um dos principais problemas pode ser o tempo, pois o tamanho e a complexidade da lógica básica podem significar que podem surgir problemas de tempo.

Uma vez concluído o processo de projeto e validação, o arquivo binário gerado (também usando o software proprietário da empresa FPGA) é usado para configurar o dispositivo FPGA.

Ferramentas FPGA

As ferramentas para desenvolver e testar FPGAs estão disponíveis em várias fontes. Obviamente, o fabricante é capaz de oferecer muitas ferramentas de desenvolvimento de FPGA, mas existem muitas outras fontes para síntese de FPGA HDL de terceiros, síntese física de FPGA e ferramentas de verificação. Estes incluem o desenvolvimento real e para os vários estágios de teste dos FPGAs.

____________________________

Retorne ao menu Componentes Eletrônicos

A Raisa distribui equipamentos para soldagem e para teste e medição há mais de 30 anos! Considere explorar algumas das nossa principais categorias através do menu abaixo:

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *