simplificación de circuitos secuenciales

46
Simplificación de Circuitos Secuenciales Completamente Especificados Técnicas y Dispositivos Digitales II - 2010 Sergio Luvoni - Julio C. Doumecq

Upload: julio-cesar-doumecq

Post on 02-Aug-2015

507 views

Category:

Documents


15 download

DESCRIPTION

Métodos de simplificación de circuitos secuenciales, comenzando por la simplificación mediante Simple Inspección.

TRANSCRIPT

Page 1: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Técnicas y Dispositivos Digitales II - 2010Sergio Luvoni - Julio C. Doumecq

Page 2: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Disponemos de medios para obtener una tabla de estados, para una especificación dada, pero no es única y puede no ser optima.

Definición: Dos estados son equivalentes si no los podemos distinguir.

Page 3: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Estados redundantes: Conviene su eliminación por:

Costo: La cantidad de elementos de memoria estádirectamente relacionada con el número de estados.Complejidad: Cuanto más estados tenga el circuito, más complejo será el diseño y su implementación.Ayuda para el análisis de fallas: En general, las rutinas de diagnóstico (software) suponen que no existen estados redundantes.

Page 4: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Métodos de simplificación:

Simple inspecciónPartición (Método de Huffman-Mealy)Tabla de Implicantes (Método de Paul-Unger)

Page 5: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Simplificación por simple inspección1er caso:

A/1C/0DB/0D/1CA/1C/0BC/1B/1A10

XnQn

Qn+1 / Z

Page 6: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Simplificación por simple inspección2do caso:

A/1D/0DB/0D/1CA/1B/0BC/1B/0A10

XnQn

Qn+1 / Z

B/1

Page 7: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Simplificación por simple inspección3do caso:

A/1B/0DB/0D/1CA/1D/0BC/1B/0A10

XnQn

Qn+1 / Z

B/1B/0

Page 8: Simplificación de Circuitos Secuenciales

Simplificación por simple inspección

Ejemplo:

Q4,0Q0,0Q1

Q5,0Q1,0Q3

Q6,1Q2,0Q5

Q7,1Q3,0Q6

Q7/1Q3,0Q7

Q6,1Q2,0Q4

Q5,0Q1,0Q2

Q4,0Q0,1Q0

10XnQn

Qn+1 / Z

Q2,0Q2,0

Page 9: Simplificación de Circuitos Secuenciales

Simplificación por simple inspección

Ejemplo:

Q4,0Q0,0Q1

Q6,1Q2,0Q5

Q6,1Q2,0Q6

Q6,1Q2,0Q4

Q5,0Q1,0Q2

Q4,1Q0,1Q0

10XnQn

Qn+1 / Z

Page 10: Simplificación de Circuitos Secuenciales

Simplificación por simple inspección

Ejemplo:

Q4,0Q0,0Q1

Q4,1Q2,0Q4

Q4,0Q1,0Q2

Q4,0Q0,1Q0

10XnQn

Qn+1 / Z

Tabla simplificada de un sistema “Detector de Errores”

Page 11: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Relación de equivalencia.Definición: Cuando un par ordenado de elementos (x,y) posee una propiedad que los relaciona (x R y) se puede decir que “x estárelacionada con y”.La relación R se define como el conjunto de todos los pares ordenados que posee esa propiedad, sea cual fuere.

Page 12: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Criterios:

Si (x R x) para cada X del conjunto de interés, se dice que R es ReflexivaSi (y R x) siempre que (x R y), entonces R es simétricaSi (x R y) e (y R z) implican que (x R z) entonces R es Transitiva

Page 13: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Toda relación R que satisfaga los tres criterios se denomina “Relación de

equivalencia” y aplicada a un conjunto lo dividirá en subconjuntos separados

denominados “clases de equivalencia”

Page 14: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Estados y Circuitos Equivalentes

Z1n

Z2n

X1n

X2n

Q1n+1

Q2n+1

Q1n

Q2n Q2,0Q2,0Q4,0Q4,0Q4

Q1,2Q1,3Q1,1Q3,0Q3

Q4,0Q4,0Q3,0Q3,0Q2

Q2,0Q2,0Q1,0Q3,0Q1

2310Xn

Qn

Page 15: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Definimos:

función de salida λfunción de próximo estado δ

λ(Q2,3)=0 δ(Q2,3)=Q4

Page 16: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Ejemplo: Estado Inicial: Q1

Secuencia de Entrada X: (0 2 3 0 0 1)

δ(Q3,1)=Q1λ(Q3,3)=1δ(Q3,3)=Q3λ(Q3,3)=0δ(Q2,0)=Q3λ(Q2,0)=0δ(Q1,3)=Q2λ(Q1,3)=0δ(Q3,2)=Q1λ(Q3,2)=2δ(Q1,0)=Q3λ(Q1,0)=0

δλ

λ(Q1,023001)=020001

δ(Q1,023001)=Q1

Page 17: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Definición 1: Sean S y T dos circuitos secuenciales completamente especificados, sujetos a las mismas secuencias de entrada posibles (X1,X2,…,Xn) de una longitud arbitraria.Los estados p Є T y q Є S son indistinguibles (Equivalentes), lo que se expresa p≡q si y sólo si:

λT(p,X1,X2,…,Xn) = λS(p,X1,X2,…,Xn)

Para cada secuencia posible de entrada

Page 18: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

¿Es la equivalencia de estados una relación de equivalencia?

Definición 2: Se dice que los circuitos secuenciales S y T son equivalentes (S≡T) si para cada estado p en T, existe un estado q en S, tal que p≡q, e inversamente, para cada estado p en T, tal que q ≡p.Es decir, dos circuitos son equivalentes si no se pueden diferenciar

observando simplemente las respuestas a la secuencia de entrada

Page 19: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

Ej: Verifique si los circuitos sincrónicos S y T son equivalentes:

Q2,1Q1,0Q3

Q2,0Q1,1Q2

Q2,1Q3,0Q1

X=1X=0S

P2,0P1,1P2

P2,1P1,0P1

X=1X=0T

Page 20: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

S Estado inicial Q1; Secuencia X=(00110)

0

1Q2

0

0Q3

1

1Q1

1

0Q2

0Z →0X →

Q1Q →

0

1Q2

0

0Q1

1

1Q3

1

0Q2

0Z →

0X →Q3Q →

Si el estado inicial hubiera sido Q3

Page 21: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

S Estado inicial Q1; Secuencia X=(1110)

0

1Q2

0

1Q2

1

0Q2

1Z →1X →

Q1Q →

0

1Q2

0

1Q2

0

0Q2

1Z →

1X →Q3Q →

Si el estado inicial hubiera sido Q3 Q1≡Q3

Page 22: Simplificación de Circuitos Secuenciales

Simplificación de Circuitos Secuenciales Completamente Especificados

T Estado inicial P1; Secuencia X=(00110)

0

1P2

0

0P1

1

1P1

1

0P2

0Z →0X →

P1P →

1

0P2

0

1P2

0

1P2

1Z →

1X →P1P →

Si la secuencia era ahora X=(1110)

Q1≡Q3≡P1

Q2≡P2

S≡T

Page 23: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentesEncontrar la tabla de estados óptima consiste

en dividirla en el número más pequeño posible de clases de equivalencia de estados indistinguibles (equivalente)

Existen varias formas de dividir los estados de un circuito secuencial en clases separadas, pero no todas divisiones dan como resultado clases de equivalencia en estados indistinguibles. El cumplimiento del siguiente teorema asegura lo planteado:

Page 24: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentesTeorema 1: Se hará que los estados de un circuito

secuencial se dividan en clases separadas. p=q indica 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 (subconjuntos) de estados indistinguibles (equivalentes), si y solo si se satisfacen dos condiciones para cada par de estados p y q en la misma clase, y cada entrada individual.

Page 25: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentes

1.- λ(p,x)=λ(q,x)2.- δ(p,x)=δ(q,x)

Técnica de las particiones óMétodo de Huffman-Mealy

Permite formar un circuito secuencial equivalente definiendo sólo un estado correspondiente a cada clase de estados indistinguibles.

El otro método para la determinación de clases de equivalencia para estados indistinguibles es el método de la Tabla de implicantes o Método de Paul-Unger. Este método es más largo pero sirve para circuitos incompletamente especificados. Este se basa en:

Page 26: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentesDefinición 3: Se dice que un conjunto de estados P “implica” a un

conjunto de estados Q, si para una cierta entrada Xi en conjunto Q contiene todos los estados siguientes de los estados de P. De la definición de implicancia podemos enunciar que dos o más estados son equivalentes, si para secuencia de entrada que se aplique a partir de cualquiera de ellos se cumple que:

I) Las correspondientes salidas contemporáneas son iguales.II) Los estados por ellos implicados son también equivalentes.

Además por el teorema 1, los estados en R son equivalentes si y sólo si, todos los estados en cualquier conjunto P implicado por R lo son también.

Page 27: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Ejemplo:

Q4,0Q0,0Q1

Q5,0Q1,0Q3

Q6,1Q2,0Q5

Q7,1Q3,0Q6

Q7/1Q3,0Q7

Q6,1Q2,0Q4

Q5,0Q1,0Q2

Q4,0Q0,1Q0

10XnQn

Qn+1 / Z

Page 28: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Se compone de dos etapas: La primera consiste en dividir los estados en el

menor número posible de clases de equivalencia, de tal manera que los estados dentro de la misma clase tengan las mismas salidas, es decir, que satisfagan la condición (i) del teorema.

Page 29: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Ejemplo:

Q4,0Q0,0Q1

Q5,0Q1,0Q3

Q6,1Q2,0Q5

Q7,1Q3,0Q6

Q7/1Q3,0Q7

Q6,1Q2,0Q4

Q5,0Q1,0Q2

Q4,0Q0,1Q0

10XnQn

Qn+1 / Z

a

b

c

Page 30: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Las clases de estados indistinguibles se compondrán siempre de sub-clases de clases “a”, “b” y “c”. Estas clases son las mayores que satisfarán la condición (i) del teorema. Si se quiere insistir en que se cumpla la condición (II) sólo subdivirá en más sub-clases.

76543210Estados

cbaClases Equivalentes

Page 31: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

En el segundo paso, se determinará para cada estado, cuando los siguientes estados están en las clases “a”, “b” y “c”. Si estos estados siguientes permanecen en estos estados, el problema ya se encuentra resuelto.

La clase del siguiente estado para entrada “0” se escribe a la izquierda de cada estado y la clase del estado siguiente para entrada “1” a la derecha.

Page 32: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Evidentemente, la clase “b” contiene pares de estados que no satisfacen la condición (II), por lo tanto no son indistinguibles. Hay que separar la clase “b” en dos clases: “b” y “d”. La nueva partición puede presentar los mismos problemas, entonces hay que repetir el proceso de verificar las clases de los estados siguientes.

76543210Estados

b cb c b c b cb c b ca ca cEstados Siguientes

cbaClases Equivalentes

Page 33: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

En este caso específico, las cuatro clases “a”, “b”, “c” y “d”son indistinguibles. Se verifica que para cada entrada las clases de los estados siguientes son las mismas.

Para formar el circuito equivalente, sólo hay que seleccionar arbitrariamente un estado original de cada clase equivalente.

dcbaClases Equivalentes

17654320Estados

a cb c b c b cb c b cb ca cEstados Siguientes

Page 34: Simplificación de Circuitos Secuenciales

Método de Huffman-Mealy

Tabla equivalente:

Q4,0Q0,0Q1

Q4,1Q1,0Q4

Q4,0Q1,0Q2

Q4,0Q0,1Q0

10XnQn

Qn+1 / Z

Page 35: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentesDe los teoremas nombrados anteriormente, se mencionó que el otro

método que los aplica es el método de las tablas de implicantes ó de Paul-Unger. Este método puede ser aplicado en circuitos que no estén completamente especificados.

El método consiste en buscar estados “NO-Equivalentes” en donde los “1-No Equivalentes” son los que tienen diferentes salidas, los “2-No Equivalentes” son aquellos cuyos estados siguientes tienen diferentes salidas y así sucesivamente.

Vamos a desarrollar el método sobre el siguiente ejemplo:

Page 36: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Ejemplo:

Q3,0Q2,0Q1

Q1,0Q4,0Q3

Q5,0Q2,0Q5

Q4,1Q1,0Q6

Q6/0Q1,0Q7

Q2,0Q7,0Q4

Q2,0Q7,0Q2

10XnQn

Qn+1 / Z

Page 37: Simplificación de Circuitos Secuenciales

Método de Paul-UngerEn este caso serán “1-No Equivalentes” las parejas de estados Q6-Q1, Q6-

Q2, Q6-Q3, Q6-Q4, Q6-Q5 y Q6-Q7, pues Q6 tiene salidas 0/1 mientras que los demás tienen salidas 0/0.

Para seguir buscando estados “No-Equivalentes” construimos la tabla de implicación.

En la sig. figura en el lado izquierdo, descendiendo verticalmente, tenemos una lista de todos los estados del sistema menos el primero y, en sentido horizontal, se da una lista de todos los estados menos el último, a lo largo de la base. De esta forma, la tabla contiene una casilla por cada par de estados. En cada casilla pondremos en ellado izquierdo los estados siguientes del estado que se encuentre en la base de la columna, y en el lado derecho y por el mismo orden según las entradas que les correspondan, los estados siguientes del estado de la izquierda de la fila.

Page 38: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

En el casillero correspondienteal par Q2-Q1, colocamos a la izquierda 2 (Q2 es el estado siguiente de Q1 para la entrada 0) y 3 (Q3 es el estado siguiente de Q1 para la entrada 1). A la derecha colocamos los estados siguientes de Q2, son:7 (Q7) para la entrada 0 y 2 (Q2) para la entrada 1

Page 39: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Iremos tachando los casilleros de aquellos estados “No-Equivalentes”. En primer lugar, al determinar que Q6 con todos los demás estados eran “1-No-Equivalentes”, toda la fila de Q6 y la casilla Q6-Q7estarán tachadas.

Luego, hay tachar los casilleros “2-No-Equivalentes” que contengan coordenadas de estados previamente tachados (Los “1-No equivalentes”) Vemos que la última fila posee en sus coordenadas referencias al estado Q6 con otros estados.

Page 40: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Eliminación de estados “2-No Equivalentes”

Al ser Q6 No equivalente con cualquiera de los otros, cualquier par Q6-X ó X-Q6 será tachado. El siguiente paso, es tachar los “3-No-Equivalentes”: Son aquellos que hacen referencia a los estados que fueron tachados en el paso anterior (los “2-No–Equivalentes”)

Page 41: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Eliminación de estados “3-No Equivalentes”

Las casillas que hemos tachado tienen coordenadas (Q1, Q2), (Q1, Q4), (Q2, Q3), (Q2, Q5), (Q3, Q4) y (Q4, Q5).

El paso a seguir sería tachar los casilleros que contengan a los “4-No-Equivalentes”.

Esto es, los que contengan Q1-Q2, Q1-Q4, Q2-Q3, Q2-Q5, Q3-Q4 y Q4-Q5. Como no existe ningún casillero así, el proceso termina.

Page 42: Simplificación de Circuitos Secuenciales

Método de Paul-UngerUna vez tachados todos los estados “No-Equivalentes” los que

quedan serán equivalentes.

Los casilleros no tachados tienen coordenadas (Q1, Q3), (Q1, Q5), (Q2, Q4) y (Q3, Q5), con lo que los conjuntos de estados equivalentes son {Q1, Q3, Q5} (al ser equivalentes Q1-Q3, Q1-Q5 y Q3-Q5, propiedad transitiva), {Q2, Q4}, {Q6} y {Q7}.

Ahora se procede a construir una tabla de equivalencias.

Page 43: Simplificación de Circuitos Secuenciales

Método de Paul-UngerPara construir la tabla de equivalencias, anotamos los estados correspondientes a

las columnas de la tabla de implicación en orden inverso, es decir, de derecha a izquierda y poniéndolos cada uno debajo del anterior. A continuación vamos comprobando las columnas de cada uno de los estados empezando por la de la derecha. Al Iado del estado colocaremos los estados equivalentes, que se corresponden con las casillas no tachadas en las columnas.

En nuestro ejemplo, las columnas de Q6, Q5 y Q4 no tienen casillas sin tachar, por lo que no hay equivalencias. Para Q3 tenemos que son equivalentes Q3 y Q5 al estar su casilla sin tachar, con lo cual ponemos el conjunto {Q3, Q5}. Después seguimos mirando las otras columnas, copiando las equivalencias obtenidas antes y añadiendo las nuevas.

Si un estado es equivalente a estados que ya se encontraban agrupados en una clase, lo que hacemos es incluirlo, como ocurre con Q1 respecto de {Q3, Q5}.

Cuando hayamos mirado todas las columnas, el conjunto final de clases de equivalencia estará formado por las clases halladas, junto con los estados individuales que no tienen ningún estado equivalente.

Page 44: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Clases de equivalencias:{Q1, Q3, Q5}, {Q2, Q4}, {Q6},{Q7}{Q1, Q3, Q5}, {Q2, Q4}Q1

{Q3, Q5}, {Q2,Q4}Q2

{Q3, Q5}Q3

-Q4

-Q5

-Q6

Estados equivalentesColumna

Page 45: Simplificación de Circuitos Secuenciales

Método de Paul-Unger

Ahora podemos elegir un estado representante de cada clase y tendremos el resultado de la minimización. Elegimos a Q1, Q2, Q6 y Q7. Obtenemos la tabla simplificada.

Q1,0Q2,0Q1

Q2,1Q1,0Q6

Q6/0Q1,0Q7

Q2,0Q7,0Q2

10XnQn

Page 46: Simplificación de Circuitos Secuenciales

Determinación de las clases de equivalencias de estados indistinguibles

o equivalentesApuntes finales:

Para simplificar un sistema secuencial conviene primero aplicar simple inspección para evitar trabajar con tablas con muchos estados. Luego, aplicando el método de las particiones ó las tablas de implicantes se procederá a encontrar la cantidad de estados mínimos. Otro punto a resolver es la asignación óptima de estados, que se verá en clases posteriores.