Página 1 de 3

Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 10 Abr 2013 16:16
por luisf.rossi
Senhores,

Tenho o prazer de lhes apresentar a placa FPGA 101.

Fotos em:

https://plus.google.com/photos/11692822 ... 6570839633

Detalhe importante, eu sou um péssimo fotógrafo e estou com pouca luz.

Basicamente se trata de um kit de desenvolvimento FPGA (desenvolvido por mim) com um Cyclone IV, um USB Blaster compatível embarcado, memoria flash de 16Mb, um transceiver USB para criação de interface USB Host e Device , leds, chaves tácteis e IOs de expansão compatíveis com shields de Arduino (desde que apenas digitais e com nível de tensão dos IOs de 3.3V). A ideia da placa é ser um kit para pessoas que estejam interessadas em entrar no mundo do FPGA sem muitas complicações.

Vão haver projetos de exemplos e um breve tutorial da placa com documentação em português.

Nas fotos vocês também pode ver uma pequena placa de expansão VGA que eu fabriquei para demonstrações.

O kit foi concebido em uma parceria com o Lab de Garagem e a principio eles serão responsáveis pela fabricação e comercialização da mesma.

A placa que está nas fotos é um primeiro protótipo e pode sofrer pequenas alterações na versão final.

A razão de não criar uma placa inicialmente com milhares de periféricos, um FPGA gigante e tudo mais é exatamente o custo. Quando eu fiz as escolhas iniciais de projeto eu coloquei para mim mesmo os seguintes requisitos críticos:

- A placa precisa ter um J-Tag com capacidade de Debug e já integrado com o software de desenvolvimento. Dai a razão do USB Blaster e não um J-Tag baseado em FTDI como muitas outras.
- A placa precisa ter um mínimo de funcionalidade "out-of-the-box". Por isso a existência dos Leds e das chaves tácteis.
- A placa precisa ter algum modo embarcado de realizar comunicação com um computador. Serial não existe mais e por isso a escolha do USB. Não foi utilizado um FTDI por questões de custo e flexibilidade. Com um transceiver USB e a PHY e a lógica do USB internos a possibilidades ficam muito maiores. Podem ser implementados qualquer endpoint (incluíndo isochronous é que essencial para trabalhar com streaming de audio e video). Além disso a porta USB pode servir como USB Host.

Fora esses requisitos críticos eu defini que a placa precisa de bastante IOs expostos para poder ser utilizada em diversas aplicações.

O FPGA que eu estou trabalhando tem um total de 144 pinos, mas muitos são utilizados para GND, VCCA, VCCIO, JTAG, interface serial com a Flash e ai vai. Com isto acabam sobrando apenas em torno de 87 IOs/Clocks. Para colocar uma SDRAM o preço da placa subiria marginalmente porém eu precisaria utilizar algo em torno de 36 pinos. Logo provavelmente os leds e a chave teriam que ser sacrificados, perdendo a funcionalidade dela "out-of-the-box".

Para implementar Softcores mais robustos ou uma interface de vídeo mais interessante uma SDRAM seria necessária. Muito provavelmente, se houver demanda será criada uma versão com uma SDRAM e possivelmente um FPGA com um pouco mais de recursos lógicos. Porém, para quem é realmente iniciante e nunca tocou em um FPGA, quer gastar pouco e aprender o básico de lógica programável criar alguns IP Cores, eu ainda acho que a placa atual seria mais indicada. Pessoalmente eu acho que pessoas que estejam começando na área devem ficar longe de softcores mais elaborados inicialmente.

Um aspecto interessante desta placa é que ela é "stackable". Existem dois jumbers de trilha que podem ser cortados desconectando a alimentação dos headers. Desta forma você pode conectar diversos FPGAs em paralelo. Se realmente nascer uma versão com SDRAM, a placa atual ainda poderia trabalham junto com a nova placa.

Para amantes de Softcore atualmente eu já fiz a implementação de um openMSP430 rodando um programa gerado pelo mspgcc. Depois eu implementei uma coisa que ficou interessante. Eu já havia implementado uma interface USB-Serial. Essa interface, no lado do FPGA, na verdade não é bem uma serial, mas sim duas FIFOs (entrada e saída) onde os dados enviados e recebidos são os mesmos que a aplicação no computador vê na porta COM.

O que eu fiz foi criar uma glue-logic, mapeando essa interface na memória como se fosse uma UART para o MSP. Ou seja, na visão do MSP existe apenas uma UART (nem todos os registradores tem alguma função, já que não existe efetivamente uma baud rate por exemplo), na visão do computador é uma COM, mas no fundo não acontece nada de serial, apenas USB. É como se fosse uma implementação de uma USB-serial em um ucontrolador com USB nativo, porém com uma abstração totalmente implementada em hardware. Logo o MSP430 não gasta um bit de flash ou de RAM para que isso aconteça.

Qualquer comentário é bem vindo.

Abraços,

Luís Filipe Rossi

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 10 Abr 2013 21:39
por styg
Luis, bem interessante a plaquinha, tem ideia da faixa de preço que vai ficar? Nunca mexi com FPGA, só PLD na época da facul, principalmente pq era bem mais caro do que mcu e não compensava pra maioria das minhas aplicações.

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 12 Abr 2013 17:51
por tcpipchip
SDRAM e possivelmente um FPGA com um pouco mais de recursos lógicos


Faz isto...para portar um uclinux nela

TCPIPCHIP

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 12 Abr 2013 19:11
por andre_luis
Luís Filipe,


Muito interessante o projeto, e torço para sair a um custo acessível, pois ainda tenho o gap do VHDL, que poderia ser suprido com seu Kit.
Porém gostaria de saber se voçê pretende comercializar a interface VGA também, pois isso foi o que mais me atraiu nas fotos de demonstração.


+++

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 04 Mai 2013 22:37
por andre_luis
Alguma novidade sobre o brinquedo ?

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 27 Mai 2013 11:46
por luisf.rossi
Me desculpe,

Por algum motivo eu perdi a notificação dos reply no meu e-mail.

A placa vai ser comercializada pelo Lab de Garagem [1] e o preço de comercialização ainda está para ser definido. Porém, a placa foi projetada para ter um custo bem acessível.

O quando da comercialização depende deles também. Muito provavelmente um lote bem pequeno de placas vai ser posto para venda em breve.

André, o adaptador VGA vai ser comercializado sim. Ele tem 15 bits de cor.

Postei uma aplicação na área de FPGA do forum. Para quem quiser ver segue o link [2]

[1] http://labdegaragem.com/
[2] viewtopic.php?f=20&t=14766

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 27 Mai 2013 12:12
por andre_luis
Ok, aguardo ( ansiosamente ) a comercialização do produto.
Se lembrar, avisa aqui assim que estiver disponível, ok ?


+++

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 09:00
por luisf.rossi
Senhores,

A FPGA 101 acabou de sair no LdG para venda:

http://www.labdegaragem.org/loja/48-ldg/fpga-101.html

Infelizmente o preço está bem acima do que eu gostaria devido ao nosso grande governo. Estamos trabalhando para derrubar este preço.

No momento estou trabalhando com eles para gerar exemplos e tutoriais com a placa.

Escrevi também um post sobre a placa no site do embarcados.com.br para quem tiver interesse.

http://www.embarcados.com.br/conheca-a-fpga-101-um-kit-de-desenvolvimento-de-baixo-custo/

Qualquer dúvida que tiverem estou a disposição.

Abraços,

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 09:14
por tpfslima
Parabens Luis.

Essa idéia de ser compatível com Arduino ( :) com limitações, claro - rsrsrs ) foi genial!

Gostei do preço que, se comparados com os de fora, está bem bom - Não vou negar que no começo fiquei assustado porque não conhecia a faixa de valores das placa com FPGA;

Na verdade, acho esse mundo de FPGA meio dificil de entrar... Para poucos!

Separa os homens dos meninos :)

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 09:57
por mastk
Luis, meus parabéns, assim que conseguir emprego pega uma, ficou genial.

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 12:20
por xultz
Existe compilador gratuito para esta FPGA?

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 13:55
por luisf.rossi
Tem sim, o Quartus II Web Edition.

http://www.altera.com/products/software ... index.html

Mas prepara a paciência que o bicho é grande...

Abs

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 15:23
por xultz
Nah, é piquininho, mês passado eu precisei baixar o ISE Webpack da Xilinix, e os cretinos têm coragem de fazer o programa com 5G bytes...

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 20:35
por tcpipchip
Pensou no uclinux para ela ?

Re: Meet FPGA 101 (Kit de FPGA Entry Level)

MensagemEnviado: 13 Nov 2013 21:57
por msamsoniuk
tcpipchip escreveu:Pensou no uclinux para ela ?


colocar linux em uma FPGA eh o mesmo que comprar um F-15, arrancar as asas e andar com ele na rua com o freio de mao puxado! (: