Circuitos 97/98

Anuncio
Circuitos
97/98
Contar en binario
Decimal
Binario Puro
46
19
101110
1001
Empezando por la derecha: cuando es uno va valiendo
21, 22, 23,...
Complemento A2
El primer signo empezando por la Izquierda es el “bit de signo” que nos informa sobre
el signo del número en binario puro. “0” = + y “1” = Para hacer el complemento A2 se cambian los “niegan” los bits, excepto el del
signo, del número y se les suma “1”.
Ej.
1001
0110
+1
1111
Códigos binarios
(Con peso)
Truco:
BCD (8421)
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
Decimal
0
1
0
1
0
1
0
1
0
1
0
1
2
3
4
5
6
7
8
9
(Sin peso)
Exceso “3”
Código binario utilizado para operaciones de resta.
150
0001
0101
0000
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
0
1
2
3
4
5
6
7
8
9
Se llama “exceso 3” justamente por eso, a cualquier número se le suman tres y ese será
su resultado en “exceso 3”.
Código progresivo “Gray”
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
1
0
1
2
3
4
5
6
7
8
9
La Historia radíca en desplazar hacia
la derecha y sumarle uno.
Puertas lógicas
AND
A
B
S
0
0
1
1
0
1
1
0
0
0
1
0
A
B
S
0
0
1
1
0
1
1
0
0
1
1
1
OR
2
NAND
A
B
S
0
0
1
1
0
1
1
0
1
1
1
0
A
B
S
0
0
1
1
0
1
1
0
1
0
0
0
NOR
NOT
A
S
0
1
1
0
EJERCICIO
Realizar un circuito que genere un control de pariedades para detección de
errores. Un control de pariedad lo que hace es salir “1”, en este caso, cuando el
número de unos que entra en las entradas es uno.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
A
B
C
D
3
00
00
01
11
10
01
1
1
11
10
1
1
1
1
1
1
Siempre que la forma sea de esta manera, el circuito quedará con puerta XOR y si en el
0000 hubiera un uno en vez de un cero del caso actual sería una puerta XNOR
Minterms
Maxterms
(suma de productos)
(producto de sumas)
Utilización de los teoremas de MORGAN
A + B = A´·B´
A · B = A´+ B´
Utilización de la puerta lógica NAND
En una suma de productos se cambia todo a Nand convirtiendo directamente todas las
puertas a Nand.
EJEMPLO
F = AB + BCD´+ B´D + AB´C´D + C´D
Hacer la simplificación de esta función y sacar su circuito lógico sabiendo que sólo disponemos de
puertas NAND
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
1
1
0
1
1
0
1
0
1
1
0
1
1
1
1
1
Sólo haré los minterns y la solución daría:
F = C´D´+ BD´+AB + B´D
Y pasándolos a puertas Nand quedaría:
F = C´D´ · BD´ · AB · B´D
4
00
01
11
10
00
1
1
1
0
01
1
0
0
1
11
1
1
1
1
10
1
1
1
0
Ejercicios de las hojas sueltas
1º
Para controlarla apertura o cierre de una válvula de presión de un tanque
de reacción química existen cuatro dispositivos que realizan cálculos en paralelo.
La decisión de apertura o cierre de la válvula se toma por mayoría simple entre las
respuestas afirmativas o negativas de los cuatro dispositivos. En caso de igualdad
decide la respuesta de uno de los dispositivos que trabaja como maestro.
Especificar el sistema de decisión mediante una función lógica tomando como
entradas a, b, c, d y siendo “a” el dispositivo maestro. La salida “f” será
afirmativa si la válvula debe abrirse. Plantear una realización en dos niveles con el
menor número de operadores.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
1
1
1
1
S
0
0
0
0
0
0
0
1
0
1
1
1
1
1
1
1
Como dice el enunciado voy
a hacer que la salida sea
uno cuando los “unos” en la
entrada sean mayoría o
sean dos con el maestro (A)
F=
10
0
1
1
1
5
AB + BCD + AD + AC
2º
Se dispone de dos número en binario natural menores que cuatro y que se
desea diseñar un circuito que en cada instante nos detecte si uno de ellos es nulo.
Obtener dicho circuito con puertas NAND y puertas NOR.
A
B
S
0
0
1
1
0
1
0
1
1
0
0
0
Como me piden puertas NAND y NOR tendré que
tener en cuenta a las salidas “1” para las NAND y “0”
para las NOR.
NAND
F= A´B´
NOR
F = A + B´ + A´ + B+ A´ + B´
3º
Realizar la síntesis de una función lógica de cuatro variables a, b, c, y d que
tome el valor lógico “1” cuando el número encuentra en estado cero. Nunca puede
haber más de tres variables en estado “1” simultáneamente. Implementar la
función con puertas NAND y puertas NOR.
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
C
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
D
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
S
0
0
0
0
0
0
0
1
0
0
0
1
0
1
1
-
NAND
F = B´C´D´ · A´ C´D´ · A´B´D´ · A´B´C´
NOR
F = A + B + C + D + A + C + A+ D
A+ B + C+ A´ + B + C´
6
00
01
11
10
00
0
0
0
0
01
0
0
1
0
11
0
1
1
10
0
0
1
0
NAND
NOR la NOR es fácil, hazlo tú!
4º
Diseñar una red combinacional (Unidad aritmética-lógica) con dos entradas
de datos D1y D2 y dos de código de operación C1, C2 y dos salidas Z1 Z2. La red
debe realizar las siguientes operaciones
C1 C2 D1 D2 Z1 Z2
0 0
D1 + D2
D1<D2
0 1
D1=D2
D1>D2
1 0
D1,D2
1 1
D1*D2
Sólo se dispone de puertas
NAND
5º
Se desea diseñar un circuito que detecte cuando un número de una sóla
cifra (Codificado en BCD) es múltiplo de 3.
La realización se hará en lógica de tres niveles con puertas NAND.
A
B
C
D
S
0
0
0
0
0
0
1
0
0
0
1
1
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
0
5
0
1
0
1
0
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
-
11
1
0
1
1
-
12
1
1
0
0
-
13
1
1
0
1
-
14
1
1
1
0
-
15
1
1
1
1
-
Las zonas marcadas
en gris representan
los casos imposibles.
F = B´D´· BCD´
7
00
0
1
1
0
00
01
11
10
01
0
0
0
1
11
-
10
0
1
-
6º
Se dispone de un número de una sola cifra en binario codificado decimal.
Diseñar un circuito en tres niveles con puertas NOR que nos detecte si dicho
número es menor o igual que 5. (Admitimos que no se dispone de inversores)
A
B
C
D
S
0
0
0
0
0
1
1
0
0
0
1
1
2
0
0
1
0
1
3
0
0
1
1
1
4
0
1
0
0
1
5
0
1
0
1
1
6
0
1
1
0
0
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
0
10
1
0
1
0
-
11
1
0
1
1
-
12
1
1
0
0
-
13
1
1
0
1
-
14
1
1
1
0
-
15
1
1
1
1
-
00
01
11
10
00
1
1
1
1
01
1
1
0
0
11
-
F = B´ + C´ + A´
10
0
0
-
Llegamos a este dibujo y no se puede pasar a tres niveles con lo cual en vez de utilizar
las combinaciones imposibles en Karnaugh para simplificar, lo que voy a hacer es no
utilizarlas y me quedaría:
F = A + B´+ C´· A´ + B + C
8º
Aun depósito acceden cuatro canalizaciones de líquido, cada una de las
cuales es capaz de suministrar un caudal determinado. Estas son controladas por
8
sendas electroválvulas cuyo estado (abierta o cerrada) depende de una variable
binaria (a, b, c, d) generada por un sistema de control de acceso al depósito. Las
cuatro canalizaciones de salida también están controladas por cuatro
canalizaciones de salida también están controladas por electroválvulas, pero el
caudal que cada una de ellas es capaz de evacuar es diferente al de las de entrada.
Se pide diseñar el circuito lógico para el gobierno de las electroválvulas de salida,
de tal forma que el caudal total de entrada sea igual al de salida, teniendo en
cuenta que nunca podrán estar abiertas más de dos electroválvulas de entrada.
Como se pide un circuito que pide la entrada y salida de agua sin que varíe el nivel y se
pueden combinar aperturas para que salga el mismo agua que entra, en vez de cuatro
salidas, este circuito tendrá 8 (s1, s2,...).
Las cuatro primeras Ss serán iguales a la entrada por que simplemente se abrirán las
mismas puertas para que salga (mismo caudal) de agua.
Lo primero que debemos de hacer es un dibujo que nos sitúe en el contexto.
Entradas
Salidas
A´
A = 5 L.
B = 10 L.
B´
C = 15 L.
C´
Tanto por las entradas como por
las salidas sale la misma cantidad
de agua. Por ese motivo en la
segunda solución lo que se hace es
la combinación de circuitos.
D = 20 L.
D
Circuito
A
B
C
D
S1
S2
S3
S4
S11
S12
S13
S14
0
0
0
0
0
0
0
0
0
-
-
-
-
1
0
0
0
1
0
0
0
1
1
0
1
0
2
0
0
1
0
0
0
1
0
1
1
0
0
3
0
0
1
1
0
0
1
1
1
1
0
1
4
0
1
0
0
0
1
0
0
-
-
-
-
5
0
1
0
1
0
1
0
1
1
1
1
0
6
0
1
1
0
0
1
1
0
1
0
0
1
7
0
1
1
1
0
1
1
1
0
1
1
1
8
1
0
0
0
1
0
0
0
-
-
-
-
9
1
0
0
1
1
0
0
1
0
1
1
0
10
1
0
1
0
1
0
1
0
0
0
0
1
11
1
0
1
1
1
0
1
1
-
-
-
-
12
1
1
0
0
1
1
0
0
0
0
1
0
13
1
1
0
1
1
1
0
1
0
0
1
1
14
1
1
1
0
1
1
1
0
0
1
0
1
15
1
1
1
1
1
1
1
1
-
-
-
-
9
Tenemos que tener en cuenta que para hacer puertas NOR y NAND tendremos que
seguir la forma de funcionamiento de las NAND y NOR.
Se me olvidó que nunca pueden estar más de dos electroválvulas abiertas y por eso lo he hecho sin tener
en cuenta eso.
7º
Se desea controlar dos bombas B1 y B2 de acuerdo con el nivel de líquido
existente en un depósito de agua. Su funcionamiento ha de ser tal como se muestra:
Cuando el nivel del líquido se encuentra comprendido entre los dos sensores “C” y
“D” debe funcionar la bomba B1 (o B2 si la temperatura de su motor excede de un
cierto límite prefijado), y se parará cuando se active el sensor “D”.
Si el nivel del líquido se encuentra por debajo de “C” se deben activar ambas
bombas.
en caso de funcionamiento anormal de los sensores del depósito (se active “D”
cuando no lo este “C”), ambas bombas se pararán.
Además, ambas bombas cuentan con sendos detectores de temperatura “A” y “B”
para B1 y B2 respectivamente, de tal forma que sé la temperatura de su motor
supera un cierto límite, el detector se activará y la correspondiente bomba se
parará.
Se pide diseñar un circuito de control con puertas NAND y NOR.
A = Sensor de temperatura de B1. Al activarse lo que hace es ceder paso al
funcionamiento de B2.
B = Sensor de temperatura de B2.
C = Nivel de indicación de funcionamiento.
D = Apagado total.
A
B
C
D
S1
S2
0
0
0
0
0
1
1
1
0
0
0
1
0
0
2
0
0
1
0
1
0
3
0
0
1
1
0
0
4
0
1
0
0
1
0
5
0
1
0
1
0
0
6
0
1
1
0
1
0
7
0
1
1
1
0
0
8
1
0
0
0
0
1
9
1
0
0
1
0
0
10
1
0
1
0
0
1
11
1
0
1
1
0
0
12
1
1
0
0
0
0
13
1
1
0
1
0
0
14
1
1
1
0
0
0
15
1
1
1
1
0
0
Se trata de un depósito que lo que hace es
activar o desactivar según el nivel de
agua.
10
B1 = A´D´
00
01
11
10
B2 = B´CD´ + AB´D´
00
1
01
1
1
1
11
10
00
01
11
10
00
1
01
11
10
1
1
Poniendo puertas NAND se negaría todo dos veces, las OR también se negarían pero
nos fijaríamos en los valores cero de la tabla de Karnaugh y N´= 1
9º
Un proceso químico posee tres indicadores de la temperatura del punto P
cuyas entradas T1, T2, T3 (T1<T2<T3).
Se desea generar una señal que adopte el nivel de tensión lógico “1” si la
temperatura está comprendida entre T2 y T3 o es inferior aT1, el nivel “0” en caso
contrario.
1
2
Realícese la implementación con puertas AND y OR
También con puertas NAND de tres niveles.
A
B
C
S
0
0
0
0
1
1
0
0
1
-
2
0
1
0
-
3
0
1
1
-
4
1
0
0
0
5
1
0
1
-
6
1
1
0
1
7
1
1
1
0
0
1
00
1
-
01
-
11
1
0
10
0
-
T3
T2
T1
F = A´C´· B´C´
NAND
F = C´+ B + A´
NOR
10º
Se desea poder encender y apagar una lámpara desde tres interruptores
diferentes, indistintamente. Se desea que cuando los tres interruptores estén en la
posición que llamaremos “0” la lámpara esté apagada.
Sabemos que sólo se acciona un interruptor cada vez que esté debe cambiar el
estado de la lámpara.
Se pide:
Dar un esquema del sistema que realiza tal función en implementación NAND de
tres niveles.
11
A
B
C
S
0
0
0
0
0
1
0
0
1
1
2
0
1
0
0
3
0
1
1
1
4
1
0
0
0
5
1
0
1
1
6
1
1
0
0
7
1
1
1
1
0
1
00
0
1
01
0
1
11
0
1
A
B
C
10
0
1
F=C
NAND Y NOR
11º
En un registro de cuatro bits cuyas salidas están disponibles al exterior se
almacena información en el código BCD. Determínese el bloque detector sabiendo
que:
a)
Es un circuito que detecta que el número contenido en el registro es
por no nulo.
b)
Asimismo detecta si el número está comprendido entre 2 y 4, ambos
inclusive o es 11 ó 12
A
B
C
D
S1
0
0
0
0
0
1
1
0
0
0
1
0
2
0
0
1
0
1
3
0
0
1
1
1
4
0
1
0
0
1
5
0
1
0
1
0
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
1
9
1
0
0
1
0
10
1
0
1
0
1
11
1
0
1
1
0
12
1
1
0
0
1
13
1
1
0
1
1
14
1
1
1
0
1
15
1
1
1
1
0
F = D´C´· ABC´ · BD´·
A´D´· B´CD
NAND
12
B1 = A´D´
00
01
11
10
00
1
0
1
1
01
1
0
0
1
11
1
1
0
1
10
1
0
1
0
F = A +C+ D´+B´+ C´+ D´ + B + C +
D´ + A´+B + C´ + D
NOR
12º
Se desea obtener un sistema lógico con cuatro entradas I0, I1, I2, I3, y dos
salidas f0 y f1, el estado de las salidas muestra que entrada tiene aplicado un “1”
lógico: así una salida f0f1 = “11” correspondería a “1” en I3. Si dos o más entradas
presentan un “1” lógico el estado de la salida corresponde al de mayor prioridad
(El orden de prioridad decrece de I3 a I0. Asimismo, se desea que cuando las
entradas sean todas simultáneamente “1” ó “0” la salida sea “00”).
Con estas especificaciones implementar en tres niveles con puertas NAND.
I3
I2
I1
I0
f1
f2
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
1
0
0
1
3
0
0
1
1
0
1
4
0
1
0
0
1
0
5
0
1
0
1
1
0
6
0
1
1
0
1
0
7
0
1
1
1
1
0
8
1
0
0
0
1
1
9
1
0
0
1
1
1
10
1
0
1
0
1
1
11
1
0
1
1
1
1
12
1
1
0
0
1
1
13
1
1
0
1
1
1
14
1
1
1
0
1
1
15
1
1
1
1
0
0
00
00
01
11
10
01
1
1
1
1
11
1
1
1
NAND:
F1 = A´B · AB´ · AC´· AD´
F2 = AB´· AC´· AD´·B´C
NOR:
F1 = A+B + A´+B´+C´+D´
F2 = A+B´+ A + C + B´+C´+D´
10
1
1
1
1
00
00
01
11
10
13
1
1
01
11
1
1
1
10
1
1
1
1
13º
Un registro de entradas en paralelo A0 a A3 contiene un dígito codificado
en BCD natural. Diseñar un sistema combinacional que genere las siguientes
funciones binarias.
a)
F1 adoptará el estado uno si el dígito contenido en el registro es divisible
por dos y el estado cero en caso contrario.
b)
F2 adoptará el estado uno si el dígito contenido en el registro está
comprendido entre uno y cuatro ambos inclusive y el estado cero en caso contrario.
c)
F3 adoptará el estado uno se el dígito contenido en el registro es divisible
por cuatro y el estado cero en caso contrario.
Obtener la expresión mínima como suma de productos de f1, f2 y f3 consideradas
como una multifunción. Implementar el circuito con puertas <NAND y NOR
I3
I2
I1
I0
f1
f2
f3
0
0
0
0
0
1
0
1
1
0
0
0
1
0
1
0
2
0
0
1
0
1
1
0
3
0
0
1
1
0
1
0
4
0
1
0
0
1
1
1
5
0
1
0
1
0
0
0
6
0
1
1
0
1
0
0
7
0
1
1
1
0
0
0
8
1
0
0
0
1
0
1
9
1
0
0
1
0
0
0
10
1
0
1
0
1
0
0
11
1
0
1
1
0
0
0
12
1
1
0
0
1
0
1
13
1
1
0
1
0
0
0
14
1
1
1
0
1
0
0
15
1
1
1
1
0
0
0
00
01
11
10
00
1
0
1
0
01
0
1
0
1
11
1
0
1
0
10
0
1
0
1
00
1
01
1
11
1
10
1
00
01
11
10
00
00
01
11
10
01
1
11
10
1
1
1
No voy a volver a sacar las puertas NAND y
NOR
14
14º
Florencio va a ir a una fiesta esta noche, pero no solo. Tiene cuatro nombres
en su agenda: Ana, Bea, Carmen y diana. Puede invitar a más de una chica pero no
a las cuatro. Para no romper corazones, ha establecido la siguientes normas:
Si invita a Bea, debe invitar también a Carmen.
Si invita a Ana y a Carmen, deberá también invita4r a Nea o a
Diana.
Si invita a Carmen o a Diana, o no invita a Ana, deberá invitar
también a Bea.
Antes de llamarlas por teléfono, quiere utilizar un circuito que le indique cuando
una elección no es correcta. Ayúdale a diseñar el circuito óptimo con puertas
NAND. (Utilizar el método de Quine-Mccluskey).
Ana = “A”
5
X
Bea = “B”
Carmen = “C”
A
B
C
D
S
0
0
0
0
0
0
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
0
4
0
1
0
0
0
5
0
1
0
1
1
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
0
10
1
0
1
0
0
11
1
0
1
1
1
12
1
1
0
0
0
13
1
1
0
1
0
14
1
1
1
0
1
15
1
1
1
1
0
6
12
X
Diana = “D” “S” = Salida
Aplicamos McKluskey.
Grado dos:
5
6
0101
0110
Grado tres:
12
14
1011
1110
Simplifico:
5
6-14
12
Nos quedaría:
0101
-110
1001
F = A´+B+C´+D + B+C+D + AB´CD
14
A
0
1
X
X
B
1
1
0
C
0
1
1
D
1
1
1
15º
Simplificar la función de 16 variables que nos de “1” si:
a)
b)
El equivalente binario está comprendido entre 1-5, 15-20 y 80-90.
El equivalente binario es número par.
15
Por lo que entendido en el enunciado, la función será uno cuando estén activos los
números arriba indicados que sean pares.
2=
4=
16=
18=
20=
82=
84=
86=
88=
00000010
00000100
00010000
00010010
00010100
10000010
10000100
10000110
10001000
Hallo McKluskey:
Grupo 1:
2
4
00000010
00000100
Grupo 2:
18
82
84
88
00011000
10000010
10000100
10001000
Grupo 3:
16
86
00010110
10000110
Simplificamos:
2-82
4-84
82-86
84-86
2
X
-0000010
-0000100
10000-10
100001-0
4
18
82
X
X
84
88
16
86
X
X
X
X
X
X
X
X
A
1
1
0
1
0
B
0
0
0
0
0
0
0
C
0
0
0
0
0
0
0
D
0
0
0
0
1
0
1
Nos quedaría:
F= B´C´DÉ´F´GH´+ B´C´DÉ´FG´H´+ AB´C´DÉ´GH´+ AB´C´DÉ´FH´+
A´B´C´DEF´G´H´+AB´C´DÉF´G´H´+ A´B´C´DE´FGH
16
E
0
0
0
0
1
1
0
F
0
1
1
0
0
1
G
1
0
1
0
0
1
H
O
0
0
0
0
0
0
Problemas de diseño de utilizando
circuitos MSI
1º
Dada la función lógico expresada en forma de minterms f(a, b, c, d,) = (1, 3,
4, 6, 9, 12, 13, 14 ), implementarla:
a)
Mediante un multiplexor de tres entradas de selección (ocho canales
de entrada.
b)
Mediante un decodificador hexadecimal.
c)
Mediante un demultiplexor de dos entradas de selección y los
operadores lógicos necesarios.
a) Multiplexado
a
b
c
d
f1
0
0
0
0
0
0
1
0
0
0
1
1
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
1
5
0
1
0
1
0
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
0
11
1
0
1
1
0
12
1
1
0
0
1
13
1
1
0
1
1
14
1
1
1
0
1
15
1
1
1
1
0
I0 = F
I0 = F
I0 = F´
I0 = F´
I0 = F
Los multiplexores tienen 2n
entradas,
“n” entradas de
selección y una salida.
Las entradas de selección se
sacan tomando las entradas
menos la menor peso y nos
quedaría así:
S0 = A
S1 = B
S2 = C
I0 = 0
I0 = 1
I0 = 1
Comparando la Entrada “d” con las
salidas sacamos y damos valores a las
entradas del multiplexor
Ahora lo dibujamos:
Las entradas del MTPLX van a ser
las salidas (In), las de selección son
las arriba referidas y tiene una sola
salida.
17
b)Decodificador
El decodificador tiene n entradas y 2n salidas. Por lo tanto nuestro decodificador tendrá
4 entradas (a, b, c, d) y 16 salidas (S0, S1,...S15)
a
b
c
d
f1
0
0
0
0
0
0
S0
1
0
0
0
1
1
S1
2
0
0
1
0
0
S2
3
0
0
1
1
1
S3
4
0
1
0
0
1
S4
5
0
1
0
1
0
S5
6
0
1
1
0
1
S6
7
0
1
1
1
0
S7
8
1
0
0
0
0
S8
9
1
0
0
1
1
S9
10
1
0
1
0
0
S10
11
1
0
1
1
0
S11
12
1
1
0
0
1
S12
13
1
1
0
1
1
S13
14
1
1
1
0
1
S14
15
1
1
1
1
0
S15
Sólo activaremos las Ss que tengan
salida uno, el resto las dejaremos sin
comectar.
F
=
A´B´CD+Á´B´CD+
A´BC´D´+A´BCD´+AB´C´D+ABC´D´
+ABC´D+ABCD´
C) Demultiplexor
Un demultiplexor tiene una entrada, n entradas de selección y 2n salidas. En este caso
será dos de selección y cuatro salidas.
a
b
c
d
f1
0
0
0
0
0
0
1
0
0
0
1
1
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
1
5
0
1
0
1
0
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
0
11
1
0
1
1
0
12
1
1
0
0
1
13
1
1
0
1
1
14
1
1
1
0
1
15
1
1
1
1
0
D0 = A´B´
D1 = A´B
F
=
A´B´CD+Á´B´CD+
A´BC´D´+A´BCD´+AB´C´D+ABC´D´
+ABC´D+ABCD´
Teniendo en cuenta las Ds y sustituyéndolas
quedaría:
D2 = AB´
F
=
D0CD+D0CD+
DIC´D´+D1CD´+D2C´D+D3C´D´+D3
C´D+D3CD´
Simplificando quedaría:
D3 = AB
18
F = D0D + D1D´+ D2C´D´+
D3(C´D´+C´D+CD´)
C
D
2º
Realizar la síntesis del circuito lógico que cumpla las especificaciones dadas
en la tabla.
a)
Utilizar un multiplexor de ocho canales.
Necesitamos entonces tres canales de selección que los sacaremos de las entradas
excepto la de menor peso, en este caso la D. S0=A, S1=B, S2=C. Como entradas
tendremos las “Is” que nos dé a partir de las salidas “Z” de la tabla de verdad.
A
B
C
D
Z1
0
0
0
0
1
1
0
0
0
1
0
2
0
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
0
5
0
1
0
1
1
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
1
9
1
0
0
1
0
10
1
0
1
0
0
11
1
0
1
1
1
12
1
1
0
0
0
13
1
1
0
1
1
14
1
1
1
0
1
1
1
1
1
0
15
Z2
I0=F´
I1=F
I2=F
I3=F´
I4=F´
I5=F
I6=F
I7=F´
19
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
Si tenemos en cuenta que
Z1=Z2´, las Is son igual
pero al contrario. El
dibujo del multiplexor es
igual al anterior. Todos
los multiplexores son
iguales
b)
Utilizar un decodificador BCD/decimal.
Recordemos que un decodificador tiene N entradas y 2n salidas. Es decimal y por eso
tendremos que poner, a partir del “9” en función del la función decimal que es la que
nos piden.
A
B
C
D
Z1
Z2
PO
0
0
0
0
1
0
P1
0
0
0
1
0
1
P2
0
0
1
0
0
1
P3
0
0
1
1
1
0
P4
0
1
0
0
0
1
P5
0
1
0
1
1
0
P6
0
1
1
0
1
0
P7
0
1
1
1
0
1
P8
1
0
0
0
1
0
P9
1
0
0
1
0
1
P10
1
0
1
0
0
1
P11
1
0
1
1
1
0
P12
1
1
0
0
0
1
P13
1
1
0
1
1
0
P14
1
1
1
0
1
0
P15
1
1
1
1
0
1
Z2=
P1+P2+P4+P7+P9+P10+P12+P15
Ahora tendremos que poner
P10,P12, y P15 en función de una
función decimal, entonces:
P10+P12+P150=
AB´C´D´+ABC´D´+ABCD
Entonces:
Z2=
P1+P2+P4+P7+P9+A(P2+P4+P7)
3º
Para el circuito de la figura, formado por un decodificador hexadecimal y
un multiplexor de ocho canales, se pide deducir la tabla de verdad del sistema y su
expresión lógica.
20
A
B
C
D
a
b
c
d
f1
0
0
0
0
0
1
1
0
0
0
1
0
2
0
0
1
0
0
3
0
0
1
1
1
4
0
1
0
0
0
5
0
1
0
1
1
6
0
1
1
0
1
7
0
1
1
1
0
8
1
0
0
0
0
9
1
0
0
1
1
10
1
0
1
0
1
11
1
0
1
1
0
12
1
1
0
0
0
13
1
1
0
1
1
14
1
1
1
0
0
15
1
1
1
1
1
00
01
11
10
00
1
0
1
0
01
0
1
0
1
11
1
0
1
0
I0 = F´
I0 = F
I0 = F
I0 = F´
I0 = F
I0 = F´
I0 = F
I0 = F
10
0
1
0
1
Y para el decodificador hexadecimal:
A partir de el dibujo del decodificador tenemos su expresión lógica es:
F = A´B´C´D+A´B´CD+A´BC´D+A´BCD+AB´C´D+ABC´D´+ABC´D
21
Al hacer Karnaugh, nos
damos cuenta que la
expresión lógica nos dará la
suma XOR de la variables.
4º
Un desplazador a la derecha de n bits es un circuito combinacional que
tiene como entrada un número A, de n bits, m señales de control Sm... S0 que
indican el número de posiciones que se desplazará a la derecha el número de
entrada A, y genera la salida Z de n bits, correspondiente al número A
desplazado. Así por ejemplo, para un desplazador de ocho bits, cuya entrada sea
1010101 y las señales de control S2, S1, S0 = 010, se genera un desplazamiento de
dos posiciones a la derecha dando, como resultado, la salida XX100101. Si
S2S1S0=000, no hay desplazamiento.
a)
Diseñe un desplazador a la derecha de n=4 y m=2 bits, utilizando 4 MPX de
cuatro canales. Suponga que los bits más significativos del resultado, X, se llenan
con 0.
b)
Dibuje las formas de ondas de las salidas, cuando A3, A2, A1, A0 = 1011 y
las señales S1,S0 cambian según la secuencia 00, 01, 00, 11, 00, 10 con una
frecuencia de 1Khz.
a)
S1
S2
a
b
c
d
Z0
Z1
Z2
Z3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
0
0
-
-
-
-
-
-
-
-
0
0
-
-
-
-
-
-
-
-
0
0
1
1
1
1
1
1
1
1
S1
S2
a
b
c
d
Z0
Z1
Z2
Z3
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
-
-
-
-
0
-
-
-
0
1
-
-
-
-
0
-
-
-
0
1
1
1
1
1
0
1
1
1
S1
S2
a
b
c
d
Z0
Z1
Z2
Z3
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
0
-
-
-
-
0
0
-
-
1
0
-
-
-
-
0
0
-
-
1
0
1
1
1
1
0
0
1
1
S1
S2
a
b
c
d
Z0
Z1
Z2
Z3
0
1
1
0
0
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
1
1
-
-
-
-
0
0
0
-
1
1
-
-
-
-
0
0
0
-
1
1
1
1
1
1
0
0
0
1
15
15
15
15
22
Z0 = A
Z1 = B
Z2 = C
Z3 = D
Z0 = 0
Z1 = A
Z2 = B
Z3 = C
Z0 = 0
Z1 = 0
Z2 = A
Z3 = B
Z0 = 0
Z1 = 0
Z2 = 0
Z3 = A
Las tablas de posibilidades que antes he diseñado son las de las entradas de selección y
los desplazamientos que estos las salidas (Z) harían.
Entonces las salidas Z serían:
Z0 = S1´S0´A
Z1 = S1´S0´B+ S1´S0A
Z2 = S1´S0´C+ S1´S0B+ S1S0´A
Z3 = S1´S0´D+ S1´S0C+ S1S0´B+ S1S0A
5º
Diseñar un circuito que acepte como entradas dos palabras A y B de cuatro
bits, entregando a su salida otra palabra Z también de cuatro bits de tal forma
que:
Si A<=B
Si A>B
Z=B
Z=1111
Utilícese para ellos el comparador de cuatro bits así como los operadores lógicos
necesarios.
A = (A1, A2, A3, A4)
B = (B1, B2, B3, B4)
El circuito nos quedaría de la siguiente manera.
001
010
100
A>B
A=B
A<B
B1
B2
B3
B4
Z0
Z1
Z2
Z3
6º
Diseñar un circuito convertidor de código que teniendo por entrada un
número binario natural de cuatro bits (a), genere a la salida su equivalente en BCD
natural expresado de la siguiente forma:
-
cuatro bits para representar las unidades.
Un bit para representar las decenas
Para su realización utilícese únicamente un sumador total de cuatro bits y un
comparador binario de cuatro bits.
23
7º
diseñar un circuito que sea capaz de sumar dos dígitos codificados en BCD
natural (a3, a2, a1, a0) y (b3, b2, b1, b0) partiendo de sumadores binarios de
cuatro bits como el C.I. 7483. El sistema debe disponer, además de entrada y salida
de acarreo CO y CD para su posible conexión en cascada, así como de los
decodificadores BCD/Siete segmentos que permitan visualizar la suma en sendos
displays.
8º
Diseñar un circuito combinacional cuya entrada es un número binario
entero ssin signo de ocho bits, X y Y, y una señal de control MIN/AX. La salida del
circuito es un binario sin signo entero Z tal que Z=min(X,Y) si MIN/MAX=1, y
Z=max (X, Y) si MIN/MAX = 0.
Min/Max
A1
A>B
A
A2
A3
A<B
A4
B
B1
B2
B3
B4
9º
en n determinado sistema microcomputador, existen tres subsistemas que
procesan la información de forma independiente a través de cuatro fases de
operación. Por propósitos de control, es necesario conocer:
a)
b)
Cuándo dos o más subsistemas están en la misma fase.
Cuándo exactamenjt9o dos subsistemas están en la misma fase.
Cada subsistema genera una señal de dos bits para indicar en que fase se
encuentra (00, 01, 10,11). Diseñe un circuito que permita conocer cuándo el
conjunto de subsistemas se encuentra en alguna de las situaciones a) y b). Utiliza
para ello circuitería MSI y la lógica adicional necesaria.
24
A<B
A<C
A
A0B
A=C
A0
B
A>B
A1
A>C
C
A<C
A0
A1
A=C
C1
C0
A>C
B<C
A0
B=C
A1
C1
C0
B>C
CIRCUITOS SECUENCIALES
Dentro de los circuitos secuenciales el elemento básico son los BIESTALES. Son las
primera puertas lógicas que son capaces de almacenar memoria, en concreto 1 bit de
memoria, pero si hacemos agrupaciones de biestables podemos ener “n” bits de
memoria
Los biestales son unos componentes electrónicos que reciben el nombre de “FLIPFOPS”.
Las agrupaciones de estos biestables nos van a llevar a un campo de la electrónica
mucho más cercano al ordenador. Nos van a llevar a REGISTROS DE
DESPLAZAMIENTO, CONTADORES y CIRCUITOS SECUENCIALES (dentro
de estos últimos veremos los AUTOMATAS) y además nos van a abrir un campo
nuevo de trabajo dentro de la electrónica digital que es la SINCRONA con lo cual
vamos a poder hacer que todas las puertas que forman el circuito trabajen
simultáneamente. Esa orden por la que vamos a decir en que instante queremos que
trabajen las puertas lógicas es el “RELOJ”, que va a marcar los instantes en que los
circuitos pueden hacer operaciones.
25
Biestables y tipos.
R-S (Set-Reset) : circuito que tiene como entradas a “S” y a “R” y como salidas a
“Q” y a “Q’ ”. Normalmente son asíncronos, y su salida “11” es indeterminada.
R S
0 0
0 1
1 0
1 1
R
Q(n + 1)
Qn
0
1
Indet.
Q
RS
S
Q’
Los biestables “R-S” se construyen de dos formas:
1)
Siempre que aparezca un “11” que provoque un “1” será un biestable de
inscripción prioritaria.
2)
Siempre que aparezca la combinación “11” que provoque un “0” será un
biestable de borrado prioritario.
Construimos un circuito “R-S” con puertas “NOR”.
R
Q
S
Q’
BIESTABLES SÍNCRONOS.
26
En un ordenador todo el sistema está gobernado por un reloj maestro que envía señales
cuidadosamente reguladas en el tiempo. Por lo tanto, es difícil el uso de biestables
asíncronos.
Esta señal de reloj es prioritaria sobre las entradas síncronas. Aunque se produzca una
alteración en dichas entradas, al biestable, no producirá evolución en su salida mientras
que no sea activado por la entrada de reloj.
La señal de reloj es una onda cuadrada (tren de pulsos):
B
Clock
A
C
D
(A)
(B)
(C)
(D)
Flanco de subida.
Nivel alto.
Flanco de bajada.
Nivel bajo.
Si un biestable se activara en cualquiera de esas
cuatro situaciones, permanecería inactivo durante
los 3 restantes.
Biestables “J-K”
Es una modificación del “R-S” con el fin de eliminar la indeterminación que se produce
cuando las dos entradas están activas haciendo que en dicha situación conmute la salida
al estado contrario de la que se encuentra.
Este biestable es síncrono (normalmente) y tendrá una entrada de reloj.
Rst
J
0
0
1
1
J
K Q(n + 1)
0
Qn
1
0
0
1
1
Q’
Q
Cl
K
Q’
Clear
Biestables “T”.
27
Los biestables “T” obedecen a la siguiente tabla de verdad:
T
0
1
Qn+1
Q
Q’
T
Q
C
Q’
EJERCICIO:
¿Cómo construiríamos un biestable “T” a partir de un “JK”?
Tendríamos que forzar a que el biestable “J-K” trabaje en la zona “00” ò “11”. Por lo
tanto:
T
J
Q
K
Q’
Una aplicación muy típica e importante de este
biestable es la división de frecuencias. La frecuencia
de salida es la mitad de la aplicada a la entrada. Es
decir, si meto una señal por “T” me la saca dividida
entre dos (2).
C
Cl
T
Q
Biestable “D”.
Es un biestable capaz de seguir con la misma información de entrada a la salida y
obedece a la siguiente tabla de verdad:
D
0
Q
0
28
D
Q
C
Q’
1
1
EJERCICIO:
¿Cómo construiríamos un biestable “D” a partir de un “JK” ?
J
0
0
1
1
K Q(n + 1)
0
Qn
1
0
0
1
1
Q’
D
J
Q
K
Q’
C
Impedimos así que las entradas sean las mismas, con lo que obligo al “J-K” a trabajar
en la zona de la tabla de verdad que me interesa.
Registros de desplazamiento (Shift-registers).
Nos desplazan la información que nos entre en el registro a través de los biestables con
cada pulso de reloj. Hasta ahora habíamos manejado la información a nivel “bit”, ahora
empezaremos a hacerlo a nivel “byte”.
Vistos como bloques de información son unos circuitos que admiten entrada de
información en serie y salida en serie y entrada /salida de información en paralelo.
E/S Paralelo
Entrada
Entrada
Salida
Salida
29
Justamente esa información en
paralelo refleja el número de
“bits” que es capaz de
almacenar ese registro. Es decir,
con qué longitud de palabra es
capaz de trabajar.
Al tener “E/S” tanto en serie como en paralelo, se admiten todas las posibles
combinaciones de E/S de información:
Entrada serie / Salida serie
Entrada serie / Salida paralelo
Entrada paralelo / Salida paralelo
Entrada paralelo / Salida serie
En las operaciones de “E/S” en “paralelo” tendré acceso simultáneo a todos los bits de
los biestables.
En el caso de trabajar en “serie”, sólo tendré acceso a un biestable. Por lo tanto para
poder cargar un registro de desplazamiento de información 8 bits, necesitaré 8 pulsos de
reloj tanto para meter como para sacar la información.
Siempre son de la misma forma:
La información entra “bit” a “bit”, según los sucesivos pulsos de reloj, y sale de la
misma manera y en el mismo orden en que entró, por lo que el registro tendrá una sola
entrada y una sola salida. Convertiré el primer biestable en un biestable “D”, que regirá
la información que entre. Tendremos además una señal de reloj que será común a todos
los relojes de los biestables .
clear
clock
clear
clear
clear
Ja Qa
Jb Qb
Jc Qc
Jd Qd
Ka Ç
Kb Ç
Kc Ç
Kc Ç
reset
reset
reset
reset
Si me desplazan la información, significa que si me entra un “1”, quiero que me siga
saliendo un “1”, y si me entra un “0” querré que me salga un "0” también. Por lo tanto,
para forzar a que a mi “JK” cuando le entre un “1”, le salga un “1”, tendré que meter
por “J” la información y por “K” su negada.
Todos los biestables están inicializados a cero.
30
Siempre se toma la información (es decir, el primer biestable leerá la información) en el
flanco de subida del pulso (1), y siempre la salida (es decir los diferentes Qi) la darán en
el flanco de bajada del pulso (2).
Clock
Siempre se toma la información (es
decir, el primer biestable leerá la
información) en el flanco de subida
del pulso (1), y siempre la salida (es
decir los diferentes Qi) la darán en el
flanco de bajada del pulso (2)
Ja
Qa
Jb
Qb
Jc
Qc
2.
Jd
Qd
1.
Registros LATCH
Son sistemas de almacenamiento de información con la característica de guardar la
información al producirse el cambio de nivel en la señal de control. Están formados por
células “R-S” síncronas activadas por nivel alto.UU
clear
clock
clear
clear
clear
Ra Qa
Qb
Qc
Sa Ç
Ç
Ç
reset
reset
reset
Qd
Kc
reset
C
S1
GRABADO HASTA VOLVER A
PONER “C”a “1”.
Q1
Contadores asíncronos (Master-Slave)
Un contador asíncrono me va a contar el número de pulsos (aunque sea un contador
síncrono). Utilizamos biestables “JK”, todos con su señal de reloj y pretendemos que
31
este circuito nos cuente el número de pulsos de una señal No entra ninguna información
del exterior, a diferencia de los restos de desplazamiento en él cual si entraba, sólo
cuenta los pulsos que va haciendo.
cl
cl
Ja
Clock
Qa
C
Ka
“1”
Ç
rst
cl
cl
Jb Qb
Jc Qc
C
C
Kb
Ç
rst
Kc
Jd Qd
C
Ç
rst
Kd
Ç
rst
Normalmente, a menos que el profesor lo indique, las entradas de un contador asíncrono
siempre son “1”. Esta es una buena razón para tener en cuenta a la hora de dibujar un
contador asíncrono. Se dibujan directamente por que las entradas de los
JK son siempre unos.
Nos damos cuenta que las salidas que nos van dando son los pulsos de reloj que van
pasando. Si lo pasamos a decimal vemos que pulsos de reloj son: 1, 2, 3, 4, ..., etc... (si
lo pones verticalmente verás un BCD.)
Clock
Qa
Qb
Qc
Qd
Es capaz de contar 2n siendo “n” el número de biestables que utilicemos. En este caso
hasta 16 pulsos. Este circuito tiene un grave problema y es que para que permuten
todos tienen que haber permutado primero el anterior. No conmutan instantáneamente
los cuatro.
Caso típico:
Hacer un contador asíncrono que nos cuente hasta 9.
Para este caso lo que tenemos que hacer es descubrir cuando está activa la combinación
“1001” y en ese momento,con entradas asíncronas, llevar los biestables a “0000”.
1 Qa
0 Qb
0 Qc
1 Qd
“1” (para que se me active “clear”)
X
Tendré:
Qa
Qb
Qc
Qd
Me dará “1” cuando tenga “1001”
y se me activará
mi entrada asíncrona “clear”.
El circuito quedaría de la siguiente manera:
Clock
JJjjjjj
J cl Q
J
Q’
K
cl
K
Q
J
Q’
K
cl Q
J
Q’
cl
Q
Q’
K
“1”
Contadores síncronos.
Me van a hacer lo mismo que los asíncronos sólo que, en este caso, todos los relojes de
los flip-flops van a ir conectados la misma señal de reloj. Ahora tenemos que ver cómo
debemos conectar los biestables para que sean un contador.
“1”
J
Q
J
cl Q
J
cl
J
cl Q
Q
clock
K
Q’
K
Q’
K
Q’
K
Q’
Conectamos el primer biestable a “1” para que nos divida la frecuencia, cada dos pulsos
de reloj una sola señal en el biestable “A”.
Hacemos “la tabla de la verdad” para ver como debo de conectar estos biestables para
conseguir un contador.
Qd
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Qc
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
Qb
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
Qa
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Jaka
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
Jbkb
0X
1X
X0
X1
0X
1X
X0
X1
0X
0X
X0
X1
0X
1X
X0
X1
Jckc
0X
0X
0X
1X
X0
X0
X0
X1
0X
0X
0X
1X
X0
X0
X0
X1
Jdkd
0X
0X
0X
0X
0X
0X
0X
1X
X0
X0
X0
X0
X0
X0
X0
X1
Ahora hacemos “KARNAUGH” para simplificar las funciones y ver las puertas lógicas
o como debemos unir los biestables para que se conviertan en un contador.
JB = Qa
Kb = Qa
Qa Qb
Qc Qd
Qa Qb
00
00
01
11
10
01
X
X
X
X
11
X
X
X
X
10
1
1
1
1
Qc Qd
00
01
11
10
JC = Qa Qb
00
01
11
11
00
X
X
01
X
X
11
1
1
X
X
10
X
X
Qc Qd
00
01
11
10
JD = Qa Qb Qc
00
01
11
10
11
1
1
1
1
10
X
X
X
X
Qa Qb
00
X
X
01
X
X
11
X
X
1
1
10
X
X
Kd = Qa Qb Qc
Qa Qb
Qc Qd
01
Kc = Qa Qb
Qa Qb
Qc Qd
00
X
X
X
X
Qa Qb
00
X
X
01
X
X
11
X
X
1
10
X
X
Qc Qd
00
01
11
10
00
X
X
01
X
11
X
10
X
X
1
X
X
J
Q
J
K
Q’
K
cl Q
J
Q’
K
cl Q
J
Q’
K
cl Q
Q’
EJEMPLO:
Contador síncrono que nos cuente hasta 9.
(1001)nos cambie a 0000.
Qd
Qc
Qb
Qa
Jaka
Jbkb
Jckc
Jdkd
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1X
X1
1X
X1
1X
X1
1X
X1
1X
X1
0X
1X
X0
X1
0X
1X
X0
X1
0X
0X
0X
0X
0X
1X
X0
X0
X0
X1
0X
0X
0X
0X
0X
0X
0X
0X
0X
1X
X0
X1
Es decir, que cuando llegue a 9
Las combinaciones (a partir
del 9) que no utilizan, las
puedo considerar como
quiera para reducir el mapa
de “Karnaugh” lo más
posible.
JB = Qa Q’d
Kb = Qa Q’d
Qa Qb
Qc Qd
00
01
11
10
Qa Qb
00
X
01
X
X
X
X
11
X
X
X
X
10
1
X
1
Qc Qd
00
01
11
10
JC = Qa Qb
00
01
11
01
X
11
1
X
X
1
10
X
X
X
X
11
X
X
X
10
X
X
X
Kc = Qa Qb
Qa Qb
Qc Qd
00
X
X
Qa Qb
00
01
X
X
X
11
1
X
X
10
X
Qc Qd
00
01
11
00
X
X
X
01
X
X
X
10
X
X
X
X
10
1
JD = Qa Qb Qc
Kd = Qa
Qa Qb
Qc Qd
00
01
11
10
Qa Qb
00
01
11
10
X
X
X
X
X
X
1
X
X
00
X
Qc Qd
00
01
11
10
X
X
01
X
X
X
X
11
X
X
X
X
10
X
1
X
X
Construimos el circuito:
“1”
J
Q
J
K
Q’
K
cl Q
Q’
J
cl Q
J
Q’
K
cl Q
Q’
K
Ejercicio
Diseñar un circuito que cuente de 2 (010) a 6 (110). Contamos con biestables “JK”
puertas AND y OR.
Para realizar el contador vamos a tener en cuenta que el “0” (000), el “1” (001) y 7
(111) son opciones imposibles y por lo tanto las utilizaremos para simplificar.
A
B
C
Jckc
Jbkb
Jaka
---
---
---
---
---
---
---
---
---
---
---
---
0
0
1
1
1
---
1
1
0
0
1
---
0
1
0
1
0
---
1X
X1
1X
X1
1X
---
X0
X1
0X
1X
X0
---
0X
1X
X0
X0
X1
---
00
-
01
0
1
11
X
-
10
X
X
AB
C
0
1
Qn
0
0
1
1
J
0
1
X
X
AB
C
0
1
K Q(n + 1)
X
0
X
1
1
0
0
1
00
-
01
X
X
11
1
-
10
0
0
Ja= C
AB
C
0
1
00
-
01
X
X
Ka= B
11
X
-
AB
C
10
0
1
00
-
0
1
Jb= C
AB
C
0
1
00
-
01
1
X
01
0
1
11
0
-
10
X
X
11
1
-
10
X
0
Kb= C
11
1
-
AB
C
10
1
X
00
-
0
1
Jc= 1
01
X
1
Kc= 1
Contador asíncrono “descendente”.
cl
cl
Clock
Ja
Qa
C
Ka
“1”
Ç
rst
cl
Jb Qb
Jc Qc
C
C
Kb
Ç
rst
Kc
Ç
rst
Clock
Qa
Qb
Qc
Qd
Las
segundas
“Qs”,
repetidas,
representan
la
bidirecionalidad (ascendencia
y descendencia).
Qa
Qb
Qc
Qd
La construcción de contadores ascendentes y descendentes dependen de la conexión de
las salidas de los biestables con la entrada del reloj del siguiente y de donde se tome las
salidas del contador. De tal forma que siempre que las salidas del contador al exterior
se tomen de las salidas del biestable que ataca al reloj del siguiente biestable, el
contador será ascendente. En caso contrario el contador será descendente.
Existen
varios
tipos
ascendentes/descendentes.
de
posibilidades
de
contadores
a) Contador asíncrono ascendente.
cl
Clock
cl
Ja
Qa
C
Ka
Jb Qb
Jc Qc
C
C
Kb
Ç
“1”
cl
rst
Kc
Ç
Ç
rst
rst
cl
cl
b) Contador asíncrono descendente.
cl
Clock
Ja
Qa
C
Ka
“1”
Jb Qb
C
Ç
Kb
Jc Qc
C
Ç
Kc
Ç
rst
rst
Jb Qb
Jc Qc
rst
c) Contador asíncrono descendente.
Clock
Ja
C
asíncronos
Qa
C
C
Ka
Kb
Ç
rst
Kc
Ç
Ç
rst
rst
cl
cl
d) Contador asíncrono ascendentes.
cl
Ja
Clock
Qa
C
Ka
“1”
Jb Qb
Jc Qc
C
C
Kb
Ç
rst
Ç
rst
Conexión
Salida
Tipo
Q---clock
Q---clock
Q’---clock
Q’---clock
Q
Q’
Q
Q’
Ascendente
Descendente
Descendente
Ascendente
Kc
Ç
rst
Si pones atención te darás
cuenta que este cuadro es un
resumen o verifica
los
cuatro tipos de posibilidades
de contador asíncronos:
Contador basado en registros de desplazamiento.
1) Contador en anillo.
Rst
2) Contador de “Johnson”
En este contador no se necesita el “preset”
Como se puede comprobar se trata de un contador de casi circuito cerrado (si así lo
fuera no sería útil) con una entrada de “reset”, inicializada a “1” comprobarás, en el
cronograma que se trata de una secuencia de inicialización.
Qa Qb Qc Qd
1
0
0
0
1
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
Clock
Qa
(1)
Qb
(2)
Qc
(3)
Qd
(4)
Inicialización a “1”
Ejercicios de las hojas sueltas:
1)
Diseñe un contador de módulo 4 que contenga las siguientes características:
a)
b)
c)
d)
e)
f)
Ser síncrono y disparado por flanco de subida.
Ser puesto a “0” de manera asíncrona.
Inhibirse de la cuenta, manteniendo el estado almacenado.
Contar hacia arriba.
Contar hacia abajo.
Cargar datos en paralelo.
“M” va a ser nuestra
entrada de control.
A B
M9
JaKa
Ja = Ka = B’M + BM’
A
B
0
0
0
1
1
0
1
1
0
1
A B
M
0
1
M=0
Qn
0
0
1
1
J K
0 X
1 X
X 1
X 0
00 01 11 10
0X 1X X1 X0
X1 0X X0 X1
00 01 11 10
1X X1 X1 1X
X1 X1 X1 1X
M=1
Q(n + 1)
0
1
0
1
Está tabla se saca : ej. tengo 00 (AB) y M = O (asc.) Por
lo tanto como asciende, de “00” pasamos a “01”, en este
caso nos fijamos en las “As” . Mirando en la tabla de los
“JKs” nos damos cuenta que si se tiene un “0” y quieres
que te salga un “0”, tus posibilidades son “00” y “01”. Tu
salida será entonces “0X”
Por el enunciado del problema nos hemos dado cuenta que se va a tratar de dos “flipflops” con cuatro posibilidades y dos canales como entradas de selección.
Antes dije que hay una señal de control “M” que informará de si se trata de un
contador descendente (M = 0) o si por el contrario será ascendente (M = 1). Por lo
tanto como posibilidades de combinación están:
A) Ascendencia (M = 0)
Jb=Kb = 1
Ja=Ka = B
M1
0
0
1
1
B) Descendencia (M = 1)
Jb=Kb =1
Ja=Ka = B’
M2
Operación
0
Asc. (A)
1
Desc. (D)
0 E/paralelo (P)
1 Inhibición (I)
Esta tabla representa las posibilidades que tenemos con sus
respectivas entradas. Estas posibilidades son elegidas al
azahar por nosotros.
A
B
1
1
B
B’
A
B
D0
D1
Clock
2)
Diseña un registro universal de 4 bits.
En particular, debe cumplir las siguientes especificaciones:
a)
b)
c)
Ser síncrono y disparado por flanco positivo de reloj.
Tener entrada de puesta a cero asíncrona.
Tener las cuatro formas de operación siguientes:
Inhibición.
Desplazamiento a la Izquierda.
Desplazamiento a la derecha.
Carga de datos en paralelo.
-
Un “registro universal” es un registro basado en biestables “D”.
Q1
Q2
Q3
Q4
R
R
R
R
D1
C
D2
C
D3
C
D4
C
Teniendo en cuenta que lo que nos piden son en realidad cuatro cosas, pondremos un
multiplexor con cuatro entradas y dos de selección (S1 y S2). Dependiendo de las
entradas de selección se activará la orden que hallamos asignado a esa combinación.
Estas combinaciones y sus asignaciones son:
S1 S2
0 0
0 1
1 0
1 1
Operación
Inhibición
Izquierda
Derecha
Paralelo
Para simplificar un poco, sólo haré un
multiplexor y un registro (Flip-Flop). Los tres
restantes son iguales. Unidos por reloj y
entrada (reset) asíncrona.
Qn = E/Inhibición.
Qn
Q (n+1) = E/ID
Q (n+1)
R
D1
Q (n-1)
C
Qn
Q (n+1) = E/D
DP = E/D Paralelo
S1 = E/Control (1)
S2 = E/Control (2)
Datos/P
R = Reset
S1 S2
C = clock
3
Hacer un contador síncrono que nos cuente hasta cinco (5), y
además que cumpla con las siguientes funciones:
-
Síncrono
Puesta a “0” de manera asíncrona.
Entrada de inhibición.
Que sea ascendente y descendente.
Lo primero que tenemos que tener en cuenta a la hora de desarrollar el ejercicio es que
si nos piden un contador que cuente hasta cinco, sabremos que se trata de un circuito de
3 flip-flops (A, B y C).
Como también nos pide que sea asc. y des., tendremos que utilizar una señal de control
(M). Cuando M = 0, ascenderá y cuando M = 1 descenderá.
“M” va a ser nuestra
entrada de control.
A B C
0
0
0
0
0
0
1
1
0
1
0
1
0
1
2
3
- Cuando M = “0”,
asciende (barra de la
izquierda).
- Cuando M = “1”,
desciende (barra de la
derecha).
1
1
0
0
4
5
0
1
Si nos fijamos la tabla de la verdad está hecha hasta el “5”. A partir del número cinco ,
hasta el siete, serán asteriscos que podremos combinar para simplificar.
Si el contador sólo cuenta hasta cinco, el número superior a cinco (101) será el cero
(000). Y el número inferior a cero (000) será el cinco (101).
Ja=ka
A B
CM
00
01
11
10
00
0X
1X
0X
0X
01
0X
0X
0X
1X
Jb=Kb
11
X
X
X
X
10
X0
X1
X0
X1
11
X
X
X
X
10
X1
1X
X1
X1
A B
CM
00
0X
0X
0X
1X
00
01
11
10
01
X0
X0
X0
X1
11
X
X
X
X
10
X0
1X
OX
0X
Jc=kc
A B
CM
00
01
11
10
00
1X
1X
X1
X1
01
1X
IX
X1
X1
Ja = Ka = B’C’M + BCM’ +ACM’
Jb = Kb = BC’M + ACM’ + A’B’CM’
Jc = Kc = 1
Qn
0
0
1
1
J K
0 X
1 X
X 1
X 0
Q(n + 1)
0
1
0
1
Mirando las combinaciones de A, B,
C y M, rellenaremos las tablas de
“Karnaugh”.
Hechos los mapas, y teníendo en cuenta que M = “1” ò “0”, haremos estas dos opciones
por separado sustituyendo primero por “0” y luego por “1”.
M = “0” (Ascend.)
M = “1” (Descend.)
Ja = Ka = C ( A + B )
Jb = Kb = C ( A + A’ B’ )
Jc = Kc = 1
Ja = Ka = B’C’
Jb = Kb = BC’
Jc = Kc = 1
Bueno, ahora sólo queda dibujar el circuito. Acoplamos un multiplexor para que lo
vamos a necesitar para ajustar las entradas de control y las cuatro de selección.
3)
La Unidad de Control de un sistema digital dispone de 3 entradas S0, S1 y
S2 y su diagrama de estados se corresponde con el que se muestra en la
figura.
S0 = 1
S0 = 0
A
B
S1 = 0
S3 = 1
S1 = 1
S2 = 1
D
S2 = 0
C
Diseñar la Unidad de Control utilizando:
-
Un contador y un decodificador como componentes básicos.
Un registro de desplazamiento y un decodificador como componentes
básicos.
a)
A partir del diagrama de estados sacamos las conclusiones que nos llevarán a la
solución del problema (normalmente N’ = N (negada). En esta ocasión no será así.)
Damos valores a cada uno de los estados:
S0’ = 00
S1’ = 01
S2’ = 10
S3’ = 11
Sacamos toda la información que nos hace falta para hacer el siguiente cuadro:
Est. Inicial
S2,S1,S0
Es. Final
L
H
E1
E0
S0’ = 00
S0 = 0 (asc.)
S0 = 1 (desc.)
S0 = 01
S0 = 00
0
1
1
0
X
0
X
0
S1’ = 01
S1 = 0 (desc.)
S1 = 1 (asc.)
S1 = 00
S1 = 10
1
0
0
1
0
X
0
X
S2’ = 10
S2 = 0 (desc.)
S2 = 1 (asc.)
S2 = 10
S2 = 11
1
0
0
1
1
X
0
X
S3’ = 11
---------
S3 = 11
0
1
1
1
Las “x” las saco cuando son las “Sn” son ascendentes. Recordemos que los contadores
cuentan ascendiendo normalmente.
Tendremos entonces como entrada “L”:
L = S0’S0 + S1’S1n + S2’S2n + S3’ (no entiendo de donde sale el ”S3’)
Como “H” tendremos
H = Ln (“H” = a “L” negada)
Y como “En”:
Como “En”: ¡¡ hazlas tú!!
Nuestro circuito nos quedaría así:
S0’
S0n
Q1
S1’
Q2
S1n
S2
L
S2n
H
S2n
E1
E0
S3’
B) En la parte “b” se pide un registro de desplazamiento y un decodificador como
componentes básicos. A partir del diagrama de estados sacamos las conclusiones que
nos llevarán a la solución del problema.
Damos valores a cada uno de los estados:
S0’ = 00
S1’ = 01
S2’ = 10
S3’ = 11
Sacamos toda la información que nos hace falta para hacer el siguiente cuadro:
Est. Inicial
S2,S1,S0
Es. Final
D
I
E1
E0
S0’ = 00
S0 = 0 (Dch.)
S0 = 1 (Izd.)
S0 = 01
S0 = 00
1
0
0
1
0
X
1
X
S1’ = 01
S1 = 0 (Izd.)
S1 = 1 (Dch.)
S1 = 00
S1 = 10
0
1
1
0
0
X
0
X
S2’ = 10
S2 = 0 (Izd)
S2 = 1 (Dch.)
S2 = 10
S2 = 11
0
1
1
0
1
0
0
1
S3 = 11
1
0
X
X
S3’ = 11
Como en este caso se trata de un
registro,
los
desplazamientos
posibles son hacia la derecha (D) y
hacia la izquierda (I).
Las entradas de selección del
registro (E1, E2) serán “X” cuando
el estado al que vaya la “ Sn’” sea
su propio estado.
Las “X” las saco cuando son “las “Ss” que coinciden con la función del registro en sí.
Lo primero que vamos a sacar son los componentes de las dos entradas de selección
(A1, A2).
E1
0
0
1
1
E2
0
1
0
1
OPERACION
Inhibición
Derecha
Izquierda
Datos
Ahora sacaremos lo que vale cada uno de los
componentes (E1, E2, D, I).
D = S0’S0n + S1’S1 + S2’S2 + S3’
I = S0’S0 + S1’S1n + S2’S2n
E1 = S2’S2n
E0 = S0’S0n
S3’
S0’
S3n
Q1
S0n
S1’
S2’
Q0
S2n
S3’
S3n
E1
E2
S1n
S2’
S2n
S4’
DECOD.
S4n
S0’
S3’
S3n
4)
Diseñar un sistema que permita visualizar el turno de espera en un
establecimiento comercial mediante dos dígitos decimales se utilizará para ello un
contador decimal. Dicho sistema debe ir provisto de un mecanismo que permita
saltar uno o varios números sin que aparezcan visualizados,... , siempre que el
vendedor así o desee. Para ello se utilizará un “Lach” de cuatro bits.
Para realizar el sistema utilizaré un contador decimal normal que cuenta de “0” a “100”
que irá unido a un registro de desplazamiento LATCH que hará que visualice lo que le
digamos a través de los “7 segmentos”.
En el caso de un
contador decimal
que cuenta hasta
100, lo normal sería
tener
dos
contadores:
uno
para las unidades y
otro
para
las
decenas. Sólo haré
el referente a las
unidades
Conociendo
el
funcionamiento
de
los
“Latch” nos damos cuenta
que en el momento en que se
interrumpa el estado “1” de
reloj, ósea que se ponga a “0”,
dejará de ser visualizado el
número que venga después de
pulsar el botón.
Este botón corta la corriente
continua de “1” y por eso no
se visualiza nada mientras se
mantenga pulsado.
En el resultado tenemos cuatro salidas que tenemos que meter en un “BCD- Siete
segmentos”, para ello usamos un codificador al que supuestamente hemos dado valores
a sus variables: 00, 01, 10,... (la tercera entrada del “7-segmt.” la dejamos libre por que
no la necesitamos).
5)
Diseñar un circuito capaz de simular un dado digital mediante biestables
“D” del tipo 7474 y puertas “AND”, “OR” de dos entradas. El circuito dispondrá
de un display para poder visualizar el número seleccionado, además de un
pulsador de “reset” y otro de marcha (M), de tal forma que el número obtenido
dependa del tiempo que se esté actuando sobre este último.
El fundamento será un contador con reloj.
Cuando aprieto cambia rápidamente y
cuando dejo de apretar se visualiza el
número. Lo que quiere decir que la señal
“M” actuará con el reloj:
Hacemos los pasos de siempre para desarrollar el problema:
A
-0
0
0
1
1
1
B
-0
1
1
0
0
1
C
-1
0
1
0
1
0
Qc
-0
1
0
1
0
1
0
1
00
X
0
01
1
0
11
1
X
10
1
0
Qc = c`
0
1
00
X
1
01
1
0
11
0
X
10
0
1
Qb = a’c’ + b’c
Qb Qa
-1
1
0
0
1
0
-0
0
1
1
1
0
--
--
--
--
--
-00
X
0
0
1
01
0
1
11
0
X
10
1
1
Da = ab’ + bc
Tenemos que tener en cuenta que vamos a hacer este circuito con biestable “D”, y por
lo tanto tendremos que tener en cuenta la tabla de la verdad de los biestables “D” y sus
salidas.
Ahora dibujamos el circuito:
Rst
A
Da
C
Db
Dc
C’
………
………
………
………
………
………
………
………
Autómatas: son circuitos secuenciales en………
los que la salida depende de la entrada y de
la historia anterior de circuito.
………
………
………
X
Z
Nos interesa que para una determinada
………
entrada, la salida dependerá del estado en
………
el que yo estoy.
…c
Circuitos secuenciales
TIPOS DE AUTOMATAS
1)
Síncronos: la evolución del circuito está sincronizada por una señal externa
del reloj. Existen “RS” y “JK”.
2)
Asincronos: la evolución del circuito no depende de señales externas. Los
asíncronos por realimentación directa no necesitan ningún elemento de memora
adicional.
Estructura General.
Z
AX1
Comb.
C.
Mem.
Xn
Xn+1
Ym+t
Yit

X = 2n vectores entradas
n = número de variables de entrada.

Y = 2m estados intermedios
m = número de variables de estados.

Z = 2p vectores salida
p = número de variable de salida.
“Yt+1” que dependerá del valor de estado “it” y la entrada “X”.
Luego se genera el vector de estado “Yi+1” y se guarda en la memoria.
AUTOMATA DE “MOORE” (Salida “Z” = f(x))
Circuito
combinacinal
Memoria
ESTADO / SALIDA
TRANSANCION
Circuito
combinacional de salida
Zn

AUTOMATA DE “MOORE” ( j“Z” = f(x))
Circuito
combinacinal
Circuito
combinacional de salida
Memoria
Como salida se tiene el funcionamiento de estados internos.
ESTADO
ENTRADA
SALIDA
En los dos casos (“Moore” y “Mealy”), la memoria representa el estado de ese
circuito.
Autómatas síncronos
Son autómatas en los que los elementos de memoria están sincronizados mediante una
señal externa.
(J-K)
Esquema general mediante “J-K” de una autómata síncrono:
JomKom
Xom
Comb.
C
Qom
Qt
Qt+1
X
X
Qt+2
JK
X
Procesos del diseño de un autómata síncrono:
1.Obtención del diagrama de flujo teniendo en cuenta las especificaciones del
sistema a diseñar.
2.Grafo de transiciones.
3.Simplificación del nº de estados del grafo.
4.Codificación de estados.
5.Programación “flip-flops” para que sigan la secuencia de estados obtenida.
6.Simplificación por “Karnaugh”.
7.Implementación.
EJEMPLO:
Diseñar un circuito secuencial síncrono para que la salida Z = 1 si “X” ha sido “1”
durante 3 ó más intervalos consecutivos de reloj. Lo haremos tipo Moore.
Lo primero que tendremos que ver es el número de estados (m). N = número de
variables.
2n = m
1
Obtención del diagrama
C
X
X
Z (salida)
Z
C
Como se puede ver, hemos construido el cronograma de acuerdo con la información que
el enunciado nos ha dado (cuando “X” se mantiene pulsado 3 ó más pulsos de reloj, se
activa “Z”).
0/0
2
Grafo de transiciones.
0
“1”
0
1/0
0
2/0
0
3/1
1
3
Simplificación de estados
Se simplifican algunos estados en los que con las mismas entradas evolucionan al
estado siguiente con las mismas salidas.
0/0
Estado t + 1
Estado
actual
0
1
0/0
1/0
2/0
3/1
0/0
0/0
0/0
0/0
1/0
2/0
3/1
3/1
0
0 = 00
0
0/1
1 = 01
0
2 = 10
1/0
3 = 11
0
1/1
1
Nos damos cuenta que son iguales y veremos si se puede simplificar. Podríamos
simplificar aquellos estados que con las mismas entradas producen el mismo estado
siguiente y las entradas que producen el mismo estado siguiente y las mismas salidas.
Codificación de estados
X
0
1
0
1
0
1
0
1
4
Q1t Q2t Q1t+1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Q2t+1
0
1
0
0
0
1
0
1
J1K1 J2 K2
0X
0X
0X
1X
0X
1X
X1
X1
X1
X0
0X
1X
X1
X0
X1
X0
Implementación de estados
Z
0
0
0
0
0
1
0
1
A la hora de hacer lo
de las “Jk”, sólo tendre
en cuenta a las Qs.
La “X” son entradas.
Lo vamos a hacer con “JK” y tendremos en cuenta dos posibilidades: “0” y “1”
J1= Q2X
BA
X
00
0
01
01
1
11
X
X
K1 = X’
10
X
X
BA
X
00
01
00
X
X
J2=X
AB
C
00
0
1
X
01
X
X
01
X
X
11
1
0
10
1
0
K2 = Q’1 +X’
11
X
X
10
1
X
AB
C
0
1
00
X
X
01
1
1
11
1
0
10
X
X
Z = XQ1
AB
C
00
0
1
0
1
01
11
10
1
1
Implementación.
X
2º Autómata tipo “Maley”.
La salida depende tanto de la entrada como del estado. Por lo tanto no es necesario que
ambos estados tengan la misma salida para poder simplificar.
0/0
0/0
1/0
0/0
1/0
0/0
0/0
0/0
0
00
1
01
2
10
En la hoja anterior he dibujado el grafo de transición o de estados simplificado.
Al lado lo que hemos hecho es la codificación. El estado “11” nunca será posible.
2n = m
2n = 3
X
0
1
0
1
0
1
0
1
Q1t Q2t Q1t+1
0
0
0
0
0
0
0
1
0
0
1
1
1
0
0
1
0
1
1
1
-- -1
1
-- --
Q2t+1
0
1
0
0
0
1
 - --
J1= Q2X
BA
X
00
0
01
J1K1 J2 K2
0X
0X
0X
1X
0X
1X
X1
X1
X1
X0
0X
0X
XX
XX
XX
XX
Z
0
0
0
0
0
1
---
A la hora de hacer lo
de las “Jk”, sólo tendre
en cuenta a las Qs.
La “X” son entradas.
K1 = X’
01
1
11
X
X
10
X
X
BA
X
00
01
J1= Q2X
BA
X
0
01
00
1
00
X
X
01
X
X
11
X
X
10
1
11
X
X
10
X
X
K1 = X’
01
X
X
11
X
X
10
BA
X
00
01
00
X
X
01
1
1
J1= Q1’X
BA
X
00
0
01
K1 = 1
01
1
11
X
X
BA
X
10
X
X
X
00
01
00
X
X
01
1
1
11
X
X
10
X
X
Z = Q1X
Z
EJEMPLO:
Diseñar un sistema secuencial síncrono con una sola entrada por la que recibe
dígitos binarios. Responde a un con un pulso de duración igual a un ciclo de reloj,
cuando se recibe la secuencia 11011 considerando solapamiento, implementar
dicho autómata con biestables “J-K”.
EJEMPLO:
Tengo dos interruptores para una bombilla, queremos construir un sistema para
que cuando pulse el pulsador “A” se encienda y cuando pulse el pulsador “B” se
apague.
Lo primero que debemos de hacer en estos casos es identificar las posibles
combinaciones y salidas y ponerlas en la tabla de fases. También vemos que tenemos
dos pulsadores (“Pa” y “Pb”).
Pa Pb
00
01
11
10
L
1
4
4
1
3
3
3
-------------
2
2
2
0
1
1
0
1
3
----
2
0
Q
Pa = Encendido
Pb = Apagado
0
4
3
----
2
1
1
Se trata de ver las posibilidades sin variar más de un bit. Hemos tenido en cuenta que el
estado “11” no es válido por no poderse activar los dos a la vez.
La segunda tabla representa las simplificaciones.
Seguidamente pasamos a hacer la tabla de “Tabla de verdad.”
Pa Pb
00
10
01
00
10
01
Pa Pb
Q
1
0
S
Q
Qt+1
1’
2’
3’
4’
2
3
0
1
0
1
0
1
0
1
0
1
1
0
0
1
0
1
1
0
00
1
0
01
0
0
11
0
0
10
1
1
Qt+1 = a la “Q” del estado
estable al que vaya.
Tenemos entonces que:
Qt+At = (Pb)’ + Pa(Pb)’
El dibujo del circuito quedaría:
Pa
S
Pb
EJERCICIOS HOJAS SUELTAS.
Diseños heurísticos
1)
Utilizando un contador binario/decimal diseñar un sistema que permita
visualizar mediante dos dígitos decimales el tiempo disponible durante una prueba
concurso. Estas pruebas podrán tener una duración de 60 0 90 segundos. Utilícese
decodificadores BCD/Siete segmentos así como las puertas NOR de dos entradas
que sean necesarias.
Lo que está claro es que se trata de dos tipos de contadores descendentes. Uno para las
unidades y otro para las decenas. Como resulta que son dos pruebas concurso, una de
90’’ y otra de 60’’. Con lo cual en realidad tendremos cuatro contadores: 3 de nueve a
cero y uno de seis a cero. Todos ellos tendrán que ir conectados a un BCD siete
segmentos.
Contadores descendentes
(9-0)
(6-0)
Jaka Jbkb Jckc Jdkd
Jaka Jbkb Jckc
Qa
Qb
Qc
Qd
0
0
0
0
0
1X
0X
0X
1X
1X
1X
1X
1
0
0
0
1
0X
0X
0X
X1
0X
0X
X1
2
0
0
1
0
0X
0X
X1
1X
0X
X1
1X
3
0
0
1
1
0X
0X
X0
X1
0X
0X
X1
4
0
1
0
0
0X
X1
1X
1X
X1
1X
1X
5
0
1
0
1
0X
X0
0X
X1
X0
0X
X1
6
0
1
1
0
0X
X0
X1
1X
X0
X1
1X
7
0
1
1
1
0X
X0
X0
X1
-
-
-
8
1
0
0
0
X1
1X
1X
1X
9
1
0
0
1
0X
0X
0X
X1
10
1
0
1
0
-
-
-
-
11
1
0
1
1
-
-
-
-
12
1
1
0
0
-
-
-
-
13
1
1
0
1
-
-
-
-
14
1
1
1
0
-
-
-
-
15
1
1
1
1
-
-
-
-
Las zonas marcadas
en gris representas
los casos imposibles.
Ahora pasaremos a pasar esta información de las “tablas de verdad” a “Karnaugh”.
Pasaremos ahora a hacer la parte que va de 9 a 0.
Ja = b’c’d’
00
01
00
1
0
01
0
0
11
-
Ka = cd’
10
X
0
00
01
00
X
X
01
X
X
11
-
10
1
0
11
10
0
0
0
0
-
-
11
10
Jb = acd’
00
01
11
10
00
0
0
0
0
01
X
X
X
X
11
-
X
X
00
01
11
10
01
X
0
11
-
-
-
Kb = c’d’
10
1
0
-
00
01
11
10
00
X
X
X
X
Jc = a’b’
00
1
X
1
X
X
01
1
0
0
0
11
-
10
X
X
-
Kc = ab + bd’
10
0
X
-
00
01
11
10
00
0
0
X
X
01
1
0
X
X
11
-
10
X
1
-
00
01
11
10
00
X
1
1
X
01
X
1
1
X
11
-
10
X
1
-
Jd = Kd = 1
00
01
11
10
00
1
X
X
1
01
1
X
X
1
11
-
10
1
X
-
Este “Karnaugh” lo tendremos que tener en cuenta a la hora de construir
la circuiteria. Tendremos que usarlo tres veces.
Ja = c’
AB
C
0
1
00
1
0
01
0
0
Ka= b
11
x
-
10
x
x
AB
C
0
1
00
x
x
01
x
x
Jb = ( a’b )c’
AB
C
00
01
11
10
11
1
-
10
0
0
Kb = 1
AB
C
00
01
11
10
0
1
1
0
x
0
1
-
0
x
0
1
x
x
Jc =1
AB
C
0
1
00
1
x
01
1
x
1
x
x
-
X
1
Kc = 1
11
1
AB
C
10
1
x
0
1
00
x
1
Después de terminar “Karnaugh” tenemos:
(0-9)
Ja = b`c`d
Ka = cd’
Jb = acd’
Kb = c’d’
Jc = a’ b’
Kc = ab + bd’
Ja = c’
Ka = b
Jb = (a’b)c’
Kb = 1
Jc= 1
Kc = 1
(0-6)
Jd = 1
Kd = 1
01
x
1
11
x
1
10
X
1
Por motivos de espacio he tenido que agrupar las salidas de los contadores al meterlas a
los “7-segmentos”.
Para hacer la segunda parte, haremos exactamente lo mismo pero teniendo en cuenta
que este contador descendente va de 6 a 0. Tendremos que hacer, entonces el otro
contador que nos queda.
Existe un defecto de diseño. Si te das cuenta, los visualizadores de los BCD
deberían ir al revés.
Para terminar con el ejercicio, haremos un interruptor que decide si se activa el contador
“A” o el “B” (9-0,6-0).
Interruptor
A (9-0)
(6-0)
B
2)
Utilizando un registro de desplazamiento del tipo 74195 y los operadores
lógicos necesarios, diseñar un sistema que cumpla la secuencia de funcionamiento
especificada en el diagrama de tiempos de la figura.
Qa Qb Qc Qd
J
SHIFT-REGISTERS
K
CK
Clear
shift/Load
B C D
A
Es evidente que de lo que se trata es de un registro de desplazamiento disparado por
flanco de subida con cuatro “bits”. Tendremos que tener en cuenta la tabla de los “JK”
Qn
0
0
1
1
J
0
1
X
X
K
X
X
1
0
Q(n + 1)
0
1
0
1
Qd
Qc
Qb
Qa
0
0
0
1
X1
1X
0X
0X
0
0
1
0
1X
X1
1X
0X
0
1
0
1
X0
1X
X1
1X
1
0
1
1
X1
X0
1X
X1
0
1
1
0
0X
X1
X0
1X
1
1
0
0
0X
0X
X1
X0
1
0
0
0
0X
0X
0X
X1
0
0
0
0
1X
0X
0X
0X
Ja = a’b’
00
01
11
10
00
1
X
1
01
X
0
11
0
-
Jaka Jbkb Jckc Jdkd
Ka = b’
10
0
X
-
00
01
11
10
00
X
1
X
01
0
X
Jb = d
00
01
11
10
00
0
1
X
01
1
X
00
01
11
01
X
-
10
X
1
-
Kb = c’
11
0
-
10
0
X
-
00
01
11
10
Jc= c + ad
00
0
0
-
11
X
-
11
X
-
00
X
X
1
01
X
1
11
X
-
10
X
0
-
11
1
-
10
X
X
-
Kc = c’
10
0
1
-
00
01
11
00
X
X
-
01
1
-
10
1
X
-
-
10
Jd = b
00
01
11
10
00
0
0
0
01
1
1
X
0
-
-
11
0
-
10
1
1
-
Kd= b’
11
X
-
10
X
X
-
00
01
11
10
00
X
X
X
01
X
X
Antes de dibujar debo de hacer el comentario acerca del registro que hemos construido.
Por supuesto que se trata de un registro de desplamiento que lo hace al revés de cómo
estamos acostumbrados.
6)
Se dispone de tres registros con datos (R0,R1,R2,R3,) y una ALU, todos de
n bits operandos y o destino del resultado. El registro fuente del dato A es
seleccionado por dos bits, A1, A0, el de B por B1, y B0; y el destino por D1 y D0.
Muestre la estructura del sistema e implemente un esq2uema de conexión basado
en multiplexado, usando registros con terminales de entrada y salida separados
7)
Se dispone de una señal binaria con periodo de 1 minuto, contadores
módulo 10 disparados por flanco negativo con entrada “clear” síncrona activa en
alta y salida de acarreo (carry), visualizadores de 7 segmentos con entradas BCD y
puertas lógicas. Diseñe un reloj digital que muestre las horas y minutos.
Como de entrada se dispone de una señal digital de periodo un minuto, nos ahorramos
el segundero.
Empezaremos por eºººº
l minutero (lo forman los dos primeros contadores
empezando por la izquierda). Estos se encargarán de ir contando los minutos y estarán a
su vez conectados con otros dos contadores que harán de horas (los dos de la derecha).
El funcionamiento es sencillo. Para el minutero y para los visualizadores de las horas he
utilizado la misma forma de trabajo. Contadores con ordenes de parada y trabajo através
de las salidas. Así cuando el minutero llega a 59, automáticamente se pondrá a “00” y al
pasar esto (ponerse a “00”) se dará la señal que pone en funcionamiento el siguiente
contador y empezará a contar según le vayan entrando los pulsos.
Por supuesto que podría haberlo hecho con 10 módulos pero por problemas de
aburrimiento y por que de la manera ejecutada es más clara y concisa pero el
planteamiento que se pide en el enunciado y el mio es igual sólo que simplificado.
8)
Diseñar un sistema con 4 registros de 8 bits que en cada momento permita
escribir en alguno de los 4 registros y leer alguno de los 4.
Según yo he interpretado en el enunciado, lo que queremos es un sistema de registros de
desplazamiento ocho bits cada uno que visualicen la información en paralelo que le
vamos metiendo paralelamente también. Utilizaré un contador que unirá todos los
registros y un “7-segmentos” que visualizará la salida de la inforación.
Pasamos al planteamiento de la tabla de la verdad para hacer el contador con entradas
“D”.
A
B
C
D
Qa Qb Qc Qd
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
1
0
2
0
0
1
0
0
0
1
1
3
0
0
1
1
0
1
0
0
4
0
1
0
0
0
1
0
1
D Q
0 0
1 1
5
0
1
0
1
0
1
1
0
6
0
1
1
0
0
1
1
1
7
0
1
1
1
1
0
0
0
8
1
0
0
0
1
0
0
1
9
1
0
0
1
1
0
1
0
10
1
0
1
0
1
0
1
1
11
1
0
1
1
1
1
0
0
12
1
1
0
0
1
1
0
1
13
1
1
0
1
1
1
1
0
14
1
1
1
0
1
1
1
1
15
1
1
1
1
0
0
0
0
Como usamos biestables “D” en
el contador sus salidas serán las
que he especificado en su tabla.
Pasamos a hacer las tablas de “Karnaugh”:
A=
00
01
11
10
a’bcd + (c’+ b’+ d’)a
00
0
0
0
0
01
0
0
1
0
11
1
1
0
1
10
1
1
1
0
B=
cd (a’b’+ ab) +c (a’b + ab’) + d’(a’b + ab’)
00
01
11
10
00
0
0
1
0
01
1
1
0
1
C =c’d + cd’
00
01
11
10
00
0
1
0
1
01
0
1
0
1
11
0
1
0
1
10
0
1
0
1
11
0
0
1
0
10
1
1
0
1
D = d’
00
01
11
10
00
1
0
0
1
01
1
0
0
1
11
1
0
0
1
10
1
0
0
1
Básicamente el circuito quedaría así. Para que aparecieran los códigos siete segmentos,
tendríamos que hacer el mismo proceso que en el problema 1. Para que quede
visualizado todo lo que entre previamente.
AUTOMATAS SINCRONOS (ejercicios)
1º
Sistema secuencial síncrono con una entrada por la que recibe dígitos
binarios 11011.
0/0
0
Después del grafo pasamos a
simplificarlo.
1/0
1
1/0
0/0
1/0
1/0
2
1
1/0
3
2
0/0
1/0
0/0
0/0
4
0/0
0/0
0/0
1/0
0/0
0
0/0
3
1/1
1/0
5
Pasamos a hacer la codificación de estados
0=000
1=001
2=010
3=011
4=100
1/1
4
0
1
2
3
4
0
1
0/0
0/0
3/0
0/0
0/0
1/0
2/0
2/0
4/0
5/1
t+1
X
0
1
0
1
0
1
0
1
0
1
Q1Q2Q3
000
000
001
001
010
010
011
011
100
100
Q1Q2Q3
000
001
000
010
011
010
000
100
000
010
J1K1
0X
0X
0X
0X
0X
0X
0X
1X
X1
X1
J1 = XQ1Q2Q3
00
01
11
10
00
0
0
0
0
01
X
J2 =
00
01
11
10
00
0
0
X
0
01
0
11
X
10
0
0
1
0
XQ1´Q3
11
X
10
0
1
X
0
J3 = X´Q1´Q2 + XQ1´Q2´
00
01
11
10
00
0
X
X
1
01
0
11
0
10
1
X
X
0
Z =XQ1Q2´Q3´
00
01
11
10
00
0
0
0
0
01
0
11
1
10
0
0
0
0
J2K2
0X
0X
0X
1X
X0
X0
X1
X1
0X
1X
J3K3
0X
1X
X1
X1
1X
0X
X1
X1
0X
0X
Z
0
0
0
0
0
0
0
0
0
1
K1 = Q2´Q3´
00
01
11
10
00
X
X
X
X
01
1
11
1
10
X
X
X
X
K2 = Q1´+ Q2´Q3´
00
01
11
10
00
X
X
1
X
01
X
11
1
10
X
X
X
1
01
X
11
X
10
X
1
1
X
K3 = Q1´
00
01
11
10
00
X
1
1
X
2º
Se desea controlar la marcha del motor de un ascensor (estado de marcha y
sentido de giro) mediante un circuito secuencial pilotado por reloj. El ascensor
presta servicio entre dos pisos y puede suponerse que el pulso de reloj se produce
ya sea al pulsar un botón de llamada o bien cuando el ascensor llega a un piso y
también que las salidas del sistema se mantienen (por un sistema que no se
analizará) en el intervalo entre pulsos. Impleméntese un circuito que realice dichas
función sabiendo que no se activan dos entradas a la vez.
1)
Se desea diseñar un sistema secuencial síncrono que suministre una señal e
inicialice su estado cada vez que en su entrada recibe dos ceros después de haber
recibido como mínimo dos unos.
0/0
0
1/0
0/0
1/0
1
0/0
1/0
1
1/0
1/0
0/1
1/0
1/0
2
0/0
0/0
0
2
0/0
3
0/0
3
1/0
0/1
4
Después de simplificar quedaría de la siguiente manera.
0
1
0/0
0/0
3/0
1/1
1/0
2/0
2/0
0/0
Codificación de estados:
0
1
2
3
1/0
0=00
1=01
2=10
3=11
t+1
X
Q1Q2
Q1Q2
J1K1
J2K2
Z
0
1
0
1
0
1
00
00
01
01
10
10
00
01
00
10
11
10
0X
0X
0X
1X
X0
X0
0X
X1
X1
X1
1X
0X
0
0
0
0
0
0
0
1
11
11
00
01
J1 =
0
1
00
0
0
01
0
X
X1
X1
XQ2
11
0
X
0
1
01
1
X
11
0
X
0
1
K1 = 1
10
0
1
J1 =X´Q1
00
0
X
X1
X0
00
01
00
X
X
01
X
1
11
X
1
10
X
X
11
X
0
10
1
1
K1 = X´+ Q1´
10
X
X
00
01
00
X
1
01
X
1
Z =XQ1Q2
0
1
00
0
0
01
0
0
11
0
1
10
0
0
2)
Se dispone de dos números en binario, A y B, apareciendo simultáneamente
un bit de cada número, comenzando por el menos significativo, con cada pulso de
reloj.
Diseñar un circuito secuencial pilotado por cada pulso de reloj que vaya
detectando si A>B ó A<B o A=B.
El tiempo, durante el cual se realiza la comparación, está gobernado por la
presencia de una señal externa, x(x=”1”). Durante el tiempo en el que x no esté
presente (X=”0”) el sistema debe responder independientemente de las últimas
comparaciones realizadas, para cuando vuelva a ser x=”1” comenzar una nueva
comparación.
Por lo que yo entiendo, se tratará de una secuencia de dos dígitos binarios que será : 0001-10-11, que por este orden también serán los estados 0, 1, 2, 3.
También doy valores:
A<B=01
A>B=10
A=B=00
0
1/1
0/0
1/1
1
0/0
0/0
2
AB
0
1
00
01
10
11
1/0
2/0
3/0
0/0
0/1
1/1
2/1
3/1
1/1
0/0
3
t+1
X
Q1Q2
Q1Q2
J1K1
J2K2
Z
0
1
0
1
0
1
0
1
00
00
01
01
10
10
11
11
01
00
10
01
11
10
00
00
0X
0X
1X
0X
X0
X0
X1
X1
1X
0X
X1
X0
XI
0X
X1
X1
0
1
0
1
0
1
0
1
J1 = XQ1´
0
1
00
0
1
01
X
X
K1 = Q2
11
X
X
10
0
0
J2 =X´
0
1
00
1
X
0
1
00
X
X
01
0
1
11
0
1
10
X
X
01
1
1
11
X
1
10
X
0
K2 = X´+`Q2
01
X
X
11
0
X
10
0
X
01
0
0
11
1
1
10
1
1
0
1
00
X
1
Z =X
0
1
00
0
0
3)
Un sistema de detección de temperatura proporciona cuatro niveles
codificados en binario (00, 01, 10, 11). Se activa una alarma cuando detecta el nivel
3 11 ó cuando detecta el nivel 2 10 en 2 ciclos seguidos de reloj y debe desaparecer
cuando se detecta el nivel 00 ó el nivel 01 en dos ciclos consecutivos de reloj.
Implementar dicho sistema.
Teniendo en cuenta que los estados de las temperaturas tendrán tres formas de
evolución (subir, bajar y quedar constante) daremos valores a esas tres formas y quedan
para SUBIR=11, BAJAR =00 y ESTABILIZAR=01
0
01/0
00/0
11/0
01/0
1
11
00/0
11/0
2
00/1
01/1
Q1Q2
00
11
01
00
11
01
00
11
01
00
11
01
00
00
00
01
01
01
10
10
10
11
11
11
00
01
11
10
J2 =
0
X
X
Q1Q2
J1K1
J2K2
01
00
00
10
01
01
11
10
10
0X
0X
0X
1X
0X
X1
X0
X0
X0
1X
0X
X1
X1
X0
1X
1X
0X
X1
11
X0
X0
00
Z
0
0
0
0
0
0
0
1
1
1
0
1
K2 = X1X2Q2´+ X1´X2´Q1Q2´
01
0
0
X
X
11
0
1
10
X
X1X2Q2´+ X1´X2´Q1Q2´
00
01
0/0
1/0
2/1
3/1
01/1
J1 =X1X2Q1´Q2
00
0/0
1/0
2/1
00
1/0
2/0
3/0
11/1
3
X
0
1
2
3
01
0
11
1
X1X2
Q1Q2
00
00
01
11
10
X
X
1
01
0
X
X
0
11
1
X
10
1
K2 =X1X2Q1´Q2+ X1´X2´
10
00
00
X
01
X
11
10
01
11
10
X
X
1
X
X
0
X
01
11
10
1
1
1
X
0
0
X
1
X
Z= X1´Q1Q2+X2Q1Q2´
00
01
11
10
00
0
0
1
0
01
0
0
1
1
11
0
0
0
1
10
4)
Disponemos de un montacargas con pulsadores de subida S, bajada B, y
paro P: para modificar el sentido de la marcha es preciso activar previamente el
pulsador de parado y no responde al pulsado simultáneo de varios conmutadores.
Sendos topes fin de carrera Ti y Ts le impiden continuar subiendo o bajando
cuando alcanza los extremos del recorridos. Implementar un autómata síncrono
que controle dicho montacargas.
Como en el enunciado ya dice que los pulsadores sólo pueden ser pulsados no
simúltaneamente, las únicas posibles entradas pueden ser: 100 = bajar, 010 = subir, 001
= parar.
Como en realidad no sé a que puedo llamar salida “1”, lo que haré será asignar como
salidas “1” cuando los sensores t1 y t2 sean acticados.
Los estados son los de siempre y como siempre les daremos valores:
Codificación de estados:
0
0=00
1=01
2=10
3=11
100/0
010/1
001/0
1
010/0
0
001/1
2
En el grafo lo que haré será empezar desde el
estado cero, donde el estado de salida será siempre
“1”. Lo mismo pasará con el estado tres. Al estar
situado en el extremo de los estados siempre su
salida será “1”.
0
1
2
3
100
1/0
2/0
3/1
010
0/1
1/0
2/0
100/0
100/1
010/0
3
001
0/1
1/0
2/0
3/1
001/0
001/1
X
Q1Q2
Q1Q2
J1K1
J2K2
Z
100
010
001
100
010
001
100
010
001
100
010
001
00
00
00
01
01
01
10
10
10
11
11
11
01
0X
1X
00
10
00
01
11
01
10
0X
1X
0X
0X
X0
X1
X0
0X
X1
X1
X0
1X
1X
0X
10
11
X0
X0
X1
X0
0
0
1
0
1
0
1
0
0
0
0
1
J1 =
X1X2X3
Q1Q2
000
001
010
00
0X
01
0X
0X
11
X0
X0
10
X0
X1
001
010
K1 =
X1X2X3
000
Q1Q2
00
100
101
110
111
101
110
111
101
110
111
0X
1X
X0
011
0X
100
1X
01
X0
X1
11
X0
X1
10
0X
1X
001
010
Z=
X1X2X3
000
Q1Q2
00
011
X1
1X
011
100
1
0
0
01
0
1
0
11
1
0
0
10
0
1
1
Paso de continuar que me canso ...
5)
Diseñar un sistema que detecte el número de personas presentes en una sala
sabiendo que existe un solo acceso que es a la vez entrada y salida y que las
personas entran y salen de una en una y con una mínima distancia entre ellas. Un
par de células fotoeléctricas a y b permiten detectar la salida o entrada de personas
y el sentido en que cruzan dicho acceso.
6)
Diseñar un circuito secuencial síncrono de una entrada que permita
detectar la secuencia de información 11100. Para ello dispondrá de una salida que
se pondrá a uno cuando detecte esta secuencia, momento en el cual quedará
enclavada dicha salida, mientras tan sola salida permanecerá a cero.
7)
Realizar un autómata síncrono con las siguientes especificaciones: el
circuito debe detectar la secuencia de entradas 00-01-11-10 correspondientes a las
entradas A y B, estas combinaciones sólo se tendrán en cuenta al producirse
una transacción en la señal de reloj, y además sólo tiene que estar presente cada
combinación durante un único impulso. Este circuito dispone de unas salida que
quedará enclavada a valor 1 detectada esta combinación; En cualquier otro caso la
salida será cero.
8)
Realizar la síntesis del circuito lógico de control (síncrono) de un motor de
acuerdo con las siguientes especificaciones:
a) Si el interruptor (A) está desactivado, el circuito lógico ha de
inhibir el arranque del motor.
b) Si el interruptor (A) está activado:
Al pulsar (B) el motor debe girar a la Izd. Y
seguirá girando cuando se suelte.
Al pulsar el motor debe girar a la derecha y
seguirá girando cuando se suelte.
Si (B) Y (C) son pulsados simultáneamente, el
motor girará a la izquierda.
En el estado inicial, el motor se encuentra parado y no hay ninguna entrada
activada.
9)
Un muñeco de juguete funciona por control remoto. La caja de control
posee dos pulsadores (A y B), de tal forma que, en estado de reposo, el muñeco no
se mueve. Si se presiona el pulsador “A”, el muñeco se moverá hacia delante,
continuando el movimiento al dejar de presionar dicho pulsador. Si se actúa sobre
ambos pulsadores simultáneamente, se moverá hacia atrás, continuando así al
dejar de pulsarlos. Finalmente si se pulsa “B” el muñeco se parará.
Implementar el circuito como síncrono.
10)
Un circuito secuencial tiene dos entradas (x1, x2) y dos salidas (Z1,Z2). Las
entradas representan un número binario natural de dos bits, N. Si el valor presente
de N es mayor que el valor inmediatamente anterior, entonces, Z1 = 1. Si dicho
valor es menor, entonces la salida Z2=1. En cualquier otro caso, Z1 = Z2 = 0. Se
pide:
a)
b)
Implementar el circuito como autómata de Mealy.
¿Cuántos estados tendría el circuito como autómata de Moore?
11)
Información codificada en “BCD” natural es enviada en serie por una línea
(x) sincronizada con los impulsos de un reloj, llegando primero el bit de mayor
peso. Diseñar el circuito que genere la señal de error en el instante en que se reciba
el cuarto bit cuando la combinación sea errónea, es decir que no pertenezca al
código. En ese mismo momento el sistema ha de retornar al estado inicial para
comenzar otro ciclo de detección de error.
12)
Un circuito secuencial tiene una entrada “X” y una salida “Z”. Por “X” se
transmiten pulsos positivos de 1, 2, ó 3 ciclos de duración. Desde un pulso al
siguiente “X” permanece a “0” un mínimo de 10 ciclos. La salida “Z” se pondrá a 1
tras terminar el pulso de entrada y permanecerá en 1 durante 3 ciclos se el pulso
de “X” duró un ciclo, durante 2 ciclos si “X” duró 2 y durante 1 ciclo si “X” duró
3. En otros casos “Z” es cero.
16)
Diseñe un chequeador de paridad para caracteres de 4 bits enviados en
serie. El circuito recibirá, partiendo de un estado inicial, 4 bits en serie por una
línea de entrada, “X”; coincidiendo con el cuarto “bit”, la salida del circuito será 1,
si y sólo si el número total de unos recibidos ha sedo par. Tras la recepción del
cuarto bit, el circuito volverá a aceptar en la entrada un nuevo carácter de 4 bits.
1
0/0
0/0
2
1/0
0/0
1/0
3
0/0
1/0
4
0/0
5
1/0
6 1/1
0/0
Est. A
1
2
3
4
5
6
01
P. E.
1 2
1 3
4 3
1 5
1 6
4 3
01
Salida
0 0
0 0
0 0
0 0
0 1
0 0
Nos damos cuenta que el tres y el seis son iguales y por lo tanto se pueden simplificar y
por ello nos deshacemos del Nº 6.
0/0
0/0
1
1/0
2
0/0
1/0
0/0
1/0
3
0/0
4
5
1/0
Como tenemos 5 estados, tenemos
que utilizar 3 variables (A, B, C).
BC
XA
00
01
11
10
BC
XA
00
01
11
10
00
0X
X1
X1
0X
01
0X
--0X
11
0X
--1X
10
0X
--0X
00
1X
0X
0X
1X
01
X1
--X0
11
X1
--X1
10
X0
--0X
BC
XA
00
01
11
10
00
0X
0X
1X
0X
01
X0
--1X
Ja = B’ X A’
Ka = 1
Jb = XC + AX
Kb = C
Jc = XBC
Kc = 1
Ahora haremos por “Moore”.
000/0
0
1
100
001/0
1
0
010/0
1
0
011/0
.
1
100/0
Cronograma tipo “Moore”
Clock
Qa
Qb
Qc
X
Z
Cronograma tipo “Mealy”
Clock
Qa
Qb
Qc
Z
X
0
101/1
11
X1
--X1
10
X0
--X0
AUTOMATAS ASINCRONOS
Comb.
a)
Mem.
Asícrono de realimentación directa. La función del elemento de memoria lo
localizará el retablo de las puertas.
Yit
Xt
Comb.
Retar.
Y1(T + At)
Yit
Estado estable:
Y1(T + At)
Yit
Yit = y
Y1’(t + At)
Y1’(t + At)
variable de estado
Y1(t + At) = variable de excitación
b)
Asíncronos “R-S”
Comb.
“R-S”
Pasos para la implementación de autómatas síncronos:
a)
b)
c)
d)
e)
f)
Diseño del diagrama de fases indicando los estados estables e inestables.
Tabla de funcionamiento.
Simplificación
Codificación de la tabla de fases.
Estudio de carreras críticas
Implementación
AUTOMATAS ASINCRONOS
1)
Diseñar en sistema secuencial asíncrono con dos variables de entrada X1,
X2 Y una variable de salida Z que ha de actuar según las siguientes
especificaciones:
a)
Si la variable X1 toma el valor lógico 1, la salida Z del sistema pasa
al estado lógico 1 independientemente del estado en que se encuentre
y continúa en él aunque la variable X1 vuelva al estado lógico 0.
Sucesivas conmutaciones de la variable X1 no cambian el estado de
la salida.
Si la variable X2 toma el valor lógico 1, la salida Z del sistema pasa
al estado continúa en él aunque la variable X vuelva al estado lógico
0. Sucesivos cambios de X2 no modifican la salida
b)
X1 X2
A
B
C
D
00
1
01
3
-
3
4
1
4
11
-
10
2
2
2
-
Z
0
1
1
0
Simplificación:
Se pueden simplificar aquellos líneas que tengan el mismo estado o que en una de ellos
se dé la situación no existe.
Al simplificar líneas, siempre predominararán los estados estables sobre los inestables.
En este caso vemos con claridad que el apartado “B” y “C” se pueden simplificar.
Quedaría de la siguiente manera:
X1 X2
B-C
A-B
00
3
1
01
11
-
4
10
2
2
Z
1
0
B-C = 0
A-B = 1
Interpretación:
01/0
00/1
01/0
0
0
10/1
00/0
10/1
Tabla de fases:
X1 X2
0
1
00
E
E
01
I
E
11
-
10
E
I
Z
1
0
Simplificación de los mapas de “Karnaugh”:
X1 X2
0
1
00
0
1
01
1
1
11
-
10
0
0
Z
1
0
Y
X
Y
Y = X2 + X1’ y = X2’ o X’1y
COMB.
Y
X’2
Y
Y
X’1
2)
Un sistema secuencial asíncrono posee dos entradas de impulsos X1 y X2
(ambas entradas no pueden estar nunca en estado uno simultáneamente) y una
salida Z. A partir de un estado inicial en el cual X1 = X2 = Z = 0, la salida Z ha de
tomar el valor uno si se aplican dos impulsos sucesivos a la entrada X1 sin que se
aplique ninguno a la entrada X2. La salida volverá a cero cuando X2 pase al estado
uno. Se especifica que X1 Y X2 no pueden cambiar simultáneamente. Implementa
dicho sistema.
Según indica el problema, las entradas son: X1 y X2 La salida: Z
X1 X2
00
1
01
3
4
X1 X2
00
01
10
X1X2
Y1Y2
00
01
11
10
4
3
1
4
3
00
01
1
3
4
4
3
11
-
10
2
11
-
10
2
00
00
10
01
00
11
-
10
01
01
10
00
-
10
Y1 = X1´X2´+ X2´Y1Y2´
Y2 = X1X2´Y1´
2
5
5
2
5
Z
0
0
1
0
1
Z
0
0
1
Simplifico y doy valores
X1X2
Y1Y2
00
01
11
10
00
0
1
01
0
1
0
Z = X1´X2´+ X2´Y1Y2
11
10
0
0
1
3)
El producto final de una fabricación son barras metálicas cuya longitud ha
de ser inferior o igual a L. Para hacer la selección del producto terminado se
utiliza un sistema constituido por una cinta transportadora que hace pasar las
barras entre dos detectores fotoeléctricos separados por una distancia “L” y
constituidos por un emisor y un receptor de luz. La salida de los receptores de luz
adopta dos niveles de tensión diferenciados según esté o no una barra situada entre
él y su emisor respectivo. Se asigna por convenio el estado uno lógico a la salida
cuando la barra está situada delante del detector y el estado cero en el caso
contrario.
Después del segundo detector existe una trampilla accionada por un motor M. Si la
barra tiene una longitud mayor que L, se ha de excitar M y abrir una trampilla
para dejar caer la barra. En caso contrario no ha de excitarse M. Una vez pasada
la barra el motor M ha de volver a desexcitarse y el sistema quedará preparado
para realizar una nueva detección.
La distancia que separa las dos barras sometidas a verificación es tal que nunca
podrá entrar una en la zona de detección mientras se está comprobando la
anterior.
El problema consiste en diseñar un sistema secuencial asíncrono cuyas entradas
sean las salidas de los detectores, que denominaremos X1 y X2 y cuya salida Z
accione al motor M.
4)
Una vía férrea con tráfico en ambos sentidos corta a una carretera en la
cual se coloca una barrera gobernada por la salida Z de un autómata asíncrono. A
500 m del punto de cruce se colocan dos detectores X2 y X2 respectivamente. A
partir de un estado inicial en el que Z = 0 ésta debe pasar al estado uno cuando se
acerca un tren en cualquier sentido, al rebasar la máquina los 500 m del cruce y
debe volver al estado cero cuando el último vagón se aleja de dicha distancia
independientemente de la longitud del tren.
Implementar dicho autómata.
El ejercicio dice que se trata de uno sóla vía férrea que puede ser circulada en los dos
sentidos.
Por ese motivo las señales X1 y X2 serán las que se levante la barrera o se baje.
Empezaremos por un estado inicial en el cual no han pasado trenes y por lo tanto la
barrera está levantada (1).
X1 X2
00
01
11
10
Z
1
2
-
4
X1 X2
0
1
4
2
1
2
00
01
1
4
2
3
3
11
-
2
1
0
0
10
3
3
Z
1
0
Simplificamos y damos valores
Ahora lo que pasaremos a hacer es ir tomando los valores estables, primero, y los de
transacción después, sus respectivas salidas y “Qt+At” que será la salida de los estados
de transacción. Las salidas de estos estados serán las mismas que las de sus estados
estables.
X1 X2
00-1
01-2
10-3
00-4
01-2
10-3
Z
1
1
0
0
0
1
Q
1
1
0
0
0
1
Qt+1
1
1
0
0
1
0
“Q” Es siempre igual a la
salida.
Tomando como salidas en un instante t+1 hacemos “Karnaugh”.
X2 X1
Z
0
1
00
0
1
01
1
1
11
10
0
0
Qt+1 = X´2X´1 + X´2Z
5)
Antes de poner en marcha una máquina han de realizarse unas
determinadas operaciones en secuencia, lo cual se detecta mediante los
microinteruptores M1 y M2. Si dichas operaciones se realizan en la secuencia
correcta, M2 se cerrará estando M1 abierto, pero después de haberse cerrado esta
último previamente. La inhibición de la puerta en marcha de la máquina se realiza
mediante la variable Z que solamente deberá activarse (adoptar el estado lógico
uno) si M1 y M2 han realizado la secuencia correcta simultáneamente.
M1
M2
100
001
1 = cerrado
0 = abierto
00 01 11 10
2
1
3
2
4
3 2
5
4 3
Z
0
0
0
0
5
6
-
2
0
7
6
8
-
1
7
6
-
10
1
-
6
8
10
1
1
9
3
-
0
7
-
8
10
1
00 01 11 10
00 1 9 3 2
01 5 4 3 2
11 5 6
- 2
10 7 6 8 10
Z
0
0
0
1
Simplificación
Damos valores
Pasamos a implementar:
M1M2
Y 1Y 2
00
01
11
10
00
00
11
11
10
01
00
01
10
10
11
01
01
-10
10
01
01
01
10
M1M2
Y1Y2
00
01
11
10
00
0
0
0
1
01
0
0
0
1
11
0
0
-1
10
0
0
0
1
Carrera crítica
Y1 = Y1 M1 + M’1 Y1 + M’1 M’2 Y2
Y2 = M1 Y´1+ Y´1 Y2+ M’2 Y2
Se asignan sus estados estables.
Z = M2Y1 + Y1’ Y2
Recordemos que se trata de un circuito combinacional de entrada y otro de salida por
que como nos quedaron más de una variable y por lo tanto no podemos hacer coincidir
Z con Yn.
6)
Diseñar un autómata que controle una puerta automática para el acceso de
carros guiados a un supermercado sabiendo los siguientes datos:
a)
En el sistema existen dos finales de carrera C y A que indican si la
puerta está completamente cerrada o abierta, respectivamente. En el
estado inicial, la puerta está completamente cerrada.
b)
La presencia de un carro en las proximidades de la puerta es
detectada por una célula. Si el carro llega a la zona de detección la
puerta comienza a abrirse. Mientras haya un carro en dicha zona la
puerta permanecerá abierta. Cuando el carro abandone dicha zona
la puerta se cerrará, pero si la abandona antes de que la puerta esté
completamente abierta, ésta se abrirá completamente y
seguidamente se cerrará. Si se está cerrando y llega un carro, la
puerta se abrirá.
Primero vamos a dar valores:
Abriendo =
Cerrando =
Manteniendo =
11
00
01
acp 000 001 010 011 100 101 110 111 Z1 Z2
0
1
1 2
3
1
1
2
5
4
0
1
3
7
0
0
6 4 0
0
7 3
6 4 6
1
1
5 3
Si simplificamos y damos valores nos quedaría así:
acp 000 001 010 011 100 101 110 111 Z1 Z2
4
0
1
00 5
3 1 2
3
0
0
01 7
6 4 3
1
1
10 5
2 6
Acp
Y1Y2
00
01
11
10
00
01
11
10
000 001 010 011 100 101
10 00 00 10
01
01 00
01 01
Y1 =(A´C´P´+ A´CP)Y2´
Y2 = AC´P´Y1´+ AY1´Y2+AC´P´Y1Y2´+ C´Y1Ý2
10
00
10
01
000 001 010 011 100 101
1
I
1
1
Z1 = A´C´P´Y1Y2´+ A´C´PY1´Y2´+
A´CPY1Y2´+AC´P´Y1´Y2
00
01
11
10
000 001 010 011 100 101
1
1
1
1
1
Z2 = A´C´P´Y1Y2´+
AÝ1´Y2´A´CPY1Y2´+AC´Y1Ý2
1
EJERCICIO DE MANOLO (hecho en clase):
Diseñar un circuito que realiza las siguientes transferencias de registros:
Si X es IMPAR
A
B+C
Si X es PAR
A
B-C
Visto el anunciado pasamos a desarrollar el problema paso por paso:
Tomamos A, B, C Y X como registros de 8 bits y lo desarrollamos en forma de
algoritmo.
Inicio (carga de algorimos)
X
BUS DE ENTRADA
A
BUS DE ENTRADA
B
BUS DE ENTRADA
C
BUS DE ENTRADA
If X Impar then go to Impar
A
B-C
Go to fin
Impar
A
B+C
END
Ahora pasaríamos a hacer el diagrama de bloques.
A
B
Búffer
Entrada
Salida
Rst
Clock
Ctrl.Unit
C
X
S/R
La Unidad de Control lo que hace es generar dos señales dependiendo se es “0” ó “1”
(par o impar).
Como salidas vamos a tener:
C0
C1
C2
C3
C4
C5
X
A
Bus de entrada.
Sumador/restador.
Bus de entrada.
Bus de entrada.
0/1 resta/suma.
Búffer de imperación.
B
C
0/1
1
So
Cargar X
S1
Cargar A
S2
Cargar B
S3
S4
S5
S3 cargaría los pares y S4 los impares (X’ = par)
Estado
So
S1
S2
S3
S4
S5
X
B
C
X
A
F
Acción
co, c1, c2, c3, c4, c5,
BD
1 0 0 0 0 0
BD
0 0 1 0 0 0
B
0 0 0 1 0 0
AB
0 1 0 0 1 0
BC
0 1 0 0 0 0
Salida 0 0 0 0 0 1
Q2Q1Q0
X0 X0’
Est. Actual
Próx. Est.
000
001
010
011
100
001
010
0 1 1/1 0 0
101
101
co, c1, c2, c3, c4,
c5
1 0 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 1 0 0 1 0
0 1 0 0 0 0
S0
S1
S2
S3
S4
MEMORIAS DIGITALES
Son sistemas que permiten el almacenamiento de información binaria durante algún
tiempo.
Según esto podemos estudiar:
-
-
Memorias
semiconductoras:
permiten
almacenamiento de información binaria utilizando
semiconductores
Memorias y soportes magnéticos
Ferritas
Memorias semiconductoras
Tipos:
Atendiendo a la forma de acceso a la información:
-
Acceso directo: Permiten el acceso a cualquier posición de memoria
independientes de su situación.
Acceso secuencial: en ellas para acceder a un bloque de información hay que
desplazar todos aquellos bloques que se encuentren delante de este.
Atendiendo a la estructura interna:
Memorias de acceso aleatorio (RAM): se caracterizan por poder
acceder a cualquier posición de memoria con un mismo tiempo de retardo.
Dentro de estas, atendiendo a la permanencia de información (parámetro que
mide la diferencia entre el tiempo necesario para leer un bloque de información
menos el tiempo necesario para escribir un determinante bloque de información).
TL
-
----
TE
Memoria activas o de lectura escritura (R/W) (volátiles): Aquí el
tiempo de lectura es similar al de escritura.
TL
TE
- Memorias pasivas: el tiempo de escritura es mucho mayor que el de
lectura.
dTL
>>
TE
Memoria activas o de lectura escritura (R/W) (volátiles):
Atendiendo a la permanencia de la información (parámetros que miden el tiempo que
permanece una información desde que se ha introducido por la entrada):
Memoria SRAM: Se denominan memorias estáticas y el tiempo de
permanencia de la información viene limitado exclusiva por la tensión de
alimentación.
Memoria DRAM: memorias dinámicas y el tiempo de permanencia de la
información es de algunos milisegundos.
Atendiendo a la operación de lectura/escritura:
Memoria de lectura/escritura no simultánea: en estas memorias o bien leémos
o bien escribimos pero no las dos cosas a la vez.
Memoria de lectura/escritura simultánea: en ellas es posible leer, escribir o
las dos operaciones sobre posiciones de memoria diferentes.
Memoria de acceso múltiple: en ellas es posible leer, escribir o las dos
operaciones sobre posiciones de memoria diferentes.
Memorias pasivas
Memoria ROM
Son memorias en las que el tiempo de escritura es infinito.
No se puede grabar en ellas.
Chip-set
N1
N2
Output
enable
Memoria programables (PROM)
Son aquellas en las que el tiempo de escritura es mucho mayor que el de lectura
pero admiten programarlas una vez que
Te >>
Tl
Memorias reprogramables (RPROM)
EPROM
tiempo de escritura >> tiempo lectura pero admiten el borrado y
la posterior programación tantas veces como sean necesarias.
Este tipo de memoria se borra con rayos ultravioletas.
Estas se utilizan mucho más que las PROM y ROM.
N2
N1
Líneas de E/S.
Chip-enable
Grabación de memoria:
CE = 0
OE/Vp = 25 V (lo normal son
5V)
QE Vp (rec.)
EEPROM son similares a las EPROM pero se pueden borrar aplicando una
tensión más elevada de lo habitual.
N2
N1
WE
21 V
5V
M
T
P
X
Escritura:
Vp
N2
CE
WR = 0
CE = 0
0E = 0
OE = 1
memoria.
OE
OE
Vp = 21
Borra la
FLASH
la diferencia con las anteriores consiste en que el borrado no se
realiza posición a posición sino de forma global.
Memorias de forma aleatoria para:
FIFO
Son memorias en las que el primer bloque de información que entran es el primero que
sale.
LIFO
Son memorias en las que el último bloque de información que entra es el primero en
salir.
REGISTROS DE DESPLAZAMIENTO
Memorias asociativas:
Organización de memorias
(Vamos a estudiar las memorias RAM/activas/lectura/escritura no simultáneas).
0
Posición de
memoria
D
E
C
O
D
I
F
I
C
A
D
O
R
M
N-1
O
O
N-1
O
N-1
R/W terminal de
lectura/escritura
aquí se selecciona si
se lee o se escribe).
Salida del decodificador para elegir la posición de memoria.
Esto es lo que se llama ORGANIZACIÓN 2D
Ahora vamos a ver la ORGANZACIÓN 3D
2 M/S
M/S
M/S
D
E
C
D
E
C
1
O
N-1
si las dos entradas son “1”,
está activo ( selección 2 M/S)
1
O
N-1
O
N-1
2 M/S
ZM
Con el primer decodificador se
selecciona la posición de todas las
hojas.
El segundo se escoge las hojas.
Podemos acceder a Zm posiciones de memoria (2m/z·2m/z = 2m)
Memorias dinámicas
Memoria SRAM
Se basan en unas células cuyo fundamento es un contador
Lo que hago es regenerar cada ciertos
milisegundo. Tienes que refrescar la
memoria.
Las memorias dinámicas se han utilizado para
construir memorias de alta capacidad
detectando la gran sencillez de sus células
componentes.
1
Memorias de alta capacidad (gran número de vías de dirección)
Direccionamos por un lado las filas y por otro las columnas.
2 n/2
Mem
ni
R
Ras
F
2 n/2
R.C.
2 n/2
Cas
Para ver la forma de operación vemos un cronograma:
A0/2 n/z-1
Ras
Cas
W
1
A0-N1-1
N2/ 2
N1
Ras
Cas
W
Dá pulsos en la línea
RAS.
Para refrescar la memoria ponemos:
CAS = 1;
W=1
RAS =
Idea general:
X
Búffer
Para refrescar todas las posiciones de memoria y no sólo las columnas utilizaremos un
contador y un multiplexor.
2 líneas
Cont.
S0-1
MTP
N2/ 2
Registro
N2
N2/ 2
N2/ 2
Modos de refresco
1)
Modo rafága
Primero realizo el refresco de toda la memoria (pulsos en RAS). Luego tengo un
espacio de tiempo para utilizar la memoria (operación de lectura-escritura).
El micro determina el tiempo que refresca la memoria o el tiempo que la utilizo.
RAS
2) Modo distributivo
Ciclos de refresco más pequeñas y durante más instantes puedo utilizar la memoria
(refresco una pequeña posición-leo).
RAS
EJERCICIOS
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
A15 A14 A13 A12
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Direcciones de memoria del primer bloque (son los que tengo que fijar).
Dirección (start)........1000 (bin.)
Dirección (end)..........1FFF (hexadecimal)
1er bloque de 4K
Dirección (start)........2000 (bin.)
o
2 bloque de 4K
Dirección (end)..........2FFF (hexadecimal)
Dirección (start)........3000 (bin.)
3er bloque de 4K
Dirección (end)..........3FFF (hexadecimal)
Dirección (start)........4000 (bin.)
2o bloque de 4K
Dirección (end)..........4FFF (hexadecimal)
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Implementación utilizando decodificadores (Decod. 3-8)
Q1
A15
EN
Decod.
A12
A13
A14
(Cs)´
Q2
A11-0
(Cs)´
DO-7
Q3
(Cs)´
Q4
(Cs)´
1000
2000
3000
4000
Fin
1FFF
2FFF
3FFF
4FFF
A15
D
Ejercicio 3
2kx4
8kx8
4096 11
A15 A14 A13 A12 A11 A10 A9
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
8k
A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
4096
2k
2k
2k
2k
La implementación podrá ser de dos maneras:
“0”
A14
A15
OE
N
EN
Dec.
2-4
OE
N
D0-7
D
3-8
A11
A12
A13
OE
N
A13
A14
A15
OE
N
A11
A12
A0-10
OE
N
A13
A14
Ejercicio 4
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio
Fin
0
0
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0000
0800
07FF
0FFF
1
1
1
0
1
1
1
1
1
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
B000
E000
F000
BFFF
EFFF
PFFF
A11
A12
A13
A14
A15
A10-0
A12
A13
A14
A11-0
Ejercicio 5
40 K de memoria RAM
16 K de memoria ROM
Bloques de memoria ROM: 16Kx4 =
Bloques de memoria RAM: 16Kx8 =
Bloques de memoria RAM: 4Kx8 =
1 bloque 16K =16K
2 bloques16K=32K
2 bloques 16K=8K-40K
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
1
1
1
0
1
0
1
1
X
X
X
0
0
X
X
X
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Implementaremos con un decodificador 2-4 para las líneas A15 y A14.
ROM
ROM
EN
A14
A15
Dec
.
RAM
A13-0
EN
A12
A13
Dec
.
A11-0
R
R
R
D0-3
D0-7
D4-7
X
X
X
X
X
Ejercicio 6
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
0
0
0
0
0
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
1
0
1
0
X
X
X
X
X
X
X
X
X
X
X
X
1
1
1
1
1
1
0
1
0
1
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
“0”
A11
A12
A12
A13
A14
D
H
0000
0800
1000
A000
B000
E800
8000
07FF
0FFF
9FFF
AFFF
EFFF
EFFF
FFFF
A10-0
A12
A11-0
A11
A12
00
01
10
11
A11-0
Ejercicio 7
Sistema microordenador con capacidad de direccionamiento de 64K, dispone de los
siguientes elementos:
Pastilla 1: EPROM monitor de 2K situado en 0000-07FF
Pastilla 2: EPROM monitor de 2K situado en 0800-0FFF
Pastilla 3: RAM no volátil de 2K situado en 1000-17FF
Pastilla 4: Datos de teclado display, situado en 1800-1FFF
Pastilla 5: RAM básica de 256 bytes situado en 2000-20FF
Zona libre desde la posición 2100-27FF
Pastilla 6: RAM de amplicación de 256 situado en 2800-28FF
Zona libre desde la posición 2900-2FFF
Pastilla 7: EPROM de 4K situado en la posición 3000-3FFF
Zona libre 4000-fff
-
Implementar el mapa de memoria con un decodificador de dos chips-sets de selección y
la lógica adicional necesaria.
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 Inicio
0
0
0
0
0
X
X
X
X
X
X
X
X
X
X
X
0000
Fin
07FF
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
1
0
1
0
X
X
X
0
X
X
X
0
X
X
X
0
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
0800
1000
1800
2000
0FFF
17FF
1FFF
20FF
0
0
1
0
1
0
0
0
X
X
X
X
X
X
X
X
2800
28FF
0
0
1
1
X
X
X
X
X
X
X
X
X
X
X
X
3000
3FFF
Para seleccionar
decodificador
A15
A14
A11
A12
A13
D
3-8
A10-0
Porque en A11 en la
pastilla 7 es X = 1,0.
A10
A9
A8
A10
A9
A8
F
T
Descargar