Conheça a FPGA 101: Um kit de desenvolvimento de baixo custo

FPGA 101

Como já foi comentado aqui no Embarcados pelo André, FPGAs são ferramentas bastante interessante e poderosas. Não obstante existam diversas ferramentas de desenvolvimento disponíveis, o preço delas acaba ficando inviável para pessoas que queiram aprender e desenvolver com FPGA. Apenas como referência, um desses kits que custam tradicionalmente U$79, custariam em torno de R$500,00 aqui no Brasil contando impostos, frete e custos de desembaraço aduaneiro. Se formos adicionar a margem de lucro e impostos subsequentes, o custo destas placas chega facilmente a R$800,00. 

Devido a estes custos impeditivos, FPGAs eram ferramentas bastante inacessíveis para estudantes, hobistas e engenheiros interessados na tecnologia em questão. Tendo este problema em vista, eu desenvolvi em parceria com o Laboratório de Garagem a FPGA 101: uma placa de desenvolvimento de FPGA de baixo custo, contendo tudo que você precisa para começar o aprendizado.

fpga 101

Na placa vem um FPGA EP4CE6 (Cyclone IV da Altera), um J-TAG compatível com o USB-Blaster e uma memória flash de 16Mb para armazenar o bitstream do FPGA. Os bitstreams do FPGA em questão não devem ocupar mais do que 4Mb da memória, ficando disponível 12Mb para o uso pelo usuário em suas aplicações.

Além destes recursos utilizados para gravar e debugar o EP4CE6, a FPGA 101 possuí alguns periféricos disponíveis para o usuário poder começar a desenvolver aplicações sem depender de placas de expansão: 8 leds, 2 push-buttons e uma interface USB que pode ser utilizada como Host ou Device (utilizando recursos lógicos do FPGA). Para poder aproveitar a enorme quantidade de shields de arduíno disponíveis, a placa possuí 4 headers GPIO compatíveis com tais shields. As únicas limitações são que o os shields devem operar em 3.3V e não conter sinais analógicos (FPGAs não tem conversores AD).

Mesmo com uma ferramenta destas em mãos, existe muita carência de informação digerida para aprendizado com FPGAs, em especial em português.  De forma a suprir tal carência, serão disponibilizados exemplos e tutoriais para facilitar o inicio do aprendizado dos usuários.

Apenas como demonstração de o que pode ser feito com a placa (me desculpe pela péssima qualidade do vídeo) um projeto que eu desenvolvi e será disponibilizado para os usuários. 

Ele consiste de um renderizador de Ray casting (técnica de renderização 3D utilizada nos jogos de FPS antigos)  totalmente implementado em hardware. Adicionalmente, também foi implementado um controlador de USB Host e um MSP430, tudo com recursos lógicos do FPGA. O MSP430 faz a leitura do Joystick USB e controla a posição e orientação do usuário em um mapa 2D. O renderizador pega a posição e orientação do usuário, o mapa e textura das paredes, e renderiza a imagem em 60Hz  e 480p. Neste exemplo foi utilizado um pequeno adaptador para sinais VGAs baseado em uma DAC R2R de 15 bits.

A placa pode ser atualmente adquirida na loja do Laboratório de Garagem por R$259,00, ou comprada diretamente no balcão da loja física. 

Referências

Guia Rápido de Inicialização

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Sistemas Digitais » Conheça a FPGA 101: Um kit de desenvolvimento de baixo custo
Comentários:
Notificações
Notificar
guest
28 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Antonio Santos
antonio carlos dos santos Sant
17/12/2015 18:52

boa noite alguem desse forun trabalha com fpga da marca actel A40MX04 PLG84 ?
na verdade estou a procura de um gravador para esse componente alguem pode me ajudar ?
obrigado pela atenção

Henrique Rossi
Reply to  antonio carlos dos santos Sant
17/12/2015 19:53

Olá Antonio! Obrigado pela pergunta.

O que acha de postar essa pergunta no forum mesmo do site?

http://embarcados.com.br/forum/perguntar

Você conseguiria muito mais visibilidade para a sua pergunta. 😉

Abraços,
Henrique

Anderson Lizardo
Anderson Lizardo
03/01/2015 20:46

Olá Luis, Eu comprei uma FPGA 101 do LDG, recebi semana passada. Estou desde então tentando fazer os exemplos do site funcionarem (http://www.labdegaragem.org/loja/fpga-101.html). No entanto, estou com um problema estranho. Os exemplos são configurados sem erros usando o Quartus Programmer, mas os LEDs não estao sendo ligados/desligados como esperado... Tentando com meus proprios exemplos, o que parece é que o sinal de clock de 12MHz (que pelo que entendi do esquematico, é gerado pelo microcontrolador que funciona como USB Blaster) não está funcionando... Processos combinatoriais (por exemplo, acender um LED equanto o botao está pressionado) funcionam, mas construcoes sequenciais ("@always… Leia mais »

Luis Filipe Rossi
luisfrossi
Reply to  Anderson Lizardo
07/01/2015 16:52

Anderson boa tarde,

Eu realmente não utilizei o Quartus II 14.1, mas acredito que não seja o problema salvo se nessa versão nova exista algum Bug de incompatibilidade. Se estiver disposto a arriscar visto que o download é bem grande, pode baixar a versão 13.1.

Se os exemplos disponibilizados não estão funcionando corretamente, entre em contato com o LdG. Você pode ter pego uma placa premiada.

Abraços

Anderson Lizardo
Anderson Lizardo
Reply to  luisfrossi
10/01/2015 16:40

Olá Luis, Como os exemplos do site não funcionaram (mesmo usando o SOF já compilado, o que elimina problema com a versão do Quartus), resolvi mandar a placa de volta para o LdG para verificação. De qualquer forma, parabéns esforço de projetar esta placa e deixá-la disponível em uma licença CC. Dentro do espírito de Open Hardware, seria possível disponibilizar os arquivos necessários para conseguirmos estudar o circuito completo, fazer reparos e produzir versões próprias? No site do LdG tem apenas parte do esquemático em PDF, mas não os arquivos EDA. Pelo que entendi, você usou o design do USB… Leia mais »

Gabriel Favero Miranda
Gabriel
17/05/2014 11:37

Olá Gostaria de saber onde posso encontar o adaptador de vga, utilizado no projeto

Luis Filipe Rossi
luisfrossi
Reply to  Gabriel
11/07/2014 18:14

Boa noide Gabriel,

Em tese ele deveria ser comercializado pelo LdG, porém se quiser entrar em contato comigo posso tentar lhe ajudar com isso. Ele só utiliza resistores e o conector VGA, então seu circuito é bem simples.

Abraços

Gabriel Favero Miranda
Gabriel
Reply to  luisfrossi
13/07/2014 12:48

Caro Luis, agradeço pela resposta.

Informo que já consigo solucionar o problema, projetei o adaptador, utilizando um D/A com malha R2R.

Valeu.

Michael Silva
Michael Silva
02/03/2014 00:06

Sou iniciante no uso de FPGAs, então gostaria de tirar uma dúvida com vocês. Minha intenção é usar o NIOS II, um soft processor da altera, porém pelo que tenho lido é preciso usar algum tipo de memória externa com este processador como uma memória SDRAM ou SRAM. Esta placa vem com algum chip de memória SRAM ou DRAM? Caso não, alguém que já tenha usado o NIOS sabe me responder se é possível usar o NIOS II sem estes chips de memória? Desde já obrigado.

André Castelan
Reply to  Michael Silva
02/03/2014 00:33

Olá Michael, não é necessária memória externa para rodar o nios2, é possível roda-lo a partir de memória on-chip utilizando recursos próprios do fpga. Com uma memória de programa de até 64k você não deve ter problemas .
Abraços

Michael Silva
Michael Silva
Reply to  André Castelan
02/03/2014 11:19

Beleza então. Vou adquirir um kit destes para começar a estudar sobre FPGA. Fico no aguardo de mais material aqui no site. Valeu por tirar minha dúvida andrecas. Abraço.

Sandro Dutra
Sandro Dutra
26/02/2014 21:41

Olá novamente Luís, voltei para dar um retorno do que achei da FPGA 101, tendo em vista que, após 12 dias, ela finalmente chegou em minhas mãos... Bom os elogios que deixei na postagem anterior permanecem, é muito gratificante termos pessoas no Brasil interessadas em difundir esse conhecimento, assim como também reforço o fato de que a documentação está bastante escassa, mas fico muito feliz em saber que você irá postar mais coisas sobre a FPGA 101 e, com certeza, estou aguardando para ler, já que, sem material específico e em português, a FPGA iria acabar virando um instrumento mais… Leia mais »

Luis Filipe Rossi
luisfrossi
Reply to  Sandro Dutra
11/07/2014 18:12

Sandro, Mil desculpas pela demora na resposta. Por algum motivo. muitas vezes não estou recebendo a notificação destes comentários. Muito obrigado pelo feedback quanto à qualidade da fabricação da placa. Críticas são sempre bem vindas e eu apoio 100% que os potenciais usuários saibam o que estão comprando. De qualquer forma eu não sou parte do Lab de Garagem não tenho controle sobre o processo de fabricação deles. Posso repassar o seu feedback para eles, mas acredito que seia mais valido você o fazer visto que você é o cliente. Diga-se de passagem se a placa não passa confiança, eu… Leia mais »

Sandro Dutra
Sandro Dutra
13/01/2014 16:53

Olá caro Luís, apesar de já ter feito a assinatura para ser avisado quando este produto estiver novamente disponível para compra, eu gostaria de primeiro questionar quando será possível termos novas placas, pois estou muito ansioso para adquirir e aprender. Tenho muito interesse em adquirir uma dessas, estou quase comprando uma Mojo v3 no SparkFun para começar pelo Xilinx Spartan 6 LX9, mas vejo que a sua solução é ainda bem melhor pois está usando um FPGA da Altera Cyclone IV e sairia extremamente mais em conta do que importar um devkit para Spartan 6 ou mesmo algum devkit oficial… Leia mais »

Luis Filipe Rossi
luisfrossi
Reply to  Sandro Dutra
24/02/2014 17:06

Sandro, me desculpe pela demora. Vou trabalhar bem na documentação da placa e em exemplos no decorrer deste ano. Infelizmente ando tendo menos tempo do que gostaria, porém pretendo começar uma serie de posts aqui no Embarcados com um pequeno curso utilizando a placa. Muito obrigado pelo feedback. Quanto a disponibilidade da placa, as pessoas que sempre terão a informação mais atualizada é o próprio pessoal do Lab de Garagem, pois a logística é toda deles. Se adquirir a placa e tiver alguma dúvida, pode me enviar um e-mail que irei ficar feliz em lhe ajudar dentro do possível. Abraços,… Leia mais »

Sandro Dutra
Sandro Dutra
Reply to  luisfrossi
24/02/2014 19:37

Opa! Muito obrigado pelo retorno Luís. A 15 dias atrás a placa foi novamente disponibilizada no Laboratório de Garagem, não pensei duas vezes e comprei, por coincidência, será entregue amanhã, e irei já testar os exemplos disponibilizados, além disso comprei uma Mojo v3 pelo SparkFun e um kit de CPLD Max II genérico o qual usarei só para testar em um momento mais à frente, por enquanto, irei dar um tempo em microcontroladores e me focar mais em FPGA.

Thales Angelino
Thales Angelino
26/11/2013 07:59

Parabéns Luis, a vc e ao pessoal do Lab Garagem!
Ótima iniciativa, durante a graduação utilizei FPGA em algumas disciplina e deixou saudades 🙂
Com certeza irei comprá-lo!

Helio Coragem
Helio Coragem
13/11/2013 11:36

Só isso? Cadê os monstrinhos do "Doom" e "Duke Nuke".....eh eh eh
Muito legal! Seria possível com esta placa fazer a implementação de um SDR?

Luis Filipe Rossi
luisfrossi
Reply to  Helio Coragem
13/11/2013 16:45

Hehehehe, isso fica para os usuários da placa implementarem. Realmente não tenho ideia quais seriam os recursos necessários para um SDR e nem as características técnicas de uma placa para isso (por exemplo equalização da dimensão das trilhas para trabalharem com barramentos em alta frequência).

Rogerio Machado
Rogerio
13/11/2013 10:45

Gostei muito da implementacao do raycasting!. O codigo fonte(HDL,C) do raycasting acompanha o kit? A implementacao do mps430 eh baseada no http://opencores.org/project,openmsp430 ?

Luis Filipe Rossi
luisfrossi
Reply to  Rogerio
13/11/2013 11:27

Rogerio, fico feliz que tenha gostado. O código será disponibilizado. Ainda não foi pois está um pouco desorganizado e nada didático. A implementação do MSP430 é exatamente esta que você mencionou. O USB host utilizado foi o http://opencores.org/project,usbhostslave . Qualquer dúvida pode perguntar.

André Castelan
13/11/2013 10:11

Excelente projeto e post! Curti muito mesmo a sua placa, precisamos conversar sobre ela hehe
abs

Luis Filipe Rossi
luisfrossi
Reply to  André Castelan
13/11/2013 16:46

Obrigado Andre. Vamos criar massa crítica de conhecimento de FPGA em português.

Talvez você goste:

Séries

Menu

WEBINAR
 

Soluções inteligentes para acionamento de MOSFETs/IGBTs com família STDRIVE

Data: 08/10 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link