-
Notifications
You must be signed in to change notification settings - Fork 0
unary‐mod2
| ⬅️ Prev | Navegar por los circuitos | Next ➡️ |
|---|
- Ficha: Contador unario módulo 2
- Descargas
- Descripción
- Ruta de datos y control
- Evolución del estado
- Diagrama de estado
- Cronograma
- Medición con el analizador lógico
- Ciclo de trabajo
- Recursos
- Conceptos nuevos
- Importancia de este circuito
- Enlaces
- Autor
- Licencia
- Circuito Icestudio: unary-mod2.ice
- Ficha circuito: (SVG) (PDF) (PNG)
En este circuito se implementa un contador unario módulo 2. Para ello se utiliza un contador unario de 1 marca, que sólo necesita un único biestable, cuyo valor inicial es ´0´ (no hay marca). Este contador realiza la cuenta ´0´, 🟢️, ´0´ 🟢️... donde ´0´ significa que NO hay marca
Para entender cómo lo hemos obtenido partimos del contador unario módulo 3 que ya conocemos: unary-mod3 y lo reducimos para que tenga sólo 1 marca en vez de 2, por lo que eliminamos el biestable de la izquierda y también la puerta AND.
Cuando el único biestable que queda toma el valor 1, es decir, que ha llegado a su valor máximo, debido a la puerta NOT, en el ciclo siguiente tomará el valor 0 por lo que se resetea, y todo vuelve a comenzar
Aunque es un contador unario de 1 marca, también se puede ver como un contador binario de 1 bit. Son equivalentes en este caso
Aunque es un circuito extremadamente simplificado, su estructura sigue el esquema de división entre ruta de datos y circuito de control que ya conocemos de los contadores unarios módulo N. La ruta de datos está compuesta por un único biestable que almacena el estado del contador (0 ó 1). El circuito de control es una única PUERTA NOT, que toma la salida del biestable, la niega, y la realimenta de nuevo hacia el propio biestable
Este esquema se utiliza muchísimo, y lo veremos en multitud de circuitos. Hay un biestable que almacena el estado actual, y a su salida se conecta un circuito combinacional que calcula el estado siguiente. Es el estado que tendrá el circuito en el siguiente ciclo. Pero se calcula en el ciclo actual. Al llegar el flanco de reloj, se actualiza el estado y se calcula el nuevo estado siguiente, que tendrá efecto en el siguiente ciclo de reloj
En el circuito se puede ver que hay un bucle espacial. La propia señal de salida, que se pasa por una puerta NOT, se lleva de nuevo hacia "atrás". El bit de estado se queda "confinado", dando vueltas continuamente en este bucle espacial. Una vuelta por cada ciclo de reloj
Este circuito sólo tiene un biestable de estado, que evolucionando cambiando a su valor complementario, en cada ciclo, comenzando por 0: 0, 1, 0, 1, 0...
En el diagrama de estado se ven los dos estados posibles del circuito: 0 y 1. Se pasa de uno al siguiente en cada ciclo de reloj. Los estados se van alternando
Observamos que la salida del biestable es una señal periódica, de ciclo de trabajo del 50% y que tiene un periodo que es el doble del periodo del reloj del sistema. Es decir, que su frecuencia es la Mitad de la del reloj del sistema. Cada dos flancos de reloj se produce un periodo de la señal de salida
En las medidas reales comprobamos cómo la frecuencia de la señal OUT es de 6Mhz, mientras que la del reloj del sistema es de 12Mhz. Esto lo calcula el propio programa pulseview

| Recurso | Cantidad | Máximo | Descripcioin |
|---|---|---|---|
| LC | 3 | 7680 | Celdas lógicas |
| IO | 2 | 256 | Bloques de E/S |
- No hay conceptos nuevos introducidos con este circuito
Este circuito es el contador unario mínimo que podemos construir. Parte de un estado en el que NO hay marcas (0) y pasa al estado con una marca (🟢️). Esto se repite periódicamente
El Biestable almacena el estado actual, y la puerta NOT nos proporciona el siguiente estado del contador, que es justo su negado. Sabemos que esta es la señal bmax, y es la que habilita la captura del siguiente estado. Pero en este caso degenerado, no hay puerta AND y todo se simplifica
Aunque hemos llegado a este circuito a través de la simplificación de un contador unario módulo n, se trata también de un contador módulo 2 genérico. Es decir, un contador binario de 1-bit
Este circuito es la clave para la generación de señales de temporización con frecuencia menor a la del sistema. Y da lugar, a partir del siguiente circuito a la creación de PRESCALERS
- iceGates: Colección de Icestudio con puertas lógicas
- Colección iceFF: Colección para Icestudio. Biestables
- Cuaderno ténico CT18 de FPGAs Libres: Fundamentos. Sistema unario
- Juan González-Gómez (Obijuan)
- shift
- shift-reg2
- sreg-02-sys-sr-basic🟡
- sreg-concat-left
- sreg-concat-right
- concat-sysdff-sreg2
- concat-sreg2-sysdff
- sreg-03-sys-sr-basic🟡
- concat-sreg2-sreg2
- sreg-04-sys-sr-basic🟡
- unary-ii🔵
- unary-iii
- unary-n🔴
- unary-ii-timer
- unary-ii-timer-bmax
- unary-iii-timer
- sreg-unary-ii-timer
- sreg-unary-iii-timer
- unary-n-timer
- sreg-unary-n-timer
- unary-ii-wait🔵
- unary-ii-wait2🔵
- unary-ii-wait2-simp
- unary-ii-rst
- unary-iii-rst
- unary-mod3🔵
- unary-mod4
- unary-modn
- unary-mod2🔵
- unary-prescaler1:2
- unary-prescaler1:2-ini
- unary-prescaler1:3
- unary-prescaler1:4
- unary-prescaler1:n
- heart-prescaler1:2🟡
🚧 TODO 🚧
- 🟡: Nuevo bloque introducido
- 🔵: Circuito importante
- 🔴: Presentación de limitaciones y retos a superar