unary‐iii - Obijuan/Icestudio-Digital GitHub Wiki
Circuito 040-unary-iii
⬅️ Prev | Navegar por los circuitos | Next ➡️ |
---|
Contenido
- Ficha: Contador unario de ciclos, de 3 marcas
- Descargas
- Descripción
- Contando hasta el ciclo 3
- Diagrama de estados
- Cronograma
- Circuito UCONT3
- Medición con el analizador lógico
- Recursos
- Conceptos nuevos
- Enlaces
- Autor
- Licencia
Ficha: Contador unario de ciclos, de 3 marcas
- Circuito Icestudio: unary-iii.ice
- Ficha circuito: (SVG) (PDF) (PNG)
Descripción
Este circuito es un contador unario de 3 marcas, y se incrementa en cada ciclo. Comienza en el ciclo 0 sin marcas y llega al ciclo 3 con 3 marcas. La cuenta unaría que realiza se representa así:
- Ciclo 0: Ninguna marca
- Ciclo 1: 🟢️ (una marca)
- Ciclo 2: 🟢️🟢️ (Dos marcas)
- Ciclo 3: 🟢️🟢️🟢️ (Tres marcas)
Puedes encontrar más información sobre el sistema unario en el cuaderno ténico CT18: Fundamentos. Sistema unario
El circuito tiene 3 biestables, cada uno almacena una marca. En esta tabla se muestra la evolución del estado:
Biestable B1 | Biestable B2 | Biestable B3 | Descripción |
---|---|---|---|
0 | 0 | 0 | Estado inicial. Cuenta a 0 |
1 | 0 | 0 | Una marca. Cuenta a 1 |
1 | 1 | 0 | Dos marcas. Cuenta a 2 |
1 | 1 | 1 | Tres marcas. Cuenta a 3. Estado final |
... | ... | ... | Estado final |
El contador llega hasta 111
(🟢️🟢️🟢️, tres marcas), y se queda en este estado
Lo que cuenta son ciclos. En esta tabla se resume la cuenta unaria de los ciclos:
Ciclo | Cuenta unaria | Cuenta decimal | Descripción |
---|---|---|---|
0 | 0 | Estado inicial. Ciclo actual: 0 | |
1 | 🟢️ | 1 | Ciclo actual: 1 |
2 | 🟢️🟢️ | 2 | Estado final. Ciclo actual: 2 |
3 | 🟢️🟢️🟢️ | 3 | Estado final. Ciclo actual: 3 (ó mayor) |
A partir del ciclo 3 la cuenta alcanza su valor máximo y por tanto el contador satura
La salida del Biestable B0 es la señal MAX, que ya conocemos. Indica que el contador ha llegado a su valor máximo. Si la negamos, obtenemos la señal bmax, que está a 1
mientras el contador NO ha alcanzado el máximo
Contando hasta el ciclo 3
Como tenemos 3 biestables, sólo podemos representar 3 marcas y por tanto sólo podemos contar hasta 3. En esta figura se representa la evolución del estado a medida que transcurren los ciclos. En vez de los valores 1
y 0
se utiliza la marca 🟢️ y su ausencia
La salida de estos biestables está conectada a los LEDs 7, 6 y 5 respectivamente. Si pudiésemos ver el funcionamiento del circuito a cámara lenta, veríamos cómo en estos LEDs aparece la cuenta en unario, que nos indica el ciclo en el que estamos, hasta que se alcanza el valor máximo (3), donde saturamos y ya no sabemos exactamente en qué ciclo estamos
En esta animación veríamos esta cuenta:
Aunque es una forma muy rudimentaria, mirando el estado sabemos en qué ciclo estamos:
- Estado 00: Estamos en el ciclo 0
- Estado 10: Estamos en el ciclo 1
- Estado 11: Estamos en el ciclo 2
- Estado 111:
- Si flanco de subida en biestable B0, 100% que estamos en el ciclo 3
- Resto de casos, 100% seguro que estamos en un ciclo mayor a 3. Es decir, que podemos garantizar que al menos han pasado 3 ciclos desde el arranque del circuito
Diagrama de estados
Este es el diagrama de estado del circuito unary-iii. El estado inicial es 000
, que representa la cuenta 0 (ciclo 0)
En el siguiente ciclo se pasa al estado 100
(ciclo 1 en unario), luego al estado 110
y por último al estado final 111
(ciclo 3 en unario). A partir del ciclo 3, el estado siempre es 111
, y no se producen más cambios: Ya no hay movimiento de marcas en el tablero
Cronograma
La salida del circuito unary-iii la podemos tomar de cualquiera de los biestables B2,B1 ó B0. La señal correspondiente a B2 es la que ya conocemos del circuito sysclk-conn: un escalón en el ciclo 1. Esta señal se puede utilizar como señal de arranque para señalizar a otro circuito que puede comenzar
La señal que sale por B1. Es un escalón en el ciclo 2. O lo que es lo mismo, un escalón en el ciclo 1 al que se le aplica un retraso de 1 ciclo
La señal que sale por B0 es un escalón en el ciclo 3. Un escalón en el ciclo 2 al que se le aplica un retraso de 1 ciclo. Esta señal, además, es la señal MAX que nos indica cuándo se ha alcanzado el valor máximo de la cuenta
Circuito UCONT3
El circuito UCONT3 es un circuito que cuenta en unario en 3 LEDs. Como funciona a la velocidad del reloj del sistema, esto es, muy rápido, los humanos no apreciamos esta cuenta. Simplemente veremos cómo hay 3 LEDs encendidos, correspondientes a las 3 marcas de la cuenta unaria. El significado es: estamos en un ciclo mayor o igual a 3
Medición con el analizador lógico
Realizamos la medición de las señales de los tres biestables. Necesitamos utilizar la señal time0, para detectar el BIT-BANG
Este es el resultado:
Recursos
Recurso | Cantidad | Máximo | Descripcioin |
---|---|---|---|
LC | 4 | 7680 | Celdas lógicas |
IO | 4 | 256 | Bloques de E/S |
Conceptos nuevos
No hay conceptos nuevos en este circuito. Es una extensión del contador unario de 2 marcas
Enlaces
- Colección iceK: Colección para Icestudio. Constantes
- Colección iceFF: Colección para Icestudio. Biestables
- Cuaderno ténico CT18 de FPGAs Libres: Fundamentos. Sistema unario
Autor
- Juan González-Gómez (Obijuan)