Está en la página 1de 9

PRIMERA ACTIVIDAD EVALUABLE

1: Asignatura: FUNDAMENTOS de SISTEMAS DIGITALES

2: Título de la Actividad:
Diseño, Implementación, Simulación y Validación de un Circuito en Lógica Combinacional

3: Datos personales:
- Nombre y Apellidos: Pablo Barrios Carrascal
- DNI: 77851814B
- Centro asociado: Calle Jericó – nº 10 – 41006 – Sevilla.

4: Código de la actividad que le ha correspondido realizar: PEC1-014.doc

5: Enunciado.

Enunciado

Disponemos de una Unidad Aritmético Lógica (ALU) que opera sobre dos palabras de entrada de 4 bits,
A(A3 A2 A1 A0) y B(B3 B2 B1 B0), y de otras dos palabras de 2 bits [X(X1, X0) e Y(Y1, Y0)] con las que
queremos controlar el funcionamiento de dicha ALU. La programación de la ALU nodepende directamente
de las señales X e Y, sino que depende de si la palabra X es mayor, igual o menor que la palabra Y. Así, el
criterio para controlar las operaciones que realiza la ALU es el siguiente:
a) Si (palabra X > palabra Y) entonces la ALU hace la operación aritmética sin acarreo
A B PLUS A .
b) Si (palabra X < palabra Y) entonces la ALU hace la operación lógica A B.
c) Si (palabra X = palabra Y) entonces la ALU hace la operación aritmética con arrastreA PLUS
B PLUS 1.
Diseñe el circuito completo. Es decir, diseñe el circuito del codificador y úselo para controlar las
operaciones que se han especificado para la ALU.

SOLUCIÓN:

6: Diseño de los distintos bloques funcionales

-He realizado el circuito a partir de dos bloques funcionales:


• Un circuito de control con un comparador al cual le van a llegar dos palabras de dos bits
(X e Y)
• Una Unidad Aritmético-Lógica que recibirá las señales de control.

CIRCUITO DE
CONTROL
ALU
Señales de COMPARADOR Señales Salidas
entrada de control
6.1 CIRCUITO DE CONTROL
• Este recibirá las señales de entrada de las palabras X(X1, X0) e Y(Y1, Y0), se evaluará
el tamaño de la palabra indicándole si es mayor, menor o igual a las señales de control de
la ALU.
• Tabla de verdad del comparador:

X1 X0 Y1 Y0 A B C
0 0 0 0 0 0 1
0 0 0 1 0 1 0
0 0 1 0 0 1 0
0 0 1 1 0 1 0
0 1 0 0 1 0 0
0 1 0 1 0 0 1
0 1 1 0 0 1 0
0 1 1 1 0 1 0
1 0 0 0 1 0 0
1 0 0 1 1 0 0
1 0 1 0 0 0 1
1 0 1 1 0 1 0
1 1 0 0 1 0 0
1 1 0 1 1 0 0
1 1 1 0 1 0 0
1 1 1 1 0 0 1

Las salidas del comparador son las siguientes:


A: X (X1,X0) > Y(Y1,Y0)
B: X (X1,X0) < Y(Y1,Y0)
C: X (X1,X0) = Y(Y1,Y0)

De la tabla de verdad hemos obtenido las siguientes funciones canónicas:


A = (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) +
(X1X0Y1Y0)

B = (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) +


(X1X0Y1Y0)

C = (X1X0Y1Y0) +(X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0)


-Haremos un mapa de Karnaugh para simplificar la salida A:

A = (X0Y1Y0) + (X1X0Y0) + (X1Y1) = X1Y1 + (X1 Y1) X0YO

-Haremos un mapa de Karnaugh para simplificar la salida B:

B= (X1X0Y0) + (X0Y1Y0) + (X1Y1) = (X1 Y1) + (X1 Y1) X0 Y0

-He intentado simplificar la salida C con Karnaugh, pero no se puede, lo haré


algebraicamente usando las famosas leyes De Morgan:

C = (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) + (X1X0Y1Y0) +


(X1X0Y1Y0)

C = (X1 Y1) (X0 Y0)

Una vez obtenidas las funciones de las variables de salida podemos implementar nuestro
comparador en el simulador.
6.2 UNIDAD ARITMÉTICO-LÓGICA

• La “ALU” que usaremos en esta actividad será la “SN74181”, acepta como operandos dos
palabras de 4 bits y un acarreo, Cn, para facilitar la conexión en cascada.
A continuación, mostramos su tabla de verdad:

• Las señalas de control de la “ALU” son las que le indicarán el tipo de operación a realizar,
la elección de la función depende de los valores (en alta,”H”, o en baja, “L”) de las entradas “M”,
“Cn”, “S3”, “S2”, “S1” y “S0”. Una vez hechas dará las salidas con las palabras resultantes
de dichas operaciones, en esta actividad nos piden realizar las 3 operaciones marcadas en
la tabla.
7: Implementación de cada uno de los bloques funcionales en el simulador

7.1 Circuito de control


Comparador
Consta de 4 entradas y 3 salidas, este es su “bloque jerárquico”:

Este es el diseño de su circuito:

Salida A (X>Y): Para esta he usado la negación de las otras dos salidas, ya que así
“cubrimos” todas las probabilidades, si la palabra “X” no es igual ni menor que la palabra
“Y” entonces tendremos la salida “A”.
Salida B (X<Y): Para esta he usado 3 puertas AND, 3 NOT, 1 XOR Y 1 OR.
Salida C (X=Y): Para esta he usado 1 puerta AND, 2 NOT, 2 XOR.
Cronograma del comparador
Analizaremos las 3 posibilidades en el cronograma:

-X>Y: Da como salida la variable A, su funcionamiento es correcto.

-X<Y: Da como salida la variable B, su funcionamiento es correcto.

-X=Y: Da como salida la variable C, su funcionamiento es correcto.

7.2 ALU

Habiendo realizado ya el diseño del circuito de control y comprobado que funciona


correctamente nos disponemos a realizar la tabla de verdad con los valores de las señales de
control de la ALU:

X1 X0 Y1 Y0 A B C S3 S2 S1 S0 M CN
0 0 0 0 0 0 1 1 0 0 1 0 0
0 0 0 1 0 1 0 0 1 1 0 1 X
0 0 1 0 0 1 0 0 1 1 0 1 X
0 0 1 1 0 1 0 0 1 1 0 1 X
0 1 0 0 1 0 0 1 1 0 1 0 1
0 1 0 1 0 0 1 1 0 0 1 0 0
0 1 1 0 0 1 0 0 1 1 0 1 X
0 1 1 1 0 1 0 0 1 1 0 1 X
1 0 0 0 1 0 0 1 1 0 1 0 1
1 0 0 1 1 0 0 1 1 0 1 0 1
1 0 1 0 0 0 1 1 0 0 1 0 0
1 0 1 1 0 1 0 0 1 1 0 1 X
1 1 0 0 1 0 0 1 1 0 1 0 1
1 1 0 1 1 0 0 1 1 0 1 0 1
1 1 1 0 1 0 0 1 1 0 1 0 1
1 1 1 1 0 0 1 1 0 0 1 0 0
Apellidos, nombre:
DNI:

Esquema de la ALU:

Cronograma de la ALU:

8: Descripción de los parámetros usados en la implementación final de cada bloque


Independientemente de los hercios de los relojes, he simulado la duración de tiempo
necesaria para que el reloj de entrada más lento complete un ciclo.Con la frecuencia de cada
reloj siendo el doble (o la mitad) que la del reloj anterior. De esa forma, si simulamos durante
suficiente tiempo, se probarán todas las posibles combinaciones de entrada al circuito.
Ese "durante suficiente tiempo" es el periodo (o tiempo de ciclo completo) del reloj más
lento que tengamos.

8.1 circuito de control


Para el cronograma del circuito de control hemos usado los siguientes valores con duración
de 1 segundo para que dé un ciclo completo.
1º:1Hz
2º:2Hz
3º:4Hz
4º:8Hz
8.2 ALU
Para el cronograma del circuito de control hemos usado los siguientes valores con duración
de 1 segundo para que dé un ciclo completo.
1º: 1Hz
2º:2Hz
3º:4Hz
4º:8Hz

9: Implementación del circuito completo en el simulador

Para esta verificación debe usar los siguientes pares de palabras:X(X1


X0) = (01), Y(Y1 Y0) = (11)
X(X1 X0) = (11), Y(Y1 Y0) = (10)
X(X1 X0) = (01), Y(Y1 Y0) = (01)
Y como datos de entrada sobre los que opera la ALU las palabras:A(A3A2A1A0) =
(1011)
B(B3B2B1B0) = (0110)

Para realizar estas verificaciones he usado los datos dados por el enunciado como fijos:

9.1 Operación aritmética sin acarreo (A + B) PLUS A(X > Y):


X (X1 X0) = (11), Y (Y1 Y0) = (10)
M=0
Cn = 1

Como podemos ver en el cronograma, el resultado de la operación es:


(F3, F2, F1, F0) = 1010

9.2 Operación lógica A B (X < Y):

X (X1 X0) = (01), Y (Y1 Y0) = (11)


M=1
Cn = 0
Como podemos ver en el cronograma, el resultado de la operación es:
(F3, F2, F1, F0) = 1010
9.3 Operación aritmética con arrastre A PLUS B PLUS 1(X = Y)

X (X1 X0) = (01), Y (Y1 Y0) = (01)


M=0
Cn = 0
Como podemos ver en el cronograma, el resultado de la operación es:
(F3, F2, F1, F0) = 0010

10: Comentarios:

He tenido dificultades para manejar el programa cuando quería implementar el circuito entero, pero
me ha sido muy útil dividir el circuito en bloques e ir probando poco a poco que todo funcionara
correctamente, por ejemplo, con los relojes al principio creía que tenia mal implementado el circuito
porque me aparecía un cronograma bastante raro y es por el hecho de no haber configurado bien los
relojes. Me ha servido mucho de ayuda tanto como para practicar las cosas teóricas vistas en clase
como para hacerme ver todos los detalles que hay que tener en cuenta a la hora de implementar un
circuito

*******

También podría gustarte