, 22 tweets, 12 min read Read on Twitter
Los circuitos digitales ocupan un espacio físico. Los bits se transportan de un componente a otro mediante cables. Cuando hay muchos elementos, el cableado se vuelve complejo #FPGAwars
En las herramientas de diseño electrónico se usan etiquetas para definir las uniones entre los elementos, evitando así el tener que dibujar los cables explícitamente, y facilitando la legibilidad de los diseños #FPGAwars
Gracias a Carlos Venegas (@cavearr ), disponemos de etiquetas en Icestudio, a partir de la versión 0.4-dev nightly. Vamos a aprender a usarlas con algunos ejemplos sencillos #FPGAwars
Partimos de un ejemplo que ya conocemos muy bien: hacer parpadear un led. Usamos un corazón de 1Hz para bombear bits al LED7 de la placa Alhambra II. La conexión se hace con un cable #FPGAwars
Este es el circuito equivalente pero usando la etiqueta parpadeo para hacer la conexión entre el corazón y el pin de salida donde está conectado el LED #FPGAwars
Cargamos el circuito para probarlo, y comprobamos que efectivamente el LED 0 parpadea. Funciona exactamente igual que si lo hubiésemos conectado explícitamente con un cable. En este vídeo lo vemos en funcionamiento #FPGAwars
La etiqueta por donde "entra" el cable se denomina etiqueta de entrada y es la que usamos para exportar ese cable. Está accesible desde el menú Básico/etiqueta de entrada. La otra etiqueta recibe el nombre de etiqueta de salida. Está accesible en Básico/etiqueta de salida
Para que las etiquetas estén conectadas, es necesario que tengan el mismo nombre. En esta animación se muestra cómo se colocan las etiquetas de entrada y salida del ejemplo 2 #FPGAwars
Modificamos el ejemplo anterior para tener dos LEDs, el 7 y el 0 parpadeando alternativamente. Los cables que van a los pines de los LEDs los sacamos de la etiqueta de salida. Se comporta como cualquier otro bloque, y su salida la podemos conectar donde queramos #FPGAwars
Lo cargamos y lo probamos. En esta animación vemos el resultado. No es nada nuevo, ya lo hemos hecho muchas veces en los tutoriales ;-) #FPGAwars
Por cada etiqueta de entrada, puede haber ninguna, una o varias etiquetas de salida. Cuando hay más de una, todas son el mismo cable, aunque se dibujen en posiciones separadas. Este es el ejemplo anterior modificado para usar 2 etiquetas de salida. Es totalmente equivalente
Las etiquetas son muy cómodas para tomar mediciones fácilmente, sin modificar el circuito original y sin entorpecerlo. Por ejemplo, si queremos medir la señal de parpadeo del ejemplo 5 sólo hay que añadir una etiqueta de salida conectada al pin de medición #FPGAwars
Este es el escenario, con la Alhambra II y el analizador lógico compatible Saleae, conectado al pin D0 #FPGAwars
Y esto es lo que se observa en la pantala del PulseView, del proyecto @sigrokproject #FPGAwars
Como la frecuencia del parpadeo es baja (4Hz) en el analizador vemos en tiempo real su estado: alto o bajo. Esto no tiene nada que ver con este tutorial, pero mola :-). Aquí podéis ver la animación #FPGAwars
Los buses también se pueden etiquetar, ya que al fin y al cabo, no son más que cables. Basta con colocar los corchetes al final de la etiqueta e indicar el bit de mayor y menos peso respectivamente. Vamos a ver ejemplos de ello #FPGAwars
Empezamos por un circuito que bombea números de 8 bits a los LEDs para mostrar una secuencia de dos estados. El corazón hace que el multiplexor seleccione el número 0x55 ó el 0xAA para sacar por los LEDs. La salida del multiplexor se conecta con un bus explícito a los LEDs
Ahora reconvertimos este bus en una etiqueta de bus para enviar los números a través de ella.Como el bus es de 8 bits, ponemos una etiqueta de entrada finalizada en [7:0], por ejemplo sec[7:0]. Y su etiqueta de salida, con el mismo nombre para que se establezca la unión #FPGAwars
Este circuito es totalmente equivalente al anterior, donde se usaba un bus explícito para hacer la conexión. Lo cargamos y lo probamos. En esta animación se muestra la secuencia en los LEDs #FPGAwars
En nuestros diseños podemos añadir tantas etiquetas como queramos. La conexión se hace por el nombre de la etiqueta, pero resulta útil utilizar diferentes colores para mejorar la legibilidad. El color lo definimos al crear la etiqueta #FPGAwars
Modificamos el ejemplo anterior para hacer que los números se envíen por el puerto serie al PC, además de mostrarse por los LEDs. Para ello añadimos la etiqueta numero que contiene la señal del corazón #FPGAwars
El circuito de envío al PC recibe el dato de la etiqueta sec[7:0] y genera un tic en los flancos de subida y bajada para iniciar la transmisión del valor que toca. En el terminal de comunicaciones del pc podemos ver que los valores obtenidos son los correctos: 0xAA y 0x55
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Juan Gonzalez
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!