unidad vi: circuitos lÓgicos secuenciales contadores

30
UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Upload: gerardo-zamora

Post on 28-Jan-2016

266 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES

CONTADORES

Page 2: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Un contador es un arreglo de Flip Flopsarreglo de Flip Flops que progresa de estado en estado en respuesta a un suceso, donde un suceso puede ser un ciclo de la señal de reloj. El contador cuenta el número de sucesos.

Características

1.-Un número máximo de conteo (módulo del contador)2.-Cuenta ascendente o descendente3.-Operación síncrona o asíncrona4.-Autónomos o de autodetención

CONTADORES

Page 3: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

CONTADORES

Otros aspectos a tener en cuenta: Líneas de control de un contador:

• Enable o habilitador: para el conteo en el valor que este.• Reset síncrono o asíncrono: lleva el conteo a cero.• Up/Down : Determina si el conteo es ascendente o

descendente.• Load síncrono o asíncrono: carga el conteo con un valor

especifico. Líneas de salida de un contador:

• Valor del contador.• Overflow o desbordamiento: indica cuando el contador

alcanza el valor máximo.

Page 4: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Modulo del contador

Un Flip Flop tiene 2 estados y un arreglo de n Flip Flops puede tener 2^n estados.

El número de estados que cuenta el contador antes de volver a su estado inicial se denomina módulo o mod.

Page 5: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

CONTADORES SÍNCRONOS Y ASÍNCRONOS

Contadores Asíncronos. Todos los FFs no están controlados por la misma señal de reloj.

Contadores SíncronosTodos los FFs están controlados por la misma señal de reloj.

Page 6: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Contador síncrono generado a partir de un registro de desplazamiento conectado para desplazar cíclicamente

a la derecha.Después de n ciclos el contador vuelve a su estado

inicial.

Este contador es muy simple y es extremadamente

fácil, pero utiliza los Flip Flops de una forma no muy

optima.

Contador de anillo

Page 7: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Arreglo de n FF que permite dividir la frecuencia del reloj inicial en 2^n veces

Contador Asíncrono de módulo 2 n

Page 8: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Un bit cambia cuando todos los bits menos significativos a este son simultáneamente 1.

Contador síncrono de módulo 2 n

Page 9: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

9

Procedimiento para construir un contador MOD X

1. Determinar el menor número n de FF tales que 2n >= X. Si 2n= X entonces el contador está listo.

2. Conecte una compuerta NAND a las entradas asíncronas CLR de todos los FF involucrados

3. Determine cuáles FF están en el estado ALTO en un conteo =X; luego conecte las salidas normales de estos FF a las entradas

de la compuerta NAND.

Ejemplo: Contador MOD 10 Arreglo de 4 FF con la salida del segundo y cuarto FF a la entrada de una compuerta NAND.

Contador MOD X

Page 10: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Contador descendente

X2X1X0

7 1116 1105 1014 1003 0112 0101 0010 000

X0 cambia en cada ciclo de relojX1 cambia cada vez que X0 pasa de bajo a altoX2 cambia cada vez que X1 pasa de bajo a alto

Para construir un contador descendente basta con Conectar la

salida negada del FFi al reloj del FFi+1 en un arreglo de FF JK

Page 11: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Contadores descendente

Page 12: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

Preestablecimiento

Para poder, por ej. en un contador MOD 16, comenzar a contar desde el número 8 es posible cargar el número 8 (0100) mediante una carga paralela incial. Para esto, se usan las entradas asíncronas de los FF (preset y clear).

Cada entrada de la carga paralela se conecta a la puerta pre y clr del FF que le corresponda. Antes de llegar a dichas entradas, se conectan a una compuerta AND cuya otra entrada (para todas las compuertas AND) es una señal de habilitación de carga paralela (número a prestablecer).

Page 13: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES

Maquinas de Estados Finitos I

Page 14: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

MAQUINA DE ESTADOS FINITOS (FSM)

La gran mayoría de algoritmos son implementados en software, esto se debe principalmente a la flexibilidad y facilidad de programación de los microprocesadores.

Algunos algoritmos no pueden implementarse solo en software. Las razones pueden variar de acuerdo a la aplicación pero frecuentemente hacen referencia a una capacidad de procesamiento que NO PUEDE obtenerse con microprocesadores

Page 15: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

MAQUINA DE ESTADOS FINITOS (FSM)

La solución para implementar estos algoritmos es utilizar hardware.

Cuando un algoritmo se implementa en hardware, las maquinas de estado se emplean para acompañar la tarea (control).

Una maquina de estados puede ser de la complejidad que se quiera y funciona de forma similar al software.

La forma más simple de maquina de estados

es un contador.

Page 16: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

MAQUINA DE ESTADOS FINITOS (FSM)

Una FSM descompone un algoritmo en pasos (estados).

Las transiciones entre estado pueden depender de una condición o evento, o pueden producirse en forma incondicional.

Las condiciones y eventos están asociados a las entradas del circuito.

Las maquinas de estado se representan por medio de Diagramas de Estados y Tablas de Transición de Estados.

Page 17: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

EJERCICIO 1

Especificar en lenguaje natural el funcionamiento de de maquina una maquina expendedora de tiquetes por medio de estados …

Sencillo

Par

Multiviaje

Page 18: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

EJERCICIO 1 – SOLUCIÓN

Paso 0 – Sistema en espera, permanece en este paso mientras el usuario no presione un botón de selección de tiquete.

Paso 1 – El sistema despliega valor de tiquete seleccionado y queda en un estado de espera a que usuario ingrese el dinero.

Paso 2 – Cuando el usuario termina de ingresar dinero, el sistema verifica que tenga la devuelta para el valor ingresado, sino la tiene devuelve el dinero ingresado por el usuario y retorna al paso 0. Si la tiene entrega el tiquete seleccionado

Paso 3 – Finalmente el sistema entrega la devuelta y agradece la compra.

Paso 4 – Regresar a estado de Espera

Page 19: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

DIAGRAMA DE ESTADOS

El Diagrama de Estados describe el comportamiento de un circuito secuencial en forma gráfica. Una FSM siempre tendrá un diagrama de estados asociado.

Los Estados del circuito se simbolizan como círculos y se etiquetan con letras mayúsculas.

Las transiciones entre estados se representan con flechas. Estas se rotulan con las entradas y el valor de estas que produjo la transición.

Las salidas pueden aparecer ya sea en las flechas o en los círculos.

Page 20: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

DIAGRAMA DE ESTADOS

Ejemplos de Diagramas de Estado

1 entrada

1 salida

5 estados

1 entrada

1 salida

4 estados

A(0)

B(0)

C(1)

D(0)

E(1)

1

0

0

1

0

1

0

1

A

B

CD

1/0

1/10/0

0/0

0/0

1/1

0/1

1/0

entrada/salida

Page 21: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

DIAGRAMA DE ESTADOS

Es muy importante tener en cuenta que si se tiene una variable de entrada simple, cada estado en el diagrama debe tener dos flechas salientes, una que corresponde a la entrada en un valor ‘1’ y otra en un valor ‘0’.

Si fueran dos variables de entrada, deben salir de cada estado cuatro flechas que corresponderían a todas las posibles combinaciones entre las entradas: 00, 01, 10 y 11.

A

B

CD

01/0 11/0

10/1

00/0

10/1 01/0

11/000/0

xx/0xx/1

Page 22: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

TABLA DE TRANSICION DE ESTADOS

La tabla de transición de estados es otra forma de representar circuitos secuenciales y FSMs. Es utilizada principalmente en el algoritmo de diseño del sistema secuencial.

ESTADO ACTUAL

ESTADO SIGUIENTE

SALIDA

0 1

A A B 0

B C D 0

C B D 1

D E D 0

E A A 1

A(0)

B(0)

C(1)

D(0)

E(1)

1

0

0

1

0

1

0

1

Page 23: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

CIRCUITOS MOORE

Los circuitos cuyas salidas solamente son funciones del estado se denominan Circuitos Moore.

En los Circuitos Moore las salidas se introduce dentro del estado, ya que la salida depende solamente del estado.

A(0)

B(0)

C(1)

D(0)

E(1)

1

0

0

1

0

1

0

1

Page 24: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

CIRCUITOS MEALY

Si las salidas de un circuito dependen del estado actual y de las entradas se denominan Circuitos Mealy.

Estando en un estado si preguntamos por el valor de la salida, podemos no tener respuesta hasta que no se especifique el valor de la entrada en el siguiente intervalo.

A

B

CD

1/0

1/10/0

0/0

0/0

1/1

0/1

1/0

Page 25: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

CIRCUITOS MEALY

Tabla de transición de estados en un circuito mealy.

ESTADO ACTUAL

ESTADO SIGUIENTE

0 1

A A/0 B/0

B D/0 C/1

C B/0 A/0

D D/1 A/1

A

B

CD

1/0

1/10/0

0/0

0/0

1/1

0/1

1/0

Page 26: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

MOORE vs. MEALY

En el sistema de Moore la independencia de las salidas de las entradas hace más fácil seguir la operación del sistema en pasos a través de sus estados y por tanto hace mucho más fácil la detección de errores.

Menos propenso a glitches en las salidas.

En forma general la versión de Mealy de un circuito secuencial será más económica en componentes físicos que la versión de Moore.

Debido a la dependencia de las salidas respecto a entradas, los circuitos Moore pueden presentar

glitches.

Page 27: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

MOORE vs. MEALY

NOTA: Cualquier Sistema secuencial se puede implementar

con alguna de los dos tipos de circuitos moore ó mealy.

Incluso es posible hacer combinaciones de ambos tipos de circuitos en un solo diseño.

Page 28: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

EJERCICIO 2

Dibuje el diagrama de estados y la tabla de transición de estados de un circuito secuencial el cual da una salida Z = 1 solamente cuando la entrada X es igual 1 durante 3 o más intervalos consecutivos de reloj. Utilice un circuito tipo Moore Utilice un circuito tipo Mealy

Page 29: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

EJERCICIO 2 – SOLUCIÓN MOORE

A(0)

B(0)

C(0)

1

0

1

D(1)

1

1

ESTADO ACTUAL

ESTADO SIGUIENTE

SALIDA

0 1

A A B 0

B A C 0

C A D 0

D A D 1

0

0

0

Page 30: UNIDAD VI: CIRCUITOS LÓGICOS SECUENCIALES CONTADORES

EJERCICIO 2 – SOLUCIÓN MEALY

ESTADO ACTUAL

ESTADO SIGUIENTE

0 1

A A/0 B/0

B A/0 C/0

C A/0 C/1

A

B

C

1/0

0/0

1/0

1/1

0/0

0/0