Anda di halaman 1dari 12

Diseo de una MSS con mtodo de un flip-flop por estado (One Hot Encoding).

. En este mtodo se asigna tantas variables de estado como cuantos estados existen. En este caso en cada estado solo una de las variables de estado es igual a 1. En el Ejemplo tenemos tres estados, por lo tanto es necesario usar tres variables de estado. Por ejemplo, a001, b 010, c 100. Las dems combinaciones de tres variables no se usan, por lo tanto asumimos que son casos (dont care). De la tabla de verdad derivamos las siguientes expresiones del Decodificador de Estado Siguiente y del Decodificador de Salida:
Reset 0/0 1/0

a
0/0

0/1

1/0

c
1/1

84

Y0 = w Y1 = w. y0 Y2 = w. y0 z = y2

85

Estas expresiones son ms complejas que las anteriores, lo que significa que el circuito es ms complejo. Pero a veces este mtodo de diseo puede ser atractivo.

Se colocan dos inversores (entrada y salida) para permitir que Resetn lleve al sistema al cdigo 001.

86

Podemos notar que si la seal Resetn se activa, la MSS va al estado 001 gracias a los inversores colocados en la implementacin. El resto del tiempo trabaja normalmente

87

DISEO DE CONTADORES. Los Contadores son MSS que pueden ser usadas para realizar las siguientes funciones: Convertir un nmero de pulsos de entrada en algn cdigo y almacenarlo. Generar un cdigo secuencial especial. Como divisor de la frecuencia. Como elemento de retardo. Se los puede clasificar de la siguiente manera: Por el modo de operacin sencillo o mltiple (ascendente, descendente, Up/Down). Por el nmero de bits de salida (4 bits, 8 bits). Por el nmero de estados o mdulo. Por el modo de generar la secuencia (binario, de distancia unitaria). Sincrnicos y asincrnicos.
88

Ejemplo.

Disear un Contador ascendente, de modo sencillo y modulo 8 (0, 1, 2, 3, 4, 5, 6, 7) con reset asincrnico, que tiene una entrada w. Si w = 0, el circuito se queda en el mismo estado, si w = 1, el Contador va al siguiente estado y se incrementa.
Formato: w / z2 z1 z0
1/111 0/111 0/000

1/000

h
1/110 1/001

b c
1/010

0/001

0/110

g
1/101

0/010

0/101

f
0/100 1/100 1/011

d e

0/011

89

En el estado a la salida es igual a 0 (z2 z1 z0 = 000), en el estado b la salida es igual a 1 (z2 z1 z0 = 001), etc. Para la asignacin de cdigos de estado necesitamos utilizar tres bits (y2 y1 y0). Lo ms conveniente y simple en el caso de los contadores es codificar cada estado con un cdigo igual al nmero que debe tener el Contador en la salida. De esta manera no se requiere el bloque Decodificador de Salida. Las seales de salida solo dependen del estado del Contador, es decir, son salidas incondicionales. Por lo tanto, la MSS diseada es de modelo Moore.

90

Tabla de estados presentes y siguientes:

91

Elaboramos los mapas del Decodificador de Estado Siguiente y utilizamos flip-flops tipo D para la Memoria de Estado.
y2y1 00 y0 w 00 01 11 10 y2y1 00 y0 w 00 01 11 10 y2y1 00 y0 w 00 01 11 10
0 0 0

01
4

11
12

10
8

0
1

0
5

1
13

1
9

0
3

0
7

1
15

1
11

y2 = y2 y1 y0 w + y2 y0 + y2 w + y2 y1

0
2

1
6

0
14

1
10

0
01
4

1
11
12

1
10
8

0
1

1
5

1
13

0
9

0
3

1
7

1
15

0
11

y1 = y1 y0 w + y1 y0 + y1 w

1
2

0
6

0
14

1
10

1
01
4

1
11
12

0
10
8

0
1

0
5

0
13

0
9

1
3

1
7

1
15

1
11

y0 = y0 w + y0 w
92

0
2

0
6

0
14

0
10

Tambin podemos minimizar con el uso de una variable entrante al mapa (w).

93

94

Las salidas:

z2 = y2, z1 = y1, z0 = y0.

Si observamos el circuito del Decodificador de Estado Siguiente se nota como se complica la circuiteria con cada siguiente bit. Para generar el estado siguiente para el flip-flop D0 se requieren dos puertas AND, para D1 se requieren tres AND, para D2 cuatro AND. Si fuera un Contador de 8 bits necesitaramos nueve puertas AND! Se puede simplificar el bloque del Decodificador de Estado Siguiente usando flip-flops tipo JK. Primeramente, relacionemos las Tablas de excitacin de los flip-flop tipo D y tipo JK:

95

Reemplazando la tabla del flip-flop D1 por las tablas J1 y K1 y la tabla de D0 por las tablas J0 y K0 derivamos las siguientes expresiones: J1 = K1 = y0w J0 = K0 = w
96

Esto significa, que si usamos los flip-flops JK el Decodificador de Estado Siguiente es ms simple.

97

ANALISIS DE UNA MSS. Un diseador de circuitos secuenciales sincrnicos debe ser capaz tambin de analizar el comportamiento de una MSS ya existente. El proceso de anlisis es inverso al proceso de sntesis o diseo. Por lo tanto, debemos realizar los siguientes pasos: 1. Identificar los tres bloques funcionales de la MSS Bloques de Memoria de Estados, que es conjunto de los flip-flop cuyas salidas representan las variables de Estado Presente. Bloque del Decodificador de Estado Siguiente, que es toda la circuiteria que esta conectada con las entradas de los flip-flops. Bloque del Decodificador de Salida, que es toda la circuiteria conectada a las salidas de los flip-flops.

98

Ejemplo:

El bloque de Memoria de Estados tiene dos flip-flops. Las variables de Estado Presente son y1 y y0, de las cuales y1 se asume mas significativa. El conjunto de cinco puertas representa el Decodificador de Estado Siguiente que generan las variables de Estado Siguiente Y1 y Y0. La puerta que genera la salida Z representa el Decodificador de Salida.
99

2. Definir las expresiones lgicas para las variables de Estado Siguiente y de la Salida.

Y1 = wy1 + wy0

Y0 = wy1 + w y0

z = y1 y0

3. Graficar los mapas para cada variable de Estado Siguiente y de Salida.

Y1 :

y1y0 00 w 0 1
0

01
2

11
6

10
4

Y0 :

y1y0 00 w 0 1
0

01
2

11
6

10
4

0
1

0
3

0
7

0
5

0
1

0
3

0
7

0
5

1
Z :

1
y1y0 00 w 0 1
0

01
2

11
6

10
4

0
1

0
3

1
7

0
5

0
100

4. Graficar la Tabla de Estados Presentes y Siguientes.

5. Graficar el Diagrama de Estados.

Para graficar el Diagrama de Estados es recomendable asumir como estado inicial el 101 estado donde y1 = y0 = 0.

Uso de la memoria ROM en el diseo de las MSS. Una memoria ROM (read-only memory) es un circuito combinatorial con n entradas y m salidas. Las entradas son llamadas entradas de direccionamiento (address input) y tradicionalmente se identifican como A0, A1,..., An-1. Las salidas son llamadas salidas de datos (data outputs) y dependiendo del fabricante se indican como O0, O1,..., Om-1 o Q0, Q1,..., Qm-1 o D0, D1,..., Dm-1.

102

Ya que los bloques del Decodificador de Estado Siguiente y del Decodificador de Salida de una MSS son circuitos combinatoriales, ellos pueden ser implementados utilizando la memoria ROM (EPROM, EEPROM). Basndose en el Diagrama de Estados se debe elaborar la tabla de Estados Presentes y Siguientes asignando previamente el cdigo de estados.

103

10

Ejemplo : MSS controladora de acceso Formato : S1 , S2 ,S3 / P1, P2, P3


000/000

a
0/100 1/100 1/000

y1 0 y0 0 1
01/000
0

1
2

a
1

d
3

b
0/010 1/010 0/001

c
1/001

001/000

d
104

105

11

Utilizando los datos de estado siguiente y de salida escribimos el programa para grabar la memoria EPROM. Tenemos dos bits de cdigo de estado siguiente y tres bits de seales de salida, total cinco bits. La palabra de cdigo de programa de la EPROM M2732A debe tener siempre ocho bits. Entonces los tres bits que faltan para completar la palabra se dejan en 1, ya que una EPROM sin programar tiene todas las salidas en 1. Es preferible convertir la palabra de cdigo de ocho dgitos binarios en dos dgitos hexadecimales y preparar un archivo tipo texto. Programa de la memoria en cdigo hexadecimal: 07 87 C7 C7 47 47 47 47 27 27 27 27 67 67 67 67 0F 8F 0F 8F 0F 8F 0F 8F 17 17 D7 D7 17 17 D7 D7 Luego se debe grabar la memoria e implementar el circuito.
106

Compilamos, simulamos y analizamos los Diagramas de Tiempo.

107

12

Anda mungkin juga menyukai