Pec 1
Pec 1
Pec 1
Título de la Actividad:
Diseño, Implementación, Simulación y Validación de un Circuito en Lógica
Combinacional
Datos personales:
Enunciado.
Enunciado A-E-1-011.doc
Disponemos de una palabra de 4 bits (P3, P2, P1 y P0) y de una señal adicional, x, con
las que queremos controlar el funcionamiento de una Unidad Aritmético Lógica, pero la
programación de la ALU no depende directamente de estas señales sino de la paridad
o no de la palabra junto con el valor “0” o “1” de la variable x. Así, el criterio para controlar
las operaciones que realiza la ALU sobre las 2 palabras de 4 bits [A (A3, A2, A1, A0) y
B(B3, B2, B1, B0)] es el siguiente:
a) Si la palabra es par y x=1, la ALU hace la operación aritmética sin acarreo APLUSAB
.
Diseñe el circuito del codificador y úselo para controlar las operaciones de la ALU que
se han especificado.
SOLUCION:
Lo primero que debemos hacer para diseñar el circuito, es centrarnos en la tabla de
verdad de la ALU SN74181 que es la que emplearemos para realizar el ejercicio, dicha
tabla es la mostrada a continuación:
Una vez que tenemos la tabla de la ALU, debemos determinar cada una de las salidas
que queremos implementar en el circuito generador de señales, en la siguiente tabla
podemos ver cuáles son las configuraciones de cada señal según la palabra de entrada y
la señal X y que función se activaría en la ALU para cada una de ellas, para ello
debemos tener en cuenta el circuito que nos produce la generación de paridad para los
4 bits de entrada además del valor de la señal X.
P3 P2 P1 P0 Z
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
Pero como se puede observar la función de salida es irreducible, siendo esta igual a la
función OR EXCLUSIVE de cada uno de los bits de entrada.
Z = P3 P2 P1 P0
Dicha función puede ser implementada mediante tres puertas OR EXCLUSIVE, una de
ellas realizara la operación lógica OR EXCUSIVE de los dos bits de menos peso, otra
realizara la misma operación con los dos bits de mayor peso y una tercera realizara la
operación OR EXCLUSIVE de los resultados obtenidos, el circuito seria el mostrado en
la figura.
Cuyo cronograma es el siguiente:
Para la realización del cronograma se han empleado cuatro relojes con los siguientes
valores de señal:
Estos valores han sido establecidos para poder observar todas las posibles
configuraciones de entrada.
Una vez que tenemos definidas todas las salidas del generador de paridad para cada
configuración de entrada, debemos realizar la tabla de verdad del circuito generador de
señales, en la figura se muestra la tabla de verdad completa.
ya
Como se puede observar, cuando M está a nivel alto, da igual cual sea el valor de que la
ALU realizara una función lógica.
Simplemente observando la tabla de verdad, podemos determinar que el valor que debe
tomar la señal M tan solo depende del valor que tome la señal X, siendo este igual a
M=
Por la sencillez de las señales que se deben implementar, se pueden deducir a simple
vista el resto de las señales que necesitamos.
Observamos que la señal S0 solo depende del valor de X, siendo este igual a
S0 =
Y el valor de S3 es igual a
S3 =
Una vez determinadas las salidas necesarias del circuito generador de señales,
procedemos a su implementación, quedándonos el siguiente circuito:
El cronograma de este circuito es el siguiente:
En cuanto a los valores empleados en las entradas, son los mismos que en el circuito
generador de paridad visto anteriormente y para la señal de X (S2 en el cronograma) se
han empleado las siguientes señales:
X: ONTIME = 16 us, OFFTIME = 16 us.
Estando definidas todas las señales, ya podemos conectar el circuito de control con
la ALU como se muestra en la siguiente figura.
Para que el resultado sea más fácil de entender, los dos bits más significativos de cada
palabra se han puesto a 0, realizándose las operaciones con los dos bits menos
significativos, por este motivo la señal de salida Cn +4 siempre es 0, esta señal la
emplearíamos si necesitamos conectar nuestro circuito con otra ALU para realizar
operaciones con palabras de más de 4 bits.
Las tablas de verdad de cada una de las diferentes funciones que hemos implementado
son las siguientes:
A PLUS A
A3 A2 A1 A0 B3 B2 B1 B0 F3 F2 F1 F0 Cn
0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 0 1 0 0 0
0 0 1 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 1 0
0 0 1 0 0 0 0 1 0 1 0 0 0
0 0 1 1 0 0 0 1 0 1 0 1 0
0 0 0 0 0 0 1 0 0 0 0 0 0
0 0 0 1 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 1 0 0 1 0 0 1 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 0
0 0 0 1 0 0 1 1 0 0 0 1 0
0 0 1 0 0 0 1 1 0 0 1 0 0
0 0 1 1 0 0 1 1 0 0 1 1 0
A3 A2 A1 A0 B3 B2 B1 B0 F3 F2 F1 F0
0 0 0 0 0 0 0 0 1 1 1 1
0 0 0 1 0 0 0 0 1 1 1 0
0 0 1 0 0 0 0 0 1 1 0 1
0 0 1 1 0 0 0 0 1 1 0 0
0 0 0 0 0 0 0 1 1 1 1 0
0 0 0 1 0 0 0 1 1 1 1 1
0 0 1 0 0 0 0 1 1 1 0 0
0 0 1 1 0 0 0 1 1 1 0 1
0 0 0 0 0 0 1 0 1 1 0 1
0 0 0 1 0 0 1 0 1 1 0 0
0 0 1 0 0 0 1 0 1 1 1 1
0 0 1 1 0 0 1 0 1 1 1 0
0 0 0 0 0 0 1 1 1 1 0 0
0 0 0 1 0 0 1 1 1 1 0 1
0 0 1 0 0 0 1 1 1 1 1 0
0 0 1 1 0 0 1 1 1 1 1 1
A PLUS A PLUS 1
A3 A2 A1 A0 B3 B2 B1 B0 F3 F2 F1 F0 Cn
0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 1 1 0
0 0 1 0 0 0 0 0 0 1 0 1 0
0 0 1 1 0 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 1 0 0
0 0 1 0 0 0 0 1 0 1 0 1 0
0 0 1 1 0 0 0 1 0 1 1 0 0
0 0 0 0 0 0 1 0 0 0 0 1 0
0 0 0 1 0 0 1 0 0 0 1 1 0
0 0 1 0 0 0 1 0 0 0 1 1 0
0 0 1 1 0 0 1 0 0 1 0 1 0
0 0 0 0 0 0 1 1 0 0 0 1 0
0 0 0 1 0 0 1 1 0 0 1 0 0
0 0 1 0 0 0 1 1 0 0 1 1 0
0 0 1 1 0 0 1 1 0 1 0 0 0