Sumador

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE” DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA PROYECTO CIRCUITOS DIGITALES SEGUNDO

Views 97 Downloads 16 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD DE LAS FUERZAS ARMADAS “ESPE”

DEPARTAMENTO DE ELÉCTRICA Y ELECTRÓNICA

PROYECTO CIRCUITOS DIGITALES SEGUNDO PARCIAL SUMADOR RESTADOR 8 BITS

KATHERINE ALMEIDA RAHAM CASTILLO RICHARD GUANOLUISA

NRC: 3658

ING. RAMIRO RÍOS

SANGOLQUÍ, 13 DE JUNIO DE 2017

PERIODO ABRIL – AGOSTO 2017

Objetivos Objetivo general Diseñar e implementar un circuito que realice las operaciones de suma y resta de dos números de 8 bits. Objetivos específicos 

Implementar un circuito en el que se pueda visualizar tanto la suma como la resta de dos números de 8 bits.



Realizar la selección de operación siendo suma (1) o resta (0).



Verificar que el ingreso de ambos números de 8 bits se lo realicen en BCD.



Visualizar el ingreso de datos y el resultado de la operación seleccionada en displays de 7 segmentos.

Problema Teniendo en cuenta toda la materia impartida, se ha solicitado realizar el sumador y restador de dos números de ocho bits con codificación BCD. Descripción del proyecto Nuestro circuito está constituido de una entrada de datos de dos números de 8 bits, el cual para mayor entendimiento en el diseño del circuito, fue planteada de manera independiente, tanto la suma como la resta y a través del switch de operación se escoge que resultado mostrar en los displays. Ingreso de datos Para poder visualizar mejor los datos ingresados, contamos con displays de 7 segmentos que muestran el número a operar y el resultado, siguiendo la codificación BCD. Codificación BCD La siguiente tabla sirve para representar números decimales en el sistema binario, en donde cada dígito decimal es codificado con una secuencia de 4 bits, donde detallamos cuáles son números BCD no váldos. Decimal 0 1 2

A3 0 0 0

A2 0 0 0

A1 0 0 1

A0 0 1 0

BCD Si Corresponde a BCD

3 4 5 6 7 8 9 10 11 12 13 14 15

0 0 0 0 0 1 1 1 1 1 1 1 1

0 1 1 1 1 0 0 0 0 1 1 1 1

1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 1 0 1 0 1 0 1 0 1 0 1

No Corresponde a BCD

Bits del número A Para realizar el ingreso del número A es A través de los switchs UNIDADES A y DECENAS A Para representar los dos dígitos decimales de A, con el switch UNIDADES A y DECENAS A se utiliza decodificadores 7448

SUMADOR Para realizar la suma de A y B, consideramos posibles casos en los cuales el resultado de la suma sea un número BCD no válido, es decir, que exceda el 9 (1001) o exista acarreo en la suma, por lo cual no será posible mostrar el resultado correcto en los displays de resultado.

Para entender de mejor manera el proceso a realizar consideremos los siguientes ejemplos:

Con el siguiente bloque denominado SUMADOR, a través del uso del circuito aritmético 7483 y con validación para los casos que la suma exceda a 9 produciendo un número BCD no válido o existan acarreos, realizaremos la suma de A y B, cuyo funcionamiento detallaremos a continuación.

SUMADOR U9 A0 A1 A2 A3 B0 B1 B2 B3

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

U10 S1 S2 S3 S4

9 6 2 15

S0 S1 S2 S3

B1 B2 B3 B4 C0

S0 S1 S2 S3

11 7 4 16

F1

C4

14

10 8 3 1

13

C1

7483

B4 B5 B6 B7 F1

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

7483

9 6 2 15

SU0 SU1 SU2 SU3

S2

1 3 2

9 6 2 15

S4 S5 S6 S7

S4 S5 S6 S7

F2

C4

14

C2

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

7483

1

S3 C4

14

S1

U8:B

2

U7:B

4

4

7432

6

6

F1

5

C1

5

7432 7408

U7:C S1 S2 S3 S4

9 6 2 15

SU4 SU5 SU6 SU7

S7 S6

9 8 10

U8:C 7408

9 8

B1 B2 B3 B4 C0

U8:A 7408

3

B1 B2 B3 B4 C0

S3

U11 S1 S2 S3 S4

B1 B2 B3 B4 C0

U7:A S1 S2 S3 S4

7483

U6 A4 A5 A6 A7

A1 A2 A3 A4

S7 C4

14

S5

U8:D

10

U7:D

12

12

7432 11

13

11 C2

13 7432

7408

F2

Suma de unidades o bits menos significativos U9 A0 A1 A2 A3 B0 B1 B2 B3

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

U10 S1 S2 S3 S4

9 6 2 15

B1 B2 B3 B4 C0 7483

S0 S1 S2 S3

S0 S1 S2 S3

F1

C4

14

C1

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

U7:A S1 S2 S3 S4

9 6 2 15

SU0 SU1 SU2 SU3

3 2

S2

U8:A 1

7408

3

B1 B2 B3 B4 C0

1

S3

C4

4

4

S3 14

6

7432 6

5

S1

U8:B

2

U7:B

C1

5

F1

7432

7483

7408

Sumador U9, señal de salida (S0S1S2S3C1) Bits menos significativos de A (A0A1A2A3) de B (B0B1B2B3); el valor de entrada C0 es 0 debido a que no existe acarreo en la suma de unidades.

U9 A0 A1 A2 A3 B0 B1 B2 B3

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

S1 S2 S3 S4

9 6 2 15

S0 S1 S2 S3

B1 B2 B3 B4 C0

C4

14

C1

7483

Como habíamos mencionado anteriormente en caso de que la suma entre los bits menos significativos de A y B exceda a 9 (1001), el resultado será un código BCD no válido, por lo que se debe corregir sumándole 6 (0110) al resultado, también pese a que la suma nos dé, de resultado un código BCD válido, si existe un acarreo de salida C1 le sumaremos el valor de 6 (0110) como mostramos en los ejemplos. Validación a la suma de unidades que exceda a 9 Variables de entrada S3: Bit más significativo de la suma entre los bits menos signifcativos de A y B. S2: Segundo bit significativo de la suma entre los bits menos signifcativos de A y B. S1: Tercer bit significativo de la suma entre los bits menos signifcativos de A y B. Variables de salida SA: La suma de los bits menos significativos entre A y B es >9.

Tabla de verdad S3 S2 S1 SA 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

S3S2 S1 0 1

Mapa K 00 01 11

10

0 0

0 1

0 0

1 1

Función de salida SA = S3S2+S3S1

Circuito de validación U7:A 1

S3

3 2

S2

U8:A 1

7408

3 4

4

S3

6

7432 6

C1

5

S1

U8:B

2

U7:B

5

F1

7432 7408

Validación suma de unidades completa

Variables de entrada C1: Existe acarreo producido por la suma de los bits menos significativos de A y B. SA: Suma de los bits menos significativos de A y B es > 9. Variables de salida F1: Si existe acarreo de salida de U9 o la suma es un código BCD no válido, se efectuará la suma de 6 (0110) al resultado.

Tabla de verdad C1 SA F1 0 0 0 0 1 1 1 0 1 1 1 1

Función de salida Notamos que la función cumple con la tabla de verdad de la compuerta SSI OR, por lo que la función de salida quedaría de la siguiente forma: F1 = C1+SA Circuito de validación completo U7:A S3 S2

1 3 2

U8:A 1

7408

3

S3 S1

U8:B

2

U7:B

4

4

6

7432 6

5

C1

5 7432

7408

Sumador U10, señal de salida (SU0SU1SU2SU3)

F1

U10 10 8 3 1

S0 S1 S2 S3

11 7 4 16

F1

13

A1 A2 A3 A4

9 6 2 15

S1 S2 S3 S4

SU0 SU1 SU2 SU3

B1 B2 B3 B4 C0

14

C4

7483

Tras haber validado la operación, para sumar el valor de 6 (0110) con la suma de los bits menos significativos de A y B utilizamos otro sumador (U10), el cual nos dará como valores de salida el valor correcto de la suma entre las unidades de A y B, cuya señal de salida será la que se muestre en el primer display de resultado. Suma de decenas o bits más significativos U6 A4 A5 A6 A7 B4 B5 B6 B7 F1

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

U11 S1 S2 S3 S4

9 6 2 15

B1 B2 B3 B4 C0 7483

S4 S5 S6 S7

S4 S5 S6 S7

F2

C4

14

C2

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

U7:C S1 S2 S3 S4

9 6 2 15

SU4 SU5 SU6 SU7

8 10

S6

U8:C 7408

9 8

B1 B2 B3 B4 C0

9

S7

14

12

12

S7 C4

7432 11

13

S5

U8:D

10

U7:D

11 C2

13

F2

7432

7483

7408

Sumador U6, señal de salida (S4S5S6S7C2) Bits más significativos de A (A4A5A6A7) de B (B4B5B6B7); el valor de entrada C0 en este caso es F1 ya que puede existir un acarreo producid por la suma de las unidades de A y B. U6 A4 A5 A6 A7 B4 B5 B6 B7 F1

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

S1 S2 S3 S4

9 6 2 15

S4 S5 S6 S7

B1 B2 B3 B4 C0

C4

14

C2

7483

De las misma forma, en esta operación la suma de los bits más significativos de A y B puede exceder a 9 o puede existir acarreo de salida, por lo que seguimos el mismo procedimiento que el realizado para las unidades de A y B. Validación suma de decenas que exceda a 9 Variables de entrada

Tabla de verdad

S7: Bit más significativo de la suma entre los bits más signifcativos de A y B. S6: Segundo bit significativo de la suma entre los bits más signifcativos de A y B. S5: Tercer bit significativo de la suma entre los bits más signifcativos de A y B. Variables de salida SB: La suma de los bits más significativos entre A y B es >9. S7S6 S5 0 1

Mapa K 00 01 11

10

0 0

0 1

0 0

1 1

S7 0 0 0 0 1 1 1 1

S6 0 0 1 1 0 0 1 1

S5 0 1 0 1 0 1 0 1

SB 0 0 0 0 0 1 1 1

Función de salida SB = S3S2+S3S1

Validación suma de unidades completa Variables de entrada C2: Existe acarreo producido por la suma de los bits más significativos de A y B. SB: La suma de los bits más significativos de A y B es > 9. Variables de salida F2: Si existe acarreo de salida de U6 o la suma es un código BCD no válido, se efectuará la suma de 6 (0110) al resultado.

Tabla de verdad C2 SB F2 0 0 0 0 1 1 1 0 1 1 1 1

Función de salida F2 = C2+SB Circuito de validación completo U7:C S7 S6

9 8 10

U8:C 9

7408

8

S7 S5

U8:D

10

U7:D

12

12

11

7432 11

13

C2

13 7432

7408

Sumador U11, señal de salida (SU4SU5SU6SU7)

F2

U11 S4 S5 S6 S7

F2

10 8 3 1 11 7 4 16 13

A1 A2 A3 A4

9 6 2 15

S1 S2 S3 S4

SU4 SU5 SU6 SU7

B1 B2 B3 B4 C0

14

C4

7483

El sumador U11, efectuará la suma con el valor de 6, en caso de que la suma de las decenas sea >9,es decir, que el resultado será un número BCD no válido o exista el acarreo, dándonos como resultado el valor correcto de la suma entre las decenas de A y B, cuya señal de salida será mostrada en el segundo display de resultado. Los valores de SU0SU1SU2SU3 y SU4SU5SU6SU7 corresponden a la respuesta de la suma entre A y B, siendo unidades y decenas respectivamente, las mismas que serán mostradas en los diplays de resultado. Hasta ahora hemos resuelto la suma de A con B y utilizado 2 displays de los 3 del resultado, por lo que el resultado esperado de la operación no podría ser el correcto, en el caso general de que la suma sea >99, el valor de la centena (1) no sería mostrado en el tercer display del resultado, para mostrar el número detallaremos otro bloque del circuito.

OPERACIÓN +/1

+/-

Considerando que la suma sea activada, es decir el switch de operación este en encendido (1). Para mostrar el valor de la centena en caso de que la suma A+B>99, es decir, que exista acarreo de la suma de las decenas o bits más significativos de A y B. Variables de entrada F2: Existe acarreo de salida del sumador U6. +/-: La operación será suma o resta. Variables de salida >99: Si la suma entre A y B excede el valor de 99 y escogemos la operación suma.

Tabla de verdad F2 +/- >99 0 0 0 0 1 0 1 0 0

1

1

1

Función de salida >99=F2.+/Circuito para mostrar el valor de la centena del resultado

SUMA MAYOR A 99

U37:A F2 +/-

1 3 2 7408

Al realizar la función de >99 enviamos esta señal a mi tercer display de resultado, específicamente a las entradas b,c para que me muestre el 1. ¿Por qué 1? Porque si consideramos el caso de los máximos valores que puede tomar A o B serían 99 con resultado igual a 198, el tercer display tendría que mostrar el valor de 1. De esta forma, se ha realizado el proceso de la suma, tomando en cuenta los posibles casos que se pueden suscitar. RESTADOR Para efectuar la resta es necesario consideraralgunos casos relevantes los cuales se debe tener en cuenta par el siseño del circuito

En este bloque denominado como RESTADOR, se pretende realizar la operación de resta entre A y B, considerando que dicha operación puede representarse como una suma, utilizando el cirucuito integrado 74283, el cual es un circuito aritmético lógico sumador de 4 bits. Además se considera el complemento a1 para realizar la operación de restar y a su vez se realiza la validación para los casos en que la suma excede a 9 produciendo un número BCD no válido o existan acarreos al momento de efectuar la operación de restar. A continuación se detallará la resta entre A y B. Resta de las unidades o bits menos significativos (Suma)

Sumador U4 (Unidades de A y B)

Este sumador toma como valores de entrada el complemento de MA0, MA1, MA2 y MA3, el cual niega la salida del muxtiplexor U22, este valor de entrada es el mayor valor entre A y B y representa a las unidades, siendo MA0, MA1, MA2 y MA3 los bits menos significativos de A o B de acuerdo al ingreso, mientras que la entrada MI0, MI1, MI2 y MI3 representan el menor valor entre A y B y de igual manera representa los bits menos significativos de A o B es decir, el valor de A o B no seleccionado por el mux U22, el cual es seleccionado por el multiplexor U24. Por ejemplo: 

Resta (A>B)

Las unidades de A representa el mayor valor de A y B, por tal motivo serán los valores de (MA0, MA1, MA2 y MA3) considerando su complemento para efectuar la operación de restar, mientras que B representa el menor valor de A y B y toma los valores de (MI0, MI1, MI2 y MI3). 

Resta (AdA) o (uB>uA y dA>dB)

Variables de entrada SR3: Bit más significativo del resultado de la suma entre los bits menos signifcativos de A y B. SR2: Segundo bit significativo del resultado de la suma entre los bits menos signifcativos de A y B. SR1: Tercer bit significativo del resultado de la suma entre los bits menos signifcativos de A y B. Variables de salida RA: Suma de los bits menos significativos entre A y B para el caso en que (uA>uB y dB>dA) o viceversa. Mapa K ̅̅̅̅̅ ̅̅̅̅̅ 𝐒𝐑 𝟑 𝐒𝐑 𝟐 00 01 11 10 ̅̅̅̅̅ 𝐒𝐑 𝟏 0 0 0 1 0 1 0 0 1 1

Validación suma de unidades completa

Tabla de verdad SR3 SR2 SR1 RA 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Función de salida ̅̅̅̅̅𝟑 ̅̅̅̅̅ ̅̅̅̅̅𝟑 ̅̅̅̅̅ RA = 𝐒𝐑 𝐒𝐑 𝟐 +𝐒𝐑 𝐒𝐑 𝟏

Variables de entrada C3: Acarreo producido por la suma de los bits menos significativos de A y B. SB: Suma de los bits menos significativos entre A y B para el caso en que las (uA>uB y dB>dA) o viceversa. Variables de salida F3: Función correctora que suma 10 (1010) si existe una suma en que las (uA>uB y dB>dA) o viceversa.

Tabla de verdad C3 RA F3 0 0 0 0 1 1 1 0 1 1 1 1

Función de salida F3 = C3+RA

Resta de las decenas o bits más significativos (Suma) Al igual que la resta de las unidades o bits menos significativos el sumador U13 recibe el complemento de (MA4, MA5, MA6, y MA7) correspondiente a las decenas del número mayor entre A y B, mientras que (MI4, MI5, MI6 y MI7) representa las decenas del número menor entre A y B. Para efectuar esta operación se emplea el complemento a1, negando a la salida el resultado de la suma de las decenas, además se considera el acarreo C3 correspondiente al resultado de la suma de los bits menos significativos en el sumador U4, para el caso en que el resultado de la suma de las unidades sea >9.

Para el caso en que las uA (unidades de A) sean menores a las uB (unidades de B) y las dA (decenas de A) sean mayores a las dB (decenas de B) o viceversa, es necesario sumarle 10 (1010) al resultado de la suma, por ejemplo:

Las salidas del sumador U5 representadas por (RES0, RES1, RES2 y RES3) corresponden al resultado de la operación de los bits menos significativos en la resta, mientras que (RES4, RES5, RES6 y RES7) corresponden al resultado de los bits más significados en el sumador U13, de igual manera en la resta. Dichas salidas se conectan a las entradas del Seleccionador de Operación pertenecientes a los multiplexores U58 y U59 respectivamente. Signo al operar la resta

Considerando que la resta está activada, es decir, que el switch de operación esté apagado (0). Para mostrar el signo negativo en caso de que A