Ejemplo Ped1 Pec1
Ejemplo Ped1 Pec1
Ejemplo Ped1 Pec1
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_036.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 A PLUS AB .
b) Si la palabra es par y x=0, la ALU hace la operación lógica A B.
c) Si la palabra es impar y x=1, la ALU hace la operación aritmética con arrastre A PLUS A B PLUS 1
.
d) Si la palabra es impar y x=0 entonces la ALU debe ponerse a 0.
Diseñe el circuito del codificador y úselo para controlar las operaciones de la ALU que se han
especificado.
SOLUCION:
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 cuales 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.
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.
Como se puede observar, cuando M esta a nivel alto, da igual cual sea el valor de ya
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:
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:
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 mas fácil de entender, los dos bits mas 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 mas 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
Para generar las señales, se han empleado además de los valores citados anteriormente
estos otros: