André Castelan
"Em teoria não há diferença entre a pratica e a teoria, já na pratica..."

quinta-feira, 5 de setembro de 2013

FPGAs substituindo microcontroladores simples?

Muito se fala de se utilizar FPGA onde se faz necessário processar uma grande quantidade de dados, em produtos de alto valor agregado como eu coloquei aqui no artigo introdutório sobre FPGA:


Onde se utiliza FPGA?

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.

Mas também há outro nicho de mercado para nossos queridos FPGAs!

A Lattice (http://www.latticesemi.com/) lançou a algum tempo no mercado a família de FPGAs ICE40 (clique aqui) que concorrem diretamente com microcontroladores mais simples, eles tem poucos elementos lógicos, uma quantidade baixa de I/Os e memória, baixo consumo e tamanho mas possuem todos os benefícios de ser um FPGA :), com certeza tem mais throughput que todos os microcontroladores nesta faixa de preço, o valor chega a USD $0.50 por unidade!

A Lattice enfatiza a utilização deste FPGA em aplicações mobiles, como por exemplo, celulares e tablets.
Este FPGA parece ideal para glue-logic (interface entre dois hardwares diferentes, conversão de protocolo por exemplo), implementar lógicas de controle simples que necessitam de poucos I/Os (controlar/ser controlado via serial,i2c, spi e etc), prover mais I/Os para um processador, realizar processamento de dados antes de enviar para o processador (diminuindo o consumo/força de trabalho do processador) e etc.

Para quem quiser dar uma brincada tem o ICEstick Evaluation Kit (link) com valor a partir de USD $24,00, possui 16 GPIOs, 5 Leds e 2 IrDA transceivers (RX/TX) para brincar com wireless. O manual de referencia do kit se encontra aqui.

ICEstick Evalaution Kit

Confesso que nunca utilizei FPGA da Lattice e nem conheço o seu software equivalente ao Quartus II da Altera ou ao ISE da Xilinx mas conheço engenheiros que fizeram projetos complexos com Lattice e recomendam! Por este preço eu acho que vale a pena comprar seja para aprender VHDL ou para prototipar algum produto.

Quem sabe não vemos algum movimento da Altera ou da Xilinx para entrar neste nicho de pequenos FPGAs... E ai, já pensou em trocar seu PIC por um FPGA ? :)

Um comentário:

  1. Muito bom Andre!
    Quanto a pergunta final, tenha certeza que em breve a Altera anunciará novidades. Está para ser lançado um CPLD com jeito de FPGA (ou o contrário). O dispositivo vai ter memoria interna mas seus elementos logicos serao mais simples como nos MAX V.
    Entao logo a brincadeira ficará bem interessante no nicho dos devices de 1 dolar.

    ResponderExcluir