O Design de FPGA Está Voltando à Moda?

Criada: Novembro 1, 2021
Atualizada: Julho 1, 2024

Originando-se da revolução dos ASICs na década de 1970, veio a revolução dos MCU, MPU e FPGA, onde controladores hospedeiros foram construídos em um único chip repleto de blocos lógicos e muitos recursos integrados. Em 2021, alguns na indústria declararam que os FPGAs agora são a plataforma de escolha para aplicações avançadas. Veja o que as pessoas estão dizendo e onde você pode optar por um FPGA em seu design.

Não sou velho o suficiente para lembrar dos anos 1970, uma época em que os ASICs estavam entrando no mercado e, em última análise, ajudando a alcançar maiores níveis de integração e redução de forma. O legado dos ASICs continua até hoje, e fabricantes populares ainda oferecem uma ampla gama de chips que realizam funções especializadas com uma pequena pegada. Algumas das tarefas que teriam sido muito difíceis de implementar em lógica programável de propósito geral de repente se tornaram fáceis de implementar quando essas funções foram incorporadas em um ASIC com lógica especializada ou recursos dedicados. No início da mesma década, microcontroladores foram introduzidos pela Intel, dando aos designers tudo o que precisavam para construir sistemas mais integrados em vez de depender de circuitos lógicos discretos.

Após os ASICs e MCUs, vieram os arrays de portas programáveis em campo em 1984, com o primeiro componente introduzido pela Xilinx. No início, os designers de ASICs estavam usando FPGAs para emular a lógica que pretendiam implementar em seus designs de ASIC como uma espécie de plataforma de teste. Com o tempo, os FPGAs foram implementados em mais hardware de produção, seja como complemento aos ASICs típicos ou para implementar funções de lógica especializadas que não estavam disponíveis em outros processadores ou ASICs. O número de interfaces disponíveis nas plataformas FPGA também se expandiu ao ponto de um FPGA poder ser usado como o controlador hospedeiro para qualquer sistema embarcado.

Hoje, o design de FPGA continua popular entre os desenvolvedores embarcados experientes, e as taxas de crescimento projetadas no mercado global de FPGA variam de 6,4% a 10% CAGR nos próximos 6-7 anos. Apenas para referência, a estimativa mais alta está em par com o CAGR projetado de 10,1% no mercado global de MCU. A questão para o designer embarcado é, o que está impulsionando a popularidade dos FPGAs em comparação com outras plataformas, e um FPGA deve ser seu ponto de partida para um novo design? Vamos olhar mais para essas questões enquanto comparamos algumas opções de arquitetura de sistema para um novo sistema embarcado.

O que está impulsionando novos designs de FPGA?

Os FPGAs sempre foram populares em alguns casos amplos graças à sua adaptabilidade, como foi discutido em um artigo anterior neste blog. Algumas das áreas de alto nível onde os FPGAs foram tradicionalmente bem-sucedidos incluem:

  • Implementação de lógica especializada em plataformas compactas, que normalmente precisariam ser implementadas usando lógica sequencial lenta em MCUs

  • Áreas de aplicação ou produtos onde o tempo de colocação no mercado é crítico devido ao longo tempo de desenvolvimento para ASICs

  • Qualquer aplicação que requer virtualização ou emulação de hardware

  • Qualquer produto que possa requerer reprogramação rápida sem conexão com um sistema externo

Se você não está familiarizado com o design e programação de FPGA, mas conhece algumas das ideias básicas que regem a operação de FPGA, então a lista acima não deve ser surpreendente. Estas são áreas bastante amplas a considerar, mas elas se traduzem em aplicações reais em várias indústrias.

FPGAs vs. MPUs/MCUs e ASICs

Você notará acima que eu passei muito tempo referenciando ASICs como o principal concorrente dos FPGAs. De fato, a enorme gama de componentes permite que desenvolvedores embarcados misturem e combinem seu MCU, funções especializadas com ASICs, e periféricos ou interfaces de baixa velocidade. Os FPGAs carregam várias vantagens em diferentes áreas, e vale a pena comparar todas essas opções conforme se aplicam a um sistema embarcado.

A partir da lista acima, deve ficar claro o papel que os FPGAs podem desempenhar: controladores hospedeiros adaptáveis para sistemas embarcados que são agnósticos de aplicação e OS. Um design de FPGA oferece a vantagem adicional de atualizabilidade, desde que o design da placa e do sistema possa acomodar essas mudanças. Uma vez que olhamos para algumas aplicações mais recentes na indústria, deve ficar claro por que os FPGAs são mais populares hoje, com sua popularidade apenas esperada para crescer no futuro próximo.

Principais Usuários da Indústria

Não existe uma única categoria de produto que tenha sido tradicionalmente responsável pelo consumo de FPGA. Desde que foram introduzidos pela primeira vez, os principais consumidores industriais de FPGAs incluem sistemas de telecomunicações, mil-aero, automotivo, produtos de consumo leves e até a indústria de petróleo e gás. De fato, algumas das tecnologias originais que se tornariam FPGAs foram originalmente desenvolvidas sob a Zilog, uma subsidiária da Exxon cuja PI foi posteriormente adquirida pela Xilinx.

À medida que os FPGAs ganharam popularidade, o foco mudou para outras indústrias que requerem lógica especializada implementada diretamente em um único processador, apesar do enorme número de ASICs de muitos fornecedores que poderiam cobrir os mesmos designs. Como exemplo, muitos produtos de cartão mezanino e cartão filha no mercado mil-aero usam FPGAs como uma plataforma de computação embarcada adaptável que fornece taxas de dados extremamente rápidas com acesso a múltiplos periféricos e cartões via um backplane. Telecomunicações e redes permanecem uma área de aplicação com design e desenvolvimento de FPGA generalizado devido ao tempo de colocação no mercado mais rápido e a relativa facilidade de atualizações para acomodar mudanças nos padrões e lançamentos de tecnologia.

Design e Desenvolvimento de FPGA Hoje

As áreas destacadas acima não viram uma diminuição no uso de FPGA. Telecom é uma área a destacar; como exemplo, a Huawei é um dos maiores consumidores de FPGAs do mundo, e eles até comercializam uma plataforma de "nuvem FPGA", oferecendo computação em nuvem acelerada como um serviço. Há até um repositório GitHub da Huawei Cloud para ajudar os usuários a começarem com o desenvolvimento de aplicativos. O uso de FPGA em sua infraestrutura também contribuiu para sua capacidade de implementar serviços 5G antes de outras telecomunicações. Hoje, as mesmas vantagens identificadas acima estão impulsionando o design e desenvolvimento de FPGA em duas áreas: robótica e IA. Embora as duas áreas estejam profundamente ligadas, a IA é, sem dúvida, um motor muito maior para o novo design e desenvolvimento de FPGA.

A IA Está Impulsionando o Design e Uso de FPGA

Líderes no espaço de FPGA projetam que a implementação de IA em mais sistemas de hardware vai impulsionar grandes mudanças no uso de silício nesses componentes. Isso não quer dizer que você não possa usar um MCU em robótica ou IA leve; a proliferação de módulos aceleradores de IA que se conectam via USB ou uma ponte PCIe ilustra um esforço para acomodar desenvolvedores de MCU/MPU para sistemas embutidos inteligentes. No entanto, FPGAs são plataformas muito mais adaptáveis onde cálculos de inferência podem ser realizados muito rapidamente pela paralelização do cálculo; o tecido FPGA pode ser personalizado para se adequar ao algoritmo, enquanto a lógica sequencial em GPUs/MCUs/MPUs não pode.

Um componente mais recente que está sendo usado em sistemas embutidos de alta computação, incluindo sistemas que implementam inferência de IA a bordo, é o Zynq-7000 All Programmable series SoC da Xilinx. Este componente funciona até 866 MHz com um processador de aplicação baseado no núcleo ARM Cortex-A9. Interfaces adicionais como Ethernet gigabit, DDR, Flash, PCIe e alta contagem de GPIO tornam este componente fácil de integrar em sistemas de computação de borda. Interfaces de baixa velocidade como I2C e SPI também permitem que o Zynq opere com ASICs que capturam dados de sensores analógicos ou outras interfaces padrão (CANBus, RS-485, etc.).

A Xilinx é uma das líderes em IA em FPGAs, e eles fornecem muitos recursos para desenvolvedores. Um desenvolvimento interessante com o processador Zynq é a implementação de Python no Zynq, ou PYNQ como a Xilinx o chama. Outros fornecedores de FPGA estão expandindo suas linhas de produtos para competir com o Zynq, então os desenvolvedores de IA embutida terão muitas opções para computação de IA em dispositivo usando um design de FPGA.

Desafios no Uso de FPGAs

FPGAs são ótimas plataformas para o desenvolvedor experiente que está trabalhando em áreas de aplicação mais avançadas. Quando a paisagem de padrões, soluções ASIC e capacidades de MCU/MPU estão faltando ou mudando rapidamente, um FPGA é provavelmente uma opção melhor para um novo sistema. Embora FPGAs tenham possibilitado sucesso em uma série de áreas, eles carregam seu próprio conjunto de desafios de hardware e desenvolvimento:

  • Gestão de calor: Assim como seus primos MCU/MPU, os FPGAs podem ser geradores significativos de calor, dependendo do tamanho do componente. Isso não é um desafio novo, embora seja agravado por requisitos de design em sistemas compactos de alta computação como computação de borda, ou em equipamentos de alta potência 5G. Alguns dos meus clientes analisaram estratégias de dissipação de calor envolvendo dissipadores de calor únicos ou ligação com a caixa nesses sistemas.

  • Posicionamento e roteamento: Em aplicações de alta computação, ainda há um desafio com as tarefas de posicionamento e roteamento, onde o software proprietário do fornecedor é mapeado na malha do FPGA. Isso leva tempo, pois o software compilador tem que usar um algoritmo para encontrar um mapeamento que suporte todas as funções lógicas nas aplicações. As áreas de aplicação onde isso é um desafio são computação de alto desempenho e centros de dados. Isso também pode ser problemático em IA quando um FPGA é usado para tarefas de nível de sistema além de inferência/treinamento.

  • Recursos de desenvolvimento: A comunidade de desenvolvedores de FPGA não é tão grande quanto a comunidade de ASIC + MCU, ou a comunidade de software de código aberto como um todo. MCUs são mais fáceis para desenvolvedores inexperientes começarem a usar graças a plataformas extremamente populares como Arduino e ESP32. No entanto, os fornecedores de FPGA têm melhorado muito na oferta de recursos para desenvolvedores para que eles possam implementar rapidamente soluções em FPGAs. O número de novos projetos de FPGA no GitHub também acompanhou o ritmo dos projetos de MCU, conforme mostrado na tabela abaixo.

Como serão os FPGAs no Futuro?

Os FPGAs atuais alocam aproximadamente 50% ou mais da área de silício para IOs, já que produtos baseados em FPGA mais antigos exigiam interface com uma ampla gama de periféricos por meio de múltiplas interfaces. À medida que o foco se desloca mais para aplicações de alta computação como IA, não se surpreenda quando mais área de silício for dedicada a blocos de computação de IA, possivelmente com interconexões em evolução e movimentação de dados flexível em tempo de execução. Integração heterogênea também será incorporada aos SoCs de FPGA, onde blocos de IA, GPUs/TPUs, memórias de alta largura de banda e front-ends de RF são combinados em um único pacote compacto.

Embora os FPGAs possam ter características de ASIC implementadas e reprogramadas na malha do FPGA conforme necessário, eles ainda são um excelente complemento para sistemas baseados em ASIC. Uma arquitetura de design que faz sentido é colocar todas as características que podem requerer atualizações no FPGA, enquanto se utiliza a padronização dos ASICs para interfacear com periféricos mais simples como sensores e barramentos de dados. Isso certamente reduz o tempo de design do FPGA, pois os desenvolvedores podem se concentrar em aperfeiçoar as características de alta computação que são necessárias no produto final. Se você deseja usar esse tipo de arquitetura em sistemas embarcados inteligentes, provavelmente precisará de vários outros componentes:

Quando você precisar encontrar componentes para o seu próximo projeto de FPGA, use as funcionalidades avançadas de busca e filtragem na Octopart. Ao usar o motor de busca de eletrônicos da Octopart, você terá acesso a dados atualizados de preços de distribuidores, inventário de peças e especificações de peças, e tudo isso acessível de forma gratuita em uma interface amigável. Confira nossa página de circuitos integrados para encontrar os componentes de que precisa.

Mantenha-se atualizado com nossos últimos artigos ao inscrever-se em nossa newsletter.

 

 

 

 

 

Recursos relacionados

Retornar a página inicial
Thank you, you are now subscribed to updates.