Practica Evaluable Ae1076

October 28, 2018 | Author: Alejandro Dominguez Al-lal | Category: Arithmetic, Electronic Circuits, Electronic Design, Theory Of Computation, Physics & Mathematics
Share Embed Donate


Short Description

Download Practica Evaluable Ae1076...

Description

A.E.1. PRIMERA ACTIVIDAD: Diseño, Implementación y Simulación de un Circuito en Lógica Combinacional. • • • • • • •

 Nombre y apellidos: Alejandro Domínguez Al-lal  DNI: 45312176-Z  Nº de matrícula: 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 señales P2, P1 y P0 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  prioridad de estas señales. Así el criterio de prioridad de las señales 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 señal P2 la operación que debe realizar es la operación aritmética sin sin acarreo A PLUS PLUS AB. b) Si la prioridad es de la señal P1 entonces debe realizar la operación lógica  AB . c) Si la prioridad es de P0 debe hacer la operación aritmética con arrastre A MINUS MINUS B. d) Por último, si las señales son todas cero y ninguna es prioritaria 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..

Diseño del circuito de control de la ALU. Codificador con prioridad.  Fichero adjunto: codificadorprioridad.sch



Para el diseño 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 Según 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. Matemáticamente podemos expresar el circuito de la siguiente forma: S1 = P2 + P1 y

S2 = P2 + [ inv(P1) P0 ] •

cuya tabla de verdad teórica sería:

P0 0 1 0 0

P1 0 X 1 0

P2 0 X X 1

S1 0 1 1 0

S2 0 1 0 1

Op. ALU Cero  A MINUS B  AB .

 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 simulación 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 Transient he configurado: y en Analysis Setup → Transient  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 simulación 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  A MINUS B 1-2 ms 1 0 0 1 1 2-3 ms 0 1 0 1 0  AB  A MINUS B 3-4 ms 1 1 1 1 1  A PLUS AB 4-5 ms 0 0 1 0 1  A MINUS B 5-6 ms 1 0 1 1 1 Se puede observar que los resultados de la tabla de verdad practica coinciden con los de la tabla de verdad teorica.

Diseño del circuito final. Codificador con prioridad + ALU.  Fichero adjunto: adjunto: CircuitoFinal.sch



Según el enunciado, el circuito final tiene que realizar cuatro operaciones, una lógica (  AB ) y tres aritméticas ( A MINUS B,  A PLUS AB, Cero ). Para seleccionar la operación la ALU dispone de cuatro entradas de selección S3, S2, S1 y S0; una entrada M para seleccionar el tipo de función (Aritmética o Lógica); y una entrada CN para seleccionar si la operación 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 Cero  A MINUS B  AB

 A PLUS AB

S3 0 0 0 1

S2 0 1 1 0

S1 1 1 0 0

S0 1 0 0 0

M 0 0 1 0

CN 1 1 X 0

Donde X puede tomar el valor 1 o 0 independientemente, ya que las operaciones lógicas no tienen acarreo. La selección de operación de la ALU depende del circuito codificador con prioridad diseñado 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 selección de la ALU. De esta forma tenemos la tabla de verdad del codificador de prioridad de la siguiente forma:

P0 0 1 0 0

P1 0 X 1 0

P2 0 X X 1

C1 0 1 1 0

C2 0 1 0 1

Op. ALU Cero  A MINUS B  AB

 A PLUS AB

Según 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 relación se puede expresar matemáticamente 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 añadido 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 matemáticas arriba expuestas y se seleccionen las operaciones correctas de la ALU en función de los valores de C1 y C2

El circuito final queda de la l a 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 simulación de este circuito he programado los relojes de la siguiente si guiente forma: • • • • • • •

• •

DSTM1: DSTM2: DSTM3: DSTM4: DSTM5: DSTM6: DSTM7:

ONTIME=1ms / OFFTIME=1ms ONTIME=2ms / OFFTIME=2ms ONTIME=3ms / OFFTIME=3ms ONTIME=1ms / OFFTIME=1ms ONTIME=2ms / OFFTIME=2ms ONTIME=4ms / OFFTIME=4ms ONTIME=8ms / OFFTIME=8ms

Transient he configurado: y en Analysis Setup → Transient  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 simulación 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 simulación cada 1 ms :

Periodo 0-1 ms 1-2 ms 2-3 ms 3-4 ms 4-5 ms 5-6 ms 6-7 ms 7-8 ms 8-9 ms 9-10 ms 10-11 ms 11-12 ms 12-13 ms 13-14 ms 14-15 ms 15-16 ms

S.PRIORIDAD P0 P1 P2 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1

S. SELECCIÓN DE OP. DE ALU S3 S2 S1 S0 S0 M CN 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 1

OPERANDOS ALU A0 A1 B0 B1 0 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1

RESULTADOS ALU F3 F2 F1 F0 F0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0

Se puede observar que las señales de selección de operación son las l as correctas para cada valor de las señales de prioridad, ya que coinciden en la simulación y en las tablas teóricas 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 operación en la simulación: •

Puesta a cero de la ALU:

Periodo P0 P1 P2 S3 S2 S1 12-13 ms 0 0 0 0 0 1 En sistema decimal se observa que para P=0





S0 1

M CN A0 A1 B0 B1 F3 F2 0 1 0 0 1 1 0 0 F=0 independientemente del valor de A y de B.

F1 0

F0 0

S0 0

F1 0

F0 1

A MINUS B cuando P0=1

Periodo 1-2 ms

P0 1

P1 0

P2 0

S3 0

S2 1

S1 1

M 0

CN 1

A0 1

A1 0

B0 0

B1 0

F3 0

F2 0

En sistema decimal se observa que A=2 y B=0 con lo que al realizar la operación con arrastre el resultante seria el indicado al ser f=1

cuando P1=1 Periodo P0 P1 P2 S3 S2 S1 S0 M CN A0 A1 B0 2-3 ms 0 1 0 0 1 0 0 1 0 0 1 0 La función lógica  AB se cumple para los valores obtenidos para A y para B •

 AB

B1 0

F3 0

F2 0

F1 1

F0 0

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 diseñado coinciden con los resultados teóricos que se proponen en el enunciado, y la ALU está realizando correctamente, en cada caso, las operaciones solicitadas en el enunciado

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF