Placa de desarrollo FPGA EP1C3T144

Últimamente están apareciendo placas de entrenamiento para FPGAs a un precio bastante interesante, y si miramos al mercado chino, aún más. El otro día me topé con una bastante completa basada en la EP1C3T144 de Altera. Es una FPGA de la primera generación de la familia Cyclone, así que tiene sus limitaciones, pero por el precio, es más que recomendable para empezar a jugar con las FPGA. Si buscas “FPGA Cyclone Altera EP1C3T144 Learning Board” en eBay, la encontrarás sin mayor problema (incluso la venden con el programador USB-Blaster y el cable JTAG).

Las características de la placa son:
– Altera Cyclone de la serie serie EP1C3T144.
– Cuatro teclas.
– Cuatro displays de 7 segmentos.
– Seis leds.
– Dos DIP de seis interruptores.
– Reloj activo a 50Mhz.
– Receptor de infrarrojos (VS1838).
– Sensor de temperatura (DS18B20).
– Un buzzer.
– Puerto de comunicaciones serie MAX232.
– Módulo de reloj DS1302.
– Interfaz para LCD de 16 pines.
– Interfaz JTAG y AS.
– 28 Puertos E/S.

Pero (siempre hay un pero) tiene un pequeño problema: la documentación. La placa viene tal cual, ni un simple esquemita que te permita saber cómo se conectan los elementos de la placa a la FPGA, así que toca trastear un poco.
Para probarla he montado un circuito sencillo que me permita al menos probar los botones y los leds: un semisumador de un bit.

halfadder

La tabla de verdad para el semisumador es

half-adder2

Esta FPGA se puede usar con el software Quartus II de Altera, sólo hay que bajar la <i>web edition</i> 11, que es gratuita (versiones posteriores no soportan esta FPGA). Así pues, configuramos el circuito:

halfadder_1

Las correspondencias de los pines de la FPGA con los botones y los leds en esta placa son:
PIN_42 – LED7
PIN_47 – LED6
PIN_49 – LED5
PIN_52 – LED4
PIN_55 – LED3
PIN_57 – LED2
El LED1 está conectado directamente a VCC por lo que siempre está encendido.

PIN_60 – Botón 4
PIN_61 – Botón 3
PIN_62 – Botón 2
PIN_67 – Botón 1

Para el semisumador, he conectado las entradas s1 y s2 a los pines de los botones 1(PIN_67) y 2(PIN_62) y las salidas sum y carry a los leds 2(PIN_57) y 3(PIN_55). Esta es la asignación en el pin planner de Quartus.

pinplanner

Tras configurar la FPGA, la primera en la frente. Se iluminan todos los leds de la placa, incluidos los displays de 7 segmentos. Tiene fácil solución, hay que configurar los pins no conectados como triestado.

tristate

Ahora ya no se ilumina toda la placa, pero… el circuito no se comporta correctamente. Es más, parece actuar de forma contraria a la que debería. La verdad es que no es nada extraño que los pines de entrada a la FPGA dónde se conectan los botones estén directamente  conectados a VCC a través de una resistencia pull-up, de forma que al pulsarlos conecten el pin a tierra y lo pongan en estado bajo. Justo lo contrario de lo que esperábamos.

pull-up

Algo parecido ocurre con los leds, así que para solucionarlo he añadido inversores a las entradas y las salidas del circuito.

halfadderfinal

Ahora sí, vemos que todo marcha como debería.

Ya os iré contando más cosas de esta placa para tratar de suplir un poco la falta de documentación.

 

Segunda parte: http://www.digilogic.es/placa-de-desarrollo-fpga-ep1c3t144-ii

Tercera parte: http://www.digilogic.es/placa-de-desarrollo-fpga-ep1c3t144-iii/

9 Comentarios en "Placa de desarrollo FPGA EP1C3T144"

  1. tiago lopes de souza | en | Responder

    Hola, ¿podría decirme cómo le hizo para hacer que su equipo reconoce la FPGA? Yo uso Windows 8.1 y que no reconoce el USB blaster. Gracias y lo siento por el mal español.

    • Alberto García | en | Responder

      Hola Tiago, la verdad es que no hice nada especial. Al instalar el software Quartus se instaló también el driver para USB Blaster.
      Si necesitas instalarlo a parte, prueba a seguir las instrucciones de esta página:
      http://altera-guide.blogspot.com.es/

      Espero que te ayude.

      Saludos.

      • tiago lopes de souza | en | Responder

        Sí, conseguí hacer que funcione, gracias

  2. Taco | en | Responder

    Hola me gusto tu tutorial,esta bueno para los que estamos empezando.¿Puedes hacer un tutorial para usar la interfaz para el lcd? :p

    • Alberto García | en | Responder

      Hola taco, me alegro de que te guste el tutorial. Voy a ver si me hago con un LCD y escribo un artículo sobre el tema.

  3. Gabor | en | Responder

    Could you please send me the datasheet of this product :Altera’s Cyclone series EP1C3T144 board.
    Best regards.
    Gabor

  4. Federico Espinoza | en | Responder

    Hola Alberto. Tengo la tarjeta de entrenamiento en cuestion con la fpga EP1C3T144C8N. Cargue en mi laptop el Quartus II 13.0 sp1, web edition.La verdad que ha sido imposible entrar en comunicacion con el software, por otra parte me da la impresion que no me sirve el programa ya que intrusiando llegue a buscar mi fpga y no aparece estan desde la EP2 hacia adelante. Agradecere cualquier ayuda para poder trabajar con mi tarjeta. Un saludo desde Chile.

    • Alberto García | en | Responder

      Tienes que usar una versión anterior de Quartus. Creo recordar que yo utilicé la versión 11. En cualquier caso, antes de descargarla te dice con que FPGAs es compatible.

Deja un comentario.

Tu dirección de correo no será publicada.


*