- O que é FPGA e como ele é diferente do microcontrolador
- Arquitetura FPGA
- Quando FPGAs são necessários
Com a crescente popularidade dos microcontroladores, os engenheiros estão usando mais microcontroladores do que FPGAs. Os microcontroladores se tornaram dominantes sobre FPGA por causa de seu custo barato, bom suporte, fácil disponibilidade, grande comunidade, versatilidade, programação etc. Mas além disso, os microprocessadores têm algumas limitações, como o conjunto de instruções, execução sequencial de programas (processamento sequencial), falta de flexibilidade e capacidade de reutilização, etc. No entanto, o FPGA pode superar essas limitações, pois os FPGAs têm execução paralela de programas e é flexível e reutilizável, o que significa que pode ser reprogramado repetidamente para diferentes tarefas.
O que é FPGA e como ele é diferente do microcontrolador
Um Field-Programmable Gate Array é um chip de silício de circuito integrado que possui um array de portas lógicas e este array pode ser programado em campo, ou seja, o usuário pode sobrescrever as configurações existentes com suas novas configurações definidas e pode criar seu próprio circuito digital em campo. Os FPGAs podem ser considerados como uma folha em branco. Os FPGAs não fazem nada por si próprios, ao passo que cabe aos projetistas criar um arquivo de configuração geralmente chamado de arquivo de bits para o FPGA. O FPGA se comportará como o circuito digital, uma vez que é carregado com um arquivo de bits.
Enquanto em microcontroladores, este não é o caso, pois os microcontroladores não podem ser programados ou reestruturados no campo. O usuário não tem permissão para sobrescrever suas configurações existentes nem pode criar qualquer circuito digital em campo. Os microcontroladores são fáceis de programar e a comunidade também é ampla. Os microcontroladores são minicomputadores personalizados que vêm na forma de IC, enquanto os FPGAs contêm apenas blocos lógicos que podem ser reconectados eletricamente. Também em termos de microcontroladores, ele consome menos energia do que os FPGAs. Os FPGAs são conhecidos por serem caros e exigem mais custo do que o microcontrolador quando se trata de construir qualquer dispositivo. FPGAs levam muito mais tempo para serem configurados, enquanto os microcontroladores estão disponíveis prontamente construídos para aplicações específicas.
Arquitetura FPGA
Um FPGA tem uma estrutura regular de células lógicas ou módulos e interlinks que estão sob o controle total dos desenvolvedores e designers. O FPGA é construído principalmente com três blocos principais, como Bloco Lógico Configurável (CLB), Blocos de E / S ou Pads e Matriz de Switch / Fios de Interconexão. Cada bloco será discutido a seguir em breve.
- CLB (Configurable Logic Block): Estas são as células básicas do FPGA. Ele consiste em um gerador de função de 8 bits, dois geradores de função de 16 bits, dois registradores (flip-flops ou latches) e controles de roteamento reprogramáveis (multiplexadores). Os CLBs são aplicados para implementar outras funções e macros projetadas. Cada CLB tem entradas em cada lado, o que os torna flexíveis para o mapeamento e particionamento da lógica.
- Blocos ou blocos de E / S: Os blocos de entrada / saída são usados para os periféricos externos para acessar as funções do FPGA e, usando os blocos de E / S, também pode se comunicar com FPGA para diferentes aplicações usando diferentes periféricos.
- Switch Matrix / Interconexão Wires: Switch Matrix é usado em FPGA para conectar os cabos de interconexão longos e curtos juntos em uma combinação flexível. Ele também contém os transistores para ligar / desligar as conexões entre as diferentes linhas.
Quando FPGAs são necessários
Como mencionado acima, os microcontroladores têm algumas limitações e não podem ser usados para realizar tarefas em paralelo, pois microcontroladores e microprocessadores rodam na execução sequencial de programas, o que torna um pouco lento em algumas aplicações, neste cenário os FPGAs têm uma vantagem e podem ser usados de forma eficaz. Além disso, o microcontrolador pode executar tarefas limitadas porque vêm com instruções e seus circuitos. Um programador deve obedecer às restrições ao desenvolver o código. Portanto, também neste cenário, os FPGAs têm vantagem.
No entanto, no caso de microcontroladores, o processador muda de um código para outro para atingir algum nível de paralelismo. Você achará mais fácil escrever códigos em microcontroladores do que em FPGAs. A capacidade de processamento paralelo dos FPGAs permite controlar as interrupções de maneira eficaz usando Finite State Machines (FSMs).
No caso de microcontroladores, você deve levar em consideração o tempo gasto pelo ISR para resolver uma interrupção. Você pode religar um FPGA facilmente apenas reprogramando-o. A configuração em um FPGA é carregada nas células lógicas configuráveis quando a alimentação é ligada.
Você não precisa fazer nenhuma alteração no hardware para reprogramar o FPGA. FPGAs são adequados para processamento em alta velocidade de dados paralelos e vêm com um alto grau de personalização. No entanto, eles também têm as desvantagens de operação de protótipo e complexidade de configuração. Assim, os FPGAs podem ser escolhidos com essas vantagens sobre os microcontroladores. Vamos começar a programação FPGA e enfatizar