Digilent BASYS 2 – FPGA Kit unboxing

O ultimo ano foi bastante dinâmico não só para a comunidade MSX mas também para a comunidade de desenvolvimento de software e hardware em geral.

Vale ressaltar na comunidade MSX sobre o desenvolvimento, no Brasil, de tecnologias que já estão disponíveis há um certo tem em outros países como por exemplo a placa de rede para MSX, baseada na Obsonet, construída por Ricardo Oazem da Tecnobytes. Outra novidade original do Brasil é a placa IDE, também da Tecnobytes, com 512 Kbytes de Memory Mapper e como senão bastasse essa quantidade a mais de memória mapeada, essa Mapper é reconhecida em qualquer MSX, inclusive os de primeira geração.

Isso tudo é para exemplificar que o mercado MSX está repleto de coisas novas e no meio dessas coisas novas de MSX muitas outras existem em paralelo, principalmente no desenvolvimento de hardware e software embarcados, que é um mercado emergente no Brasil, principalmente através de tecnologias de hardware open source para hobbystas, como a Arduino e também através de tecnologias mais profissionais para desenvolvimento de hardware reprogramáveis, como a FPGA.

Em um futuro próximo escreverei um post sobre a tecnologia Arduino, no momento o meu interesse é sobre a FPGA, tecnologia essa que tive contato pela primeira vez em 2004, quando naquela época eu arquitetava e desenvolvia o software que controlava toda a inteligência de um veículo aéreo autônomo, ou UAV, para um grande cliente.

Foi um contato rápido mas que me deixou bem interessado nessa tecnologia, pois na mesma época o One Chip MSX (OCM) começava a despontar no cenário da comunidade MSX mundial. assim como em diversos outros projetos que começavam a ser desenvolvidos em torno dessa tecnologia. Foi o suficiente para saber que existem 2 grandes players nesse mercado de FPGA, sendo a líder a Xilinx, seguida de perto pela Altera.

Acompanhando o autor do projeto MSX ARM, Rogério Machado, até um revendedor de placas baseadas em FPGA, na ultima semana, fiquei bastante empolgado em começar a desenvolver coisas baseadas em FPGA e terminei adquirindo um kit de aprendizado, o BASYS 2 da Digilent Inc., nada parecido com a DE0-Nano, da terasIC, baseada em Altera e utilizada para auxiliar o desenvolvimento do protótipo do MSX ARM e que  possui uma grande quantidade de  I/O, 1 conversor A/D de 8 canais e 1 acelerõmetro, 32MB de memória entre outras características interessantes, mas para mim a BASYS 2 já é um excelente começo.

Abaixo segue as imagens do unboxing…..

Digilent BASYS 2

……e o detalhe da plaquinha.

BASYS 2 - FPGA Kit (Xilinx based)

Características técnicas do Kit.

  • Xilinx Spartan-3 E FPGA, 100K ou 250K;
  • Possui 18 bits multiplicadores, 72Kbits de RAM, e 500MHz;
  • 2 Portas USB de velocidade total para configuração e transferência de dados;
  • Adept 2.0 software disponível como um download gratuito;
  • XCF02 Plataforma Flash ROM que armazena as configurações FPGA indefinidamente;
  • Freqüência de oscilação configurável pelo usuário (25, 50 e 100 MHz);
  • Reguladores de voltagem (1.2V, 2.5V e 3.3V), que permite o uso de 3.5V-5.5V;
  • 8 LEDs, 4 displays de sete segmentos, quatro botões, 8 comutadores, porta PS / 2 e uma porta de 8-bit VGA;
  • Quatro conectores de 6 pinos para o usuário;

.

BASYS 2 (XILINX based)

Ou seja, é uma placa básica mas que de imediato dá para perceber que tem um potencial para desenvolver até coisas não triviais, como por exemplo implementar uma placa de vídeo VGA e testar o resultado através do conector VGA presente no kit. Sem contar os 4 displays que podem, entre outras coisas, ser utilizados para interação com o usuário ou até mesmo para mostrar informações de debug.

As 8 chaves comutadoras e os 4 botões são mais do que suficientes para possibilitar a entrada de dados por parte do usuário, sem contar a porta PS/2 que possibilita a implementação de entrada de dados via teclado.

O FPGA utilizado na placa é o Xilinx Spartan-3 E, com capacidade suficiente para as minhas necessidades de iniciante :), onde já até penso em criar algum projeto, quem sabe um Atari 2600.

É claro que não poderia faltar um material impresso ou até mesmo em formato eletrônico para o aprendizado de alguma linguagem para desenho e especificação de hardware e a mais conhecida é a HDL,  que, é claro, tem suas variações e forks.

Abaixo a imagem dos 2 livros que aquiri juntamente com o kit…….

Introduction to Digital Design - Using Digilent FPGA Boards

….depois de comprar esses 2 livros, descobri que a própria Digilent disponibiliza um preview desses, e outros, livros gratuitamente em PDF, então você pode consultar o conteúdo do livro antes de adquiri-lo, inclusive você pode fazer a compra diretamente no site da própria Digilent.

  • Digital Design – Using Digilent FPGA Boards (VHDL/ActiveHDL Edition)  – 75+VHDL Examples – Richard E. Haskell,  Darin M. Hanna – LBE Books;
  • Digital Design – Using Digilent FPGA Boards (VHDL/ActiveHDL Edition)  – 30 VHDL/Active-HDL Examples – Richard E. Haskell,  Darin M. Hanna – LBE Books;

Segue abaixo os links para download e compra:

http://www.digilent.cc/Products/Catalog.cfm?NavPath=2,729&Cat=14

Pesquisando na internet é possível encontrar diversos projetos que utilizam a FPGA Spartan 3 da Xilinx e que com alguma ou nenhuma alteração poderão ser utilizados no BASYS 2 da Digilent, entretanto o objetivo desse post é apenas fazer uma apresentação do kit para que no decorrer do ano que se inicia  eu possa mostrar seu funcionamento e exemplos de utilização.

[]’s
PopolonY2k

Referência na internet

Obsonet (MSX.Org)
http://www.msx.org/articles/obsonet

Obsonet
http://obsonet.blogspot.com/

Tecnobytes
http://www.tecnobytes.msxall.com/

Arduino (Wikipedia)
http://en.wikipedia.org/wiki/Arduino

FPGA (Wikipedia)
http://en.wikipedia.org/wiki/Fpga

UAV (Wikipedia)
http://en.wikipedia.org/wiki/Unmanned_aerial_vehicle

One Chip MSX (Wikipedia)
http://en.wikipedia.org/wiki/1chipMSX

XILINX (Wikipedia)
http://en.wikipedia.org/wiki/Xilinx

Altera (Wikipedia)
http://en.wikipedia.org/wiki/Altera

Digilent Inc.
http://www.digilentinc.com/

BASYS 2 (Digilent)
http://www.digilentinc.com/Products/Detail.cfm?Prod=BASYS2

terasIC
http://www.terasic.com.tw/en/

DE0-Nano (terasIC)
http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=593

VGA (Wikipedia)
http://en.wikipedia.org/wiki/Video_Graphics_Array

Atari 2600 (Wikipedia)
http://en.wikipedia.org/wiki/Atari_2600

Hardware description language – HDL (Wikipedia)
http://en.wikipedia.org/wiki/Hardware_description_language