Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A B C D E F
0 0 0 0 0 1
0 0 0 0 1 1
0 0 0 1 0 0
0 0 0 1 1 1
0 0 1 0 0 1
0 0 1 0 1 1
0 0 1 1 0 1
0 0 1 1 1 0
0 1 0 0 0 1
0 1 0 0 1 1
0 1 0 1 0 1
0 1 0 1 1 1
0 1 1 0 0 0
0 1 1 0 1 0
0 1 1 1 0 X
0 1 1 1 1 1
1 0 0 0 0 1
1 0 0 0 1 1
1 0 0 1 0 X
1 0 0 1 1 1
1 0 1 0 0 1
1 0 1 0 1 1
1 0 1 1 0 0
1 0 1 1 1 1
1 1 0 0 0 0
1 1 0 0 1 0
1 1 0 1 0 1
1 1 0 1 1 1
1 1 1 0 0 X
1 1 1 0 1 X
1 1 1 1 0 X
1
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
1 1 1 1 1 1
Sea la función:
Dada la función:
Simplificarla al máximo empleando únicamente los teoremas y postulados del Álgebra de Boole.
Implementar F con el mínimo número de puertas, teniendo en cuenta que no se dispone de puertas con funciones
negadas.
2
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
B F
F
Utilizando exclusivamente bloques como el dado, y en el menor número posible, impleméntense las siguientes
funciones:
(a) NOT.
(b) AND.
(c) OR.
(d) XOR.
(e) NAND.
(f) NOR.
(g) N-XOR
g
3
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
A B C D
(a) Obtener la tabla de verdad y la primera forma canónica (implícita o numérica) de la función F que realiza.
(b) Implementar esta misma función empleando únicamente puertas NOR de tres entradas, optimizando el diseño
para que la cantidad de puertas sea mínima.
(a) Utilizando exclusivamente las propiedades y axiomas del Álgebra de Boole, obtener la expresión más
simplificada de F.
(b) Implementar la función obtenida en el apartado (a) con el menor número de puertas OR, AND, XOR y XNOR de
dos entradas.
(c) Implementar F, obtenida en el apartado Z, con el menor número de puertas NAND de dos entradas.
Se pretende diseñar un transcodificador de un código BCD 4321 al código BCD Natural. El código BCD 4321 es el
siguiente:
0 0000
4
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
2 0010
3 0011
4 0101
5 1001
6 1010
7 1011
8 1101
9 1110
Obtener S2 con un multiplexor (no se especifica nada, por lo tanto, intentarlo con un multiplexor de 4, 3, 2, 1
entradas de control)
Se dispone de una pastilla que contiene un registro de desplazamiento con capacidad de dos bits (Q B, QA). El
esquema de bloques se muestra en la figura. También se dispone de una pastilla que contiene un multiplexor de
cuatro entradas de datos. Con estas pastillas y las puertas lógicas que considere necesarias, diseñar un
circuito convertidor de transmisión paralelo a serie de palabras de cuatro bits.
El esquema de la figura representa un transcodificador de binario (4 bits) a BCD, con B3 y A4 los bits más
significativos:
B3 A4
B2 A3
B1 A2
B0 A1
A0
5
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Diseñar un circuito que genere un bit de paridad par en palabras de cuatro bits. Esto es, se debe generar un
bit de salida de forma que la suma de los unos de la palabra de entrada más el de salida sea un número par. Se
dispone de dos multiplexores de 4 canales de entrada con entrada de validación y salidas activas a nivel bajo
y un circuito integrado 7400 que contiene 4 puertas NAND de 2 entradas.
■
Problema 1 (Junio 1.997).
XYZW F
0000 1
0001 1
0010 0
0011 0
0100 1
0101 1
0110 0
0111 0
1000 0
1001 0
1010 0
1011 1
1100 0
1101 0
1110 0
1111 1
6
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
(a) Diseñar la función F con un demultiplexor con salidas activas a nivel alto del menor tamaño posible y el
menor número de puertas NOR de tres entradas posible.
(b) Modificar el circuito del apartado anterior de forma que tenga una entrada adicional C, tal que si C=0 la
salida se anule y si C=1 la salida sea igual a la del apartado (a).
(b) Implementar la función F mediante un decodificador con las salidas activas a nivel alto y una puerta NOR.
■
7
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Se pretende diseñar un transcodificador de un código BCD 4321 al código BCD natural. El código BCD 4321 es el
siguiente:
0 0000
1 0001
2 0010
3 0011
4 0101
5 1001
6 1010
7 1011
8 1101
9 1110
Obtener S1 con un decodificador con salidas activas a nivel alto y una única puerta lógica de tamaño mínimo.
El circuito de la figura contiene dos decodificadores octales con entrada de validación E activa a nivel bajo.
Las salidas del decodificador superior son activas a nivel alto y las del inferior activas a nivel bajo.
8
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
9
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
El esquema de la figura representa un transcodificador de binario (4 bits) a BCD, con B3 y A4 los bits más
significativos:
B3 A4
B2 A3
B1 A2
B0 A1
A0
Implementar A1 con puertas OR y decodificadores de tres entradas con entrada de validación activa a nivel bajo.
Implemente la función:
Para ello utilice un decodificador de dirección lo más pequeño posible, con salidas activas a nivel bajo y
entrada de validación activa a nivel alto, y las puertas básicas necesarias, en el menor número posible, pero
de no más de dos entradas.
En un compartimento de un tren hay tres literas. En el techo del compartimento hay una luz cuyo encendido se
maneja según cinco señales de control:
10
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Utilizando comparadores de magnitud de un bit, y el menor número de puertas lógicas de dos entradas, se pide:
11
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Utilizando los teoremas y postulados del álgebra de Boole, demostrar que los dos circuitos de la figura son
equivalentes:
En la figura se representa un transcodificador de código abcd definido en la tabla adjunta a BCD natural.
12
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
2 0110
3 1010
4 0100
5 1000
6 1001
7 1110
8 1111
9 1100
abcd
0 0000
“0”
13
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
CÓDIGO X
ABCD
0 0000
1 0010
2 1001
3 1010
4 0101
5 0110
6 1101
7 1110
8 1111
9 1100
=3 2 1 0
=3 2 1 0
Se pretende diseñar un circuito combinacional que, dependiendo del valor que tomen
las entradas de control K2, K1, K0 realice diferentes transcodificadores a un código
de entrada de BCD natural (A3A2A1A0), tal y como indica la siguiente tabla:
K2K1K0 3210
0 0 0 BCD exceso a 2
14
Universidad pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0 0 1 No lo modifica
0 1 0 BCD exceso a 4
0 1 1 BCD exceso a 5
1 0 0 AIKEN
Notas:
15
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0 0 0X 0 0 0 X
0 1 1 0 0 1 1 X
1 0 0 1 1 0 X 1
1 1 X 0 1 1 X 0
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 0
1 1 0 1 1 1
Empleando biestables JK y el menor número de puertas lógicas, diseñar un contador síncrono que cuente
0, 3, 1, 0, 2, 2, 3, 1, 0, 3, ...
16
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Diseñar un contador síncrono que siga la secuencia 111, 100, 110, 001, 101, 010, 111, 100, ...
Utilizar un biestable JK para el elemento de mayor peso, uno de tipo D para el de menor peso y uno de
tipo T para el restante, todos activos por flanco de bajada del reloj, además de las puertas necesarias.
Representar el cronograma de los diez primeros ciclos del contador, suponiendo que en el instante
inicial se encuentra en el estado 111.
CK
QC
t
QB
empleando:
0 0 0X 0 0 0 X
0 1 1 0 0 1 1 X
1 0 0 1 1 0 X 1
1 1 X 0 1 1 X 0
17
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0 0 0 0 0 0
0 1 1 0 1 1
1 0 1 1 0 0
1 1 0 1 1 1
Diseñar un autómata capaz de detectar, poniendo su única salida a uno, la llegada de los
cuatro últimos bits recibidos de una de las secuencias siguientes: “1100” y “1001”.
El circuito deberá ser un autómata de Mealy. Estará dotado de una única entrada por la
que recibirá un tren aleatorio de bits. Deberá diseñarse empleando biestables D y una
memoria ROM.
18
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0 1
q0 q1/0 q4/0
q1 q7/0 q2/0
q2 q8/0 q3/0
q3 q0/0 q0/1
q4 q2/0 q5/0
q5 q3/0 q6/0
q6 q0/1 q0/0
q7 q8/0 q8/0
q8 q0/0 q0/0
Estado Entradas
inicial 00 01 10 11
19
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
E0E1
Operaciones
No se altera el contenido aunque reciba
00 impulsos de reloj.
20
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
E0 Z0
DETECTOR
Su función es detectar las tramas 1000 y 1111 en ambas líneas, que indican
respectivamente el comienzo y el final de la transmisión. Para ello, cuando las dos
entradas E0 y E1 se detecte a la vez la trama “1000”, activará la salida Z0 (indicador
de comienzo de transmisión). Y cuando en ambas entradas se reciba simultáneamente la
secuencia “1111”, deberá activar la salida Z 1 (indicador de fin de transmisión). En el
resto de los casos, ambas salidas deben estar desactivadas.
Es importante tener en cuenta que, si las tramas no se detectan al mismo tiempo en ambas
líneas no se consideran tramas de control, y, por tanto, continúa el proceso de
detección.
Cuando se detecta trama de control, se pasará al estado de comienzo de búsqueda de una
nueva secuencia de control. Es decir, no se considera el solapamiento en la detección
de trama.
Se pretende diseñar un autómata finito de Mealy que realice la función indicada, para
ello se pide:
21
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Se trata de diseñar un autómata que active la apertura de la cerradura cuando se reciba la secuencia
correcta.
Sólo cuando se haya recibido la cuarta cifra se activará (si procede) la apertura de la cerradura.
Se pide:
Asignación de estados.
Codificación de estados, entradas y salidas.
Diagrama de flujo simplificado del autómata y tabla de estados.
Contenido de la memoria, en caso de realizarlo como autómata programable.
§ 11.1. Introducción.
22
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Las memorias ROM (acrónimo de la denominación sajona “Read Only Memories”) son
memorias de acceso individual aleatorio a los datos (tipo RAM, de la denominación
sajona “Random Access Memories”), esto es, memorias construidas de forma que, cuando
se intenta acceder al dato, éste queda disponible siempre en un tiempo determinado,
que es el mismo para todos los datos de la memoria, independientemente de su
posición.
Matriz de la memoria
0 ...
1 1
. .
.
. . ... .
. .
.
. . . ... .
...
...
Decodificador
direcciones
Dm-1 Dm-2... D1 D0
23
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Obsérvese que entre las filas y las columnas de la ROM existen pequeños
diodos que hacen que cuando se seleccione el dato deseado, aparezca una
corriente a través de las columnas que tienen conectado algún cátodo de
diodo. En general, se suelen emplear transistores de forma que no disminuya
la corriente de salida para aquellas filas de la matriz grabadas con muchos
unos (ello supondría tener que repartir la corriente de salida del
decodificador entre un elevado número de columnas). Estos transistores toman
una alimentación ajena normalmente al decodificador. Además, puede
implementarse internamente la electrónica necesaria para la adaptación de
niveles lógicos para otros dispositivos.
110) 10...1
... .....
2n-210) 11...1
2n-110) 00...1
24
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
El procedimiento para diseñar autómatas con memorias ROM sigue los pasos vistos
en el capítulo anterior, a excepción de que normalmente, en el paso se eligen
biestables de tipo D para minimizar el ancho de palabra de la ROM y que no es
necesario el paso (lógica programada).
Identificar, del enunciado del problema, las posibles entradas al autómata y las
posibles salidas que éste puede producir. Codificar estas entradas y salidas, con
el número de bits adecuados. Así, por ejemplo, si se tienen N posibles entradas
distintas, necesitaremos bits, En-1...E0 . En cambio, si se tienen L
salidas distintas, necesitaremos bits, Zl-1...Z0.
q(t)
q(t)
q’(t+1 q’’(t+1)
q’(t+1 q’’(t+1)
)
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
(a) (b)
Fig. 11.3.1. Comparación de los diagramas de flujo de un autómata de tipo Mealy (a), y
Estado Estado
Entradas Entradas
inicial inicial Salida
E’s E’s
26
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Estado
Estado
siguiente/Sali
siguiente
da
(a) (b)
Tabla 11.3.2. Comparación de las tablas de transición de estado de un autómata de tipo Mealy (a), y
Entradas
Estado síncronas a
Estado
Entrada/s los Salidas
Inicial Siguiente biestables D
E’s (ó T) Z’s
Q’s(t) Q’s(t+1)
27
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Grabar la memoria ROM con los contenidos de las columnas 4ª (entradas síncronas) y
5ª (salida/s), y realimentar el circuito de memoria (biestables) con las salidas de
la ROM que implementan el cambio de estado.
Estado Entradas
Entrada/s Estado síncronas a
Siguiente Salida
Inicial los
biestables Z
Q1(t) Q0(t) Q1(t+1)Q0(t+1
E
) D1 D0
0 0 0 0 0 0 0 0
0 0 1 1 0 1 0 0
0 1 0 0 0 0 0 0
0 1 1 x x x x x
1 0 0 0 1 0 1 0
1 0 1 0 1 0 1 0
1 1 0 0 1 0 1 1
1 1 1 x x x x x
El autómata programado necesitaría como recurso adicional una memoria ROM de 8*3 (8
palabras de 3 bits cada una), que habría que grabar como se indica en la figura:
E
ROM
8*3 28
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0
0 0 0
0
MEMORIA 1
1 0 0
Master 2
CK 0 0 0
3
x x x
D Q
z
D Q
29
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
BIBLIOGRAFÍA
[1] “Diseño Lógico”, Antonio Lloris, Alberto Prieto. Ed. McGraw-Hill, 1.996.
§ 10.1. Introducción.
Los elementos que componen un autómata son, en general, por una parte, una
memoria que permite almacenar el estado actual del autómata, y, por otra, dos redes
30
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
combinacionales, una para calcular el estado siguiente y otra que permite calcular la
salida.
Autómatas de Mealy:
Son aquellos en los cuales, tanto la salida del autómata como su estado
siguiente, en un instante determinado, depende tanto del estado en el que se
encuentra el autómata en ese instante como de la/s entrada/s binaria/s
introducidas.
q(t)
e’/z’ e’’/z’’
q’(t+1 q’’(t+1)
)
31
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
autómata de Mealy.
Master CK
Memoria
(permite almacenar el
estado actual)
q(t)
q(t)
Bloque combinacional
Z
z=f’[q(t), e]
Bloque combinacional
(permite calcular
estado siguiente)
q(t+1)=f[q(t), e]
32
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Autómatas de Moore:
q(t)
e’ e’’
q’(t+1 q’’(t+1)
)
33
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
autómata de Moore.
Memoria
(permite calcular la/s
salida/s)
(permite almacenar el
estado actual)
z=f’[q(t)] Z
q(t)
q(t)
Bloque combinacional
(permite calcular
estado siguiente)
q(t+1)=f[q(t), e]
34
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Identificar, del enunciado del problema, las posibles entradas al autómata y las
posibles salidas que éste puede producir. Codificar estas entradas y salidas, con
el número de bits adecuados. Así, por ejemplo, si se tienen N posibles entradas
distintas, necesitaremos bits, En-1...E0 . En cambio, si se tienen L
salidas distintas, necesitaremos bits, Zl-1...Z0.
35
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
q(t)
q(t)
q’(t+1 q’’(t+1)
q’(t+1 q’’(t+1)
)
)
(a) (b)
Fig. 10.2.1.1. Comparación de los diagramas de flujo de un autómata de tipo Mealy (a), y
Estado Estado
Entradas Entradas
inicial inicial Salida
E’s E’s
Estado Estado
36
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
siguiente/Sali
siguiente
da
(a) (b)
Tabla 10.2.1.2. Comparación de las tablas de transición de estado de un autómata de tipo Mealy (a), y
Entradas
Estado síncronas a
Estado
Entrada/s los Salidas
Inicial Siguiente biestables
E’s Z’s
Q’s(t) Q’s(t+1) (J’s, K’s,
T’s, D’s)
37
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Como ejemplo, vamos a realizar el diseño de un autómata de Mealy que reciba como entrada
un dato binario a través de una única línea, y sea capaz de detectar la entrada, a través de
esa línea, de la secuencia “101”. Cuando la secuencia se haya producido, el autómata activará
su única salida, poniéndola a nivel alto. En caso contrario, la salida permanecerá a nivel
bajo. Se deben emplear biestables de tipo JK y puertas lógicas, en el menor número posible.
Identificar, del enunciado del problema, las posibles entradas al autómata y las
posibles salidas que éste puede producir. Codificar estas entradas y salidas, con
el número de bits adecuados. En este caso, se tiene una única entrada (que podemos
llamar E) y una única salida (que podemos llamar Z), por lo que se asocia a cada
una de estas líneas una variable de conmutación (1 único bit).
0/0
q0 (No se ha reconocido
nada)
38
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0/0 1/0
0/0
1/0
q2 q1
1/1
de tipo Mealy.
Estado
39
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Entradas
inicial
E
0 1
q0 q0/0 q1/0
q1 q2/0 q1/0
q2 Q0/0 q1/1
Q1 Q0 Estado
00 q0
01 q1
10 q2
11 -
40
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Realizar la tabla de verdad del autómata. Tendremos en cuenta que se van a emplear
biestables de tipo JK.
Estado Entradas
Entrada/s Estado síncronas a
Siguiente Salida
Inicial los
biestables Z
Q1(t) Q0(t) Q1(t+1)Q0(t+1
E
) J1 K1 J0 K0
0 0 0 0 0 0 x 0 x 0
0 0 1 1 0 1 x x 1 0
0 1 0 0 0 x 1 0 x 0
0 1 1 x x x x x x x
1 0 0 0 1 0 x 1 x 0
41
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
1 0 1 0 1 0 x x 0 0
1 1 0 0 1 x 1 1 x 1
1 1 1 x x x x x x x
La simplificación de estos 5 mapas de Karnaugh de 23= 8 casillas cada uno ofrece los
siguientes resultados:
42
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
MEMORIA
J Q J Q
Master
CK
CK CK
RED
“1”
COMBINACIONAL
(ESTADO
SIGUIENTE)
43
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
§ 10.2.2. Equivalencia entre los autómatas de tipo Mealy y los autómatas de tipo
Moore.
Si nos fijamos bien, veremos que la única diferencia conceptual entre ambos es
que, mientras que en el autómata de tipo Mealy la/s salida/s en un instante de tiempo
determinado depende/n tanto del estado del autómata en ese instante como de la/s
entrada/s combinacionales, en el autómata de tipo Moore la/s salida/s en un instante
dado solamente dependen del estado en el que se encuentra el autómata en dicho
instante.
0/0
(No se ha reconocido
q0 nada)
0/0 1/0
0/0
1/0
q2 1/1 q1
a salidas distintas.
45
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
(No se ha reconocido
nada)
q0 / 0
(Se han reconocido 0 (Se ha reconocido
“10”) 0 1
q2 / 0 q10 / 0 “1”)
1 1
q11 / 1
(Se han reconocido
“101”)
Vamos a implementar este autómata. Para ello, igual que antes, seguimos la
secuencia de pasos de la sección § 10.2.1.
Como antes, se tiene una única entrada (que podemos llamar E) y una única salida
(que podemos llamar Z), por lo que se asocia a cada una de estas líneas una
variable de conmutación (1 único bit).
46
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
(No se ha reconocido
nada)
q0 / 0
0 1
0
1 1
de tipo Moore.
47
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0 1
q0 q0 q10 0
q10 q2 q10
0
q2 q10
q11
1
q0 q11
q2 0
Q1 Q0 Estado
00 q0
01 q10
10 q11
11 q2
48
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Realizar la tabla de verdad del autómata. Tendremos en cuenta que se van a emplear
biestables de tipo JK.
Estado Entradas
Entrada/s Estado síncronas a
Siguiente Salida
Inicial los
biestables Z
Q1(t) Q0(t) Q1(t+1)Q0(t+1
E
) J1 K1 J0 K0
0 0 0 0 0 0 x 0 x 0
0 0 1 1 1 1 x x 0 0
0 1 0 1 1 x 0 1 x 1
0 1 1 0 0 x 1 x 1 0
1 0 0 0 1 0 x 1 x 0
1 0 1 0 1 0 x x 0 0
1 1 0 0 1 x 1 1 x 1
1 1 1 1 0 x 0 x 1 0
Se desprenden las siguientes formas implícitas para las funciones de conmutación J1,
K1, J0, K0 y Z.
49
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
50
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
MEMORIA
J Q J Q
Master
CK
CK CK
RED
“1”
COMBINACIONAL
(ESTADO
SIGUIENTE)
51
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
52
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Sea, pues, E = {e0,…, eN-1} el conjunto de las N entradas binarias distintas que
puede recibir el autómata. Sea, además, Q = {q0,…, qM-1} el conjunto de los M posibles
estados distintos en los que puede encontrarse el autómata, M N, M < . Finalmente,
sea Z = {z0,…, zL-1} el conjunto de las L salidas distintas que puede generar a su
salida dicho autómata. Sean y funciones de conmutación que permiten calcular el
estado siguiente y la salida, respectivamente:
: Q E Q
(qi,ej) (qi,ej):= qk
: Q E Z
(qi,ej) (qi,ej):=zk
53
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
2(qi¸eiej) = ((qi,ei),ej)
2(qi¸eiej) = ((qi,ei),ej)
Definición. (Estados equivalentes). Se dice que los estados qi y qj, i,j{0,…, M-1}
son equivalentes por la relación de equivalencia R, y se escribirá qi~Rqj, si, para
cualquier secuencia de entradas de cualquier longitud n, e1…en,
1. ¿~R reflexiva?
Dado qi Q, está claro que qi~Rqi, puesto que, dada cualquier secuencia de entradas de
longitud n, e1…en
n(qi, e1…en)= n(qj, e1…en)
2. ¿~R simétrica?
Evidentemente
por lo que
Esta definición, desde el punto de vista matemático, está muy bien. Ahora bien,
carece totalmente de practicidad, por cuanto, para demostrar que dos estados de Q son
equivalentes, habría que calcular las salidas que se producen cuando, desde esos
estados, se evoluciona siguiendo una secuencia arbitraria de entradas, de cualquier
longitud, ¡y hay infinitas secuencias de este tipo!
55
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Demostración.
)
Mostremos, en primer lugar que, si dos estados son equivalentes, entonces debe
cumplirse lo anterior.
56
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
)
57
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
n(qi, e1…en)= ((qi, e1), e2…en)= ((qj, e1), e2…en)= n(qj, e1…en)
Si dos estados qi y qj son equivalentes, sea cual sea la entrada que le llegue
al autómata estando en estos estados, producirá la misma salida, independientemente
de cuál sea su estado inicial, qi o qj. Por lo tanto, externamente estos estados son
indistinguibles.
Algebraicamente, esto equivale a agrupar aquellos estados qi, qj, qk, ..., tales
que:
58
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Estado Entrada
inicial 0 1
q0 q0/0 q1/0
q1 q2/0 q3/0
q2 q0/0 q4/0
q3 q5/0 q3/0
q4 q6/1 q3/0
q5 q7/1 q4/0
q6 q0/0 q4/0
q7 q0/0 q1/0
tipo Mealy.
59
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
C2={q4, q5}
Iteración Nº1.
Grupo C1:
C12={q2, q6}
C13={q3}
Grupo C2:
60
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
C21={q4}
C22={q5}
Iteración Nº2.
Grupo C11:
Grupo C12:
Resumiendo:
C111={q0, q7}
C112={q1}
C12={q2, q6}
61
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
C13={q3}
C21={q4}
C22={q5}
Iteración Nº3.
Grupo C111:
Grupo C12:
Finalmente, los grupos C112, C13, C21 y C22 son unitarios, y no se procesan.
Resumiendo:
C111={q0, q7}
C112={q1}
62
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
C12={q2, q6}
C13={q3}
C21={q4}
C22={q5}
Estado Entrada
inicial 0 1
q0 q0/0 q1/0
q1 q2/0 q3/0
q2 q0/0 q4/0
q3 q5/0 q3/0
q4 q2/1 q3/0
q5 q0/1 q4/0
tipo Mealy.
63
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
A F E 0
B A 1
B
D B 0
C
C I 1
D
E C D 1
K J 0
F
B F 1
G
D G 0
H
H E 1
I
M E 1
J
K E 0
K
G K 1
L
I L 0
M
C1={A, C, F, H, K, M}
C2={B, D, E, G, I, J, L}
Iteración Nº1.
64
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Grupo C1:
C11={A, F, K}
C12={C, H, M}
Grupo C2:
C21={B, G, L}
C22={D, E, Ï, J}
Iteración Nº2.
Grupo C11:
65
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Grupo C12:
Grupo C21:
Grupo C22:
Resumiendo:
C11={A, F, K}
66
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
C12={C, H, M}
C21={B, G, L}
C22={D, E, Ï, J}
A A D 0
B A 1
B
C D B 0
C D 1
D
tipo Moore.
67
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
BIBLIOGRAFÍA
[1] “Diseño Lógico”, Antonio Lloris, Alberto Prieto. Ed. McGraw-Hill, 1.996.
§ 9.1. Introducción.
68
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Q0 “1 Q1 Q2
”
“1 “1 “1
P ” P P
” ”
Master
J Q J Q J Q
CK
CK CK CK
K Q K Q K Q
“1
C ”C C
69
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Supongamos que se dispone, por ejemplo, del contador módulo-5 que se muestra
a continuación, en el que la red de puesta es por defecto. Esto es, se ha
tomado N (módulo del contador, en nuestro caso, 5), se le ha restado 1, se
ha codificado N-1 en binario (5-1=410)=1002)) , y se han llevado las salidas
de los biestables que están a “1” (en este caso, el último, Q 2) a las
entradas de una puerta nand, cuya salida se ha conectado a las de PRESET de
los biestables cuyas salidas, para el estado (N-1)2), están a “0”, esto es,
Q0 y Q1, como se muestra en la figura.
Q0 Q1
“1 “1 “1 Q2
“1
” ” P ” P
Master ”
CK J Q J Q
P CK CK
J Q
K Q K Q
CK C C
K Q 70
C
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
“1
”
Q0 t
I0 Q0 I1 Q1 I2 Q2 I3 Q3
Grabar
P P P P
D Q D Q D Q D Q
CK Q CK Q CK Q CK Q
C C C C
SHIFTER
73
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Fig. 9.2.1.1. Registro de desplazamiento con entrada paralelo y salida serie conectado como contador síncrono módulo-4.
Activar la línea BORRAR, poniéndola a “0” (activa a nivel bajo). Esto hará que
el estado de los cuatro biestables se ponga a “0”.
Pulso de CK Estado
Q0Q1Q2Q3
0 (Estado 1000
inicial)
1 0100
2 0010
3 0001
4 1000
74
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Obsérvese que en el cuarto pulso del Master CK, el estado del registro vuelve a
coincidir con el estado inicial, por lo que habrá entrado en un ciclo en el que
pasa por los cuatro estados 1000010000100001.
1000
0001 0100
0010
Este contador efectúa las transiciones de forma síncrona, puesto que, al estar
internamente los relojes de los biestables conectados entre sí en el registro,
las transiciones se producen simultáneamente, en los mismos instantes de tiempo,
que son los flancos de bajada del Master CK en este caso.
Ahora bien, es indudable que este contador, que sí puede generar secuencias de salida no
consecutivas (véase el flujograma anterior), adolece de dos desventajas de mayor índole.
¿Cuáles son esas desventajas?
75
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
1. Pues, en primer lugar, que desperdicia los recursos. Ya se sabe que con
un número de n biestables se pueden implementar contadores (asíncronos)
de cuyo módulo sea de hasta 2n. En cambio, con un registro de n bits y
siguiendo esta técnica, sólo se podrán implementar contadores
(síncronos) de módulo n, por lo que se “desperdician” 2n-n estados (y
esta cifra puede llegar a ser muy alta; en efecto, tómese n=5 y se verá
que se desperdician un total
de 25-5 = 27 estados).
0000
Q0 Q1 Q2
Q3
“1”
76
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
P P P P
D Q D Q D Q D Q
CK Q CK Q CK Q CK Q
C C C C
“1”
Master CK
SHIFTER
Fig. 9.2.2.1. Registro de desplazamiento con entrada paralelo y salida serie conectado como contador síncrono módulo-4.
Pulso de CK Estado
Q0Q1Q2Q3
0 (Estado 0000
inicial)
1 1000
77
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
2 1100
3 1110
4 1111
5 0111
6 0011
7 0001
8 0000
Respecto del anterior, este contador presenta dos ventajas, la primera, que no
requiere inicialización, y la segunda, que con n biestables puede implementar
contadores de módulo 2·n. Sigue desaprovechando, pues, 2n-2·n estados, pero
desaprovecha menos estados que el contador en anillo normal de la sección § 9.2.1.
Esta técnica, es, sin duda, la mejor forma de aprovechar los recursos (los
biestables) para construir un contador síncrono. En cambio, tiene el inconveniente de
tener que calcular la lógica combinacional que permita cambiar de estado al contador.
Del enunciado del problema, averiguar el módulo del contador que se desea construir
(N).
78
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Elegir el tipo de biestables que se van a utilizar (la mayor parte de las veces vendrá
impuesto por el enunciado del problema), y conectar todas las entradas de reloj de
esos n biestables al Master CK. Desactivar las entradas asíncronas.
Q(t) Q(t+1)
Del enunciado del problema, deducimos que el módulo del contador es 5, puesto que el
ciclo del mismo se compone de 5 estados (0, 2, 4, 6 y 8). Por lo tanto, N=5.
79
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Q2Q1Q0
000 0000
001 0010
010 0100
011 0110
100 1000
Elegir el tipo de biestables que se van a utilizar (JK, de acuerdo con el enunciado
del problema), y conectar todas las entradas de reloj de esos n=4 biestables al Master
CK. Desactivación de entradas asíncronas (PRESET y CLEAR)
“1
”
P P P P
J Q J Q J Q J Q
80
CK CK CK CK
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
“1
Master
”
CK
Fig. 9.3.2. Conexión del Master CK a los n biestables del contador
Síncrono.
Codificar los estados del contador. Lo haremos en binario natural, esto es 010)=00002),
210)=00102), 410)=01002) y 810)=10002).
Q(t) Q(t+1)
0000 0010
0001 Xxxx
0010 0100
0011 Xxxx
0100 0110
0101 Xxxx
0110 1000
0111 Xxxx
1000 0000
1001 Xxxx
1010 Xxxx
1011 Xxxx
1100 Xxxx
1101 Xxxx
1110 Xxxx
1111 Xxxx
81
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
En la columna Estado actual Q(t) están todos los posibles estados actuales,
por algunos de los cuales el contador jamás pasará. Véanse, por ejemplo, el
estado 0001 ó el 0011. Por supuesto, no importa cuál sea el estado siguiente a
estos estados, porque, de hecho, el contador jamás pasará por ellos.
Q(t) Q(t+1) J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0
hay que rellenar la tabla preguntándose, ¿cuánto deben valer J3, K3 para que
Q3(t) pase a Q3(t+1)? ¿cuánto deben valer J2, K2 para que Q2(t) pase a Q2(t+1)?
¿y cuánto deben valer J1, K1 para que Q1(t) pase a Q1(t+1)? ¿y cuánto deben
valer J0, K0 para que Q0(t) pase a Q0(t+1)?
Q(t) Q(t+1)
Q3(t)Q2(t)Q1(t)Q0(t) Q3(t+1)Q2(t+1)Q1(t+1)Q0(t+1) J3 K3 J2 K2 J1 K1 J0
K0
0000 0010 0 x 0 x 1 x 0 x
0001 xxxx x x x x x x x x
0010 0100 0 x 1 x x 1 0 x
0011 xxxx x x x x x x x x
0100 0110 0 x x 1 1 x 0 x
0101 xxxx x x x x x x x x
82
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
0110 1000 1 x x 1 x 1 0 x
0111 xxxx x x x x x x x x
1000 0000 x 1 0 x 0 x 0 x
1001 xxxx x x x x x x x x
1010 xxxx x x x x x x x x
1011 xxxx x x x x x x x x
1100 xxxx x x x x x x x x
1101 xxxx x x x x x x x x
1110 xxxx x x x x x x x x
1111 xxxx x x x x x x x x
83
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Q3 Q2 Q1
Q0
“1
”
P P P “0 P
J Q J Q J Q
” J Q
CK CK CK CK
K Q K Q K Q K Q
C C C C
“1
”
Master
CK
84
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
(Bis) Elegir el tipo de biestables que se van a utilizar (JK, de acuerdo con el
enunciado del problema), y conectar todas las entradas de reloj de esos n=3 biestables
al Master CK. Desactivación de entradas asíncronas (PRESET y CLEAR)
“1
”
P P P
J Q J Q J Q
CK CK CK
K Q K Q K Q
“1
Master C ”C C
CK
Fig. 9.3.6. Conexión del Master CK a los n biestables del contador
Síncrono.
(Bis) Codificar los estados del contador. Lo haremos en binario natural, esto es
010)=00002), 210)=00102), 410)=01002) y 810)=10002).
Q(t) Q(t+1)
000 001
001 010
010 011
011 100
100 000
101 xxx
110 xxx
111 xxx
En la columna Estado actual Q(t) están todos los posibles estados actuales,
por algunos de los cuales el contador jamás pasará. Véanse, por ejemplo, el
85
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Q(t) Q(t+1) J K
0 0 0 x
0 1 1 x
1 0 x 1
1 1 x 0
hay que rellenar la tabla preguntándose, ¿cuánto deben valer J2, K2 para que
Q2(t) pase a Q2(t+1)? ¿y cuánto deben valer J1, K1 para que Q1(t) pase a Q1(t+1)?
¿y cuánto deben valer J0, K0 para que Q0(t) pase a Q0(t+1)?
Q(t) Q(t+1)
Q2(t)Q1(t)Q0(t) Q2(t+1)Q1(t+1)Q0(t+1) J2 K2 J1 K1 J0 K0
000 001 0 x 0 x 1 x
001 010 0 x 1 x x 1
010 011 0 x x 0 1 x
011 100 1 x x 1 x 1
100 000 x 1 0 x 0 x
101 xxx x x x x x x
110 xxx x x x x x x
111 xxx x x x x x x
86
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
“1
”
P P P
J Q J Q J Q
CK CK CK
K Q K Q K Q
C C C
“1
”
Master
CK
87
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
Q’2Q’1Q’0
000 000 0
001 001 0
010 010 0
011 011 0
100 100 0
Se observa que únicamente es necesario, para obtener las salidas deseadas, añadir un
“0” como bit menos significativo, tal y como se indica en la tabla 9.3.1, que hemos
repetido aquí por comodidad.
Q3 Q2 Q1 Q0
TRANSCODIFICADOR
“1
”
“0”
P P P
J Q J Q J Q
88
Master CK CK CK
“1
CK
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
89
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
90
Universidad Pontificia de Salamanca en Madrid
Facultad / Escuela Universitaria de Informática
BIBLIOGRAFÍA
91