Está en la página 1de 31

Tema 2

SISTEMAS COMBINACIONALES
En este tema se estudiarn algunas de las funciones combinacionales ms utilizadas,
las cuales se implementan en chips comerciales. Como estas funciones son relativamente
complejas, el chip deber contener ms de 10 puertas lgicas y, por lo tanto, estos circuitos
integrados pertenecern a la escala MSI.
Las funciones que vamos a estudiar son: sumadores, comparadores, unidades aritmticolgicas (ALUs), multiplexores, demultiplexores, decodificadores, codificadores y conversores de cdigo.

2.1.
2.1.1.

SUMADORES
Semisumador

La suma de dos dgitos binarios (PLUS) es similar a la suma de dos nmeros decimales,
pero teniendo en cuenta que la salida tambin es un nmero binario. Esto es importante
cuando sumo, por ejemplo, 1 y 1, ya que para codificar el resultado (2 en decimal) necesito dos bits (10). En este caso, el bit menos significativo lo llamaremos suma, mientras
que el bit ms significativo lo llamaremos acarreo (carry en ingls). En total, existen 4
posibilidades de sumar dos nmeros binarios de 1 bit:

PLUS

0
0

0
1

1
0

1
1

10

El circuito que implementa esta funcin se denomina semi-sumador (HA o halfadder).


Por lo tanto, un HA es el circuito que realiza la suma de dos bits. Como es obvio, precisa
dos entradas (que vamos a llamar A y B) y dos salidas: la suma propiamente dicha (S
1

TEMA 2. SISTEMAS COMBINACIONALES

A B
SALIDAS
Cout S

ENTRADAS
A
B
0
0
1
1

0
1
0
1

0
0
0
1

0
1
1
0

HA

Cout S

Figura 2.1: Tabla de verdad y smbolo de un semisumador (HA).


S

C
B
A

B
A

0
1

1
1

Figura 2.2: Minimizacin de las funciones suma y acarreo de un semisumador.


P

o ) y el acarreo C. En la figura 2.1 se puede ver la tabla de verdad de las funciones


de salida y el smbolo del HA. De los diagramas de Karnaugh (figura 2.2) obtenemos sus
expresiones mnimas:
C = AB
S = AB + AB A B
La funcin de acarreo C es 1 nicamente cuando las dos entradas son 1. Adems de
la expresin en suma de productos, existen otras formas de expresar la funcin suma,
aunque todas ellas se pueden deducir de la anterior aplicando las Leyes de De Morgan y
la propiedad distributiva del lgebra de Boole. La expresin ms sencilla es la EXOR de
las entradas: la suma es 1 cuando en las entradas tenemos un nmero impar de 1s, y es
0 en caso contrario. En la figura 2.3 se pueden ver algunas implementaciones de un HA.

2.1.2.

Sumador completo

Si adems de sumar dos dgitos, tambin queremos sumar un acarreo de entrada,


entonces el HA es insuficiente. Para sumar 3 dgitos de 1 bit necesitamos lo que se conoce
como sumador completo (fulladder o FA). Si a los bits de entrada les llamamos A y B,
y al acarreo de entrada lo denominamos Cin , entonces la tabla de verdad de las salidas
del FA (el bit de la suma, S, y el acarreo de salida, Cout ) la tenemos en la figura 2.4.
La minimizacin de las funciones de salida del sumador completo se puede ver en la
figura 2.5. El resultado de la minimizacin son las expresiones:
Cout = AB + ACin + BCin = AB + (A + B)Cin
S = ABC in + AB C in + A BCin + ABCin = A B Cin

2.1. SUMADORES

Figura 2.3: Distintas implementaciones de un semisumador (HA).

ENTRADAS
A
B
Cin
0
0
0
0
1
1
1
1

0
0
1
1
0
0
1
1

0
1
0
1
0
1
0
1

SALIDAS
S
Cout
0
0
0
1
0
1
1
1

0
1
1
0
1
0
0
1

A B Cin

FA

Cout S

Figura 2.4: Tabla de verdad y smbolo de un sumador completo (FA).

TEMA 2. SISTEMAS COMBINACIONALES

Cout
AB
Cin

00 01 11 10

0
1

00 01 11 10

1
1

AB
Cin

1
1

1
1

Figura 2.5: Diagramas de Karnaugh de las salidas de un sumador completo.

Figura 2.6: Implementacin de un FA a partir de HA.


S es la funcin EXOR de las 3 entradas, es decir, su valor ser 1 cuando en las entradas
haya un nmero impar de unos. Cout ser 1 cuando en las entradas haya dos o tres unos.
Construccin de un Sumador Completo con Semisumadores
Las funciones del sumador completo se pueden implementar directamente utilizando las expresiones mnimas de S y Cout . Sin embargo, tambin se pueden implementar
utilizando como mdulo bsico el semisumador y puertas lgicas adicionales.
Sabemos que el bit de suma del FA es la EXOR de las tres entradas. El HA solo puede
hacer EXOR de 2 entradas, por lo tanto necesito, como mnimo, 2 HA conectados en serie,
tal que la salida S1 sea tambin entrada al segundo HA. De esa forma S2 ser igual a la
suma del FA (ver figura 2.6).
S2 = S1 Cin = A B Cin
Queda calcular el acarreo de salida del FA. Para ello observamos que el acarreo del
primer HA es: C1 = AB. El acarreo del segundo HA es C2 = Cin S1 = Cin (A B). Si
hacemos la OR de ambos obtendremos la siguiente expresin:

2.1. SUMADORES

Figura 2.7: Diagrama de pines del C.I. 7483.

Cout = C1 + C2 = AB + (A B)Cin
Se puede demostrar que esta expresin es equivalente a la expresin mnima que obtuvimos con el diagrama de Karnaugh. Para ello debemos utilizar las leyes y propiedades
del lgebra de Boole.

2.1.3.

Sumadores de palabras

Ya sabemos sumar tres nmeros binarios de 1 bit, pero nos interesa poder sumar
cantidades mayores, es decir, palabras o nmeros de varios bits que puedan codificar
nmeros mayores. En el mercado podemos encontrar chips como el de la figura 2.7, que
nos muestra el diagrama de pines del C.I. 7483, sumador de nmeros binarios de 4 bits.
Para el diseo de estos circuitos existen dos opciones. La primera consiste en aplicar el
mismo mtodo que hemos estado usando, a saber, definir la tabla de verdad de la funcin
u operacin que nos interesa implementar y minimizarla. Obviamente, este mtodo resulta
poco prctico en el caso de tener nmeros de varios bits. Por poner un ejemplo, la tabla de
verdad de un sumador de palabras de 4 bits posee 8 entradas, es decir, 256 combinaciones.
El segundo mtodo consiste en hacer un diseo modular, es decir, disear un circuito
bsico que iremos repitiendo las veces que necesitemos. Este mtodo solo es aplicable en
funciones que posean un cierto grado de regularidad. Si nos fijamos, la suma aritmtica de
palabras de n bits cumple dicha condicin. Sumemos dos nmeros en binario a la manera
tradicional:
Acarreos
Primer sumando
Segundo sumando
Suma

1011101110
1011100110
1001101111

10101010101

742
623
1365

TEMA 2. SISTEMAS COMBINACIONALES

A3 B 3

A2 B 2

A1 B 1

A0 B 0

FA

FA

FA

FA

C out

S3

S2

S1

C in

S0

Figura 2.8: Sumador de acarreo enlazado.


Como podemos observar, para calcular el bit i-simo del resultado solo necesitamos
conocer los bits i-simos de las entradas y el acarreo resultado de calcular el bit anterior
(i 1). Por lo tanto, el mdulo bsico es un sumador de 3 bits: un sumador completo.
Para sumar palabras de n bits ser preciso utilizar n FA. Nos queda por resolver cmo y
cundo calcular el acarreo de cada bit. Para ello existen varias alternativas o soluciones,
pero aqu solo veremos la conocida como sumador de acarreo enlazado.
En el sumador de acarreo enlazado, el acarreo del sumador completo i se conecta al
acarreo de entrada del sumador completo i + 1. De esta forma, a pesar de que todos los
FA trabajan en paralelo, el resultado final (correcto), no se obtendr hasta que todas las
salidas sean estables, es decir, hasta que un acarreo generado en el primer bit (el bit 1)
se propague hasta el bit ms significativo (el bit n). Resulta evidente que la velocidad del
sumador de acarreo enlazado es baja, pues cada etapa o FA ha de esperar al cmputo de los
acarreos por parte de todos los sumadores situados a su derecha (bits menos significativos),
es decir, el retardo ser n veces el tiempo de retardo de un FA.
En la figura 2.8 se muestra un sumador de acarreo enlazado construido con 4 sumadores
completos de un bit. El primer acarreo C0 es un acarreo de entrada al circuito y podemos
denotarlo por Cin . Los 3 acarreos siguientes C1 , C2 y C3 son acarreos generados y usados
exclusivamente por el circuito, y, por ltimo, el acarreo C4 es un acarreo de salida y
podemos denotarlo por Cout . Las expresiones de cada seal son:

Si = Ai Bi Ci , i = 0, ..., 3
Ci+1 = Ai Bi + (Ai Bi )Ci , i = 0, ..., 3

con C0 = Cin

y C4 = Cout

El resultado final necesita un total de cinco bits para codificar el resultado, es decir,
Cout S3 S2 S1 S0 . Existe la posibilidad de conectar ms sumadores de palabras en cascada
para ampliar el tamao de las palabras a sumar. Para ello se debe conectar el acarreo de
salida Cout de cada circuito al acarreo de entrada Cin del circuito situado a su izquierda,
tal y como se ve en la figura 2.9.

2.1. SUMADORES

A7

C out

A4

B7

SUMADOR
PARALELO
DE 4 BITS

S7

S4

B4

A3

C4

A0

B3

SUMADOR
PARALELO
DE 4 BITS

S3

B0

C in

S0

Figura 2.9: Suma de palabras de 8 bits con sumadores paralelos de 4 bits.

2.1.4.

Suma y resta de nmeros con signo

La sustraccin, que vamos a denotar por MINUS, se puede implementar de muchas


formas. Se pueden definir las tablas de verdad para cada uno de los bits de salida y
minimizar las funciones con los diagramas de Karnaugh. Tambin se puede seguir los
mismos pasos que en la suma construyendo un semirrestador, un restador completo y,
finalmente, un restador de palabras. Otra opcin, ms eficiente, consiste en calcular la
resta a partir de la suma. Para ello, solo se necesita calcular el opuesto del sustraendo.
Esta operacin depende del tipo de representacin elegida para codificar los nmeros
negativos. Debido a esto, a continuacin vamos a ver cmo se realizan las sumas y las
restas en SignoMagnitud, Complemento a 1 y en Complemento a 2.

Formato SignoMagnitud (SM)


La suma y la resta son complejas ya que implican conocer el signo de ambos nmeros
para realizar bien una suma verdadera, bien una resta verdadera con sumadores y restadores paralelos de n bits, respectivamente. Si queremos restar (sumar) haremos tal resta
(suma) si ambos operandos son del mismo signo, y haremos una suma (resta) si poseen
signos opuesto. Debido a que en SignoMagnitud es necesario implementar un restador
binario, esta representacin no es la ms utilizada. Una alternativa es convertir los nmeros a Complemento a 1 o Complemento a 2 y realizar las operaciones en estos formatos,
que, como veremos a continuacin, resulta mucho ms sencillo.

Complemento a 1 (C1)
Para sumar dos nmeros en C1 se suman todos sus bits, incluido el de signo. Si
existe un acarreo de salida entonces se le suma al resultado. El proceso se puede ver en
la figura 2.10. Para restar dos nmeros necesitamos calcular el opuesto del sustraendo, es
decir, calcular el Complemento a 1 del sustraendo (figura 2.10) y realizar una suma. Con
esta representacin solo necesitamos un sumador paralelo de n bits.

TEMA 2. SISTEMAS COMBINACIONALES

A3

A0

B3

A3

B0

B0

B3

SUMADOR
DE 4 BITS

SUMADOR
DE 4 BITS

S3

A0

S3

S0

S0

Figura 2.10: Suma y resta de dos nmeros en Complemento a 1.


A3
A3

A0

B3

SUMADOR
DE 4 BITS

S3

S0

A0

B0

B3

B0

SUMADOR
DE 4 BITS

S3

S0

Figura 2.11: Suma y resta de dos nmeros en Complemento a 2.


Complemento a 2 (C2)
La suma en C2 es la ms sencilla de todas: se suman todos los bits del formato y se
desprecia o no se tiene en cuenta el acarreo final de salida (figura 2.11). Para calcular el
opuesto de un nmero necesitamos negar todos los bits del mismo y sumar 1 al final (es
decir, calcular el C2). La resta sera igual que en C1 (ver figura 2.11), pero con el acarreo
de entrada igual a 1 y despreciando el acarreo de salida.
Desbordamiento u overflow
La suma de dos nmeros con formato (nmero fijo de bits) puede producir como
resultado un nmero que no es posible representar en el formato de partida. En este caso
se dir que existe desbordamiento (overflow) y el resultado de la suma (o resta) ser
incorrecto. Por ejemplo, en un formato de 4 bits en C2 la operacin (-7) plus (-6)= (-13)
producir overflow, pues -13 no es representable en 4 bits.
El overflow solo puede producirse cuando los dos sumandos son o bien ambos positivos
o bien ambos negativos, pues obviamente cuando un sumando es positivo y el otro negativo, el resultado siempre ser menor que uno de los operandos y podr representarse con
el formato de partida. En el caso de la representacin SignoMagnitud el desbordamiento

2.1. SUMADORES

Cuadro 2.1: Tabla de verdad de una puerta EXOR.


S/R

0
0
1
1

Bi
0
1
0
1

EXOR
0
1
1
0

se detecta cuando en la suma de magnitudes existe acarreo de salida. En el caso del C1 y


C2 el overflow se detecta comprobando el signo del resultado: si ste es correcto, es decir,
coincide con el signo de ambos operandos, se puede asegurar que no hay desbordamiento.
En el caso de la suma, en C1 y C2 el resultado es incorrecto (existe desbordamiento)
cuando An1 = Bn1 6= Sn1 , es decir, (An1 = Bn1 = 0 y Sn1 = 1) (An1 = Bn1 = 1
y Sn1 = 0). Por lo tanto:

overf low = An1 B n1 Sn1 + An1 Bn1 S n1

Circuito sumador/restador
Usando las propiedades de la funcin EXOR (cuadro 2.1) podemos construir un circuito para sumar o restar nmeros en C1 o C2. Introducimos una seal denominada S/R,
tal que si esta seal es 0 (S) se realizar una suma A PLUS B y si es 1 (R) se realizar
una resta A MINUS B.
Para ello, si S/R = 0 los bits de B se propagan tal cul (Bi = 0 Bi = Bi ), pero
si S/R = 1 entonces se propagan Bi = 1 Bi = B i . En C1 debemos conectar Cout con
Cin para completar la operacin. Sin embargo, en C2 para negar un nmero adems de
negar todos sus bits (C1), necesitamos sumarle 1. Para ello aplicamos tambin la seal
S/R al Cin del sumador, de tal forma que si se realiza una suma Cin = 0 (no afecta),
mientras que en la resta Cin = 1. En este caso Cout no formar parte del resultado y no
se usa para nada. En la figura 2.12 podemos ver, como ejemplo, el sumador/restador en
Complemento a 2 para nmeros de 4 bits.
Como el formato es fijo y el mismo para las entradas y la salida, existir desbordamiento cuando:
overf low = An1 B n1 Sn1 S/R + An1 Bn1 S n1 S/R
+ An1 B n1 S n1 S/R + An1 Bn1 Sn1 S/R
= An1 (Bn1 S/R)Sn1 + An1 (Bn1 S/R)S n1

S n1
= An1 B n1 Sn1 + An1 Bn1

10

TEMA 2. SISTEMAS COMBINACIONALES

SUMADOR
4 BITS

Figura 2.12: Sumador/restador de dos nmeros en Complemento a 2.

2.2.
2.2.1.

COMPARADORES
Comparador binario

La comparacin entre nmeros es la operacin que determina si uno de ellos es mayor,


menor o igual que el otro. Un comparador de magnitud es un circuito combinacional que
compara dos nmeros positivos A y B y proporciona tres salidas (A < B), (A = B)
y (A > B). Como son mutuamente excluyentes, conociendo dos de estas funciones es
posible determinar la tercera, con lo que realmente solo necesitamos implementar dos.
Por ejemplo, para obtener la funcin (A < B) a partir de las otras dos:
(A > B) (A = B) (A < B)
0
0
1
0
1
0
1
0
0
1
1

Donde en la ltima combinacin de entradas se ha puesto una indiferencia pues no


podr darse en la prctica. Existen dos posibilidades para expresar (A < B). Si la indiferencia se toma como 0, entonces (A < B) = (A>B) + (A=B) y si la indiferencia se toma
como 1, entonces (A < B) = (A>B) (A=B). Las expresiones de (A = B) y (A > B) en
funcin de las otras dos se obtienen del mismo modo.
Para implementar las funciones (A > B), (A = B) y (A < B) existen dos posibilidades.
La primera de ellas es partir de los diagramas de Karnough. As, por ejemplo, si A y B son
nmeros de dos bits A = A1 A0 y B = B1 B0 , entonces las funciones tendrn las siguientes
expresiones mnimas (ver figura 2.13):
(A>B) = A1 B1 + A0 B1 B0 + A1 A0 B0
(A=B) = A1 A0 B1 B0 + A1 A0 B1 B0 + A1 A0 B1 B0 + A1 A0 B1 B0
(A<B) = A1 B1 + A1 A0 B0 + A0 B1 B0

2.2. COMPARADORES

11

B 1B 0
A 1A 0

B 1B 0
A 1A 0

00 01 11 10

00 01 11 10

00

00

01

01

11

10

(A=B)

(A<B)

(A>B)

00

01

11

10

B 1B 0
A 1A 0

00 01 11 10
1
1

11
1

10

1
1

Figura 2.13: Diagramas de Karnaugh de las salidas de un comparador de 2 bits.


Cuadro 2.2: Tablas de verdad de un comparador de 1 bit.
Ai
0
0
1
1

Bi
0
1
0
1

(Ai >Bi )
0
0
1
0

(Ai =Bi ) (Ai <Bi )


1
0
0
1
0
0
1
0

Sin embargo, si utilizamos este mtodo, el diseo se complica si el nmero de bits


de las palabras a comparar es grande. La segunda posibilidad es encontrar una forma
simple de disear comparadores de cualquier nmero de bits a partir de un circuito que
compare un solo bit, es decir, usar una estrategia modular. Si el bit ms significativo de
A es mayor (menor) que el bit ms significativo de B, entonces A es mayor (menor) que
B. Si An1 =Bn1 entonces seguimos comparando el siguiente bit ms significativo y as
sucesivamente. Por ltimo, dos nmeros son iguales si todos sus bits son iguales, es decir,
Ai = Bi , i = 0, ..., n 1.
El primer paso consiste pues en disear un circuito comparador de un bit, es decir,
las funciones (Ai >Bi ), (Ai =Bi ) y (Ai <Bi ). Las tablas de verdad de cada una de ellas se
pueden ver en el cuadro 2.2, de donde deducimos que sus expresiones mnimas son:
(Ai>Bi ) = Ai Bi
(Ai=Bi ) = Ai Bi
(Ai<Bi ) = Ai Bi
A partir de este bloque, se pueden implementar comparadores de n bits. El caso n = 2
es trivial y se puede comprobar fcilmente que los resultados coinciden plenamente con
los obtenidos al minimizar las funciones completas utilizando los diagramas de Karnaugh.
Vamos a construir ahora un comparador de 4 bits (figura 2.14a). Sean A = A3 A2 A1 A0 y
B = B3 B2 B1 B0 los nmeros a comparar. Definimos xi = (Ai =Bi ) = Ai Bi , i = 0, ..., 3
(funcin de igualdad de los bits i).

12

TEMA 2. SISTEMAS COMBINACIONALES

A
A
A

(A>B)

2
3

(A=B)
B
B
B
B

(A<B)

1
2
3

(a)

(b)

Figura 2.14: (a) Comparador binario de 4 bits; (b) diagrama de pines del comparador
binario 7485.
A y B sern iguales si se verifica que los cuatro bits son iguales, o lo que es lo mismo,
si (A3 = B3 ) y (A2 = B2 ) y (A1 = B1 ) y (A0 = B0 ). En el lgebra de Boole esto es
equivalente a la funcin:
(A=B) = (A3=B3 )(A2=B2 )(A1=B1 )(A0=B0 ) = x3 x2 x1 x0
A ser mayor que B en si: A3 > B3 o (A3 = B3 y A2 > B2 ) o (A3 = B3 y A2 = B2 y
A1 > B1 ) o (A3 = B3 y A2 = B2 y A1 = B1 y A0 > B0 ). Entonces:
(A>B) = (A3>B3 ) + (A3=B3 )(A2>B2 ) + (A3=B3 )(A2=B2 )(A1>B1 )
+(A3=B3 )(A2=B2 )(A1=B1 )(A0>B0 )
= A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0
Del mismo modo, A ser menor que B si: A3 < B3 o (A3 = B3 y A2 < B2 ) o (A3 = B3
y A2 = B2 y A1 < B1 ) o (A3 = B3 y A2 = B2 y A1 = B1 y A0 < B0 ). Entonces:
(A<B) = (A3<B3 ) + (A3=B3 )(A2<B2 ) + (A3=B3 )(A2=B2 )(A1<B1 )
+(A3=B3 )(A2=B2 )(A1=B1 )(A0<B0 )
= A3 B3 + x3 A2 B2 + x3 x2 A1 B1 + x3 x2 x1 A0 B0
En la figura 2.14b mostramos la configuracin de pines del C.I. 7485, que se corresponde
con un comparador binario de 4 bits.

2.2.2.

Comparacin de un mayor nmero de bits

Para comparar palabras de un mayor nmero de bits, podemos utilizar el comparador


para palabras de 4 bits que acabamos de disear. En la figura 2.15 se muestran dos
ejemplos. La idea es comparar los nmeros en bloques de 4 bits: si la comparacin de los
4 bits ms significativos nos indica que un nmero es mayor o menor que otro entonces
no nos hace falta seguir comparando; si, por el contrario, los 4 bits ms significativos son
iguales entonces necesitamos seguir comparando el o los siguientes bloques de 4 bits.

2.2. COMPARADORES

13

A
A

-A

-A

(A>B)

(A=B)

(A>B)
B

-B

(A<B)

(A=B)

-B

(A<B)

-A

-A

(A>B)

(A=B)
B

11

-B

-A

(A<B)

(A>B)

(A=B)

(A>B)
(A=B)
(A<B)

(A>B)

11

-B

(A<B)

(A=B)
A
B

-B

15

-A

(A>B)

12

(A<B)

(A=B)

4
B

15

-B

12

(A<B)

Figura 2.15: Ejemplos de comparacin sobre palabras de ms de 4 bits.


A
A
A
B

0
1
2

(A>B)

(A=B)
B
B
B
A

0
1

(A<B)

2
3

Figura 2.16: Comparador de nmeros en Complemento a 2.

2.2.3.

Comparacin de nmeros con signo

Para disear el comparador de dos nmeros con signo debemos tener en cuenta en
que formato est representado. En cualquier caso, dos nmeros son iguales si todos sus
bits son iguales, excepto en Signo-Magnitud y en Complemento a 1 en los cuales el cero
posee dos representaciones. Si no tenemos en cuenta esa peculiaridad, entonces la funcin
(A = B) es la misma para todas las representaciones.
Para calcular cuando un nmero en Complemento a 1 en Complemento a 2 es
mayor o menor que otro, podemos utilizar un comparador binario. Para ello debemos de
intercambiar los bits ms significativos tal y como se muestra en la figura 2.16 para 4 bits.

14

TEMA 2. SISTEMAS COMBINACIONALES

Supongamos que queremos comparar un nmero A negativo (A3 = 1) con otro B positivo (B3 = 0). El comparador compara los nmeros suponiendo que estn en formato
binario puro. Al intercambiar los bits de signo, estamos haciendo que el bit ms significativo de B sea 1, mientras que el ms significativo de A es 0. Por lo tanto, B es mayor
que A. El caso de A positivo y B negativo es exactamente igual.
Supongamos que ambos nmeros son positivos. En ese caso estamos intercambiando
dos ceros y comparamos los nmeros tal y como estaban. El comparador nos dir cual
de los dos es mayor (menor) o si son iguales (recordemos que los nmeros positivos se
codifican igual que en binario puro).
El nico caso que nos falta es cuando los dos nmeros son negativos. Al igual que
antes, no tiene sentido intercambiar los signos puesto que ambos son 1. El comparador
har la comparacin suponiendo que los nmeros estn codificados en binario puro. El
resultado ser correcto porque tanto en Complemento a 1 como en Complemento a 2, el
orden (de mayor a menor) de los nmeros negativos se mantiene si se considera que los
nmeros estn codificados en binario puro.
Por ejemplo, -5 es mayor que -7 pero menor que -3. En Complemento a 1 con 4 bits,
-5 es 1010, -7 es 1000 y -3 es 1100. Como podemos comprobar, en binario puro 1010 es
mayor que 1000 pero menor que 1100, y eso es precisamente lo que nos dir el comparador
binario. Por otra parte, en Complemento a 2 -5 es 1011, -7 es 1001 y -3 es 1101. Tambin
se puede ver que en binario puro, 1011 es mayor que 1001 y menor que 1101.
El circuito de la figura 2.16 comparara cualquier pareja de nmeros en Complemento a
2, pero para Complemento a 1 haran falta puertas lgicas adicionales para tener en cuenta
la doble representacin del cero en este formato. En el caso de nmeros en SignoMagnitud
no se puede implementar un comparador utilizando nicamente un comparador binario,
sino que se necesitan puertas lgicas u otros elementos adicionales debido a que tambin
hay doble representacin del cero y a que la representacin de los nmeros negativos no
mantiene el orden si se consideran codificados en binario puro.

2.3.

UNIDAD ARITMTICOLGICA (ALU)

Las unidades aritmticolgicas (ALU) constituyen dispositivos tiles y verstiles que


implementan diferentes operaciones lgicas y aritmticas, generalmente en un solo circuito
integrado. Para estudiar las ALUs vamos a ver un ejemplo: el C.I. 74181 (ver figura 2.17).
Funcionalmente, este chip acepta como datos dos palabras de cuatro bits A = A3 A2 A1 A0
y B = B3 B2 B1 B0 , produciendo como resultado otra palabra de 4 bits F = F3 F2 F1 F0 .
Adems de estas lneas posee un acarreo de entrada C n y un acarreo de salida C n+4 ,
activos a nivel bajo.
La operacin que se realiza sobre estos datos est determinada por las entradas de
seleccin S = S3 S2 S1 S0 y la entrada de modo M . Cuando M = L las operaciones son
aritmticas (suma, resta, etc.), mientras que cuando M = H las operaciones son lgicas

2.3. UNIDAD ARITMTICOLGICA (ALU)

15

A3 - A 0

ALU
F3 -F0

4 BITS

B3 - B 0

74181

C n+4

Cn

S3 -S0

(a) Diagrama lgico

(b) Diagrama de pines

Figura 2.17: Unidad aritmticolgica C.I. 74181.

Cuadro 2.3: Operacin de la ALU 74181.

(AND, OR, etc.). Los acarreos de entrada y de salida solo tienen sentido cuando se trata
de operaciones aritmticas. La tabla 2.3 ilustra las distintas operaciones que se realizan
en trminos del valor de las entradas S y M .

Sea por ejemplo S = HLLH, M = L, A = LHHL, B = LLHH y C n = L. La operacin


a realizar est determinada por M (L: operacin aritmtica) y S (HLLH: A PLUS B o
A PLUS B PLUS 1, sin acarreo y con acarreo, respectivamente). Al ser C n = L (existe
acarreo de entrada) entonces la operacin que se realiza es F = A PLUS B PLUS 1.

16

TEMA 2. SISTEMAS COMBINACIONALES

A3 - A 0

A7 - A 4

ALU

ALU
F3 -F 0

4 BITS

B3 - B 0

74181

B7 - B 4
C n+4

F7 -F 0

4 BITS
74181

C n+8

Cn

S3 -S 0

Figura 2.18: ALU para operandos de 8 bits.


Ampliacin de la longitud de los datos
A pesar de que las ALUs tienen un nmero muy limitado de bits en cuanto a la
longitud de las palabras sobre las que opera, es posible conectarlas en cascada para realizar
operaciones aritmticolgicas con palabras de un nmero de dgitos considerablemente
superior. Ello se consigue conectando el acarreo de salida C n+4 de un chip con el acarreo
de entrada C n del siguiente que maneja los bits ms significativos y puenteando todas las
entradas M y S de cada uno de los chips, tal y como se ve en la figura 2.18.

2.4.

FUNCIONES DE RUTA DE DATOS

En esta seccin veremos los siguiente dispositivos:


Multiplexor (MUX): selecciona una de entre 2n entradas en funcin de n lneas
de control.
Demultiplexor (DEMUX): lleva la entrada a una de las 2n salidas en funcin de
n lneas de control.

2.4.1.

Multiplexor (MUX)

Es un circuito selector de datos, es decir, la operacin de este dispositivo es seleccionar


una de entre varias entradas y llevar su valor a la salida. Para realizar esta seleccin son
precisas lneas de control que nos indiquen cual de las entradas es la seleccionada. Si
disponemos de 2n entradas necesitaremos n lneas de control para hacer referencia a cada
una de ellas. Por tanto, podemos definir el MUX 2n a 1 como aquel dispositivo con 2n
entradas, una salida y n variables de control, de forma que el cdigo binario contenido

2.4. FUNCIONES DE RUTA DE DATOS

17

i0
i1
i2

.
.
.

2a1

.
.
.

i 2 n-1

MUX

ab

(n)

Figura 2.19: Representacin de un MUX.


Cuadro 2.4: Tabla de funcionamiento de un MUX 8 a 1.
Lneas de control
a b c
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Seleccin
entrada
entrada
entrada
entrada
entrada
entrada
entrada
entrada

i0
i1
i2
i3
i4
i5
i6
i7

en las lneas de control indica cual de las entradas es la que se conecta a la salida. En el
cuadro 2.4 vemos un ejemplo para un MUX con n = 3, donde tenemos 3 lneas de control
(a, b, c) y 8 entradas (desde i0 hasta i7 ).
Construccin de un MUX
En el cuadro 2.5 presentamos las tablas de verdad del MUX 4 a 1 y del MUX 8 a
1. Se puede observar que solamente se trasmite a la salida el valor (0 o 1) de la entrada
i seleccionada, no influyendo en la misma las dems entradas, donde hemos puesto x.
Por ejemplo, para el MUX 4 a 1 si ab = 00 a la salida el valor de y ser el que haya
en i0 , independientemente de los valores de i1 , i2 e i3 , es decir, para ab = 00 e i0 = 0
la salida ser siempre 0 para cualquier combinacin de valores de las otras tres entradas
i1 i2 i3 desde 000 hasta 111.
Las expresiones lgicas de las salidas son las siguientes:
MUX 4 a 1: y = a bi0 + abi1 + abi2 + abi3
MUX 8 a 1: y = a b ci0 + a bci1 + abci2 + abci3 + ab ci4 + abci5 + abci6 + abci7

18

TEMA 2. SISTEMAS COMBINACIONALES

Cuadro 2.5: Tablas de verdad para MUX 4 a 1 y MUX 8 a 1.


a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

i0
0
1
x
x
x
x
x
x

i1
x
x
0
1
x
x
x
x

i2
x
x
x
x
0
1
x
x

i3
x
x
x
x
x
x
0
1

y
0
1
0
1
0
1
0
1

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

i0
0
1
x
x
x
x
x
x
x
x
x
x
x
x
x
x

i1
x
x
0
1
x
x
x
x
x
x
x
x
x
x
x
x

i2
x
x
x
x
0
1
x
x
x
x
x
x
x
x
x
x

i3
x
x
x
x
x
x
0
1
x
x
x
x
x
x
x
x

i4
x
x
x
x
x
x
x
x
0
1
x
x
x
x
x
x

i5
x
x
x
x
x
x
x
x
x
x
0
1
x
x
x
x

i6
x
x
x
x
x
x
x
x
x
x
x
x
0
1
x
x

i7
x
x
x
x
x
x
x
x
x
x
x
x
x
x
0
1

y
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

La obtencin de estas ecuaciones a partir de la tabla de verdad del MUX es similar a


la construccin de funciones en forma de suma de minterm, pero esta vez las variables de
entrada que son x no intervienen en la formacin de los trminos producto.
Normalmente se suele incluir una seal de enable o strobe (s) para la inhibicin del
dispositivo, con el siguiente funcionamiento:
s = 0: El circuito est inhibido y la salida es siempre cero (y = 0).
s = 1: Funcionamiento normal, la salida es igual a la entrada seleccionada.
La inclusin de esta entrada en las expresiones lgicas se realiza simplemente multiplicando cada trmino producto por s:
MUX 4 a 1: y = sa bi0 + sabi1 + sabi2 + sabi3
MUX 8 a 1: y = sa b ci0 + sa bci1 + sabci2 + sabci3 + sab ci4 + sabci5 + sabci6 + sabci7
La construccin de estos multiplexores a partir de puertas lgicas se muestra en la
figura 2.20. En la figura 2.21 mostramos el diagrama de pines del C.I. 74153, que contiene
dos multiplexores 4 a 1 con dos lneas de seleccin comunes y entradas de strobe separadas,
junto con su tabla de funcionamiento.

2.4. FUNCIONES DE RUTA DE DATOS

19

i0

i0

i1

i1
y

i2

i2
i3

i3

i4
i5
i6
i7

Figura 2.20: Construcciones del MUX 4 a 1 y del MUX 8 a 1.

(a) Tabla de funcionamiento

(b) Diagrama de pines

Figura 2.21: Multiplexor 74153.

20

TEMA 2. SISTEMAS COMBINACIONALES

i0
i7

i8
i 15

..
.

MUX
8a1

..
.

MUX
8a1
MUX
4a1

i 16
i 23

i 24
i 31

..
.

MUX
8a1

..
.

MUX
8a1

abcde

Figura 2.22: rbol multiplexor 32 a 1.


rboles multiplexores
El mayor MUX comercial disponible en forma de chip es de tamao 16 a 1, pero
podemos construir MUXes de cualquier tamao interconectando varios MUX en una estructura de rbol. Por ejemplo, podemos realizar un MUX 32 a 1 a partir de cuatro MUX
8 a 1 y un MUX 4 a 1, tal como se muestra en la figura 2.22.
Cada MUX del primer nivel selecciona una de sus 8 entradas dependiendo de los bits
de control comunes c, d y e. El MUX del segundo nivel selecciona una de las salidas de los
MUXes del primer nivel en funcin de los bits de control a y b. El resultado final es que
la salida toma el valor de una de las 32 entradas en funcin de las cinco lneas de control
a, b, c, d y e. Notar que al MUX del segundo nivel (MUX 4 a 1) van las lneas de control
ms significativas.
El tamao del MUX global se obtiene multiplicando los tamaos de los MUXes de los
dos niveles. En este caso, MUXes 8 a 1 y un MUX 4 a 1 dan lugar a un MUX 8 4 a 1
(MUX 32 a 1). Se pueden construir rboles multiplexores de cualquier nmero de entradas
sin ms que aadir niveles de MUXes.

2.4. FUNCIONES DE RUTA DE DATOS

21

o0
o1

DEMUX
i

.
.
.

o 2 n-1

.
.
.

1a2

o2

a b

(n)

Figura 2.23: Representacin de un DEMUX.

2.4.2.

Demultiplexor (DEMUX)

Un demultiplexor es un circuito distribuidor de datos, es decir, la operacin de este


dispositivo consiste en tomar la nica entrada, seleccionar una de entre varias salidas y
conectarla a la entrada. Para realizar esta seleccin son precisas lneas de control que nos
indiquen cual de las salidas es la seleccionada. Si disponemos de 2n salidas son precisas n
lneas de control para hacer referencia a cada una de ellas (DEMUX 1 a 2n ). Bsicamente
realiza la funcin inversa del multiplexor. Por tanto podemos definir el DEMUX 1 a 2n
como aquel dispositivo con 1 entrada, 2n salidas, y n variables de control, de forma que
el cdigo binario contenido en las lneas de control indica cual de las salidas es la que se
conecta a la entrada. El resto de las salidas toman un valor inactivo (0 si son activas a
tensin alta o 1 si son activas a tensin baja).
Construccin de un DEMUX
En el cuadro 2.6 presentamos las tablas de verdad del DEMUX 1 a 4 y del DEMUX
1 a 8 (activacin a nivel alto). Las expresiones lgicas de las salidas son:
DEMUX 1 a 4: o0 = a bi, o1 = abi, o2 = abi, o3 = abi.
DEMUX 1 a 8: o0 = a b ci, o1 = a bci, o2 = abci, o3 = abci, o4 = ab ci, o5 = abci,
o6 = abci y o7 = abci.
Al igual que en el caso del MUX, normalmente se suele incluir una seal de enable o
strobe (s) para la inhibicin del dispositivo, con el siguiente funcionamiento:
s = 0: El circuito est inhibido y todas las salidas son siempre cero (oi = 0, para
todo i).
s = 1: Funcionamiento normal, la salida seleccionada es igual a la entrada.

22

TEMA 2. SISTEMAS COMBINACIONALES

Cuadro 2.6: Tablas de verdad para DEMUX 1 a 4 y DEMUX 1 a 8.


a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

i
0
1
0
1
0
1
0
1

o0
0
1
0
0
0
0
0
0

o1
0
0
0
1
0
0
0
0

o2
0
0
0
0
0
1
0
0

o3
0
0
0
0
0
0
0
1

a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1

b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1

c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1

i
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1

o0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

o1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0

o2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0

o3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0

o4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0

o5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0

o6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

o7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

La inclusin de esta entrada en las expresiones lgicas se realiza simplemente multiplicando cada trmino producto por s:
DEMUX 1 a 4: o0 = sa bi, o1 = sabi, o2 = sabi, o3 = sabi.
DEMUX 1 a 8: o0 = sa b ci, o1 = sa bci, o2 = sabci, o3 = sabci, o4 = sab ci, o5 = sabci,
o6 = sabci y o7 = sabci.
La construccin de estos DEMUXes a partir de puertas lgicas es la que se puede ver
en la figura 2.24. En la figura 2.25 mostramos el diagrama de pines del C.I. 74154, que
corresponde a un DEMUX 1 a 16 con la salida activa a nivel bajo, junto con su tabla de
funcionamiento.
rboles demultiplexores
El mayor DEMUX comercial disponible en forma de chip es de tamao 1 a 16, pero
podemos construir DEMUXes de cualquier tamao interconectando varios DEMUX en
una estructura de rbol. Por ejemplo, podemos implementar un DEMUX 1 a 32 a partir
de un DEMUX 1 a 4 y cuatro DEMUXes 1 a 8, tal como se muestra en la figura 2.26.
El DEMUX del primer nivel lleva la entrada a una de sus cuatro salidas dependiendo
de los bits de control a y b. Los DEMUXes del segundo nivel llevan cada una de las salidas
del DEMUX del primer nivel a la salida seleccionada en funcin de los bits de control
comunes c, d y e. El resultado final es que la entrada se lleva a una de las 32 salidas en
funcin de las cinco lneas de control a, b, c, d y e. Notar que al DEMUX del primer nivel
(DEMUX 1 a 4) van las lneas de control ms significativas.

2.5. MANIPULADORES DE CDIGO


i

23
i

o0

o0

o1

o1

o2

o2

o3

o3
o4
o5
o6
o7

Figura 2.24: Construcciones del DEMUX 1 a 4 y del DEMUX 1 a 8.


El tamao del DEMUX global se obtiene multiplicando los tamaos de los DEMUX
de los dos niveles. En este caso, el DEMUX 1 a 4 y los DEMUXes 1 a 8 dan lugar a
un DEMUX 1 a 4 8 (DEMUX 1 a 32). Se pueden construir rboles demultiplexores de
cualquier nmero de salidas sin ms que aadir niveles de DEMUXes.

2.5.

MANIPULADORES DE CDIGO

En esta seccin veremos los siguiente dispositivos:


Codificador binario: con 2n entradas, de las cuales solo una de ellas es activa,
genera en las n salidas el cdigo binario asociado a esa lnea (cdigo de n bits).
Decodificador binario: el cdigo binario generado por las n entradas activa una
de entre 2n salidas.
Conversor de cdigo: Con un nmero arbitrario de entradas y salidas transforma
las entradas de un cdigo en salidas de otro.

24

TEMA 2. SISTEMAS COMBINACIONALES

(a) Diagrama de pines

(b) Tabla de funcionamiento

Figura 2.25: Demultiplexor 74154.

2.5. MANIPULADORES DE CDIGO

25

DEMUX
1a8

..
.

o0

DEMUX
1a8

..
.

o8

DEMUX
1a8

..
.

o16

DEMUX
1a8

..
.

o24

o7

o15

DEMUX
1a4

o23

o31

abcde

Figura 2.26: rbol demultiplexor 1 a 32.

o0

a
b
(n)

.
.
.

o1

DECOD
n

na2

.
.
.

o2
o 2 n-1

Figura 2.27: Representacin de un decodificador.

26

TEMA 2. SISTEMAS COMBINACIONALES

Cuadro 2.7: Tablas de verdad para un decodificador 2 a 4 y para un decodificador 3 a 8.


a
0
0
1
1

2.5.1.

b
0
1
0
1

o0
1
0
0
0

o1
0
1
0
0

o2
0
0
1
0

o3
0
0
0
1

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

o0
1
0
0
0
0
0
0
0

o1
0
1
0
0
0
0
0
0

o2
0
0
1
0
0
0
0
0

o3
0
0
0
1
0
0
0
0

o4
0
0
0
0
1
0
0
0

o5
0
0
0
0
0
1
0
0

o6
0
0
0
0
0
0
1
0

o7
0
0
0
0
0
0
0
1

Decodificadores binarios

La funcin de un decodificador binario es recibir el cdigo binario de la entrada y


activar (poner a 1 si la activacin es a nivel alto o a cero si es a nivel bajo) la lnea
de salida que corresponde a ese cdigo binario, dejando el resto de las salidas inactivas
(proceso que se denomina decodificacin). Un decodificador n a 2n presentar n entradas
y 2n salidas (ver figura 2.27).
Las tablas de verdad del decodificador binario 2 a 4 y del decodificador binario 3 a 8
las mostramos en el cuadro 2.7. Las expresiones lgicas de las salidas son:
Decodificador 2 a 4: o0 = a b, o1 = ab, o2 = ab, o3 = ab.
Decodificador 3 a 8: o0 = a b c, o1 = a bc, o2 = abc, o3 = abc, o4 = ab c, o5 = abc,
o6 = abc y o7 = abc.
Estas expresiones son exactamente iguales a las de los DEMUX, pero con la diferencia
de que no incluyen la entrada i. Por tanto los decodificadores binarios no se suelen construir como tales; lo que se hace es partir de un DEMUX y hacer la entrada dato i = 1.
Tambin se puede considerar un DEMUX como un decodificador con seal de strobe, donde la entrada i estara haciendo esta funcin. Teniendo en cuenta esto, tambin podemos
concluir que decodificadores mayores de 4 a 16 pueden ser construidos a partir de rboles
demultiplexores poniendo la primera entrada a uno (i = 1).

2.5.2.

Codificadores binarios

Un codificador binario es el dispositivo inverso a un decodificador. La funcin de este


dispositivo es generar el cdigo binario de la nica lnea de entrada que est activa en
cada instante de un conjunto de varias entradas (proceso denominado codificacin). Un
codificador 2n a n presentar 2n entradas y n salidas. En principio solo se podr poner
a 1 una de las 2n entradas. Por ejemplo, en el cuadro 2.8 mostramos las tablas de un
codificador binario 4 a 2 y de un codificador binario 8 a 3, donde solo hemos hemos

2.5. MANIPULADORES DE CDIGO

27

i0

i1
i2
i 2 n-1

COD

.
.
.

2an

.
.
.

b
(n)

Figura 2.28: Representacin de un codificador.


Cuadro 2.8: Tablas de verdad para un codificador 4 a 2 y para un codificador 8 a 3.
i0 i1
1 0
0 1
0 0
0 0
otras

i2 i3
0 0
0 0
1 0
0 1
comb.

a
0
0
1
1

b
0
1
0
1

i0
1
0
0
0
0
0
0
0

i1 i2 i3 i4 i5 i6
0 0 0 0 0 0
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
0 0 0 0 0 0
otras combinaciones

i7
0
0
0
0
0
0
0
1

a
0
0
0
0
1
1
1
1

b
0
0
1
1
0
0
1
1

c
0
1
0
1
0
1
0
1

incluido las combinaciones de entrada permitidas. Las expresiones lgicas de las salidas
son las siguientes:
Codificador 4 a 2: a = i2 + i3 , b = i1 + i3 .
Codificador 8 a 3: a = i4 + i5 + i6 + i7 , b = i2 + i3 + i6 + i7 , c = i1 + i3 + i5 + i7 .
Como puede observarse las expresiones de las salidas son la suma lgica de los trminos
de las lneas de entrada a 1 que ponen dicha salida a 1. Estas expresiones sencillas se deben
al gran nmero de indiferencias que presentan las salidas. En la figura 2.29 mostramos el
diagrama lgico del codificador binario 4 a 2, segn las ecuaciones anteriores.
Codificadores con prioridad
Cabe preguntarse qu sucede en el diseo anterior cuando se ponen varias de las
lneas de entrada a 1, cul de los cdigos binarios asociados a cada una de esas lneas de
entrada es el que se tomar como salida. Tal como hemos diseado el dispositivo (poniendo
indiferencias en las salidas no permitidas) no podemos decir nada sobre esta cuestin.

28

TEMA 2. SISTEMAS COMBINACIONALES


i0

i1

i2

i3

Figura 2.29: Codificador 4 a 2.


Cuadro 2.9: Codificador 4 a 2 con prioridad.
i0
x
x
x
1
0

i1
x
x
1
0
0

i2
x
1
0
0
0

i3
1
0
0
0
0

a
1
1
0
0
0

b
1
0
1
0
0

a = i3 + i2 i3 = i3 + i2
b = i3 + i1 i2 i3 = i3 + i1 i2

Es posible imponer prioridades a las lneas de entrada, de tal forma que si varias
de ellas estn activas el codificador solo tendr en cuenta a la ms prioritaria. En el
cuadro 2.9 mostramos la tabla de verdad de un codificador 4 a 2 con prioridad y las
expresiones lgicas de sus salidas. Hemos supuesto que las lneas de mayor peso son las
ms prioritarias: i3 > i2 > i1 > i0 . El orden i3 > i2 > i1 > i0 es el orden de prioridad ms
usual y stos van a ser los circuitos codificadores que se encuentren en el mercado.
En la tabla de verdad solo ha de tenerse en cuenta la lnea ms prioritaria a uno. As,
por ejemplo, si i2 = 1 e i3 = 0 sabemos que la salida ha de ser 2, independientemente de
los valores de las lneas i0 e i1 (segunda fila de la tabla). Por otro lado, la obtencin de
estas ecuaciones a partir de la tabla de verdad es similar a la construccin de funciones en
forma de suma de minterm, pero teniendo en cuenta que las variables de entrada que son
x no intervienen en la formacin del trmino producto. A diferencia de un codificador
sin prioridad, en un codificador con prioridad todas las combinaciones de entrada tienen
definido un valor de salida y, por lo tanto, no hay indiferencias en las funciones de salida
del codificador.
En la figura 2.30 mostramos el diagrama de pines del C.I. 74148 junto con su tabla
de funcionamiento. Este chip corresponde a un codificador 8 a 3 con prioridad. Como comentario final, indicar que los codificadores comerciales binarios pueden llegar a ser de 16
a 4. Para disear codificadores mayores no es posible construir rboles de decodificadores
siguiendo el mismo mtodo empleado para MUX y DEMUX y habra que estudiar cada
caso en particular.

2.5. MANIPULADORES DE CDIGO

29

(a) Tabla de funcionamiento

(b) Diagrama de pines

Figura 2.30: Codificador 8 a 3 con prioridad 74148.


S-M

C'2

A0
A1

DECOD

A2

4 a 16

A3

o0
o1
o2
o3
o4
o5
o6
o7
o8
o9
o10
o11
o12
o13
o14
o15

i0
i1
i2
i3
i4
i5
i6
i7
i8
i9
i10
i11
i12
i13
i14
i15

B0

COD

B1

16 a 4

B2
B3

Figura 2.31: Diseo de un conversor SM a C2 para nmeros de 4 bits.

2.5.3.

Conversores de cdigo

Un conversor de cdigo es un dispositivo que genera la traduccin entre dos cdigos


diferentes. Los nmeros de bits en la entrada y la salida de este dispositivo vienen dados
respectivamente por la longitud del cdigo de partida y del cdigo traducido. La construccin de estos dispositivos es particular para cada tipo de conversin de cdigos elegida.
Una forma sencilla de realizar conversores es partiendo de decodificadores y codificadores.
En la figura 2.31 podemos ver un ejemplo de un conversor de nmeros de 4 bits en formato
signomagnitud a formato complemento a 2, utilizando un decodificador binario 4 a 16
y un codificador binario 16 a 4. Sin embargo, este mtodo tiene el inconveniente de la
limitacin del tamao de los codificadores, con lo cual si el cdigo de salida es de ms de
cuatro bits, ya habra que estudiar una implementacin especfica para el conversor.
Un ejemplo interesante es la conversin BCD a siete segmentos. Un visualizador (display) de siete segmentos consta de siete segmentos etiquetados a, b, c, d, e, f y g (figura 2.32), que pueden ser iluminados individualmente mediante LEDs. El visualizador
incluye una entrada de control para cada segmento de forma que si, por ejemplo, la en-

30

TEMA 2. SISTEMAS COMBINACIONALES


a
f

b
g

c
d

Figura 2.32: Visualizador de siete segmentos.


Cuadro 2.10: Conversin BCD a 7 segmentos.
ENTRADAS
D C B A
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1

a
1
0
1
1
0
1
0
1
1
1

b
1
1
1
1
1
0
0
1
1
1

c
1
1
0
1
1
1
1
1
1
1

d
1
0
1
1
0
1
1
0
1
0

SALIDAS
e f g
1 1 0
0 0 0
1 0 1
0 0 1
0 1 1
0 1 1
1 1 1
0 0 0
1 1 1
0 1 1





DISPLAY
0
1
2
3
4
5
6
7
8
9

trada correspondiente al segmento a est activa ste se iluminar, mientras que si est
inactiva el segmento permanecer apagado. Igual para los seis segmentos restantes. La
activacin de un segmento puede ser con un valor alto (HIGH) cuando el visualizador es
de ctodo comn, o con un valor bajo (LOW) cuando el visualizador es de nodo comn.
El cdigo BCD (cdigo binario decimal) consta de 4 bits en los cuales las combinaciones
posibles son las que generan los nmeros binarios 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, que son
precisamente los dgitos que se emplean en el sistema decimal. La conversin BCD a 7
segmentos viene dada por el cuadro 2.10.
En la figura 2.33 mostramos el diagrama de pines y la tabla de funcionamiento del
C.I. 7448, que corresponde al conversor de cdigo BCD a 7 segmentos para visualizadores
de ctodo comn.

2.5. MANIPULADORES DE CDIGO

(a) Diagrama de pines

(b) Tabla de funcionamiento

Figura 2.33: C.I. 7448: conversor BCD a 7 segmentos.

31

También podría gustarte