Anda di halaman 1dari 68

CIRCUITOS SECUENCIALES

SINCRONOS
Introducción
Los sistemas digitales pueden operar en forma asíncrona o síncrona. En los sistemas
asíncronos, las salidas de los circuitos lógicos pueden cambiar de estado en cualquier
momento en que una o mas de las entradas cambie. En los sistemas síncronos los
tiempos exactos en que alguna salida puede cambiar de estado se determinan por
medio de una señal denominada reloj o clock. Esta señal de reloj consiste en una serie
de pulsos rectangulares o cuadrados como se muestra en la figura.

Denominaremos periodo al tiempo entre transiciones sucesivas en la misma dirección,


esto es entre dos flancos de subida o entre dos flancos de bajada. La transición de
estado en los circuitos secuenciales síncronos se efectúan en el momento en el que el
reloj hace una transición entre 0 y 1 (flanco de subida) o entre 1 y 0 (flanco de bajada).
Entre pulsos sucesivos de reloj no se efectúan cambios.

El inverso del periodo es lo que denominamos la frecuencia del reloj.

El ancho del pulso de reloj es el tiempo durante el cual la señal de reloj está en 1.

En el análisis anterior sobre el latch SC podemos ver que es un circuito asíncrono, ya


que el estado cambia en cualquier momento que cambiemos las entradas y no
sincronizado con un pulso de reloj.
Para hacerlo síncrono se
añade una entrada adicional
como se muestra en la figura.

El flip-flop sincronizado por


reloj consiste del latch básico
con compuertas NOR
mostrado anteriormente y dos
compuertas AND. La salida
de las dos compuertas AND
quedará en 0 mientras el
pulso de reloj esté en 0, sin
importar los valores de
entrada de S y C. Cuando el
pulso de reloj está en 1, la
información de las entradas S
y C pasa hacia el latch
básico.
Como puede verse en el
diagrama de tiempo, en este
tipo de FF ahora los cambios
se producen solamente
cuando la señal de reloj esté
en 1. Pero esto no previene
que el FF cambie varias
veces durante un ciclo de
reloj, y esto no es un
comportamiento deseado, por
lo tanto de alguna manera
este FF sigue siendo de
alguna manera asíncrono
(por lo menos mientras el
pulso de reloj esté en 1).

Hay dos maneras de arreglar esto. Una es la de que el estado cambie una vez que
termine el ciclo de reloj, y otra es la que el cambio ocurra en los flancos de bajada o de
subida del pulso de reloj. Mas adelante se explicará como hacerlo.

Nota: Hasta ahora hemos hablado indistintamente de latch o Flip-flop. La literatura es


variada en este aspecto, y para efecto de este curso nos referiremos en general a todos
estos circuitos como flip-flop(FF).

En general se llama latch al circuito que sea asíncrono y transparente, y Flip-Flop a los
que sean síncronos y no transparentes.

1. Asíncrono: las salidas cambian independientemente del reloj .


2. Transparente: las salidas cambian inmediatamente en respuesta a un cambio en
las entradas.
3. Síncrono: las salidas cambian en los flancos de subida o bajada del pulso de
reloj.
4. No transparente: durante la duración del pulso de reloj, los cambios en las
entradas no se reflejan en las salidas.

En la guía siguiente (Flip-Flop) nos referiremos al tipo de FF que utilizaremos a lo largo


del curso: los FF disparados por flanco.

Antes de pasar definitivamente a estudiar el comportamiento de los flip flop veamos


otras configuraciones.

Como vimos anteriormente el FF SC presenta un problema con el estado 11. Existen


otras configuraciones que eliminan este estado prohibido.

Flip Flop tipo J K

Un flip flop JK es un refinamiento del flip flop SC, en el que se elimina el estado
indeterminado. Para J=K=1 el estado futuro será igual al estado presente negado: Qn+1
=

TABLA
CARACTERISTICA

S C Qn+1
0 0 Qn
0 1 0
1 0 1
1 1
Flip Flop tipo D

El flip-flop tipo D mostrado en la figura es una modificación del FF SC. La entrada D va


directamente hacia la entrada S y el complemento de D hacia la entrada C. De esta
forma tenemos que el estado futuro será igual al valor de la entrada D.

TABLA
CARACTERISTICA

D Qn+1
0 0
1 1

Flip Flop tipo T

Un flip flop tipo T se obtiene uniendo las dos entradas de un flip flop tipo JK. Si T=0 se
mantendrá el estado, si T=1 el estado futuro será igual al complemento del estado
presente.

TABLA
CARACTERISTICA

T Qn+1
0 Qn
1

Para todos los FF anteriores la tabla caracteristica describe el comportamiento del FF


mientras el reloj está en 1. Durante el periodo en el que el reloj está en 0, no hay
cambios en las salidas. Se denominan flip flop disparados por nivel.
No es objetivo de este curso el análisis detallado del comportamiento interno de los flip
flops. Solo se muestra la circuiteria interna como referencia. En lo futuro indicaremos
los flip flops con su diagrama simplificado.

Entradas asíncronas

Los Flip-flops contenidos en los circuitos integrados a menudo proveen unas entradas
adicionales para fijar en el estado 1 o en el 0 al FF en cualquier momento de forma
asíncrona, sin importar las condiciones presentes en las otras entradas. Esta entradas
son normalmente llamadas SET o PRESET (para fijar en 1) o CLEAR (para fijar en 0).
Son útiles para colocar los FF en un estado inicial, antes de comenzar con su
funcionamiento de forma síncrona, sin la necesidad de utilizar un pulso de reloj. Por
ejemplo, después de encender un sistema digital, el estado inicial de los FF es
indeterminado. Activando la entrada de clear, se inicializan en cero, y luego se
comienza con el funcionamiento normal.

La figura muestra un FF con las entradas adicionales


mencionadas. Para efecto de este curso y para
simplificar los diagramas, a menudo se obviará la
inclusión de estas entradas adicionales, si no son
necesarias.

Estas entradas pueden actuar con un nivel ALTO ( 1 ) o


con un nivel BAJO (0) .
En las tablas de especificaciones de los circuitos
integrados se incluyen tablas que indican en cada caso
la forma de funcionamiento. En el caso que se muestra,
al aplicar un 0 en la entrada de clear el FF se fijará en 0.

Home Contenido Bibliografía Evaluación Clases Guia Laboratorio Problemarios Notas

© 2001 Sandro Costantini

Esta es la versión html del archivo http://www.inele.ufro.cl/bmonteci/pulsos/apuntes/combsec/combsec.doc.


G o o g l e genera automáticamente versions html de los documentos mientras explora la web.
Para vincularse a esta página o para marcarla, utilice el siguiente url: http://www.google.com/search?
q=cache:21opHVNwcO8J:www.inele.ufro.cl/bmonteci/pulsos/apuntes/combsec/combsec.doc+%22CI

Google no tiene relación con los autores de esta página ni es resp

Se han resaltado estos términos de búsqueda: circuitos secuenciales

Circuitos combinacionales y circuitos


secuenciales.

Los circuitos digitales pueden ser: combinacionales, o


secuenciales.
Ambos tipos de circuitos utilizan puertas para tomar
decisiones. Ambos tienen entradas y salidas. Pero en los
circuitos combinacionales el estado de las salidas depende
solamente de los estados en las entradas, por lo cual, para
una misma combinación de estados en las entradas habrá
siempre la misma respuesta en las salidas.
Los circuitos secuenciales en cambio, utilizan elementos de
memoria (capaces de almacenar información binaria), por lo
que la respuesta en las salidas no depende solamente del
estado presente en las entradas sino también de la
información previamente almacenada; es decir, una misma
combinación de estados en las entradas puede producir
estados de salida diferentes. Los elementos de memoria más
simples son los latchs (o cerrojos biestables) y los flip-flops
(o multivibradores biestables).
Son circuitos combinacionales: Son circuitos
secuenciales:
las puertas los latchs y los flip-flops
los codificadores los generadores de pulsos
los decodificadores los registros de almacenamiento
los multiplexores los registros de desplazamiento
los demultiplexores los contadores
algunos circuitos aritméticos las memorias
los microprocesadores

Next: Tabla de transiciones Up: Diseño de un contador Previous: Diseño de un contador

Diagrama de estados
Describe gráficamente el contador (en este caso), indicando cual es el estado siguiente en
función del estado actual y de las entradas (que no existen para este caso). La figura 4.2
muestra el diagrama de estados del contador. Notar que como no existen entradas, sólo hay
una posible alternativa como estado siguiente dado un estado actual.

Figure 4.2: Diagrama de estados de un


contador BCD.
1999-05-21

Next: Tabla de transiciones Up: Diseño de un contador Previous: Diseño de un contador

Diagrama de estados
Determina el estado siguiente en función del estado actual y de la entrada A. Si A=1, el
contador cuenta ascendentemente y viceversa. Ver la figura 4.5.

Figure 4.5: Diagrama de estados de un


contador síncrono BCD
ascendente/descendente.
1999-05-21

Next: Tabla de transiciones Up: Detector de secuencias de Previous: Detector de


secuencias de

Digrama de estados
Asociaremos la salida al estado. Debido a ésto, dentro de cada nodo del diagrama
escribiremos un par (estado/salida). La figura 4.8 presenta un diagrama de estados
adecuado a la especificación del problema.

Figure 4.8: Diagrama de estados de un detector de tres


o más unos consecutivos.

1999-05-21

El comportamiento de los circuitos secuenciales se determina de las entradas,


las salidas y los estados de los multivibradores (MVB). Ambas entradas y el
estado siguiente son una función de las entradas y del estado presente. El
análisis de los circuitos secuenciales consiste en obtener una tabla o un
diagrama de la secuencia de tiempos de las entradas, salidas y estados
internos. Es posible escribir expresiones booleanas que describan el
comportamiento de los circuitos secuenciales. Sin embargo, estas expresiones
deben incluir la secuencia de tiempos necesaria directa o indirectamente.
Un diagrama lógico secuencial se reconoce como un circuito si éste incluye
multivibradores. Los MVB pueden ser de cualquier tipo y el diagrama lógico puede
o no incluir compuertas combinacionales. Muchos circuitos lógicos contienen
multivibradores biestables, monoestables y compuertas lógicas que se
conectan para realizar una operación específica. Con frecuencia se usa una señal
de reloj primaria para ocasionar que los niveles lógicos del circuito pasen a través
de una determinada secuencia de estados. En términos generales, los circuitos
secuenciales se analizan siguiendo el procedimiento que se describe a
continuación:

1. Examinar el diagrama del circuito y buscar estructuras como contadores o


registros de corrimiento para su simplificación.

2. Determinar los niveles lógicos que estén presentes en las entradas de cada
multivibrador antes de la incidencia del primer pulso del reloj.

3. Utilizar estos niveles para determinar la forma en que cada multivibrador


cambiará en respuesta al primer pulso de reloj.

4. Repetir los pasos 2 y 3 para cada pulso sucesivo de reloj.

2. CIRCUITOS SECUENCIALES SINCRÓNICOS


2.1 Circuitos secuenciales sincrónicos
(Modalidad de reloj)
Ejemplo de análisis Reducción de tablas de estado
Ejemplo 1 de diseño Particiones
Ejemplo 2 de diseño Ejercicios
Ejercicios Tablas de implicación
Ejercicios
Asignación de estados
Ejercicios

El comportamiento de los circuitos secuenciales se determina de las entradas,


las salidas y los estados de los multivibradores (MVB). Ambas entradas y el
estado siguiente son una función de las entradas y del estado presente. El
análisis de los circuitos secuenciales consiste en obtener una tabla o un
diagrama de la secuencia de tiempos de las entradas, salidas y estados
internos. Es posible escribir expresiones booleanas que describan el
comportamiento de los circuitos secuenciales. Sin embargo, estas expresiones
deben incluir la secuencia de tiempos necesaria directa o indirectamente.
Un diagrama lógico secuencial se reconoce como un circuito si éste incluye
multivibradores. Los MVB pueden ser de cualquier tipo y el diagrama lógico puede
o no incluir compuertas combinacionales. Muchos circuitos lógicos contienen
multivibradores biestables, monoestables y compuertas lógicas que se
conectan para realizar una operación específica. Con frecuencia se usa una señal
de reloj primaria para ocasionar que los niveles lógicos del circuito pasen a través
de una determinada secuencia de estados. En términos generales, los circuitos
secuenciales se analizan siguiendo el procedimiento que se describe a
continuación:

1. Examinar el diagrama del circuito y buscar estructuras como contadores o


registros de corrimiento para su simplificación.

2. Determinar los niveles lógicos que estén presentes en las entradas de cada
multivibrador antes de la incidencia del primer pulso del reloj.

3. Utilizar estos niveles para determinar la forma en que cada multivibrador


cambiará en respuesta al primer pulso de reloj.

4. Repetir los pasos 2 y 3 para cada pulso sucesivo de reloj.

En la Figura 1, se muestra un circuito secuencial utilizando multivibradores J-K


con reloj.
Obsérvese que el diagrama contiene multivibradores y compuertas lógicas.

2.1 CIRCUITOS
SECUENCIALES
SINCRÓNICOS
(Modalidad de reloj)

El diagrama adjunto
muestra el algoritmo de
diseño y análisis de los circuitos secuenciales sincrónicos en la modalidad de
reloj:

Observase que en el caso de diseño, se parte de la definición del problema,


después el diagrama de estados y su tabla de estados, se continua con la
reducción de la tabla de estados, la asignación de estados, la selección de los
multivibradores y finalmente, el circuito lógico.

El proceso de análisis es en sentido contrario: se inicia con el circuito y se


recorren los pasos previos en sentido contrario hasta llegar a especificar el
problema.

A continuación se presentan tres ejemplos: uno de análisis y dos de diseño.

Ejemplo de análisis:

1. Deducir la
función del
circuito adjunto:

La ecuación
de estados,
vista
previamente,
para el MVB J-K
es:

Q+(J, K, Q) =
Q K' + Q'
J.......................
.(I)

Aplicando la
ecuación
anterior a los
MVB 1 y 0 del
circuito, se tiene:

Q+1(J1, K1, Q1) = Q1K'1 + Q'1J1...........(II)

Q+0(J0, K0, Q0) = Q0K'0 + Q'0J0..........(III)


Del circuito, se obtienen las siguientes expresiones, considerando que Q1=Y1 y
Q0=Y0:

J1 = x y0.........................................................(1)
K1 = x' y'0......................................................(2)
J0 = x..............................................................(3)
K0 = y'1..........................................................(4)

Sustituyendo (1) y (2) en (II):

Q+1 = y1(x' y'0)' + y'1(x y0) = y1(x + y0) + y'1 y0 x = y1 x + y1 y0 + y'1 y0 x =


Y1................(5)

Sustituyendo (3) y (4) en (III):

Q+0 = y0 y''1 + y'0 x = y1 y0 + y'0 x =


Y0...................................................................................(6)

z = y1 y'0 x
..................................................................................................................................
(7)

De las ecuaciones (5), (6) y (7), se obtienen las mascarillas para las tablas de
estados. Para esto se utilizan mapas K:
Tabla de asignación de estados (asignando: 0 0=q0, 0 1=q1, 1 1=q2, 1 0=q3):

Tabla 2 Tabla 3
Tabla 1
Estados Siguientes Transición

y1 y0 x=0 x=1 qv x=0 x=1 qv x=0 x=1


0 0 0 0 0 1 q0 q0 q1 q0 q0,0 q1,0
0 1 0 0 1 0 q1 q0 q3 q1 q0,0 q3,0
1 1 1 1 1 1 q2 q2 q2 q2 q2,0 q2,0
1 0 0 0 1 1 q3 q0 q2 q3 q0,0 q2,1
Para construir las tablas anteriores, se toma en cuenta lo siguiente: Para la
tabla 1: la combinación y secuencia de valores para y1 y y0, corresponden a los
que dichas variables toman en los mapas de Karnaugh de la figura anterior. Para
x=0: los valores de la primera columna, corresponden a la columna 1 del mapa de
Q1+ y los de la segunda columna, a los valores de la columna 2 del mapa de Q0+.
Para x=1: los valores de la primera columna, corresponden a la columna 2 del
mapa de Q1+ y los de la segunda columna, a los valores de la columna 2 del
mapa de Q0+.

En la tabla 2 de estados siguientes, se sustituyen los valores binarios por el


estado correspondiente, de acuerdo a la definición anterior; es decir: 00 por q0, 01
por q1, 11 por q2 y 10 por q3, para cada par de columnas de la tabla 1.

Para la tabla 3 de transición, los valores de qestado,salida, los valores de los


estados corresponden a la tabla de estados siguientes y los valores de z se
determinan de su ecuación obtenida en el mapa de Karnaugh correspondiente, o
sea: z=y1y'0x. Cuando x=0, todos los valores de z son cero; cuando x=1, sólo
cuando y1=1, y0=0 y x=1, z toma el valor de 1, o sea en la última combinación,
para las otras combinaciones z=0.

De la tabla anterior, se obtienen el diagrama de estados y la carta de tiempos.


Ejemplo 1 de Diseño.

Definición del problema: Se


debe diseñar un circuito secuencial
en la modalidad de reloj
(sincrónico), cuyo diagrama a
bloques aparece en la figura adjunta,
que disponga de un mecanismo
externo de restauración que,
cuando sea necesario, restaurare al
circuito al estado inicial. Determinar
el diagrama de estados del circuito,
de tal manera que genere una salida 1 para un período de reloj que coincida sólo
con la segunda entrada de 0 de un secuencia que se compone exactamente de 2
UNOS (no más de dos) seguidos por 2 CEROS. Cuando la salida ha sido 1 durante
el período de reloj, la salida se mantendrá en 0 hasta que el circuito se restaure
externamente.

De la figura se observa que Z=1 si X tiene la secuencia 1100, el cualquier otro


caso Z=0.

Con estos datos se puede construir la carta de tiempo, como se muestra en la


siguiente figura:
Claramente se observa que durante 2 ciclos de reloj, X=1 y Z=0, que en los
siguientes 2 ciclos X=0, cumpliéndose las condiciones del enunciado, por lo que
Z=1 a partir del cuarto ciclo de reloj y permanece en ese valor.

Otra forma de visualización es por medio del diagrama de estados, que es


equivalente a la carta de tiempo.
Se parte de un estado inicial q0, después se analiza es valor de la entrada y la
salida; si la entrada es 1 y la salida 0, se pasa al estado q1 (1/0 sobre la flecha),
pero si la entrada es 0 y la salida 0, permanece en el estado q0 (0/0 sobre la
flecha); del estado q1 se tienen dos posibilidades: si la entrada es 1 se pasa al
estado q2 y si es 0 al estado q5 (1/0 y 0/0 sobre las flechas, respectivamente); del
estado q2 se pasa al estado q3 si la entrada es igual a 0 y al estado q5 si la entrada
es igual a 1, en ambos casos la salida es 0 (0/0 y 1/0 sobre las flechas,
respectivamente); del estado q3 se pasa al estado q4 si la entrada es 0 y la salida
1 (se cumple la secuencia que establece el enunciado), si la entrada es 1 y la
salida 0 se pasa al estado q5 (0/1 y 1/0 sobre las flechas, respectivamente); el
estado q4 se mantiene en 0, independientemente de que la entrada cambie a 0 o
1; finalmente, el estado q5 se mantiene mientras la entrada sea 0 y pasará al
estado q1 si la entrada es 1, en ambos casos la salida es 0.
El diagrama de estados se resume en la tabla de estados, en donde los
valores para las columnas x=0 y x=1, corresponden a los estados siguientes:

Estado Estados
presente siguientes
qv x=0 x=1
q0 q0,0 q1,0
q1 q5,0 q2,0
q2 q3,0 q5,0
q3 q4,1 q5,0
q4 q4,0 q4,0
q5 q5,0 q1,0

En la tabla de estados se tiene la siguiente notación para los estados


siguientes: qestado siguiente,salida

El siguiente paso consiste en la reducción de la tabla de estados, siendo el


método de inspección. En este método se establece que dos estados son
equivalentes si:

1. Son circuitos completamente especificados. Se dice que un circuito es


completamente especificado, si partiendo de un estado se conoce a donde llegar
(estado siguiente) y se sabe el valor de la señal de salida con un determinado
vector de entrada.

2. Si L(q, x) = L(p, x)

donde:

L = función de salida
p, q = estados presentes
x = vector de entrada

entonces: q = p
De la tabla de estados,
se observa que q0 y q5
son equivalentes; por
tanto, si cumplen con esta
regla se puede anular a
cualesquiera de los dos.
En este ejemplo se
eliminará q5,
sustituyéndolo en todos
los casos por q0.
Haciendo lo anterior, se
llega a la tabla (a) y al
diagrama de estados
reducido:

(a)
Tabla de estados
Reducida
qv x=0 x=1
q0 q0,0 q1,0
q1 q0,0 q2,0
q2 q3.0 q0.0
q3 q4,1 q0,1
q4 q4,0 q4,0

El siguiente paso consiste en la asignación de estados, que depende del número


de estados, las variables de estado requeridas para generar dichos estados y el
número de multivibradores para obtener las variables de estado. Su relación está
dada por:

m = número de estados = 5
r = número de variables de estado = 2r > m
r = número de multivibradores = 23 > 5

Como 8 > 5, entonces se


tienen 3 variables de
estado: y2, y1 y y0. Es
decir, se requerirán 3
multivibradores, como se
muestra en la figura
adjunta, en la cual no se
indica el tipo de
multivibrador, ya que aún no se han establecido, lo que significa que podrían ser
de cualquier tipo.

En base a lo anterior, se construye la tabla de asignación de estados, en la que


se muestran 4 posibles asignaciones q1v, q2v, q3v y q4v, siendo q1v la primera
asignación, q2v la segunda, y así sucesivamente.

Tablas de
Asignación de Estados
y2 y1 y0 q1v q2v q3v q4v
0 0 0 q0 x x x
0 0 1 q1 q0 x x
0 1 0 q2 q1 q0 x
0 1 1 q3 q2 q1 q0
1 0 0 q4 q3 q2 q1
1 0 1 x q4 q3 q2
1 1 0 x x q4 q3
1 1 1 x x x q4

Tomando en cuenta la primera asignación (q1v), se obtiene la tabla (b), que


toma como referencia la tabla (a):

(b)

Primera asignación q1v


qv y2 y1 y0 x=0 x=1
q0 0 0 0 000,0 001,0
q1 0 0 1 000,0 011,0
q2 0 1 1 010,0 000,0
q3 0 1 0 110,1 000,0
q4 1 1 0 110,0 110,0
x 1 1 1 xxx,x xxx,x
x 1 0 1 xxx,x xxx,x
x 1 0 0 xxx,x xxx,x

En la tabla (b), se observa que en las columnas para x=0 y x=1 hay 4 dígitos,
los cuales corresponden a los estados siguientes de los tres multivibradores y la
salida, o sea: y2+y1+y0+,z. Así, los valores para y2+ corresponden a la columna de
color amarillo, para y1+ la columna en verde, para y0+ la columna color azul y para
z la columna en rojo. Los valores de excitación dependerán del tipo de
multivibrador a usar.
Utilizando multivibradores tipo J-K, cuya tabla de excitación es:

Tabla de
EXCITACIÓN
Q Q+ J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0

Para obtener los mapas de Karnaugh, se combinan las dos tablas anteriores, en
las siguientes tablas:

x=0
Estado
presente Estado
MB2 MB1 MB0
siguiente z
y2 y1 y0 y2+ y1+ y0+ J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 x 0 x 0 x 0
0 0 1 0 0 0 0 x 0 x x 1 0
0 1 1 0 1 0 0 x x 0 x 1 0
0 1 0 1 1 0 1 x x 0 0 x 1
1 1 0 1 1 0 x 0 x 0 0 x 0
1 1 1 x x x x x x x x x x
1 0 1 x x x x x x x x x x
1 0 0 x x x x x x x x x x

x=1
Estado
presente Estado
MB2 MB1 MB0
siguiente z
y2 y1 y0 y2+ y1+ y0+ J2 K2 J1 K1 J0 K0
0 0 0 0 0 1 0 x 0 x 1 x 0
0 0 1 0 1 1 0 x 1 x x 0 0
0 1 1 0 0 0 0 x x 1 x 1 0
0 1 0 0 0 0 0 x x 1 0 x 0
1 1 0 1 1 0 x 0 x 0 0 x 0
1 1 1 x x x x x x x x x x
1 0 1 x x x x x x x x x x
1 0 0 x x x x x x x x x x
Obtención de los mapas de Karnaugh para cada una de las entradas de los
multivibradores J-K y la salida z. Para J2, se copia la información en el mapa de la
columnas para x=0 y x=1, sin incluir los ceros, de las tablas anteriores. Lo mismo
se hace para las otras entradas de los multivibradores y la salida z.
El logigrama queda:
Ejemplo 2 de diseño.

Se desea diseñar un circuito secuencial de dos líneas de entrada x1 y x2 y una


sola salida z. Si un pulso de reloj llega cuando x1=0 y x2=0 (00), el circuito debe
asumir un estado de restauración que se puede representar con Q0. Suponer que
los siguientes 6 pulsos de reloj, después de un pulso de restauración, coinciden
con la siguiente secuencia de combinaciones de entrada. Las entradas,
representadas por x1 y x2, son 01, 10, 11, 01, 10 y 11. La salida z=1 coincidiendo
con el sexto pulso de esta secuencia de 6 pulsos de reloj, pero z=0 en todos los
otros momentos. El circuito no puede restaurar a Q0 excepto mediante la entrada
00. Definir un estado especial al que puede pasar el circuito una vez que sea
imposible que se produzca una secuencia que origine una salida. Por lo tanto, el
circuito deberá esperar en el estado especial hasta que se restaure.

Secuencia: 01 10 11 01 10 11

Carta de tiempos:

Diagrama de estados:
Del diagrama de estados se obtiene la tabla de estados:

Tabla de ESTADOS Tabla REDUCIDA (q6=q7)


x1 x2 x1 x2 x1 x2 x1 x2 x1 x2 x1 x2 x1 x2 x1 x2
qv qv
0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0
q0 q0,0 q1,0 q7,0 q7,0 q q0,0 q1,0 q6,0
0
q6,0
q1 q0,0 q7,0 q7,0 q2,0 q1 q0,0 q6,0 q6,0 q2,0
q2 q0,0 q7,0 q3,0 q7,0 2
q q 0,0
q6,0
q3,0
q6,0
q3 q0,0 q4,0 q7,0 q7,0 3
q q 0,0
q4,0
q6,0
q6,0
q4 q0,0 q7,0 q7,0 q5,0 q4 q0,0 q6,0 q6,0 q5,0
q5 q0,0 q7,0 q6,1 q7,0 q5 q0,0 q6,0 q6,1 q6,0
q6 q0,0 q7,0 q7,0 q7,0 q6 q0,0 q6,0 q6,0 q6,0
q7 q0,0 q7,0 q7,0 q7,0

Diagrama de estados reducido:

Uno de los criterios de asignación, es considerar al circuito de salida de tal


manera que sea éste el más sencillo. Para conseguir esto, se mueve el estado q5
(en este caso) que contenga la señal de salida igual a 1, a una posición tal que
sea fácil de hacer enlaces con los estados opcionales.

qv x1 x2 x1 x2 x1 x2 x1 x2
0 0 0 1 1 1 1 0
0
q q0,0 q1,0 q6,0 q6,0
q1 q0,0 q6,0 q6,0 q2,0
q2 q0,0 q6,0 q3,0 q6,0
q3 q0,0 q4,0 q6,0 q6,0
q4 q0,0 q6,0 q6,0 q5,0
q6 q0,0 q6,0 q6,0 q6,0
q5 q0,0 q6,0 q6,1 q6,0
qx qx,x qx,x qx,x qx,x

Utilizando multivibradores tipo D, se pasa a la siguiente tabla:

Estado Presente x 1x 2 x 1x 2 x1x2 x 1x 2


v
q 00 01 11 10
y2 y1 y0 + + +
y y y
2 1 0 y y y y2 y1 y0 y2 y1+y0
2
+
1
+
+
0
+ +

q0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1
1
q 0 0 1 0 0 0 1 1 1 1 1 1 0 1 1
q3 0 1 1 0 0 0 1 1 1 0 1 0 1 1 1
q2 0 1 0 0 0 0 1 1 0 1 1 1 1 1 1
q4 1 1 0 0 0 0 1 1 1 1 1 1 1 0 1
q6 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1
q5 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1
qx 1 0 0 x x x x x x x x x x x x

La tabla de excitación del multivibrador tipo D es:

Tabla de
EXCITACIÓN
Estado presente Estado siguiente Entrada
Q Q+ D
0 0 0
0 1 1
1 0 0
1 1 1

Mapas de Karnaugh: Se obtienen tres mapas, uno para cada multivibrador; Así
para D2, se toman los valores indicados en la columna verde, considerando los
valores de x1 y x2. Así, para x1=x2=0, los valores corresponden a la primera
columna de mapa K; para x1=0 y x2=1, a los de la segunda columna de mapa y así
sucesivamente. Para D1 se sigue el mismo procedimiento pero tomando los
valores de la columna naranja. Finalmente para D0, se consideran los valores de
la columna azul. Obsérvese que z=1, cuando x1=x2=0 , y2=1 y y1=y0=0.
El logigrama correspondiente es:
EJERCICIOS.

1. Determinar el diagrama y la tabla de estados de un circuito detector de


secuencia que detecte 101. La salida debe ser 1 cuando ocurra el último pulso de
la secuencia. La salida Z deberá restablecerse a 0 para el siguiente pulso. La
secuencia deberá presentar traslape.

x = 010101101
2. Obtener el diagrama y la tabla de estados para un circuito detector de
secuencia de tal manera que Z=1 en el segundo bit de 2 unos consecutivos. El
circuito debe diseñarse con traslape siempre y cuando se siga la siguiente
secuencia:

x = 01100111110

3. Obtener el diagrama y la tabla de estados tal que Z=1 cuando ocurra el


segundo bit de la secuencia 01.

x = 010100100

4. Obtener la tabla y el diagrama de estados tal que Z=1 cuando la secuencia


sea 1010.

x = 00101001010101110

5. En una intersección de
dos calles, una en la
dirección norte-sur (N-S)
y otra en la dirección
este-oeste (E-O). Se
instalan semáforos con
indicaciones de rojo,
ámbar y verde. Diseñar
un circuito mostrando la
secuencia de estados
que recorrerán las luces.
Suponer que el sistema
está controlado por un
reloj cuyo período es de 5
segundos. En cada
dirección se permite
tráfico durante 20
segundos y la luz ámbar dura 20 segundos.
REDUCCIÓN DE TABLAS DE ESTADO

Existen 3 métodos: Por inspección, por particiones y por tablas de implicación.

comentar el método de inspección

Método de reducción por particiones.

Empezaremos a desarrollar este método, estableciendo algunas definiciones


importantes:

Relación de equivalencia. Cuando un par de ordenadas de elementos x e y posee


una propiedad que los relaciona, se dice que x está relacionado con y; se expresa
en la forma:

xRy

Para que se cumpla la expresión anterior, se requiere:

1. x R y entonces x = x propiedad reflexiva

2. x R y entonces x = y propiedad simétrica

3. x R y y y R z entonces x = y y y = z, por tanto: x = z propiedad transitiva

Estados equivalentes. La condición para que existan estados equivalentes, es


que el circuito esté completamente especificado. Se dice que un circuito está
completamente especificado si las salidas y los estados siguientes se especifican
para cada combinación de estados presentes y de entrada.

La función de estado siguiente se denota por el símbolo ) y la función de salida


por 8. Se empleará la siguiente notación:

) = )(estado presente, vector de entrada) = qv+1


8 = 8(estado siguiente, vector de salida) = z
EJEMPLO. Sea la siguiente tabla y el vector x = 023001:

x (condiciones de entrada)
Estado presente 00 01 11 10
q
0 1 3 2
q1 q3,0
q1,0
q 2,0
q 2,0

q2 q3,0 q3,0 q4,0 q4,0


q3 q3,0
q1,1
q 1,3
q1,2
q4 q4,0 q4,0 q2,0 q2,0
qestado siguiente,salida

De la tabla anterior, se determinan los estados presente y siguiente:

)(q1,0) = q3 8(q1,0) = 0 = 00
)(q3,2) = q1 8(q3,2) = 2 = 10
)(q1,3) = q2 8(q1,3) = 0 = 00
)(q2,0) = q3 8(q2,0) = 0 = 00
)(q3,0) = q3 8(q3,0) = 0 = 00
)(q3,1) = q1 8(q3,0) = 1 = 01

Donde: )(q1,0) = q3 indica: )(qestado presente,entrada)=qestado siguiente; 8(q1,0) = 0 indica:


8(qestado presente,entrada)= salida (en decimal y binario), para el primer renglón y en
forma similar para los siguientes renglones.

Con los resultados anteriores, se pueden establecer las siguientes definiciones:

Definición 1: Sean A y B dos circuitos completamente especificados sujetos a


las mismas condiciones de entrada posibles; sea x1, x2,..., xm una secuencia de
valores posibles del conjunto de entrada x de una longitud arbitraria. Los estados
p, pertenecen a B, y los q, pertenecen a A, son indistinguibles (equivalentes), lo
cual se expresa como p = q, si y sólo si:

)A (q, x1, x1, x1,...., x1) = 8B (p, x1, x1, x1,...., x1)

Definición 2: Se dice que los circuitos secuenciales A y B son equivalentes, lo


cual se expresa A=B, si para cada estado q de A, existe una tabla de estado p de
B, tal que p=q, e inversamente para cada estado p de B existe un estado q de A,
tal que q=p.

Conclusión: Dada una tabla de estados, el objetivo es obtener una tabla de


estados con el menor número posible de ellos, porque esto implica utilizar un
número menor de elementos de memoria (multivibradores).
Definición 3: Se hará que los estados de un circuito secuencial se dividan en
clases separadas. p=q denota que los estados p y q quedan dentro de la misma
clase en la partición. Esta partición se compone de clases de equivalencia de
estados indistinguibles (2 estados indistinguibles deben estar en la misma clase),
si y sólo si se satisfacen las dos condiciones siguientes para cada par de estados
p y q en la misma clase (p=q) y cada entrada individual x:

1. 8 (p, x) = 8 (q, x) indica que las salidas son iguales


2. )(p, x) = )(q, x) significa que quedan dentro de la misma clase

Definición: Los estados S1,S2,...,Sj de un circuito secuencial son de


equivalencia, si y sólo si, para cada secuencia posible Ip se producirá la misma
secuencia de salida, sin importar que S1,S2,...,Sj sean los estados iniciales.

Esta definición puede plantearse de otra forma, por la condición de pares


siguientes: Considerar que Sk y Sl sean los estados siguientes del circuito
secuencial, al aplicarse la entrada Ip en los estados Si y Sj, respectivamente.

Se dice entonces que Si y Sj son equivalentes si y sólo si para cada entrada


posible Ip:

1. La salida producida por el estado Si es igual a la producida por Sj.


2. Los estados siguientes Sk y Sl son equivalentes.

EJEMPLO 1. Obtener una tabla de estados mínima y equivalente de la


siguiente tabla:

Estado Entrada
presente x=0 x=1
A C/1 B/0
B C/1 E/0
C B/1 E/0
D D/0 B/1
E E/0 A/1
estado siguiente/salida
(A B C D E) Conjunto universal
x=0 11100
Primero salidas. Formamos subconjuntos, de acuerdo a la tabla anterior
x=1 00011
1ra. PARTICIÓN
(A B C)(D E) Formamos subconjuntos
x=0 C C B D E Analizamos sobre puros estados siguientes. CCB van al mismo
subconjunto con x=0
x=1 B E E B A BEE van a distinto subconjunto con x=1, por lo que debe particionarse
2a. PARTICIÓN

(A)(B C)(D E)
x=0 C B D E DE van al mismo subconjunto con x=0
x=1 E E B A BA van a distinto subconjunto con x=1
3a. PARTICIÓN

(A)(B C)(D)
(E)
x=0 CB
Así queda, ya que no es posible dividir en más subconjuntos
x=1 EE
a b d e a=(A), B=(BC), d=(D) y e=(E)

La tabla equivalente mínima y el diagrama de estados mínimo, se presentan a


continuación:

Estado Entrada x
presente x=0 x=1
a b/1 b/0
b b/1 e/0
d d/0 b/1
e e/0 a/1

EJEMPLO 2. Dada la siguiente tabla, obtener una tabla de estados mínima y


equivalente:

TABLA 1

Estado Entrada
presente x=0 x=1
A A/1 E/0
B A/0 E/0
C B/0 F/0
D B/0 F/0
E C/0 G/1
F C/0 G/1
G D/0 H/1
H D/0 H/1
estado siguiente/salida
1ra. PARTICIÓN

(A B C D E F G H) Conjunto universal
x=0 1 0 0 0 0 0 0 0
De acuerdo a salidas
x=1 0 0 0 0 1 1 1 1
2a. PARTICIÓN

(A)(B C D)(E F G H)
x=0 A A B B C C D D
ABB van a distinto subconjunto, por lo que particionamos
x=1 E E F F G G H H
3a. PARTICIÓN

(A)(B)(C D)(E F G
H)
BB CCD
x=0
D
Van a los mismos subconjuntos
FF GGH
x=1
H
a b c d a=(A), b=(B), c=(CD) d=(EFGH)

Tomando en cuenta la Tabla 1 inicial, se obtiene la tabla equivalente mínima y el


diagrama de estados mínimo, presentados a continuación:

Estado Entrada x
presente x=0 x=1
a a/1 d/0
b a/0 d/0
c b/0 d/0
d c/0 d/1
EJEMPLO 3. Dada la siguiente tabla, obtener una tabla de estados mínima y
equivalente:

Tabla 1

Estado Entrada
presente x=0 x=1
A E/0 D/0
B A/1 F/0
C C/0 A/1
D B/0 A/0
E D/1 C/0
F C/0 D/1
G H/1 G/1
H C/1 B/1
estado siguiente/salida
1ra. PARTICIÓN

1 ABCDEFGH Conjunto universal


x=0 01 0 01 01 1
De acuerdo a salidas
x=1 00 1 00 11 1
2a. PARTICIÓN

(A D C F B E G H)
x=0 0 0 0 0 1 1 1 1
Arreglamos de acuerdo a salidas iguales
x=1 0 0 1 1 0 0 1 1
(A D)(C F)(B E)(G H)
3a. PARTICIÓN

2 (A D)(C F)(B E)(G H) Ahora de acuerdo a estados siguientes


x=0 E B CC A D H C
HC van a distinto subconjunto
x=1 D A A D F C G B
3a. PARTICIÓN

(A D)(C F)(B E)(G)(H)


x=0 E B C C A D H C
Ya no es posible formar mas subconjuntos
x=1 D A A D F C G B
Renombrando los subconjuntos:
(A D)(C F)(B E)(G)(H)
a b c d e a=(AD), b=(CF), c=(BE), d=(G) y e=(H)

Tomando en cuenta la Tabla 1 inicial, obtenemos la tabla equivalente mínima y el


diagrama de estados mínimo, presentados a continuación:
Estado Entrada x
presente x=0 x=1
a c/0 a/0
b b/0 a/1
c a/1 b/0
d e/1 d/1
e b/1 c/1

EJEMPLO 4. Dada la siguiente tabla, obtener una tabla de estados mínima y


equivalente:

Estado Entrada
presente x=0 x=1
A A/0 B/0
B A/0 C/0
C A/0 D/0
D A/0 D/1
estado siguiente/salida
1ra. PARTICIÓN

(A B C D) Conjunto universal
x=0 0 0 0 0
De acuerdo a salidas
x=1 0 0 0 1
2a. PARTICIÓN

(A B C)(D)
x=0 A A A A
De acuerdo a estados siguientes
x=1 B C D D
3a. PARTICIÓN

(A B)(C)(D)
x=0 A A A A
De acuerdo a estados siguientes
x=1 B C D D
(A)(B)(C)(D) No es posible simplificarla
EJEMPLO 5. Dada la siguiente tabla, reducirla por el método de particiones:

TABLA A
Estado Entrada
presente x=0 x=1
1 1/0 1/0
2 1/1 6/1
3 4/0 5/0
4 1/1 7/0
5 2/0 3/0
6 4/0 5/0
7 2/0 3/0
estado siguiente/ salida

Estado presente
1 2 3 4 5 6 7 Conjunto universal
x=0 0 1 0 1 0 0 0
De acuerdo a salidas
x=1 0 1 0 0 0 0 0
(1 3 5 6 7) (4) (2)
x=0 0 0 0 0 0 1 1
Primero agrupamos de acuerdo a salidas
x=1 0 0 0 0 0 0 1
1ra. PARTICIÓN

(1 3 5 6 7) (4) (2)
x=0 1 4 2 4 2 1 1
Considerando estados siguientes
x=1 1 5 3 5 3 7 6
2a. PARTICIÓN

(1) (3 5 6 7) (4) (2)


x=0 1 4 2 4 2 1 1 Por inspección 3 y 6 forman un subconjunto
x=1 1 5 3 5 3 7 6 Por inspección 5 y 7 forman un subconjunto
Renombrando los subconjuntos
(1) (3 6) (5 7) (4) (2)
a d e c b

Considerando la tabla inicial A y los resultados anteriores, se obtiene la tabla de


estados reducida:

Estado Entrada x
presente x=0 x=1
a a/0 a/0
b a/1 d/1
c a/0 e/0
d c/1 e/0
e b/0 d/0

EJERCICIOS.

Dadas las siguientes tablas, reducirlas por el método de particiones:

1. 2.
3.

qv x=0 x=1 qv x=0 x=1 qv x=0 x=1


1 1,0 1,1 q0 q0,1 q0,0 q0 q1,0 q0,1
2 1,0 6,1 q1 q0,0 q4,0 q1 q0,1 q3,1
3 4,1 5,1 q2 q1,0 q5,0 q2 q2,0 q4,0
4 2,0 6,0 q3 q1,0 q5,0 q3 q5,0 q2,1
5 1,0 3,1 q4 q2,0 q6,1 q4 q1,1 q6,0
6 3,1 4,0 q5 q2,0 q6,1 q5 q3,1 q5,0
7 2,0 3,0 q6 q3,0 q7,1 q6 q2,1 q7,0
q7 q3,0 q7,1 q7 q2,1 q7,0

Método de reducción por tablas de implicación (Método de


Implicantes).

Este método se utiliza para determinar la equivalencia de estados. El


procedimiento se realiza mediante los siguientes pasos:

1. a) Se forma una tabla anotando verticalmente las variables de estado presente,


menos la primera; y b) horizontalmente todos los estados a excepción del último.
De esta tabla se obtienen todas las posibles combinaciones por pares de estados.

2. Como únicamente los estados siguientes con salidas idénticas pueden ser
equivalentes, se coloca una cruz en las celdas correspondientes de aquellos
pares de estados cuyas salidas no son iguales para cada entrada.

3. Por la condición de pares de estado, deben completarse todas las celdas


vacantes, escribiéndose sobre cada celda todos los pares siguientes, cuya
equivalencia está implicada por la intersección de los estados que definen cada
celda.

Si los pares implicados contienen únicamente los mismos estados que lo definen,
o bien, si los estados equivalentes son iguales para una entrada dada, se coloca
el símbolo que indica que estos estados son equivalentes por inspección e
independientes de otros pares implicados.

4. Una vez completada la tabla deben realizarse pasos sucesivos para determinar
si otras celdas deben cruzarse además de las indicadas en el paso 2. Una celda
debe cruzarse si contiene al menos un par implicado definido en otra celda que
haya sido cruzada anteriormente.

5. Se realiza un listado a una columna por los definidos en la línea horizontal, se


examina la tabla columna por columna para localizar celdas no cruzadas, siendo
estos los pares de estados equivalentes, para aplicar enseguida la propiedad de
transitividad (absorción).

(Si, Sj)(Sj, Sk) => (Si, Sj, Sk)

EJEMPLO 1. Reducir al mínimo la siguiente tabla de estados por el método de


implicantes.

Estado x
presente 0 1
A C/1 E/0
B C/1 E/0
C B/1 E/0
D D/0 B/1
E E/0 A/1
estado siguiente/salida

De la tabla de
implicantes, se obtiene la siguiente tabla reducida:

Estado x
presente 0 1
a a/1 b/0
b b/0 a/1
estado siguiente/salida
EJEMPLO 2. Reducir al mínimo la siguiente tabla de estados por el método de
implicantes.

0 1

Estado
presente
A E/0 D/0
B A/1 F/0
C C/0 A/1
D B/0 A/0
E D/1 C/0
F C/0 D/1
G H/1 G/1
H C/1 B/1
ESTADO SIGUIENTE/SALIDA
EJEMPLO 3. Reducir al mínimo la siguiente tabla de estados por el método de
implicantes.

0 1

Estado
presente
A C/1 B/0
B C/1 E/0
C B/1 E/0
D D/0 B/1
E E/0 A/1
ESTADO SIGUIENTE/SALIDA
EJEMPLO 4. Reducir al mínimo la siguiente tabla de estados por el método de
implicantes.

0 1

Estado
presente
A A/1 E/0
B A/0 E/0
C B/0 F/0
D B/0 F/0
E C/0 G/1
F C/0 G/1
G D/0 H/1
H D/0 H/1
ESTADO SIGUIENTE/SALIDA
EJEMPLO 5. Dada la siguiente tabla, reducirla por el método de tablas de
implicación:

qv x=0 x=1
1 2,0 3,0
2 4,0 5,0
3 6,0 7,0
4 8,0 9,0
5 10,0 1,0
6 4,0 12,0
7 10,0 12,0
8 8,0 1,0
9 10,1 1,0
10 4,0 1,0
11 2,0 1,0
12 2,0 1,0
estado siguiente/salida

qv 0 1 2 3
1 3 4 2 4
2 4 4 3 4
3 1 1 3 4
4 1 2 1 4
Pasos eliminados:

Primer paso:

1-9 2-9 3-9 4-9 5-9 6-9 7-9 8-9 9-10 9-11 9-12

Segundo paso: Para este paso, se eliminan todos los que tengan implicados los
de primer paso.

1-4 2-4 3-4 4-5 4-6 4-7 4-8 4-10 4-11 4-12

Tercer paso:
1-2 1-6 1-10 2-3 2-5 2-7 2-8 2-11 3-6 3-10 5-6 5-10 6-7 6-8 6-11 6-12 7-10 8-10 10-11 10-12

Cuarto paso:

1-8 3-8 5-8 7-8 8-11 8-12

Búsqueda de pares equivalentes:

11 11-12
10 11-12
9 11-12
8 11-12
7 11-12 7-11 7-12
6 11-12 7-11 7-12 6-10
5 11-12 7-11 7-12 6-10 5-7 5-11 5-12
4 11-12 7-11 7-12 6-10 5-7 5-11 5-12
3 11-12 7-11 7-12 6-10 5-7 5-11 5-12 3-5 3-7 3-11 3-12
2 11-12 7-11 7-12 6-10 5-7 5-11 5-12 3-5 3-7 3-11 3-12 2-6 2-10
1 11-12 7-11 7-12 6-10 5-7 5-11 5-12 3-5 3-7 3-11 3-12 2-6 2-10 1-3 1-5 1-7 1-11 1-12 4 8 9

Diagrama de Merger:

Tabla reducida
qv x=0 x=1
1 2,0 1,0
2 4,0 1,0
4 8,0 9,0
8 8,0 1,0
9 2,1 1,0
estado siguiente/salida
Explicación de circuitos no especificados completamente (diagrama de Merger)

EJEMPLO:

Estado x
presente 0 1
A A/- -/-
B C/- B/0
C D/0 -/-
D -/- B/-
E A/0 C/-
estado siguiente/salida

x x
0 1 0 1
A'=A AC A'B'/
B/0 A' A'/0
BD /1 1
B'=E DA
C/1 B' A'/0 B'/1
C /0
se llena con la primera se llena con la tabla
tabla adjunta

x x
0 1 0 1
A'=AC A'/
AD/0 B/1 A' B'/1
D 0
A'/
B'=B C/1 B/0 B' B'/0
1
A'/
C'=E A/0 C/- C' A'/-
0
x x
0 1 0 1
A'=AC AD/ A',B'
C/1 A' A'/1
E 0 /0
B'=BD C/1 B/0 B' A'/1 B'/0

NOTA: Los incompatibles:


U=MÍN {NSMC , NSOC}
No. de compatibles Estados originales
máximo de conjuntos del circuito

2 5
L=MÁX {NSMI1 , NSMI2 , NSMI3}
2 2 2
No. de estados del iésimo grupo
del conjunto de incompatibles máximo

L <= K <= U
Ejercicios
Reducir por medio de tablas de implicación, los siguientes problemas:

1. 2.

00 01 10 11 00 01 10 11 00 01 10 11
qv qv
0 1 2 3 0 1 2 3 0 1 2 3
1 6 2 1 1 0 0 0 0 A E,1 C,0 B,1 E,1
2 6 3 1 1 0 0 0 0 B C,0 F,1 E,1 B,0
3 6 9 4 1 0 0 1 0 C B,1 A,0 D,1 F,1
4 5 6 7 8 1 0 1 0 D G,0 F,1 E,1 B,0
5 5 9 7 1 1 0 1 0 E C,0 F,1 D,1 E,0
6 6 6 1 1 0 0 0 0 F C,1 F,1 D,0 H,0
7 5 10 7 1 1 0 1 0 G D,1 A,0 B,1 F,1
8 6 2 1 8 0 0 0 0 H B,1 C,0 E,1 F,1
9 9 9 1 1 0 0 0 0
10 6 11 1 1 0 0 0 0
11 6 9 4 1 0 0 1 0

Asignación de estados

El número total de elementos de memoria NFF = r = variables de estado, estará


relacionado al número de estados NS = m del circuito, es decir:

2NFF - 1 < NS < 2NFF

2r - 1 < m < 2r

Por lo tanto, habrá un número de asignación de estados, NAE, igual a:

NAE = 2r! / (2r - m)!

Que es la forma de asignación de estados de 2r combinaciones de estados


binarios de asignación a los NS estados (m). La siguiente tabla muestra algunos
ejemplos numéricos:

Número de Número de Número de asignaciones Número de asignaciones


estados (m) variables de estado (r) de estado (NAE) específicas
1 0 - -
2 1 2 3
3 2 24 3
4 2 24 3
5 3 6,720 140
6 3 20,160 420
7 3 40,320 840
8 3 40,320 840
9 4 4.5x109 10'810,800
10 4 4.9x1010 75'675,600

Asignaciones útiles:

NAU = 2r - 1! / [(2r - m)! r!]

Criterios para la asignación de estados:

Regla I

A) Se deben examinar los renglones de la tabla reducida que tengan anotaciones


idénticas para el estado siguiente en cada columna. Estos renglones deben
recibir asignaciones adyacentes. De ser posible las anotaciones del estado
siguiente en esos renglones deben recibir asignaciones de acuerdo con la regla
II.

B) Se verifican los renglones de la tabla de estados reducida que tienen las


mismas anotaciones del estado siguiente pero en diferente orden de columna. A
estos renglones se les deben dar asignaciones adyacentes. Las anotaciones del
estado siguiente pueden recibir asignaciones adyacentes.

C) Los renglones con anotaciones idénticas para el estado siguiente, en algunas


pero no en todas las columnas, deben recibir asignaciones adyacentes, en
donde los renglones que tengan más columnas idénticas asuman la máxima
prioridad.

Regla II

Las anotaciones del estado siguiente para un renglón dado, deben recibir
asignaciones diferentes.

Regla III

Las asignaciones deben hacerse de tal manera que simplifiquen los mapas de
salida.

Ejemplo:

El principio de un mensaje de un sistema de comunicaciones en particular, se


denota mediante la aparición de 3 unos consecutivos en una línea x. Los datos en
esta línea se han sincronizado con una señal de reloj que tiene una salida 1 sólo
en el tiempo de reloj que coincida con el tercero de una secuencia de 3 unos en
la línea x. El circuito servirá para advertirle al sistema receptor sobre la iniciación
de un mensaje. Se propone un mecanismo de restauración independiente una vez
que concluya el mensaje. A continuación se presentan la carta de tiempo y el
diagrama de estados:

Tabla de estados Tabla reducida


qv x=0 x=1 qv x=0 x=1
q0 q4,0 q1,0 a q0 q0,0 q1,0
q1 q4,0 q2,0 a q1 q0,0 q0,0
q0 q4,0 q3,1 b q0 q0,0 q3,1
q3 q3,0 q3,0 a q3 q0,0 q3,0
q4 q4,0 q1,0 q0=q4

A continuación se muestra la tabla correspondiente a la primera asignación.


Asimismo, se proponen multivibradores tipo J-K, cuya tabla de excitación se
muestra en seguida:

1ra. asignación MVB tipo J-K


x=0 x=1
qv y1 y0 + + Q Q+ J K
y 1y 0,z y 1y+0,z
+

q0 0 0 0 0,0 0 1,0 0 0 0 x
q1 0 1 0 0,0 1 1,0 0 1 1 x
q2 1 1 0 0,0 1 0,1 1 0 x 1
q3 1 0 1 0,0 1 0,0 1 1 x 0

Donde y1, y0 son los estados presentes y y+1, y+0 son los estados siguientes, para
x=0 y x=1. Combinando las dos tablas previas, se obtienen los valores para los
dos multivibradores J-K para los mapas de Karnaugh, como se muestra en la
siguiente tabla:

x=0 x=1
qv y1 y0
J1 K1 J0 K0 J1 K1 J0 K0
0
q 0 0 0 x 0 x 0 x 1 x
q1 0 1 0 x x 1 1 x x 0
q2 1 1 x 1 x 1 x 0 x 1
q3 1 0 x 0 0 x x 0 0 x

Los valores de esta tabla se encuentran de la siguiente manera: Para los


valores de J1 y K1, se consideran las columnas y1 y y+1 (corresponden a Q y Q+),
de la tabla 1ra. asignación; se buscan en la tabla de excitación del multivibrador
J-K y se determinan los valores de J1 y K1. Se sigue el mismo procedimiento para
J0 y K0. Los valores de z, se encuentran directamente de la tabla 1ra. asignación.
A continuación se presentan los mapas para determinar las funciones de entrada
de los multivibradores.
El logigrama correspondiente a la 1ra. asignación es:
La tabla de estados correspondiente a la 2a. asignación es:

2a. asignación
x=0 x=1
qv y1 y0
y+1y+0,z y+1y+0,z
q0 0 0 0 0,0 1 1,0
q1 0 1 0 0,0 1 0,0
q2 1 1 0 0,0 0 1,1
q3 1 0 1 0,0 1 0,0
Nuevamente, combinando esta tabla con la tabla de excitación del
multivibrador tipo J-K, se tiene:

x=0 x=1
qv y1 y0
J1 K1 J0 K0 J1 K1 J0 K0
0
q 0 0 0 x 0 x 1 x 1 x
q1 0 1 0 x x 1 1 x x 1
q2 1 1 x 1 x 1 x 1 x 0
q3 1 0 x 0 0 x x 0 0 x

Esta tabla se obtuvo siguiendo el mismo procedimiento que en el caso anterior.


Los mapas de Karnaugh para la 2a. asignación son:
El logigrama para la 2a. asignación es:
La tabla de estados correspondiente a la 3a. asignación es:

3a. asignación
x=0 x=1
qv y1 y0
y+1y+0,z y+1y+0,z
q0 0 0 0 0,0 1 0,0
q1 0 1 0 0,0 1 1,1
q2 1 1 1 1,0 1 1,0
q3 1 0 0 0,0 0 1,0
Nuevamente, combinando esta tabla con la tabla de excitación del
multivibrador tipo J-K, se tiene:

x=0 x=1
qv y1 y0
J1 K1 J0 K0 J1 K1 J0 K0
0
q 0 0 0 x 0 x 1 x 0 x
q1 0 1 0 x x 1 1 x x 0
q2 1 1 x 0 x 0 x 0 x 0
q3 1 0 x 1 0 x x 1 1 x

Esta tabla se obtuvo siguiendo el mismo procedimiento que en el caso anterior.


Los mapas de Karnaugh para la 3a. asignación son:

El logigrama para la 3a. asignación es:


EJERCICIOS

Anda mungkin juga menyukai