Professional Documents
Culture Documents
Ai
0
0
1
1
Bi
0
1
0
1
Ci+1
0
0
0
1
Si
0
1
1
0
C i 1 Ai Bi
S i Ai Bi
5.1.2. Sumador completo de 1 bit. Full Adder (FA).
Como el semisumador, pero adems con entrada de acarreo.
Ai
0
0
0
0
1
1
1
1
Bi
0
0
1
1
0
0
1
1
Ci
0
1
0
1
0
1
0
1
Ci+1
0
0
0
1
0
0
0
1
Si
0
1
1
0
0
1
1
0
Ai
Bi
Ci
SUMADOR ELEMENTAL
O COMPLETO DE 1 BIT
FA
Si
Ci+1
Considerando que el semisumador es un bloque que realiza la operacin XOR de dos variables y la
operacin AND de las mismas variables, se puede construir un sumador completo de 1 bit a partir de dos
semisumadores y una puera segn la figura adjunta:
1
Ai Bi
Ai
SEMISUMADOR
Bi
Ci
Ci
SEMISUMADOR
Ai Bi
Ai Bi Ci Si
( Ai Bi ) Ci
PUERTA
OR
Ci+1
Restador de un bit. Se puede definir directamente la resta binario segn la siguiente tabla:
Mi
Si
0
0
1
1
0
0
1
1
0
0
0
0
1
1
1
1
Ci
0
1
0
1
0
1
0
1
Ri
0
1
1
0
1
0
0
1
Resultado
Ci+1
0
1
1
1
0
0
0
1
0
-1
-1
-2
+1
0
0
-1
De igual forma se podra encontrar un sencillo circuito realizado con puertas para llevar a cabo esta
funcin elemental de resta.
5.1.3. Sumador paralelo con acarreo serie.
Usando n sumadores completos de 1 bis se construye un sumador completo de n bits.
An-1
Bn-1
Cn
A2
B2
A1
B1
A0
B0
Cn-1
C3
FA
Sn
FA
Sn-1
C2
S2
FA
C1
S1
FA
C0
S0
Si ts es el tiempo para realizar una suma y tc el tiempo para realizar un acarreo, resulta:
Dato en
Tiempo
S0
ts
C1
tc
S1
ts + tc
C2
2 tc
Sn-1
ts + (n-1) tc
Sn = Cn
n ts
2
Inconveniente: necesita que actun los anteriores sumadores para que pueda actuar uno en particular.
Se acumulan los retardos de propagacin.
5.1.4. Sumador de arrastre anticipado.
Los acarreos se generan en paralelo (simultneamente) con los resultados, evitando el problema
de propagacin serie de los sumadores vistos anteriormente. Por tanto, estos sumadores son ms rpidos
que los de acarreo serie.
S i Ai Bi C i
C i 1 ( Ai Bi ) C i Ai Bi Pi C i Gi
siendo Pi el llamado trmino Propagador y Gi el llamado trmino Generador, definidos por:
Pi Ai Bi y Gi Ai Bi
Particularizando la expresin C i 1 Pi C i Gi para i = 0, 1, 2, y 3 queda:
C1 P0 C 0 G0
C 2 P1 C1 G1 P1 ( P0 C 0 G0 ) G1 P1 P0 C 0 P1 G0 G1
C3 P2 P1 P0 C 0 P2 P1 G0 P2 G1 G2
C 4 P3 P2 P1 P0 C 0 P3 P2 P1 G0 P3 P2 G1 P3 G2 G3
Las salidas dependen de los datos de entradas y acarreos. Los acarreos dependen de los trminos
propagadores y generadores. Los trminos propagadores y generadores dependen slo de los datos de
entrada.
Por tanto, las salidas dependen slo de los datos de entrada y otros que se obtienen directamente de
stos, y todos se conocen desde el primer momento.
A2
A1
A0
B3
B2
B1
B0
S/R
XOR
XOR
XOR
XOR
Si S/R = 0
Di = Bi
A3
C1
A2
A1
A0
D3
D2
D1
D0
Si S/R = 1
__
Di = Bi
S4
S3
S2
S1
S0
C0
S3
S2
S1
S0
A2
A1
A0
B3
B2
B1
B0
P3
P2 P1
P0
C0
CIRCUITO
COMBINACIONAL
0
ACARREO
3
S2
S1
S0
5
El circuito combinacional detecta que la suma es superior a 9 y da una seal que sirve a la vez para:
1) Activar el acarreo posterior.
2) Restar 10 (o sumar 6, ya que los 4 bits menos significativos son los mismos) al nmero que d
como salida el sumador de 4 bits si la suma est entre 10 y 15, ambos incluidos, o sumar el nmero 6 a los 4
bits que salen del primer sumador si la suma est entre 16 y 19.
Puede parecer que es igual sumar 6 que restar 10. No, hay una diferencia de 16, pero si a un nmero
en binario se le suma 16 (10000), los 4 bits menos significativos del resultado son los mismos, igual que si en
decimal le sumamos a un nmero 10.000, las 4 ltimas cifras no cambian.
La salida de acarreo del segundo sumador completo de 4 bits es irrelevante.
El diseo de dicho circuito responde a la siguiente tabla de verdad:
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
31
cuya solucin es:
C1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
P3
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
0
P2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
P1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
P0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
ACARREO
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
X
X
X
X
ACARREO C1 P3 P1 P3 P2
Los casos comprendidos entre 20 y 31, ambos incluidos, no se darn nunca, ya que el mayor nmero
posible resulta de sumar 9 + 9 + 1 = 19, en el caso de sumar los mayores dgitos BCD y suponiendo entrada
de acarreo de una etapa anterior.
La multiplicacin aritmtica binaria coincide con el producto lgico. El resultado es 1 slo cuando
ambos operando son 1. El algoritmo de multiplicacin utilizado en base decimal es tambin aplicable a base
binaria. Ejemplo:
1 1 0 0 1
1 1 0 1 x
1 1 0 0 1
0 0 0 0 0
1 1 0 0 1
1 1 0 0 1
1 0 1 0 0 0 1 0 1
1 1 0 0 1
1 1 0 1 x
1 1 0 0 1
0 0 0 0 0
------------0 1 1 0 0 1
1 1 0 0 1
-------------1 1 1 1 1 0 1
1 1 0 0 1
---------------1 0 1 0 0 0 1 0 1
25
13 x
75
25
325
Segn que las sumas parciales se realicen de golpe o por partes, hay dos circuitos que implementan
esta operacin: uno con sumadores completos de 1 bit y otro con sumadores completos de varios bits,
respectivamente.
a1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
a0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
b1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
b0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Z1
0
0
0
0
1
0
0
0
1
1
0
0
1
1
1
0
Z2
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
Z3
0
1
1
1
0
0
1
1
0
0
0
1
0
0
0
0
A>B
a1
a0
COMPARADOR
A=B
A<B
b1
b0
Z1
Z2
Z3
Se pueden hacer comparadores de nmeros binarios de 4 bits usando comparadores de 2 bits. Para
ello, hay que tener en cuenta que al comparar dos nmeros de 4 bits, los dos bits ms signoificativos
determinan cul de los dos nmeros es mayor, independientemente de los otros dos. Esto tambin ocurre en
base 10.
De la comparacin de dos nmeros de 4 bits se pueden obtener los siguientes casos:
A es mayor que B si los dos bits ms significativos de A son mayores que los dos bits ms
significativos de B, o, si siendo stos iguales, los dos bits menos significativos de A son mayores que
los dos bits menos significativos de B.
A es igual que B si los dos bits ms significativos de A son iguales que los dos bits ms significativos
de B, y, adems, los dos bits menos significativos de A son iguales que los dos bits menos
significativos de B.
A es menor que B si los dos bits ms significativos de A son menores que los dos bits ms
significativos de B, o, si siendo stos iguales, los dos bits menos significativos de A son menores que
los dos bits menos significativos de B.
Si llamamos Z1M, Z2M y Z3M a las salidas A>B, A=B y A<B, respectivamente, del comparador de los
bits ms significativos y Z1L, Z2L y Z3L a las salidas A>B, A=B y A<B, respectivamente, del comparador de los
bits menos significativos, las salidas Z1 (A>B), Z2 (A=B) y Z3 (A<B), se pueden expresar como:
Z1 Z1M Z 2 M Z1L
Z 2 Z 2M Z 2 L
Z 3 Z 3M Z 2 M Z 3L
a3
a2
A>B
Z1M
COMPARADOR
DE
Z2M
NMEROS
DE 2 BITS
Z3M
b3
b2
a1
a0
A=B
Z1L
COMPARADOR
DE
Z2L
NMEROS
DE 2 BITS
Z3L
A<B
b1
b0
Comparador de 4 bits con dos comparadores de 2 bits
Los circuitos integrados comparadores pueden tener entradas >, =, < que transmiten el resultado de
la entrada a la salida cuando las palabras de bits a comparar son iguales. Esto se utiliza para realizar
comparaciones de un gran nmero de bits a partir de comparadores ms pequeos, colocndolos en cascada.
5.3.2. Detectores y generadores de paridad.
Generador de paridad.
0
0
0
0
1
1
1
1
x2
0
0
1
1
0
0
1
1
X3
0
1
0
1
0
1
0
1
P
0
1
1
0
1
0
0
1
P x1 x 2 x3
I
1
0
0
1
0
1
1
0
x1
x2
x3
GENERADOR DE
PARIDAD PAR
x1
x2
x3
GENERADOR DE
PARIDAD IMPAR
I x1 x 2 x3
10
Los bits de paridad constituyen una informacin redundante que sirve para detectar errores en 1 bit.
Si el bit de paridad es el correcto, no ha habido error. Si algn bit se cambia de valor, el bit de paridad da
resultado incorrecto, ha habido un error, aunque no se sabe en qu bit.
Sin embargo, la comprobacin de paridad no detecta error si se cambian dos bits. Si el bit errneo es
el propio bit de paridad, sin que haya error en el resto de los bits, detecta error cuando en realidad no lo ha
habido.
Detector de paridad.
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
x2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
x1
x2
x3
x3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
x4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
P
1
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
I
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
0
GENERADOR DE
PARIDAD
DESCONOCIDA
x4
x1
x2
x3
P x1 x 2 x3 x 4
DETECTOR DE
PARIDAD
I
I x1 x 2 x3 x 4
CONVERSOR
DE CDIGO
b1
b2
.
.
.
.
bm
11
CONVERSOR
DE CDIGO
BCD
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
C
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
A
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
a
1
0
1
1
0
1
1
1
1
1
0
0
0
0
0
0
SEGMENTOS
D
A DISPLAY DE
C
c
d
b
1
1
1
1
1
0
0
1
1
1
0
0
0
0
0
0
c
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
d
1
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
e
1
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
f
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
0
g
0
0
1
1
1
1
1
0
1
1
0
0
0
0
0
0
Se puede hacer un conversor de cdigo usando una pareja de mdulos: Decodificador y Codificador.
Los cdigos pueden tener distinto nmero de bits.
Ejemplo: convertir el cdigo A en el cdigo B segn la tabla adjunta:
Cdigo A
Cdigo B
X1
0
0
1
1
Y1
0
1
1
0
X0
0
1
0
1
YO
1
0
1
0
X0
X1
DEC
2x4
0
1
2
3
0
1
2
3
COD
4x2
Y0
Y1
12
Puede ocurrir que los dos cdigos no tengan el mismo nmero de bits. Lo vemos en este otro ejemplo:
convertir el cdigo A en el cdigo B segn la tabla adjunta:
Cdigo A
X1
0
0
1
1
X0
0
1
0
1
Cdigo B
S3
0
0
0
1
S2
0
0
1
1
S1
0
1
0
1
SO
1
0
1
0
X0
DEC
2x4
X1
0
1
2
3
0
0
1
2
3 COD
4 16x4
5
.
.
1
14
15
Y0
Y1
Hay circuitos integrados que realizan conversiones de cdigos BCD binario y viceversa. Ejemplo: el
circuito integrado 74184 convierte 6 bits BCD ( 4 de menos peso y 2 de ms peso, es decir, el mayor nmero
que se puede representar es el 39) en binario de 6 bits. Por ejemplo, 110011, que representara al 33, lo
convierte a 33 en binario, que es 100001. Por el contrario, el circuito 74185 convierte un nmero binario de 6
bits en dos BCD (con 8 bits); por ejemplo, el nmero 50, que en binario sera 110010, lo expresa como 0101
0000.
Otro ejemplo de conversor de cdigo es un conversor de 4 bits (siendo G 3 y B3 los bits ms
significativos de los cdigos Gray y binario, respectivamente) que cambia un cdigo binario puro en Gray y
viceversa. Se rige por las siguientes ecuaciones:
G 3 B3
G 2 B3 B2
G1 B2 B1
G0 B1 B0
B3 G3
B2 G3 G2 B3 G2
B1 B2 G1 G3 G 2 G1
B0 B1 G0 G3 G 2 G1 G0
Se trata de disear una ALU con las siguientes caractersticas: Datos de 4 bits, A y B, 4 lneas de
seleccin S3 hasta S0 para controlar la operacin de la siguiente forma
S3=0 (LGICA)
S2 S1
Operacin
0
0
1
1
A and B
A or B
NOT A
A xor B
0
1
0
1
S3=1 (ARITMTICA)
S2
S1
S0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Operacin
A
A
A
A
A
A
A
A
+ B
+ B + 1
- 1
(sumando 1111+1)
(sumando 0000+0)
+ 1
- B 1
B
Diagrama de bloques
14
15
16
b3
S2
S1
b2
b1
b0
BLOQUE
B
d3
d2
d1
d0
S1
0
1
0
1
SUMAR
1111
0000
B
S1
bi
di
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
0
1
0
17