Hola a todos!

Como ya sabréis algunos en vhdl.es tenemos un curso sobre desarrollo de sistemas electrónicos con VHDL sobre FPGA. En ese curso estamos utilizando la placa Nexys4 de Digilent. Esa placa contiene una FPGA Artix-7 no muy potente, pero suficiente para hacer bastantes cosas, y sobre todo muchísimos periféricos que permiten trabajar sin tener que utilizar una placa de inserción.

El problema esta placa es su elevado coste, de mas de 300€, aunque es posible encontrarla de segunda mano mas barata, este precio escapa a la mayoría de gente que simplemente quiere aprender VHDL por hobby.

Por eso hemos decidido comenzar a hacer tutoriales y trabajar también con una placa de muy bajo coste. Hemos estado buscando por Internet y hemos encontrado en Amazon una placa basada en la FPGA Ciclone II de Altera. Esta FPGA es antigua y muy barata, pero para comenzar a aprender esta muy bien. La placa cuesta 15€ y el cable USB-Blaster para programarla 7€. Incluso buscando bien en sitios como Aliexpress es posible encontrarlas por menos.

Rebajas
MagiDeal Fpga Ep2c5t144 Sistema De Aprendizaje Mínimo Bordo De Desarrollo Universal
  • -100 nuevo y de alta calidad
  • -Usando el chip CycloneIIEP2C5T144 como el sistema...
  • -Complete desde el simple control lógico,...
Rebajas
Blaster Usb FPGA CPLD Cable Programador JTAG Altera
  • ALTERA ByteBlaster USB
  • Interfaz USB
  • Rápida velocidad de descarga

El nombre de la placa para que podáis encontrarla es Altera Cyclone II EP2C5T144 FPGA Mini, y como se puede ver simplemente lleva:

  • Una FPGA de Altera Cyclone II EP2C5T144
  • Un regulador de tensión de 1,2V para el core de la FPGA y otro de 3,3V para los puertos de entrada/salida.
  • Oscilador a 50Mhz
  • Una EEPROM EPCS4 de 4Mbit
  • Muchos pines de conexión conextados a las E/S de la FPGA
  • 4 leds aunque uno esta fijo
  • Un botón

Una vez recibida la placa hemos decidido realizar un experimento muy sencillo para comprobar si funciona correctamente. Lo primero ha sido descargar el software Quartus-II desde la web de Intel. Lo que debemos tener en cuenta para ello es que al ser la FPGA tan antigua las versiones más modernas no la soportan, por lo que hemos tenido que bajar la versión 13.0.1.

Una vez descargada hemos instalado el driver del cable de programación USB-Blaster. Para ello hemos ido al administrador de dispositivos de Windows, hemos seleccionado el cable y con el botón derecho hemos hecho click en actualizar controlador. Allí hemos escogido en el directorio de instalación de quartus que en nuestro caso es altera el archivo del driver del USB-blaster de la carpeta 13.0sp1/quartus/drivers/usb-blaster

Con todo instalado toca conectar la FPGA al cable a través del header JTAG y alimentar la placa. La placa no trae un transformador, yo he tomado uno de un teléfono que tenía por casa y ha funcionado perfectamente.

Para ver el diseño que hemos hecho y cómo funciona hemos grabado un video donde podemos ver como se utiliza Quartus-II y como funciona la placa una vez programada.

El código que hemos usado es este, que como veis simplemente conecta el botón al LED para que cuando le pulsemos se encienda.

library ieee;
use ieee.std_logic_1164.all;

entity ledaltera is
  port(
    button : in std_logic;
   leds : out std_logic_vector(2 downto 0)
  ); 
end entity;

architecture funcional of ledaltera is
begin
  leds <= "11"&button;
end architecture;  

También os dejamos un esquemático de la placa para que podais ver la asignación de pines y poder seleccionar los que queráis usar en vuestra aplicación.

esquema placa