Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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:
- DNI:
- Centro asociado:
5: Enunciado.
Enunciado A-E-1_065
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 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.
SOLUCIÓN:
6: Diseñe los distintos bloque funcionales y explique los pasos seguidos en cada bloque.
6.1.- Comparador de paridad de las palabras y activador del acarreo:
pág. 1
Apellidos, nombre:
DNI:
de 2 bits, de forma que cada una de ellas tiene (0,0) o (1,1) si es par y como resultado nos da
(0), y (0,1) o (1,0) si es impar y como resultado nos da (1). Según la tabla de la verdad para
esta comparativa:
ENTRADAS FUNCIÓN
A B A̅ B̅ A·B̅ + A̅ ·B
0 0 1 1 0
0 1 1 0 1
1 0 0 1 1
1 1 0 0 0
Y, como resultado conseguimos ver si la suma de las dos letras es par o impar, siendo
este el valor final que buscamos en la palabra de 4 bits.
ENTRADAS FUNCIÓN
P X P̅ ·X
0 0 0
0 1 1
1 0 0
1 1 0
Siendo esta la función AND con la entrada de P negada y cuya salida conectaremos
directamente a la entrada del acarreo de la ALU.
Una vez resuelto el problema de la paridad, se nos platea la modificación del tipo de
operación dependiendo de una señal externa llamada X, la cual modificará el comportamiento
de la ALU simultáneamente y en compañía de la señal de paridad.
La señal en alta es la que coloca a la ALU en "función lógica", en este caso cuando X =
0, por lo que diseñamos un nuevo bloque que cumple la siguiente función:
2
Apellidos, nombre:
DNI:
ENTRADAS FUNCIÓN
P X X̅
0 0 1
0 1 0
1 0 1
1 1 0
Cabe destacar que desde un principio podríamos obviar la señal de P ya que coinciden
los dos estados de X (0 y 1) con los dos estados de P (0 y 1) siendo el orden indiferente, tal
como se refleja en el ejercicio.
3
Apellidos, nombre:
DNI:
1r término - S3:
ENTRADAS FUNCIÓN
P X P̅ ·X̅ + P·X
0 0 1
0 1 0
1 0 0
1 1 1
Comprobamos que no se puede reducir más la expresión. Diseñamos el circuito con dos
puertas AND, una de ellas con las entradas negadas y sumamos el resultado de las dos con una
puerta OR. La salida la conectamos a la ALU en S3.
2º término - S2:
ENTRADAS FUNCIÓN
P X P̅
0 0 1
0 1 1
1 0 0
1 1 0
F = P̅
De esta forma, para el segundo término, no tenemos más que negar P y conectarla a la
ALU en S2.
3r término - S1:
ENTRADAS FUNCIÓN
P X P·X̅
0 0 0
0 1 0
1 0 1
1 1 0
fm = P · X̅
4
Apellidos, nombre:
DNI:
4º término - S0:
ENTRADAS FUNCIÓN
P X P + X̅
0 0 1
0 1 0
1 0 1
1 1 1
En esta ocasión cogemos el Maxterm fM = P + X̅ y comprobamos que no puede reducir, así nos
queda:
F = P + X̅
7: Presente los esquemas de cada uno de los bloques funcionales por separado y el del
circuito completo.
5
Apellidos, nombre:
DNI:
6
Apellidos, nombre:
DNI:
Para el diseño de las palabras utilizamos 1 señal fija en baja (LO) conectada a los bits
A2, A3 y B2, B3 y 4 relojes digitales "DigClock" con una señal de reloj tal que, cada uno dobla a
la de su predecesor. Así pues, tenemos 4 relojes denominados P0, P1, P2 y P3 que gracias a sus
diferentes velocidades nos formarán un espectro de señales en alta y en baja de tal forma, que
cubriremos todas las combinaciones posibles. Estas velocidades son:
7
Apellidos, nombre:
DNI:
En este caso también utilizamos un “DigClock” con una señal que es la mitad que P0 para
que X este en sus dos fases en cada una de los 4 bits:
8
Apellidos, nombre:
DNI:
9
Apellidos, nombre:
DNI:
ENTRADAS FUNCIÓN
A B̅ A + B̅
0 1 1
0 0 0
1 1 1
1 0 1
ENTRADAS FUNCIÓN
A B̅ AB̅ A + AB̅ Cacarreo
0 1 0 0 0
0 0 0 0 0
1 1 1 0 1
1 0 0 1 0
1 + 1 = 0 más 1 de acarreo
ENTRADAS FUNCIÓN
A B A+B CA + B A+B+1 CA + B + 1
0 0 0 0 1 0
0 1 1 0 0 1
1 0 1 0 0 1
1 1 0 1 0 1
La operación F = 0 se realiza:
10
Apellidos, nombre:
DNI:
ENTRADAS FUNCIÓN
A B F=0
0 0 0
0 1 0
1 0 0
1 1 0
11
Apellidos, nombre:
DNI:
12
Apellidos, nombre:
DNI:
13
Apellidos, nombre:
DNI:
0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 0 0 0 0 1
0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1
1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1
1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1
1 0 0 0 1 1 0 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1
1 1 1 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1
0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1
0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1
1 0 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0
1 1 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0
0 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0
0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0
0 0 1 1 0 1 0 1 1 1 0 1 1 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0
0 1 0 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 0
1 0 0 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 0
1 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0
1 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1
1 1 1 0 0 1 1 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 1
0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1
0 1 0 1 0 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 0 0 0 0 1 1 0 0 1
0 0 1 1 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 1 0 1
0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 0 1
1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1
1 1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1
0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 0 0 1 0 0 0 1 1 0 0
1 0 0 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 0 1 0 1 0 0
1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0
1 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 0 0 1 0 0
1 1 1 0 0 1 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0
0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 0 0 0 0
0 1 0 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 0 0
En este caso he señalado la función F = A + B̅ como referencia, pero si las comprobamos coinciden todas las funciones.
14
Apellidos, nombre:
DNI:
14: Explique los problemas/dificultades encontrados y la forma y procedimiento por el que los
ha resuelto.
El problema real del ejercicio lo he encontrado a la hora de configurar las señales de entrada
de la ALU, pues estas dependían de dos valores de dos bits, combinados de forma que nos dieran
cuatro resultados distintos siendo estos resultados de cuatro bits.
Para resolverlo, como cada una de las señales que le entran a la ALU se dividen en 4 señales de
1 bit, simplemente he diseñado una tabla de la verdad que dependiendo de los valores de entrada X y
P nos diera el resultado de un bit de cada señal S0, S1, S2 y S3. A continuación, cogiendo los Minterms o
los Maxterms, dependiendo de los resultados, simplemente los reducimos (si se puede) y diseñamos el
circuito correspondiente para ese resultado.
*********
15