You are on page 1of 7

A.E.1.

PRIMERA ACTIVIDAD: Diseo, Implementacin y Simulacin de un Circuito


en Lgica Combinacional.

Nombre y apellidos: Alejandro Domnguez Al-lal


DNI: 45312176-Z
N de matrcula: 262508(GRADO ING. INFORMATICA)
Asignatura: SISTEMAS DIGITALES
Centro Asociado: Melilla
Tutor: Aziz Mulud Tieb
Fecha: 1 DE DICIEMBRE DE 2011

Enunciado A-E-1-076: Disponemos de tres seales P2, P1 y P0 con las que


queremos controlar el funcionamiento de una Unidad Aritmtico Lgica, pero la
programacin de la ALU no depende directamente de estas seales sino de la
prioridad de estas seales. As el criterio de prioridad de las seales es P0>P1>P2 y
las operaciones de las palabras de 4 bits que debe realizar la ALU son las siguientes:
a) Si la prioridad es de la seal P2 la operacin que debe realizar es la operacin
aritmtica sin acarreo A PLUS AB.
b) Si la prioridad es de la seal P1 entonces debe realizar la operacin lgica AB .
c) Si la prioridad es de P0 debe hacer la operacin aritmtica con arrastre A MINUS
B.
d) Por ltimo, si las seales son todas cero y ninguna es prioritaria entonces la ALU
debe ponerse a 0.
Disee el circuito del codificador y selo para controlar las operaciones de la ALU
que se han especificado..
Diseo del circuito de control de la ALU. Codificador con prioridad.

Fichero adjunto: codificadorprioridad.sch

Para el diseo de este circuito codificador de prioridad disponemos de 3 entradas P2, P1 y


P0 las cuales corresponden a los pulsos de reloj DSTM1, DSTM2 y DSTM3
respectivamente, y cuya prioridad es P0>P1>P2

Segn los valores de entrada podemos tener cuatro estados de salida que corresponden a
cada una de las operaciones que realizar la ALU. Para representar estos cuatro estados nos
basta tener dos bits
o lineas de salida del circuito, S1 y S2, las cuales corresponden a las salidas de U1A y U2A
respectivamente.

Matemticamente podemos expresar el circuito de la siguiente forma:


S1 = P2 + P1 y S2 = P2 + [ inv(P1) P0 ]

cuya tabla de verdad terica sera:

P0 P1 P2 S1 S2 Op. ALU
0 0 0 0 0 Cero
1 X X 1 1 A MINUS B
0 1 X 1 0 AB .
0 0 1 0 1 A PLUS AB

Donde x puede tomar el valor 1 o 0 independientemente, ya que el valor 1 marca la prioridad P0>P1>P2.

El circuito que representa las dos ecuaciones anteriores es el siguiente:


Para realizar la simulacin de este circuito he programado los relojes de la siguiente forma:

DSTM1: ONTIME=1ms / OFFTIME=1ms


DSTM2: ONTIME=2ms / OFFTIME=2ms
DSTM3: ONTIME=3ms / OFFTIME=3ms

y en Analysis Setup Transient he configurado:


Print Setup = 2ns
Final Time = 6ms (Para que de tiempo a las tres entradas a estar en baja y en alta)

El resultado de dicha simulacin es el siguiente:

Para DSTM1=P0, DSTM2=P1, DSTM3=P2, U4A=S1, U1A=S2, 1 = Alta y 0= Baja tenemos que:

PERIODO P0 P1 P2 S1 S2 Op. ALU


0-1 ms 0 0 0 0 0 Cero
1-2 ms 1 0 0 1 1 A MINUS B
2-3 ms 0 1 0 1 0 AB
3-4 ms 1 1 1 1 1 A MINUS B
4-5 ms 0 0 1 0 1 A PLUS AB
5-6 ms 1 0 1 1 1 A MINUS B
Se puede observar que los resultados de la tabla de verdad practica coinciden con los de la tabla de
verdad teorica.
Diseo del circuito final. Codificador con prioridad + ALU.
Fichero adjunto: CircuitoFinal.sch

Segn el enunciado, el circuito final tiene que realizar cuatro operaciones, una lgica ( AB ) y tres
aritmticas (A MINUS B, A PLUS AB, Cero ). Para seleccionar la operacin la ALU dispone de cuatro
entradas de seleccin S3, S2, S1 y S0; una entrada M para seleccionar el tipo de funcin (Aritmtica o
Lgica); y una entrada CN para seleccionar si la operacin es con acarreo o no.
Siendo 1=H (Alta) y 0=L(Baja) y teniendo en cuenta las especificaciones de la ALU SN74181, para seleccionar
las operaciones indicadas en el enunciado, las entradas de la ALU tienen que tomar los siguientes valores:

Op. ALU S3 S2 S1 S0 M CN
Cero 0 0 1 1 0 1
A MINUS B 0 1 1 0 0 1
AB 0 1 0 0 1 X
A PLUS AB 1 0 0 0 0 0

Donde X puede tomar el valor 1 o 0 independientemente, ya que las operaciones lgicas no tienen acarreo.

La seleccin de operacin de la ALU depende del circuito codificador con prioridad diseado previamente, el
cual, dependiendo de tres entradas (P), obtiene dos salidas (S) que codifican las operaciones que realizar la
ALU.

A partir de ahora, las salidas del codificador las llamar C1 y C2 para que no se confundan con las entradas de
seleccin de la ALU. De esta forma tenemos la tabla de verdad del codificador de prioridad de la siguiente
forma:

P0 P1 P2 C1 C2 Op. ALU
0 0 0 0 0 Cero
1 X X 1 1 A MINUS B
0 1 X 1 0 AB
0 0 1 0 1 A PLUS AB

Segn el valor de C1 y C2 las entradas de la ALU S3, S2, S1, S0, M y CN tienen que tomar los valores
indicados anteriormente. Esta relacin se puede expresar matemticamente de la siguiente
forma:

S3 = C1
S2 = C1 inv(C2)
S1 = inv(C2)
S0 = [ inv(C1) + C2 ] [ C1 + inv(C2) ]
M = C1 inv(C2)
CN = C1

Para sintetizar las anteriores ecuaciones he aadido entre el circuito codificador y la ALU dos puertas inversoras,
una para C1 y otra para C2, y otras dos puertas OR y AND para poder representar las relaciones matemticas
arriba expuestas y se seleccionen las operaciones correctas de la ALU en funcin de los valores de C1 y C2
El circuito final queda de la siguiente forma:

A los operandos de la ALU A y B, como se recomienda en el texto de la actividad, les he puesto los dos bits
menos significativos (A3, A2, B3 y B2) en baja (0) y a los mas significativos (A0, A1, B0 y B1) les he asignado
los generadores de pulso DSTM4, DSTM5, DSTM6 y DSTM7 respectivamente.

Para realizar la simulacin de este circuito he programado los relojes de la siguiente forma:

DSTM1: ONTIME=1ms / OFFTIME=1ms


DSTM2: ONTIME=2ms / OFFTIME=2ms
DSTM3: ONTIME=3ms / OFFTIME=3ms
DSTM4: ONTIME=1ms / OFFTIME=1ms
DSTM5: ONTIME=2ms / OFFTIME=2ms
DSTM6: ONTIME=4ms / OFFTIME=4ms
DSTM7: ONTIME=8ms / OFFTIME=8ms

y en Analysis Setup Transient he configurado:


Print Setup = 2ns
Final Time = 16ms (Para que de tiempo a todas las entradas a estar en baja y en alta)
El resultado de dicha simulacin es el siguiente:

Para DSTM1=P0, DSTM2=P1, DSTM3=P2, DSTM4=A0, DSTM5=A1, DSTM6=B0,


DSTM7=B1, A3=A2=B3=B2=0, 11:Fbar0=F0, 11:Fbar1=F1, 11:Fbar2=F2, 13:Fbar3=F3, 1 = Alta y 0 =
Baja, tenemos los siguientes resultados en la simulacin cada 1 ms :

S.PRIORIDAD S. SELECCIN DE OP. DE ALU OPERANDOS ALU RESULTADOS ALU


Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 B1 F3 F2 F1 F0
0-1 ms 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
1-2 ms 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1
2-3 ms 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0
3-4 ms 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1
4-5 ms 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1
5-6 ms 1 0 1 0 1 1 0 0 1 1 0 1 0 0 0 1 0
6-7 ms 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1
7-8 ms 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 0 0
8-9 ms 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0
9-10 ms 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1
10-11 ms 0 1 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0
11-12 ms 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1
12-13 ms 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0
13-14 ms 1 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0
14-15 ms 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1
15-16 ms 1 1 1 0 1 1 0 0 1 1 1 1 1 0 1 1 0
Se puede observar que las seales de seleccin de operacin son las correctas para cada valor de las
seales de prioridad, ya que coinciden en la simulacin y en las tablas tericas antes expuestas, por
lo tanto la ALU esta realizando correctamente las operaciones solicitadas en el enunciado.

Para comprobarlo vamos a ver el estado de las entradas y de las salidas en un periodo de 1ms de cada operacin
en la simulacin:

Puesta a cero de la ALU:

Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 B1 F3 F2 F1 F0
12-13 ms 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0
En sistema decimal se observa que para P=0 F=0 independientemente del valor de A y de B.

A MINUS B cuando P0=1


Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 B1 F3 F2 F1 F0
1-2 ms 1 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1
En sistema decimal se observa que A=2 y B=0 con lo que al realizar la operacin con arrastre el resultante
seria el indicado al ser f=1

AB cuando P1=1
Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 B1 F3 F2 F1 F0
2-3 ms 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0
La funcin lgica AB se cumple para los valores obtenidos para A y para B

A PLUS AB cuando P2=1


Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 B1 F3 F2 F1 F0
4-5 ms 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1
En sistema decimal se confirma que para los valores dados para A y para B concuerdan con los resultantes

Concluyendo, los resultados finales del circuito diseado coinciden con los resultados tericos que
se proponen en el enunciado, y la ALU est realizando correctamente, en cada caso, las operaciones
solicitadas en el enunciado

You might also like