ÍNDICE DE CONTEÚDO
Na minha opinião, o melhor jeito de se aprender algo é botando a mão na massa! E quando se trata de FPGA, não há nada mais indicado do que a compra de um kit para iniciar a aventura!
Existem diversos kits de FPGA com muitas características diferentes como por exemplo: tipos de interface, capacidade de lógica, memória, preços, etc. Vou analisar os kits com a FPGA de entrada da Altera(Cyclone) pois possuem o melhor custo-beneficio e são as mais indicadas para iniciantes. Mas não se engane: elas são bem poderosas e utilizadas em muitos produtos de alto valor agregado. Vou me limitar a analisar os que já utilizei.
BeMicro SDK (link) USD 79
Eu possuo um destes. É comercializado pela Arrow e tem como objetivo familiarizar o usuário com a programação em C para o processador softcore NIOS2 da Altera. É um dos mais baratos e de melhores custo benefício. Possui interface ethernet, microSD, botões, leds, uma memória LPDDR (Low Power DDR) de 512MB, etc.
Ele já vem de fábrica com um design em flash, que possui um NIOS2 conectado a todos os periféricos do kit. Achei difícil achar os arquivos de hardware dele como, por exemplo, onde estão conectados os pinos da FPGA , algo básico para quem quer desenvolver em VHDL com este kit. Mas o objetivo da Arrow é mesmo abstrair o design do hardware em VHDL e entregar uma solução pronta onde o usuário só programe o NIOS2. Claro que é possível desenvolver VHDL com este kit e se alguém quiser os arquivos de hardware dele, como a pinagem por exemplo, e não conseguir achar no google me coloco a disposição!
Outra coisa importuna neste kit é a LPDDR, é necessário ir no site do fabricante e pedir uma licença de uso quando quiser sintetizar o VHDL dela, é um processo burocrático e chato. A FPGA é uma Cyclone IV bem atual com 22K de elementos lógicos o que é um número muito bom. É possível, por exemplo, colocar um NIOS2 com MMU para rodar o Linux embarcado, um Mac para utilizar a ethernet e muito mais. Neste link você pode ir ao fórum da Altera nas discussões sobre o uso de VHDL no kit.
O que tem de bom:
- Preço;
- Alimentado pela USB;
- Interface Ethernet;
- Interface micro Sd Card;
- LPDDR de 512MB;
- 80 pinos de GPIO.
O que tem de ruim:
- Focado para desenvolvedores de software para o NIOS2;
- Dificuldade de se achar material sobre o hardware da placa, que é necessário para o desenvolvimento em VHDL;
- Burocracia para se utilizar a LPDDR em designs próprios na placa.
DE0 Nano (link) USD 79
Já ministrei um treinamento baseado neste kit. Ele possui acelerômetro, dois headers para GPIOs, 32 MB de SDRAM (o que é mais que o suficiente para se portar um Linux), botões, dipswitches, leds e etc. O FPGA é o mesmo da BeMicro SDK (Cyclone IV com 22k de lógica).
Minha única reclamação quanto a este kit é a falta de uma interface ethernet (claro que nada te impede de colocar um phy + um rj45 em um dos GPIOs, mas …).
É o de melhor custo-benefício se você quiser começar a aprender VHDL e não se importar com a falta de interface ethernet.
DE2 (link) USD 495
Este kit talvez seja o que mais tenho intimidade, já desenvolvi diversos projetos com ele.
Ele possui diversas interfaces, como por exemplo: porta Ethernet (algumas versões possuem duas), Display de 7-segmentos, Audio, Microfone, VGA, SDRAM, SRAM, slot de cartão de memória e etc.
É um dos mais utilizados em universidades e tem MUITOS projetos e MUITO material de aprendizado utilizando este kit como base na internet. As únicas desvantagens são: preço, FPGA um pouco antiga (Cyclone II com 35k de elementos lógicos) e pouca memória SDRAM (8MB, pouco para embarcar um linux com MMU por exemplo).
Existem algumas versões deste kit com diferentes FPGAs que corrigem estas desvantagens (exceto o preço), por exemplo o DE2-115 que possui uma Cyclone IV de 115k elementos lógicos e 128MB de SDRAM.
DE0 (link) USD 119
A DE0 é uma DE2 com menos componentes. Não possui muitas das interfaces que a DE2 possui mas, mesmo assim, conta com VGA, SDRAM de 8MB, display de 7-segmentos, leds, botões, switches, GPIOs, etc. A maior perda em relação a DE2, na minha opinião, é a falta de interface ethernet. Mas possui um ótimo custo em relação à DE2. É equipada com uma FPGA Cyclone III de 15000 elementos lógicos.
Independente do kit que você comprar recomendo ler toda a documentação que vier com ele, nos kits Altera é comum um Userguide que posui as instruções básicas de como utilizar o kit bem como todos os pinos da FPGA e onde estão ligados na placa, este documento é muito útil! Também vale a pena estudar os reference designs que rodam algumas aplicações testes com algumas interfaces da placa, um exemplo de reference design é o web server que vem com a DE2, que possui toda a infraestrutura de rede conectada, com um SoC contendo o processador NIOS2 e codigo fonte para ele rodando um servidor web. Basta jogar o .sof que vem com o projeto e testar se está tudo funcionando conforme o manual.
Prototipando um produto em um KIT
Uma outra utilidade do kit, além do aprendizado, é a prototipação de um produto e teste de conceito.
Pra que perder tempo e dinheiro desenvolvendo um hardware que pode não funcionar como o esperado quando você pode comprar um pronto, soldado, testado, com diversas interfaces e a um preço convidativo?
Normalmente os kits possuem diversos GPIOs onde você pode conectar um hardware qualquer e simular as interfaces do seu produto caso o kit não as tenha por padrão.
É normal empresas comparem Kits que possuem uma FPGA similar a que elas pretendem utilizar, assim já é possível uma ótima noção se a FPGA tem tamanho o suficiente para o hardware proposto, se o clock que você estava imaginando vai funcionar bem no seu projeto e etc.
Caso possua o produto pronto e testado em um kit, é só mandar fazer a placa. Se for o mesmo FPGA, com as mesmas interfaces e pinagem, dá até para utilizar o mesmo binário!!! Não é fantástico? Você tem seu produto desenvolvido e testado a um custo muito pequeno se comparado ao custo de uma placa customizada para testes.
O código em VHDL, se bem escrito, é completamente portável entre FPGAs diferentes. Então não perde-se tempo de desenvolvimento escolhendo um kit com um FPGA diferente do que pretende-se utilizar no produto.
Confesso que na grande maioria da minha experiência profissional e aprendizado trabalhei com kits e projetos Altera. Só trabalhei com Xilinx por um curto período de tempo recentemente. Se alguém quiser contribuir com experiencias em kits Xilinx fique a vontade! Sei que o equivalente a linha Cyclone da Altera é a Spartan da Xilinx.
Olá André! Parabéns pelo conteúdo.
Quando se trata de visão computacional, quais kits são interessantes? Você sabe se tem algum específico para esse tipo de aplicação?
Galera, pra quem ta começando e quer algo BEM SIMPLES (com todas as I/O livres), recomendo este kit:
https://www.professoremersonmartins.com.br/site/products/KIT-FPGA-%252d-EE02-%252d-SOQ.html
é Cyclone II (altera).
E o processo para criar sua PCB é bem simples. Meu trabalho de conclusão de curso foi feito baseado em FPGA Altera. Veja em: https://www.academia.edu/6375766/FPGA_Configuration_Process_with_Prototype_Development_in_Printed_Circuit_Board
Olá André, parabéns pelo post!
Acho que um kit também interessante seria esse da Lattice, o iCEstick: https://www.latticesemi.com/icestick
25 doletas!
Na minha universidade usamos o modelo stratix. Gostaria de saber se é um bom modelo ou não. NO nosso caso tem poucas IO e não tem display de LCD, tem 2 displays de 7 segmentos, 8 LEDs e 4 botões.
Olá Paulo, Stratix é o modelo top de linha de alto desempenho da Altera. Com certeza é um ótimo chip e melhor do os aqui listados (Cyclone é a de entrada). Você tem a versão dele? (Stratix I, II, III, IV ou V)
Abraço
O modelo é esse: Stratix EP1S10
Realmente é uma Stratix bem antiga mas ainda tem bastante poder de fogo 🙂 https://www.altera.com/devices/fpga/stratix-fpgas/stratix/stratix/overview/stx-overview.html
Tem bastante pino também (460 para user), talvez vocês tenham que soldar alguns headers no chip para acessa-los.
Abraço
Valeu mesmo andrecas! Gostaria de comprar uma FPGA para hobby, porém os preços são bem salgados. Só estou aprendendo a usar o Quartus II da Altera, mas me falaram que a Xilinx também é excelente com seu ISE e com placas muito boas.
Essa Stratix me falaram aqui pela universidade que veio com o foco para uso em Processamento de Sinais.
Pois é Paulo, é complicado mesmo. Tudo fica muito caro aqui no Brasil, Stratix com certeza é uma ótima pedida para processamento de sinais.
Eu já trabalhei com o ISE e com o Quartus II e prefiro as ferramentas da Altera, há quem prefira as da Xilinx 🙂 no geral são bem equivalentes.
Abraço
Achei essa aqui o projeto Mojo:
https://embeddedmicro.com/development-boards/mojo-v2.html
Pelo preço, (vem com um Spartan 6, LX9 — 9K LE) achei bem equipado, fora que ele oferecem uma IDE pra ela (pelo que vi so suporta verilog, mas ainda assim interessante).
Abs.
Usei uma DE0 Nano FPGA + STM32F4Discovery + CPLD Xinix em um prototipo. Foi como entrei no mundo das FPGA’/CPLD’s. A DE0 eh a placa + flexivevl de todas porque eh compacta e possui varios ports de I/O.
André,
Muito bom o artigo, possuo a DE0 Nano, recentemente adquiri uma dessas com um Xilinx Spartan (achei vantagem a possibilidade de encaixar numa “protolixo”, rs):
https://micro-nova.com/mercury
O que acha?
Abs!
Eu acho que soh vale a pena se for a Spartan 6. Nao vale a pena comecar um projeto novo com Spartan3 porque o custo/beneficio da Spartan 6 esta muito atrativo. Estou usando essa em um projeto: https://www.digikey.com/product-detail/en/XC6SLX9-2TQG144C/122-1745-ND/2339919
Compara o preco com a FPGA da https://micro-nova.com/mercury
https://www.digikey.com/product-search/en?x=-1220&y=-73&lang=en&site=us&KeyWords=XC3S200A-4VQG100C
US$12.37 Spartan 3(legacy) contra US$15.69 da Spartan 6 muito superior
Rogerio, gostei da Spartan6, principalmente dos DSP Slices (o Spartan3 ja me trazia as multiplicadoras prontas e ja achava demais hahahah!)
Vou olhar direitinho esse papilio também.
Obrigado pela dica!
Felipe.
Onde compro A DE0 no brasil, estou estudando o livro sistemas digitais do Tocci, e ele recomenda ela.
Sugiro esse projeto OPENSOURCE hardware: https://papilio.cc/index.php?n=Papilio.PapilioPro
tem umas nacionais também como as do professor emersson martins