[ListaTutorial][Icezum] Constantes y leds

132 views
Skip to first unread message

Obijuan

unread,
Jun 17, 2017, 3:24:16 AM6/17/17
to FPGAwars: explorando el lado libre
Hola!

Para los tutoriales y cursos sobre Icestudio y FPGAs libres, estoy creando bloques de prueba. Los iré poniendo aquí en la lista como ejemplos de cosas que se pueden hacer, y a la vez ir enseñando pequeñas cosas de electrónica digital práctica para los iniciados. Cualquier feedback será más que bienvenido :-)  (Será esto un Lista-tutorial??)

Empiezo por lo más sencillo: El ejemplo de encender un led, que os viene en icestudio 0.3 en la colección por defecto. Lo cargáis desde Archivo/Ejemplos/1.Básicos/01. Un led:





El '1' es un bit CONSTANTE, que no cambia. Siempre está a 1. A través del cable se transmite por el pin de salida que está conectado al LED 0 de la Icezum Alhambra, por lo que al cargarlo veréis que el led 0 se queda encendido (hasta que apaguéis la placa o carguéis otro circuito).  Es el "Hola mundo" de la icezum Alhambra :-)


Bien, Icestudio permite que tú te puedas definir tus propios bloques. ¿Por qué usar como constante para el BIT activado un 1 clásico?  Yo suelo usar este "1" con patas, que va correteando por el cable :-)


El ejemplo lo podéis bajar de:

https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/01.Bit-led.ice

Lo sintetizáis en la placa directamente desde icestudio con la opción Herramientas/Cargar  (NO hace falta darle a Verificar, ni tampoco  a Sintetizar)


Para usar este nuevo "1" en vuestros circuitos, lo podéis hacer de varias maneras:

1)  Hacéis un "copy & paste" desde este ejemplo a vuestros diseños
2) Os instaláis una colección que ya lo incluya, como por ejemplo esta:  https://github.com/Alhambra-bits/Lattuino-collection 

  2.1) Vais al enlace y pincháis en el botón verde de la derecha: Clone or Download y luego en Download ZIP
  2.2) Se os descargará un fichero .zip con la colección (No lo descomprimáis!)
  2..3) Desde Icestudio lo añadís con la opción: HerramientasColecciones/Añadir
  2.4) Para usarla la tenéis que seleccionar, desde: Selecciconar/Coleccion/Lattuino-collection-master  (el nombre lo podéis cambiar, si queréis)
  2.5) Ya tenéis los bits "corredores" accesibles desde el menú: Const/Bit
  2.6) El ejemplo "hola mundo corredor" lo tendréis acceible desde Archivo/Ejemplos/01.Constantes/01.Bit-led

Esta es una colección de prueba - frikeo, que está cambiando muy rápido. Puede sufrir (y sufrirá) muchas modificaciones :-)

Saludos, Obijuan




Auto Generated Inline Image 1
Auto Generated Inline Image 2

Obijuan

unread,
Jun 17, 2017, 4:51:00 AM6/17/17
to FPGAwars: explorando el lado libre
Esto de definirte tus propios bloques da mucho juego :-)



Fichero:

https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/02.Encender-led.ice

El bloque Trollface es también muy importante. Está medito en la colección en la categoría de Sticker. Hay que darle vidilla a los circuitos :-)

 Saludos, Obijuan
Auto Generated Inline Image 1

Obijuan

unread,
Jun 17, 2017, 6:42:59 AM6/17/17
to FPGAwars: explorando el lado libre
Me ha gustado esta idea de usar otros iconos para representar 1s y 0s.  Aquí estoy usando una antorcha encendida y otra apagada:

Ejemplo:

https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/03.Antorchas.ice



Saludos, Obijuan

El sábado, 17 de junio de 2017, 9:24:16 (UTC+2), Obijuan escribió:
Auto Generated Inline Image 1

Obijuan

unread,
Jun 17, 2017, 7:07:30 AM6/17/17
to FPGAwars: explorando el lado libre
Y esta es una idea más clásica: el interruptor on = 1, interruptor off = 0:


Fichero:
https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/04.switches.ice


Saludos, Obijuan


El sábado, 17 de junio de 2017, 9:24:16 (UTC+2), Obijuan escribió:
Auto Generated Inline Image 1

Josbaney Pereira

unread,
Jun 18, 2017, 1:16:39 PM6/18/17
to FPGAwars: explorando el lado libre

Juan Gonzalez Gomez

unread,
Jun 18, 2017, 2:11:43 PM6/18/17
to FPGA-WARS: explorando el lado libre
Hola Josbaney,

El enlace es correcto, es el contenido del fichero de ejemplo. Solo tiene que geabarlo a fichero.

O si prefieres bájalo directamente desde esta carpeta de github


Saludos, Obijuan

--
Has recibido este mensaje porque estás suscrito al grupo "FPGAwars: explorando el lado libre" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a fpga-wars-explorando-el-lado-libre+unsubscribe@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a fpga-wars-explorando-el-lado-li...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/fpga-wars-explorando-el-lado-libre.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/fpga-wars-explorando-el-lado-libre/b5d88157-27e8-4ecc-a85e-474072c08361%40googlegroups.com.

Para acceder a más opciones, visita https://groups.google.com/d/optout.

Jose Pico

unread,
Jun 18, 2017, 5:30:06 PM6/18/17
to FPGAwars: explorando el lado libre
Muy Buenos!

jejejej.

Obijuan

unread,
Jun 19, 2017, 12:14:54 AM6/19/17
to FPGAwars: explorando el lado libre
Hola,

Seguimos con las constantes y los leds. Además de activar bits individualmente, en Icestudio es posible usar buses para enviar valores binarios, que activan varios leds a la vez.
En este ejemplo se envía el valor de prueba de 8 bits 0xAA (que se corresponde en binario con el valor 10101010). Es un valor muy usado en hardware, para depuración, ya que combina los 1s y los 0s alternativamente:




Fichero:

https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/Value-AA-8bits-test.ice

(Josbaney: usa el botón derecho del ratón para grabar el enlace como fichero, en vez de mostrarlo en el navegador)

El bloque AA es una constante de 8 bits, que he creado para hacer pruebas

Al cargarlo en la icezum, el estado de los leds será este:



Saludos, Obijuan

El sábado, 17 de junio de 2017, 9:24:16 (UTC+2), Obijuan escribió:
Auto Generated Inline Image 1
Auto Generated Inline Image 2

Obijuan

unread,
Jun 19, 2017, 11:15:26 AM6/19/17
to FPGAwars: explorando el lado libre
Para hacer pruebas más rápido con los leds, enviando diferentes valores en hexadecima (o binario), se pueden definir bloques con parámetros.

En este ejemplo se ha definido el bloque Num que contiene un número genérico de 8 bits. El contenido de esta constante se especifica con el parámetro V, desde Icestudio



En este ejemplo, se ha puesto el valor 0x55 (que se corresponde con el número binario 01010101). Es el negado de 0xAA, y es un valor que se usa también muchísimo los circuitos hardware para hacer pruebas

Notad que este número está escrito en hexadecimal, usando la notación de verilog:  8'h55
El primer número es el número de bits (en este ejemplo de 8). Luego el carácter ' , después la h para indicar que los dígitos están en hexadecimal, y por último los dígitos hexadecimales

También se podría haber puesto directamente en binario con esta notación:  8'b01010101

o directamente el número en decimal con:  8'd85

El fichero de ejemplo usado es este:

https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/01.Constantes/const8-test.ice

(grabar enlace con el botón derecho)


Saludos, Obijuan


El sábado, 17 de junio de 2017, 9:24:16 (UTC+2), Obijuan escribió:
Auto Generated Inline Image 1

Obijuan

unread,
Jun 20, 2017, 3:41:51 AM6/20/17
to FPGAwars: explorando el lado libre
Y un último ejemplo para cerrar el hilo de constantes y leds.  Usamos un multiplexor para seleccionar cuál de las 2 constantes enviar a los leds: 0x55 ó 0xAA, usando el pulsador SW1


Fichero de ejemplo:  https://github.com/Alhambra-bits/Lattuino-collection/raw/master/examples/Mux/Mux-8bits-2-1-constantes.ice

Directorio en el repo:
https://github.com/Alhambra-bits/Lattuino-collection/tree/master/examples/Mux

Os adjunto también un vídeo para que veáis el efecto en los leds:

https://www.youtube.com/watch?v=0sBDffcH8Ps


Saludos, Obijuan



El sábado, 17 de junio de 2017, 9:24:16 (UTC+2), Obijuan escribió:
Auto Generated Inline Image 1

Miquel Servera

unread,
Jun 20, 2017, 2:12:54 PM6/20/17
to FPGAwars: explorando el lado libre
Gracias por las explicaciones.

Saludos, Miquel
Reply all
Reply to author
Forward
0 new messages