Está en la página 1de 26

SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

1) Obtenga las tablas de verdad correspondientes a los siguientes circuitos:

SUMADOR DE 1 BIT

A i,B i  Bits a sumar


Ci  Acarreo etapa anterior
Si  Resultado suma
Ci+1  Acarreo para la etapa siguiente

Entradas Salidas
Ai Bi Ci Si Ci+1
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

MULTIPLEXOR DE 2 ENTRADAS

D 0,D 1  Entradas a multiplexar


2x1 S0  Señal de selección
Y  Señal de salida

Entradas Salidas
D0 D1 S0 Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

-1-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

DECODIFICADOR DE 2 BITS

E0 S0
S1
E0,E1  Entradas
E1
S2 S0,S1,S2,S3  Salidas
S3

E0 E1 S0 S1 S2 S3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1

2) Dadas las siguientes formas de onda de las señales de entrada (A,B,C) y salida (F)
de un circuito lógico combinacional:

se pide la siguiente información del circuito:

a) Tabla de verdad

-2-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

A B C F
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

b) Función lógica

f = a ⋅b⋅c + a ⋅b⋅c + a ⋅b⋅c + a ⋅b⋅c

o bien, sacando factor común (y recordando las expresiones de XOR y XNOR)

f = c ⋅ ( a ⋅ b + a ⋅ b) + c ⋅ ( a ⋅ b + a ⋅ b) = c ⋅ ( a ⊕ b) + c ⋅ ( a ⊕ b )

Aplicando de nuevo la expresión de XOR entre los operandos c y ( a ⊕ b) :

f = c ⊕ ( a ⊕ b)

c) Esquemático de Puertas Lógicas

Para el caso sin simplificar:

A B C

7 8 9

10
11
12 15
13
16 18

14

21
19
23
17
f

22
20

En donde, se podrían sustituir los bloques de 2 puertas AND de 2 entradas, por puertas AND de 3
entradas:
-3-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

U21
24 
AND3

Para el caso simplificado:

2 EOR2
A
3 17
U33
B EOR2
1
36
F
C U34

3) Diseñar un circuito combinacional de modo que podamos seleccionar un bit A o


su complemento mediante señales de control. Por otra parte, también se desea
que se pueda especificar (mediante las entradas) que la salida sea 1 ò 0
independientemente de A.

Veamos el número mínimo de señales de control para gobernar el circuito.

El circuito presenta 2 comportamientos: depender o no depender de A. El valor de una señal de


control (C1) de entrada permitirá elegir uno de los 2 tipos de comportamiento.

Dentro de cada uno de los 2 tipos mencionados en el párrafo anterior, de nuevo nos encontramos
con 2 posibilidades:

a) Si la salida depende de A
S = A o bien S = A (según señal de control C2)
b) Si la salida no depende de A:
S = 0 o bien S = 1 (según señal de control C2)

Por tanto, para cada decisión (depender de A o no + decisión posterior entre las 2 posibles según
el caso) necesitamos una señal de control  2 señales de control en total (C1 y C2).

A
C1 S
C2

Planteamos a continuación la tabla de verdad que resume el comportamiento anterior explicado en


los párrafos anteriores:

a) Tabla de verdad

-4-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

C1 C2 S
0 0 A
0 1 A
1 0 0
1 1 1
b) Función lógica

S = A ⋅ C1 ⋅ C 2 + A ⋅ C1 ⋅ C 2 + C1 ⋅ C 2 = C1 ⋅ ( A ⊕ C 2) + C1 ⋅ C 2

c) Esquemático de Puertas lógicas

A C1 C2

5 U2

U6 7
4 AND2 U3
1
6
EOR2 F
U5 8 OR2
2

AND2

4) Diseñe un circuito que convierta de código binario a Gray, con 3 bits.

El primer paso es recordar el código Gray explicado en clase para 3 bits.

PASO 1 La forma de generar el código Gray es dividir el conjunto de números (con 3 bits, podemos
representar 8 números) en 2 mitades iguales:
- La mitad superior(4 números) tendrá como bit más significativo un “0”
- La mitad inferior (4 números) tendrá como bit menos significativo un “1”

Decimal Código Gray (3 bits)


0 0xx
1 0xx
2 0xx
3 0xx
4 1xx
5 1xx
6 1xx
7 1xx

PASO 2 El siguiente paso será completar los 4 números de la parte superior teniendo en cuenta
que dos números consecutivos sólo pueden diferir en un bit.

-5-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Decimal Código Gray (3 bits)


0 0 00
1 0 01
2 0 11
3 0 10
4
5
6
7

El enfoque general para realizar el paso anterior consiste en rellenar los n-1 bits restantes (2 en
este caso) con el código de Gray de n-1 bits (2 en este caso). Es por tanto un enfoque recursivo, ya
que para generar el código de Gray de n-1 bits (2 en este caso), necesitaríamos hacer de nuevo el
PASO 1 y luego generar el código de Gray de n-2 bits (1 en este caso), etc. El caso base o final de
esta iteración recursiva es para 1 bit, cuyo código de Gray es:

Decimal Código Gray (1 bit)


0 0
1 1

Finalmente completamos los 4 números de la parte inferior, teniendo en cuenta que deben ser la
imagen especular del conjunto de bits de la parte superior (exceptuando el bit más significativo).

Decimal Código Gray (3 bits)


0 0 00
1 0 01
ESPECULAR

2 0 11
IMAGEN

3 0 10
4 1 10
5 1 11
6 1 01
7 1 00

Ahora podemos plantear la tabla de verdad de nuestro problema.


a) Tabla de verdad

Entrada (código binario natural) Salida (código gray)


E2 E1 E0 S2 S1 S0
0 0 0 0 0 0
0 0 1 0 0 1
0 1 0 0 1 1
0 1 1 0 1 0
1 0 0 1 1 0
1 0 1 1 1 1
1 1 0 1 0 1
1 1 1 1 0 0

-6-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

b) Función lógica: Mapa de Karnaugh

Salida S2:

E1E0 00 01 11 10
E2
0 0 0 0 0
1 1 1 1 1

S2 = E2

Salida S1:

E1E0 00 01 11 10
E2
0 0 0 1 1
1 1 1 0 0

S1 = E 2 ⋅ E1 + E 2 ⋅ E1

Salida S0:

E1E0 00 01 11 10
E2
0 0 1 0 1
1 0 1 0 1

S 0 = E1 ⋅ E 0 + E1 ⋅ E 0
c) Esquemático
E0 E1 E2

U1 U2 U3

S2

U4
S1
U8
U5

U6
S0
U9
U7

-7-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

5) Utilizando multiplexores como el de la figura realice un multiplexor de 32


entradas:

U1 D0…D7  Entradas a multiplexar


D0
D1
Y
A-B-C  Entradas de selección
D2 ~W
D3
D4
~G  Señal de activación (activa a nivel bajo)
D5
D6 Y  Salida del multiplexor
D7
A
~W  No se usa.
B
C

~G EJ: C=0,B=1,A=0  Y = D2
MUX_8TO1 EJ: C=1,B=0,A=1  Y = D5

El ejercicio consiste en generar un circuito que utilizando varias veces el multiplexor del enunciado
y añadiendo las conexiones oportunas, tenga la funcionalidad de un multiplexor de 32 entradas. El
esquema propuesto sería el siguiente:

D0 U1
D0 D0 Y
D1
D2 ~W
... D3
D4
D5
D7 D6
D7 D7

A
B
C
0 ~G

MUX_8TO1
1
D8 U2
D8 D0 Y
D1
D2 ~W
... D3
D4
D5
D15 D6
D15 D7 2
A
B
C
0 ~G
U5 S
D0 Y S
MUX_8TO1 3 D1
D2 ~W
D16 U3 D3
SEL0 D16 D4
SEL1 D0 Y D5
SEL2 D1 D6
D2 ~W D7
... D3
D4 A
D5 B
D23 D6 C
D23 D7
4 0 ~G
A
B
C
MUX_8TO1
0 ~G

MUX_8TO1
D24 U4
D24 D0 Y
D1
D2 ~W
... D3
D4
D5
D31 D6
D31 D7
A
B
C
SEL0
0 ~G
SEL1 MUX_8TO1
SEL2

SEL3
SEL3
SEL4
SEL4

-8-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Las entradas de selección serían pues SEL0, SEL1, SEL2, SEL3, SEL4.

Como ejemplo de funcionamiento, si SEL4=1, SEL3=0, SEL2=1, SEL1=0, SEL0=1:

- SEL2=1, SEL1=0, SEL0=1 implica que los 4 multiplexores de la primera columna tengan
como salida su entrada D5. Siendo la correspondencia con las entradas generales la
siguiente:
o D5 de multiplexor U1  D5 general
o D5 de multiplexor U2  D13 general
o D5 de multiplexor U3  D21 general
o D5 de multiplexor U4  D28 general
- SEL4=1, SEL3=0 implica que de las 4 salidas anteriores de los multiplexores, nos
quedemos con la salida correspondiente al multiplexor que entra como D2 al multiplexor
U5, por tanto con D21 general (en efecto 10101 es el valor binario correspondiente al 21
decimal).

6) Los decodificadores pueden utilizarse en la generación de términos de una


función lógica. En este ejercicio se propone utiliza un decodificador de 2 bits y 1
puerta OR para generar la siguiente función lógica:

f = ( a ⋅ b ) + ( a + b)

A-B  Entradas a decodificar


U1
Y0…Y3  Salida decodificada (invertida)
A
B
Y0
Y1 ~G  Señal de activación (activa a nivel bajo)
Y2
~G Y3

DCD_2TO4 EJ: B=1,A=0  Y3 = 1 / Y2 = 0 / Y1 = 1 / Y0 = 1


EJ: B=1,A=1  Y3 = 0 / Y2 = 1 / Y1 = 1 / Y0 = 1

Para realizar este ejercicio es necesario entender el significado de la tabla de verdad de un


decodificador. La tabla de verdad en este caso (las salidas son activas a nivel bajo) sería:

ENTRADA SALIDA
B A Y3 Y2 Y1 Y0
0 0 1 1 1 0
0 1 1 1 0 1
1 0 1 0 1 1
1 1 0 1 1 1

Viendo la tabla de verdad, se puede interpretar que cada salida (Y3, Y2, Y1, Y0) genera un término
lógico (el signo de negación superior aparece por ser las salidas activas a nivel bajo):

-9-
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Y 3 = A⋅ B
Y 2 = A⋅ B
Y1 = A⋅ B
Y 0 = A⋅ B = A + B

Por tanto, el ejercicio consiste simplemente en sumar mediante la puerta OR de la que disponemos,
las salidas del decodificador que son términos de nuestra función lógica objetivo (Y3 e Y0):

A U1
A
A Y0 1 U2
B B Y1 f
B Y2 f
~G Y3 2
0 OR2
DCD_2TO4

7) Se dispone del siguiente circuito comparador de 1 bit:

A-B  Entradas de 1 bit a comparar


G,E,L  Salidas activas a nivel alto (“1”)
G  Implica A > B
X1
E  Implica A = B
A G L  Implica A < B
B E
ENABLE L ENABLE  Habilitador de salidas activo a nivel alto. Por
tanto si ENABLE = 0, las salidas G,E y L quedan
CMP_1BIT
inhabilitadas y valdrían 0.

EJ: A=1,B=0,ENABLE=1  G = 1 / E = 0 / L = 0
EJ: A=1,B=0,ENABLE=0  G = 0 / E = 0 / L = 0

Se pide diseñar un comparado de 4 bits que tenga como salida la misma información
que en el caso de 1 bit:

A(A3A2A1A0)  Primer número de 4 bits a comparar


B(B3B2B1B0)  Segundo número de 4 bits a comparar
G,E,L  Salidas activas a nivel alto (“1”)
X2 G  Implica A > B
A3
B3
G
E E  Implica A = B
A2 L
B2
A1
L  Implica A < B
B1
A0 ENABLE  Habilitador de salidas activo a nivel
B0
ENABLE alto. Por tanto si ENABLE = 0, las salidas G,E y L quedan
CMP_4_BITS inhabilitadas y valdrían 0.

EJ: A=1010,B=1000,ENABLE=1  G = 1 / E = 0 / L = 0
EJ: A=1010,B=1000,ENABLE=0  G = 0 / E = 0 / L = 0

- 10 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Un primer enfoque sería utilizar 4 bloques CMP_1BIT, y después diseñar un circuito


combinacional que teniendo en cuenta la salida de los bloques anteriores dé como resultado las 3
salidas que nos piden en el enunciado:

A3
X3
A3 1
B3 A
B
G
E
B3 ENABLE L

A2 CMP_1BIT
2
X4 3
A2 4
B2 A G 5
B2 B E 6 X7
ENABLE L
G3 G
E3 E
L3 L
CMP_1BIT G2
E2
L2
G1
E1
L1
A1 G0
X5 E0
A1 7 L0
B1 A G 8
B1 B E 9 CIR_COMB
ENABLE L
10
11
A0 CMP_1BIT
X6
A0
B0 A G
B0 B
ENABLE
E
L
12

CMP_1BIT

El problema de este enfoque es que implica diseñar un circuito combinacional de 12 entradas y 3


salidas, lo cual sería una tarea compleja.

Vamos a tratar de pasar a un segundo enfoque, que utilizará las entradas ENABLE de los bloques
CMP_1BIT. En este enfoque debemos tener en mente el algoritmo para realizar una comparación:

- Se realiza la comparación bit a bit empezando por los bits más significativos.
- Mientras las comparaciones den como resultado igualdad, pasamos al siguiente bit.
- Cuando una de las comparaciones de “mayor que” o “menor que”, ya tenemos el resultado
y por tanto no es necesario realizar más comparaciones.

A continuación se muestra un circuito que implementa este algoritmo:

- 11 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

A3
A3
X3
A G
4
B E
B3
B3 ENABLE L

CMP_1BIT
U1
1 G_TOTAL
A2 G_TOTAL
A2
X4
A G
5
B E OR4
B2
B2 ENABLE L
8

CMP_1BIT 6
2 9

A1
A1
X5
ENABLE_TOTAL 7
A G U2
B E
B1 L_TOTAL
B1 ENABLE L L_TOTAL
10
CMP_1BIT OR4
3
11
A0
A0
X6
E_TOTAL
A
B
G
E
E_TOTAL
B0
B0 ENABLE L

CMP_1BIT
ENABLE_TOTAL

Como se puede apreciar, en nuestro circuito la parte del algoritmo “no realizar más
comparaciones cuando uno de los bloques CMP_1BIT tenga como salida G=1 o L=1” se traduce
en deshabilitar (ENABLE = 0) los bloques CMP_1BIT que quedaban.

Para entender el funcionamiento del circuito propuesto, analicemos su funcionamiento con los
siguientes ejemplos:

- EJEMPLO 1: A= 1010 B = 1010 ENABLE_TOTAL=1

En este caso, la salida de los 4 bloques CMP_1BIT sería: G=0 E=1 L=0. Por tanto, las salidas
de mi circuito serían (G_BIT0  Salida G del bloque que compara los bits B0 y A0 del
esquemático, etc.):

G_TOTAL = G_BIT3 + G_BIT2 + G_BIT1 + G_BIT0 = 0 + 0 + 0 + 0 = 0;


L_TOTAL = L_BIT3 + L_BIT2 + L_BIT1 + L_BIT0 = 0 + 0 + 0 + 0 = 0;
E_TOTAL = E_BIT0 = 1;

- EJEMPLO 2: A= 1010 B = 1000 ENABLE_TOTAL=1

En este caso, la salida de los 4 bloques CMP_1BIT sería

- 12 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

CMP_1BIT_BIT3  G=0 E=1 L=0.


CMP_1BIT_BIT2  G=0 E=1 L=0.
CMP_1BIT_BIT1  G=1 E=0 L=0.
CMP_1BIT_BIT0  G=0 E=0 L=0 (su ENABLE ESTÁ A “0”).

Por tanto, las salidas de mi circuito serían::

G_TOTAL = G_BIT3 + G_BIT2 + G_BIT1 + G_BIT0 = 0 + 0 + 1 + 0 = 1;


L_TOTAL = L_BIT3 + L_BIT2 + L_BIT1 + L_BIT0 = 0 + 0 + 0 + 0 = 0;
E_TOTAL = E_BIT0 = 0;

- EJEMPLO 3: A= 1000 B = 1101 ENABLE_TOTAL=1

En este caso, la salida de los 4 bloques CMP_1BIT sería

CMP_1BIT_BIT3  G=0 E=1 L=0.


CMP_1BIT_BIT2  G=0 E=0 L=1.
CMP_1BIT_BIT1  G=0 E=0 L=0 (su ENABLE ESTÁ A “0”).
CMP_1BIT_BIT0  G=0 E=0 L=0 (su ENABLE ESTÁ A “0”).

Por tanto, las salidas de mi circuito serían::

G_TOTAL = G_BIT3 + G_BIT2 + G_BIT1 + G_BIT0 = 0 + 0 + 0 + 0 = 0;


L_TOTAL = L_BIT3 + L_BIT2 + L_BIT1 + L_BIT0 = 0 + 1 + 0 + 0 = 1;
E_TOTAL = E_BIT0 = 0;

8) Implemente un biestable tipo D utilizando un biestable tipo JK y las puertas


lógicas que estime necesarias.

En este caso, el ejercicio nos pide añadir puertas lógicas a un biestable tipo JK, de forma que
el conjunto se comporte como un biestable tipo D.

Para realizar esta equivalencia debemos recordar las tablas de estados de ambos biestables:

- 13 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

El diagrama de bloques de nuestro circuito resultante sería el siguiente:

U1
X1 SET
D J
1 J Q
K
2 CLK
K ~Q
RESET
D_JK
JK_FF

Queda por tanto diseñar el circuito combinacional denominado D_JK que convierte la entrada
D a entradas JK que hagan que el conjunto funcione como un biestable tipo D. Con este fin,
planteamos la siguiente tabla de estados:

Entrada circuito Estado futuro Salida circuito


D_JK (para que el conjunto del circuito D_JK
se comporte como un biestable D)
D Qt+1 J K
0 0 0 1
1 1 1 0

Por tanto, la equivalencia entre J,K y D sería:

K=D
J =D

y el circuito resultante:

U2
D SET
D J Q

U3 CLK
3 K ~Q
RESET
NOT
JK_FF

9) Diseñe un contador síncrono que cuente desde 0 a 3. Utilice biestables síncronos


del tipo J-K.

En primer lugar, establecemos qué debe hacer nuestro circuito visto como una “caja negra”.

- 14 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

t1 t2 t3 t4 t5 t1 t2 t3 t4 t5

CK
CONTADOR
2 BITS
Q1 0 0 1 1 0
SÍNCRONO

Q0 0 1 0 1 0

Como se puede apreciar en la figura anterior, la entrada a mi circuito es la señal de reloj y la


salida es el número de flancos de subida de la señal de reloj que han entrado a mi circuito.

Pasamos a utilizar la estructura vista en clase:

SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

y el procedimiento visto en clase:

1. Obtención de la tabla o del diagrama de estados a partir del enunciado del problema.
Para ello será necesario identificar el número de estados internos que presenta y asignarles
una codificación en binario. El número de bits utilizado en la codificación se corresponde
con el número de biestables necesarios.
2. Diseñar las ecuaciones de las entradas a los biestables para cumplir con las transiciones.
Las ecuaciones serán funciones que dependen de las entradas al sistema y del estado
interno del mismo.
3. Diseñar las ecuaciones de las salidas del sistema. Las ecuaciones serán funciones que
dependen de las entradas al sistema y del estado interno del mismo.
4. Realizar con puertas lógicas los circuitos combinacionales de 3) y 4) e interconectarlos con
los biestables utilizados.

PASO 1

Número de estados internos: como contamos desde 0 a 3, existen 4 posibles estados.

- 15 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Número de bits (biestables) para codificación de estado interno: 4 estados se codifican con 2
bits (2 biestables).

Por tanto, podemos dibujar parte del esquema anterior, en concreto la parte de color verde que
almacena el estado interno del circuito gracias a 2 biestables tipo JK:

SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

U1

J1
SET
J

CLK
Q
Q1
K1 K ~Q
RESET

JK_FF

U2

Q0
SET
J0 J Q

CLK

K0 K
RESET
~Q

JK_FF

El diagrama de estados que especifica cómo deben evolucionar los 2 bits de estado asociados a
cada biestable es el siguiente:

Estado actual Estado futuro


Q1 Q0 Q1 Q0
0 0 0 1
0 1 1 0
1 0 1 1
1 1 0 0

PASO 2

Con la tabla anterior hemos especificado cómo queremos que evolucionen Q0 y Q1 a lo largo
del tiempo. Pero no debemos olvidar que Q0 y Q1 son las salidas de los biestables y que por

- 16 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

tanto, para variar su valor debemos ir variando las entradas que tienen los biestables (J1 K1
para el biestable de Q1, J0 K0 para el biestable de Q0).

Vamos a traducir cada transacción especificada en la tabla anterior (del estado actual al
estado futuro) a entradas JK de los respectivos biestatables.

Estado actual Estado futuro Entradas biestable Q1 Entradas biestable Q0


para realizar para realizar
transacciones transacciones
especificadas especificadas
Q1 Q0 Q1 Q0 J1 K1 J0 K0
0 0 0 1 0 0 1 0
0 1 1 0 1 0 0 1
1 0 1 1 0 0 1 0
1 1 0 0 0 1 0 1

Como ejemplo del mecanismo de generación de la tabla anterior, tenemos las casillas resaltada
en verde. Para que el biestable Q0 pase de “0” a “1” debemos tener las entradas J0=”1” y
K0=”0” tal y como se desprende de la tabla de verdad del biestable JK:

Estado actual Estado futuro


Q1 Q0 Q1 Q0
0 0 0 1
0 1 1 0
1 0 1 1
1 1 0 0

Sigamos analizando la tabla anterior. Esta tabla nos dice, en función del estado actual (Q1 Q0)
qué señales (J1 K1 J0 K0) deben tener los biestables en su entrada para que el estado futuro de
Q1 Q0 sea el que hemos especificado en nuestro circuito.

Por tanto, la tabla anterior contiene la información de una tabla de verdad para un circuito
combinacional que genere J1 K1 J0 K0 en función de los valores del estado actual, Q1 Q0:
ANTES Estado actual ANTES Estado futuro ANTES Entradas ANTES Entradas
biestable Q1 biestable Q0
para realizar para realizar
transacciones transacciones
especificadas especificadas

AHORA Entrada AHORA No hace falta AHORA Salidas del AHORA Salidas del
circuito circuito circuito
combinacional combinacional combinacional
Q1 Q0 Q1 Q0 J1 K1 J0 K0
0 0 0 1 0 0 1 0
0 1 1 0 1 0 0 1
1 0 1 1 0 0 1 0
1 1 0 0 0 1 0 1

- 17 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

ANTES  Significado viendo la tabla como la transición de estados deseada.


AHORA  Significado viendo la tabla como una tabla de verdad de un circuito combinacional.

Pasemos al diseño del circuito combinacional especificado, que se corresponde con uno de los
bloques en color celeste de la estructura propuesta:

SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

Funciones lógicas:

J 1 = Q1 ⋅ Q 0
K1 = Q1 ⋅ Q 0
J 0 = Q1 ⋅ Q 0 + Q1 ⋅ Q 0
K 0 = Q1 ⋅ Q 0 + Q1 ⋅ Q 0

PASO 3

Este paso consistiría en la implementación del bloque combinacional (color celeste) que
traduce las salidas de los biestables (y parte de información de las entradas, si fuese necesario)
a las salidas finales de nuestro circuito.

En este caso, las salidas finales de mi circuito coinciden con las salidas de los biestables, por lo
que no sería necesario implementar ningún circuito.
SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

- 18 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

PASO 4

El paso 4 consistiría en interconectar los circuitos generados en los pasos 1,2 y 3 conforme a la
estructura propuesta.

SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

Esquemático:

X1 1

Q1
J PREB Q K1
U3
U1
CLKB

K CLRB QB
U4
J1

1 U5

CLK U6
J0
U8

U7 1
K0

Q0
J PREB Q
U2
CLKB

K CLRB QB

- 19 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Cronograma de comprobación:

Micro-Cap 8 Evaluation Version


circuit1.cir

d(CLK)

d(Q0)

d(Q1)

0.000u 0.200u 0.400u 0.600u 0.800u 1.000u


T (Secs)

- 20 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

10) Se pide diseñar un circuito digital para controlar el ascensor del Edificio 10, que
consta de 4 plantas (de la 0 a la 3). Las entradas del circuito serán 4 señales
digitales que indican la planta destino (P0, P1, P2 y P3: sólo una estará activa,
indicando la planta correspondiente). Las salidas del circuito serán las señales de
activación del motor del ascensor U (up) y D (down). Si U está activa, el ascensor
subirá. Si D está activa el ascensor bajará. Si están ambas desactivadas, el
ascensor permanece en su sitio. No deben estar activas ambas salidas al mismo
tiempo. Se supondrá que la entrada (P0, P1, P2 ó P3) permanece activa hasta que
el ascensor llega a su destino.

En primer lugar, habría que determinar si el sistema a desarrollar es combinacional o secuencial.


Sin embargo, en este caso es sencillo, puesto que claramente el comando a dar al motor depende
del piso en el que se esté (es decir, si el destino es la planta 1, habrá que subir si el ascensor está
en la 0; y bajar si está en la planta 2 o la 3). Es decir, la salida del circuito no depende sólo de las
entradas, sino también de lo que haya ocurrido previamente. Estamos ante un sistema secuencial.

Es posible ver que el estado depende de la planta en la que se encuentre el ascensor en cada
momento

Pasamos a utilizar la estructura vista en clase:

SALIDAS
ENTRADAS Circuito
Combinacional
De Salida

T ESTADO
Circuito
Combinacional INTERNO
De Entrada (Qn)

y el procedimiento visto en clase:

1. Obtención de la tabla o del diagrama de estados a partir del enunciado del problema.
Para ello será necesario identificar el número de estados internos que presenta y asignarles
una codificación en binario. El número de bits utilizado en la codificación se corresponde
con el número de biestables necesarios.
2. Diseñar las ecuaciones de las entradas a los biestables para cumplir con las transiciones.
Las ecuaciones serán funciones que dependen de las entradas al sistema y del estado
interno del mismo.
3. Diseñar las ecuaciones de las salidas del sistema. Las ecuaciones serán funciones que
dependen de las entradas al sistema y del estado interno del mismo.
4. Realizar con puertas lógicas los circuitos combinacionales de 3) y 4) e interconectarlos con
los biestables utilizados.
- 21 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

PASO 1:

Número de estados internos: es posible ver que el estado está determinado por la posición que
ocupa el ascensor. Puesto que tenemos 4 plantas, tendremos 4 estados distintos
Número de bits (biestables) para codificación de estado interno: 4 estados se codifican con 2
bits (2 biestables). Emplearemos biestables JK

Las diversas funciones lógicas a implementar dependerán, pues, de los 2 biestables y las 4
entradas posibles. Sin embargo, es posible simplificar el número de entradas, teniendo en
cuenta que no estarán activas simultáneamente. Para ello, emplearemos un codificador
prioritario de 4 a 2, de forma que el piso activo (P0,…,P3) se codifica mediante 2 bits (E0, E1).

P0 P1 P2 P3 E1 E0
1 0 0 0 0 0
X 1 0 0 0 1
X X 1 0 1 0
X X X 1 1 1

Por tanto, las entradas del sistema se reducen ahora a 2, E0 y E1, que codifican la planta
destino en binario. El diagrama de estados que especifica cómo deben evolucionar los 2 bits de
estado asociados a cada biestable según las entradas es el siguiente. Supondremos que en cada
ciclo de reloj el ascensor es capaz de desplazarse (sólo) una planta.

Entradas Estado Estado Entradas Entradas Salidas


Actual Futuro Biestable Biestable
Q1 Q0
E1 E0 Q1 Q0 Q1 Q0 J1 K1 J0 K0 U D
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 1
0 0 1 1 1 0
0 1 0 0 0 1
0 1 0 1 0 1
0 1 1 0 0 1
0 1 1 1 1 0
1 0 0 0 0 1
1 0 0 1 1 0
1 0 1 0 1 0
1 0 1 1 1 0
1 1 0 0 0 1
1 1 0 1 1 0
1 1 1 0 1 1
1 1 1 1 1 1

Una breve explicación para la zona marcada en verde. Si el destino es la planta 2 (E1=1,
E0=0) y el ascensor está en la planta 2 (11), en el siguiente ciclo de reloj estará en la 1 (10);
mientras que si está en la 0 (00), en el siguiente instante estará en la 1 (01), al ir subiendo
- 22 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

hacia la 2; si el ascensor está en la 1 (01), en el siguiente instante estará en la 2 (10). Por


último, si ya estaba en la 2, se queda ahí

PASO 2

Con la tabla anterior hemos especificado cómo queremos que evolucionen Q0 y Q1 a lo largo
del tiempo. Pero no debemos olvidar que Q0 y Q1 son las salidas de los biestables y que, por
tanto, para variar su valor debemos ir variando las entradas que tienen los biestables (J1 K1
para el biestable de Q1, J0 K0 para el biestable de Q0).

Vamos a traducir cada transacción especificada en la tabla anterior (del estado actual al
estado futuro) a entradas JK de los respectivos biestatables. Para ello, es necesario recordar la
tabla de verdad de los biestables JK.

Entradas Estado Estado Entradas Entradas Salidas


Actual Futuro Biestable Biestable
Q1 Q0
E1 E0 Q1 Q0 Q1 Q0 J1 K1 J0 K0 U D
0 0 0 0 0 0 0 X 0 X
0 0 0 1 0 0 0 X X 1
0 0 1 0 0 1 X 1 1 X
0 0 1 1 1 0 X 0 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
0 1 1 1 1 0 X 0 X 1
1 0 0 0 0 1 0 X 1 X
1 0 0 1 1 0 1 X X 1
1 0 1 0 1 0 X 0 0 X
1 0 1 1 1 0 X 0 X 1
1 1 0 0 0 1 0 X 1 X
1 1 0 1 1 0 1 X X 1
1 1 1 0 1 1 X 0 1 X
1 1 1 1 1 1 X 0 X 0

Se pueden ver 2 ejemplos. En el caso marcado en verde, Q1 debe pasar de 1 a 0. Para ello, se
tienen dos combinaciones posibles: J1=0, K1=1 (se fuerza un 0) ó J1=1, K1=1 (se fuerza un
cambio). Por tanto se tiene J1=X, K1=1. Para Q0 es algo similar. El biestable debe pasar de 0 a 1.
Las dos combinaciones posibles son J0=1, K0=0 (se fuerza un 1) ó J0=1, K0=1 (se fuerza un
cambio). Por tanto se tiene J0=1, K0=X.

Para el caso marcado en naranja, Q1 se debe mantener a 1, con lo que la opción posible es J1=X,
K1=0. Y Q0 se debe mantener a 0, por lo que la opción posible es J1=0, K1=X.

Aplicamos Karnaugh para obtener las ecuaciones correspondientes. Sólo se muestran algunos
mapas (hay que realizar 4 mapas).

- 23 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Mapa de Karnaugh para J0

E1E0 00 01 11 10
Q1Q0
00 0 1 1 1
01 X X X X
11 X X X X
10 1 1 1 0

J 0 = E 0 + Q1 ⋅ E1 + Q1 ⋅ E1
K 0 = E 0 + Q1 ⋅ E1 + Q1 ⋅ E1

Mapa de Karnaugh para J1

E1E0 00 01 11 10
Q1Q0
00 0 0 0 0
01 0 0 1 1
11 X X X X
10 X X X X

J 1 = Q0 ⋅ E1
K1 = Q1 ⋅ Q0 ⋅ E1

PASO 3

Este paso consistiría en la implementación del bloque combinacional que obtiene las salidas
finales de nuestro circuito a partir de las salidas de los biestables y las entradas del circuito.
Para ello, completamos la tabla anterior con las salidas para cada caso:

- 24 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

Entradas Estado Estado Entradas Entradas Salidas


Actual Futuro Biestable Biestable
Q1 Q0
E1 E0 Q1 Q0 Q1 Q0 J1 K1 J0 K0 U D
0 0 0 0 0 0 0 X 0 X 0 0
0 0 0 1 0 0 0 X X 1 0 1
0 0 1 0 0 1 X 1 1 X 0 1
0 0 1 1 1 0 X 0 X 1 0 1
0 1 0 0 0 1 0 X 1 X 1 0
0 1 0 1 0 1 0 X X 0 0 0
0 1 1 0 0 1 X 1 1 X 0 1
0 1 1 1 1 0 X 0 X 1 0 1
1 0 0 0 0 1 0 X 1 X 1 0
1 0 0 1 1 0 1 X X 1 1 0
1 0 1 0 1 0 X 0 0 X 0 0
1 0 1 1 1 0 X 0 X 1 0 1
1 1 0 0 0 1 0 X 1 X 1 0
1 1 0 1 1 0 1 X X 1 1 0
1 1 1 0 1 1 X 0 1 X 1 0
1 1 1 1 1 1 X 0 X 0 0 0

Se han resaltado dos ejemplos: en el primero se está en la planta 0 y el destino es la 0, por lo que
tanto U como D están desactivadas; en el segundo, se está en la planta 1 (Q1=0, Q=1) y el destino
es la 0 (E1=0, E0=0), por lo que D debe activarse.

Aplicando el mapa de Karnaugh, es posible obtener el circuito que genera las salidas a partir de
las entradas y el estado:

Mapa de Karnaugh para U:

E1E0 00 01 11 10
Q1Q0
00 0 1 1 1
01 0 0 1 1
11 0 0 0 0
10 0 0 1 0

U = Q1 ⋅ E1 + Q1 ⋅ Q0 ⋅ E 0 + Q0 ⋅ E1 ⋅ E 0
D = Q1 ⋅ E1 + Q0 ⋅ E1 ⋅ E 0 + Q1 ⋅ Q0 ⋅ E 0

PASO 4

El paso 4 consistiría en interconectar los circuitos generados en los pasos 1,2 y 3 conforme a la
estructura propuesta. El circuito ascensor.cir, descargable desde WebCT, contiene el circuito
final.

- 25 -
SISTEMAS DIGITALES

BOLETÍN DE PROBLEMAS 2

La única diferencia respecto al circuito descrito es que emplea como codificador el circuito
74148, que puede encontrarse en el menú Components, Digital Library:

Para dicho codificador, tanto las entradas (I0 -I7) como las salidas (A0-A2) se activan a nivel
bajo (es decir, que una entrada está activa si tiene un 0, y las salidas están negadas). Por otro
lado, se trata de un codificador 8 a 3, por lo que las entradas más significativas se dejan
desactivadas (se ponen a 1).
U15
P0
P1 I0 X1
I1
P2 E0
I2 EO
P3
I3 GS
I4 U18 U3
I5 A0
1
I6 A1 E1
I7 A2 U19
0 EI
U4

1 1

Q0 Q1
U6 U5 J PREB Q J PREB Q
U9
U1 U2
CLKB CLKB
U7
K CLRB QB K CLRB QB
U8 U10

CLK

X2
U20 U21 U22 U24 U25 U26

U23 U27

U D

El cronograma:
Micro-Cap 8 Evaluation Version
ASCENSOR.CIR

d(P0)

d(P1)

d(P2)

d(P3)

d(E0)

d(E1)

d(Q0)

d(Q1)

d(U)

d(D)

d(CLK)

0.000u 0.400u 0.800u 1.200u 1.600u 2.000u


T (Secs)

- 26 -

También podría gustarte