0% encontró este documento útil (0 votos)
252 vistas20 páginas

Sumador Restador 8 Bits BCD

Este documento describe un proyecto de circuitos digitales para diseñar e implementar un circuito sumador-restador de 8 bits. El circuito permitirá seleccionar entre suma y resta de dos números de 8 bits codificados en BCD e visualizará el ingreso de datos y resultado en displays de 7 segmentos. Contiene información sobre objetivos, problema a resolver, descripción general del proyecto e implementación detallada del sumador.

Cargado por

Raham Castillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
252 vistas20 páginas

Sumador Restador 8 Bits BCD

Este documento describe un proyecto de circuitos digitales para diseñar e implementar un circuito sumador-restador de 8 bits. El circuito permitirá seleccionar entre suma y resta de dos números de 8 bits codificados en BCD e visualizará el ingreso de datos y resultado en displays de 7 segmentos. Contiene información sobre objetivos, problema a resolver, descripción general del proyecto e implementación detallada del sumador.

Cargado por

Raham Castillo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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 A3 A2 A1 A0 BCD
0 0 0 0 0 Si
1 0 0 0 1 Corresponde
2 0 0 1 0 a BCD
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
No
12 1 1 0 0
Corresponde
13 1 1 0 1
a BCD
14 1 1 1 0
15 1 1 1 1

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 U10 U7:A
10 9 10 9 1
A0 A1 S1 S0 S0 A1 S1 SU0 S3
8 6 8 6 3
A1 A2 S2 S1 S1 A2 S2 SU1
3 2 3 2 2
A2 A3 S3 S2 S2 A3 S3 SU2 S2 U8:A
1 15 1 15
A3 A4 S4 S3 S3 A4 S4 SU3
7408 1
11 11 3
B0 B1 B1 U8:B
7 7 2
B1 B2 B2 U7:B
4 4 4
B2 B3 F1 B3
16 16 4 7432 6
B3 B4 B4 S3 F1
6 5
C1
13 14 13 14 5
C0 C4 C1 C0 C4 S1
7432
7483 7483 7408

U6 U11 U7:C
10 9 10 9 9
A4 A1 S1 S4 S4 A1 S1 SU4 S7
8 6 8 6 8
A5 A2 S2 S5 S5 A2 S2 SU5
3 2 3 2 10
A6 A3 S3 S6 S6 A3 S3 SU6 S6 U8:C
1 15 1 15
A7 A4 S4 S7 S7 A4 S4 SU7
7408 9
11 11 8
B4 B1 B1 U8:D
7 7 10
B5 B2 B2 U7:D
4 4 12
B6 B3 F2 B3
16 16 12 7432 11
B7 B4 B4 S7 F2
11 13
C2
13 14 13 14 13
F1 C0 C4 C2 C0 C4 S5
7432
7483 7483 7408
Suma de unidades o bits menos significativos

U9 U10 U7:A
10 9 10 9 1
A0 A1 S1 S0 S0 A1 S1 SU0 S3
8 6 8 6 3
A1 A2 S2 S1 S1 A2 S2 SU1
3 2 3 2 2
A2 A3 S3 S2 S2 A3 S3 SU2 S2 U8:A
1 15 1 15
A3 A4 S4 S3 S3 A4 S4 SU3
7408 1
11 11 3
B0 B1 B1 U8:B
7 7 2
B1 B2 B2 U7:B
4 4 4
B2 B3 F1 B3
16 16 4 7432 6
B3 B4 B4 S3 F1
6 5
C1
13 14 13 14 5
C0 C4 C1 C0 C4 S1
7432
7483 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
10 9
A0 A1 S1 S0
8 6
A1 A2 S2 S1
3 2
A2 A3 S3 S2
1 15
A3 A4 S4 S3
11
B0 B1
7
B1 B2
4
B2 B3
16
B3 B4
13 14
C0 C4 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 Tabla de verdad


S3: Bit más significativo de la suma entre S3 S2 S1 SA
los bits menos signifcativos de A y B. 0 0 0 0
S2: Segundo bit significativo de la suma 0 0 1 0
entre los bits menos signifcativos de A y 0 1 0 0
B. 0 1 1 0
S1: Tercer bit significativo de la suma 1 0 0 0
entre los bits menos signifcativos de A y 1 0 1 1
B. 1 1 0 1
Variables de salida 1 1 1 1
SA: La suma de los bits menos
significativos entre A y B es >9.
Mapa K
S3S2 00 01 11 10 Función de salida
S1 SA = S3S2+S3S1
0 0 0 1 0
1 0 0 1 1

Circuito de validación

U7:A
1
S3
3
2
S2 U8:A
7408 1
3
2 U8:B
U7:B 4
4 7432 6
S3 F1
6 5
C1
5
S1
7432
7408

Validación suma de unidades completa

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

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
1
S3
3
2
S2 U8:A
7408 1
3
2 U8:B
U7:B 4
4 7432 6
S3 F1
6 5
C1
5
S1
7432
7408

Sumador U10, señal de salida (SU0SU1SU2SU3)


U10
10 9
S0 A1 S1 SU0
8 6
S1 A2 S2 SU1
3 2
S2 A3 S3 SU2
1 15
S3 A4 S4 SU3
11
B1
7
B2
4
F1 B3
16
B4
13 14
C0 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 U11 U7:C
10 9 10 9 9
A4 A1 S1 S4 S4 A1 S1 SU4 S7
8 6 8 6 8
A5 A2 S2 S5 S5 A2 S2 SU5
3 2 3 2 10
A6 A3 S3 S6 S6 A3 S3 SU6 S6 U8:C
1 15 1 15
A7 A4 S4 S7 S7 A4 S4 SU7
7408 9
11 11 8
B4 B1 B1 U8:D
7 7 10
B5 B2 B2 U7:D
4 4 12
B6 B3 F2 B3
16 16 12 7432 11
B7 B4 B4 S7 F2
11 13
C2
13 14 13 14 13
F1 C0 C4 C2 C0 C4 S5
7432
7483 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
10 9
A4 A1 S1 S4
8 6
A5 A2 S2 S5
3 2
A6 A3 S3 S6
1 15
A7 A4 S4 S7
11
B4 B1
7
B5 B2
4
B6 B3
16
B7 B4
13 14
F1 C0 C4 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 S7 S6 S5 SB
los bits más signifcativos de A y B. 0 0 0 0
S6: Segundo bit significativo de la suma 0 0 1 0
entre los bits más signifcativos de A y B. 0 1 0 0
S5: Tercer bit significativo de la suma 0 1 1 0
entre los bits más signifcativos de A y B. 1 0 0 0
Variables de salida 1 0 1 1
SB: La suma de los bits más 1 1 0 1
significativos entre A y B es >9. 1 1 1 1
Mapa K
S7S6 00 01 11 10 Función de salida
S5 SB = S3S2+S3S1
0 0 0 1 0
1 0 0 1 1

Validación suma de unidades completa


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

Función de salida
F2 = C2+SB

Circuito de validación completo

U7:C
9
S7
8
10
S6 U8:C
7408 9
8
10 U8:D
U7:D 12
12 7432 11
S7 F2
11 13
C2
13
S5
7432
7408

Sumador U11, señal de salida (SU4SU5SU6SU7)


U11
10 9
S4 A1 S1 SU4
8 6
S5 A2 S2 SU5
3 2
S6 A3 S3 SU6
1 15
S7 A4 S4 SU7
11
B1
7
B2
4
F2 B3
16
B4
13 14
C0 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. Tabla de verdad
+/-: La operación será suma o resta. F2 +/- >99
Variables de salida 0 0 0
>99: Si la suma entre A y B excede el valor 0 1 0
de 99 y escogemos la operación suma. 1 0 0
1 1 1

Función de salida
>99=F2.+/-

Circuito para mostrar el valor de la centena del resultado

U37:A
SUMA MAYOR F2
1
3
A 99 +/-
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 (A<B)
En el caso de que A es menor que B, las unidades de B representan el número mayor
(MA0, MA1, MA2 y MA3) y lo complementa para realizar la operación de restar,
mientras que las unidades de A representan el número menor (MI0, MI1, MI2 y MI3). Se
debe considerar que al ser A<B no interesa que las unidades de A sean mayores que las
unidades de B.

Sumador U4 y U5 (Unidades de A y B)

Luego de recibir los datos de entrada de A y B para las unidades, considerando cual es
el mayor y menor de ellos se procede a realizar la suma negando al final de la misma, es
decir se aplica el complemento a1 para efectuar la operación. Por ejemplo:

Este proceso determina el resultado de la operación en magnitud, más no en magnitud y


signo. El signo se determina en el bloque del Signo de la Resta, dado a conocer más
adelante.

Corrector para el caso en que las (uA>uB y dB>dA) o (uB>uA y dA>dB)


Variables de entrada Tabla de verdad
SR3: Bit más significativo del resultado SR3 SR2 SR1 RA
de la suma entre los bits menos 0 0 0 0
signifcativos de A y B. 0 0 1 0
SR2: Segundo bit significativo del 0 1 0 0
resultado de la suma entre los bits menos 0 1 1 0
signifcativos de A y B. 1 0 0 0
SR1: Tercer bit significativo del resultado 1 0 1 1
de la suma entre los bits menos 1 1 0 1
signifcativos de A y B. 1 1 1 1
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 Función de salida
̅̅̅̅̅
𝐒𝐑 𝟏 ̅̅̅̅̅𝟑 ̅̅̅̅̅
RA = 𝐒𝐑 ̅̅̅̅̅𝟑 ̅̅̅̅̅
𝐒𝐑 𝟐 +𝐒𝐑 𝐒𝐑 𝟏
0 0 0 1 0
1 0 0 1 1

Validación suma de unidades completa


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

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<B, tendríamos que enviar una señal de
activación a la entrada g, la cual me represntará el número negativo del resultado de la
operación.

Variables de entrada
A<B: A es menor que B Tabla de verdad
+/-: La operación será suma o resta A<B +/- S
Variables de salida 0 0 0
S: El resultado de la operación es 0 1 0
negativo, por lo que mostrará el signo 1 0 1
menos. 1 1 0

Función de salida
S=A<B.+/-

Esta señal S será enviada al tercer display.


Circuito para mostrar el signo negativo del resultado.

U17:A
1 2
+/-
U16:A
SIGNO DE 7404
1
3
LA RESTA A<B
2

74LS08

Seleccionador de la Operación

Este bloque toma como datos de entrada el resultado del bloque Sumador y del Bloque
Restador, es decir, las variables de salida de cada uno de ellos, teniendo en cuenta que
dicho mux depende de la entrada de selección (+/-), quien es la encargada de
seleccionar la operación a efectuar de acuerdo a lo que se necesite, uno (1) suma y cero
(0) resta.

Selector del resultado de los bits menos significativos de la suma y la resta


(unidades)

El multiplexor U58, toma como valores de entrada el resulatado de los bits menos de la
suma y la resta correspondiente al sumador U10 y al sumador U5 respectivamente. Las
variables de entrada RES0, RES1, RES2 y RES3 representan los bits menos significativos
de la resta, mientras que SU0, SU1, SU2 y SU3 corresponden a los bits menos
significativos de la suma, es decir las unidades. Además la entrada de selección del
MUX (+/-) se encarga de seleccionar la operación solicitada.

Variables de salida de MUX U58 (unidades)

DI0: Bit menos signidicativo que toma la salida del multplexor.

DI1: Sedundo bit signidicativo que toma la salida del multplexor.

DI2: Tercer bit signidicativo que toma la salida del multplexor.

DI3: Bit más signidicativo que toma la salida del multplexor.

Dichas variables de salida serán conectadas a las entradas del codificador U31, el cual
será conectado de forma directa para representar el resultado de la operación de la suma
o la resta correspondiente a las unidades, el cual será visualizado a través de un display
7 segmentos Cátodo Común.
Selector del resultado de los bits más significativos de la suma y la resta (decenas)

Este multiplexor toma como datos de entrada los bits más significativos (decenas) del
resultado de la suma y la resta, siendo RES4, RES5, RES6 y RES7 el resultado de la
resta, mientras que SU4, SU5, SU6 y SU7 representan el resultado de la suma en las
decenas. Además se debe tener en cuenta que el mux U59 tambíen depende de la
entrada de selección (+/-), quien está relcionado directamente con e resultado de las
unidades (MUX U58).

Variables de salida de MUX U58 (decenas)

DI4: Bit menos signidicativo que toma la salida del multplexor.

DI5: Sedundo bit signidicativo que toma la salida del multplexor.

DI6: Tercer bit signidicativo que toma la salida del multplexor.

DI7: Bit más signidicativo que toma la salida del multplexor.


Estas variables de salida se conectan a la entrada del decodificador 7448 (U30) el cual
está conectado al dsplay 7 segmentos y mostrará el resultado correspondiente a las
decenas.

Representación del resultado de la suma y la resta

Una vez realizado el ingreso de datos

También podría gustarte