Вы находитесь на странице: 1из 38

Capítulo III.

Diseño combinacional

Capítulo III.

Circuitos Lógicos Combinacionales

3.1. Introducción.

Los circuitos lógicos para sistemas digitales pueden ser combinacionales o secuenciales. Un circuito
combinacional consiste de compuertas lógicas cuyas salidas en cualquier instante estan determinadas
directamente por la combinación de entrada presente; sin ser influenciadas por el valor de las entradas
anteriores. Un circuito combinacional realiza una operación de procesamiento de información dada, la
cual queda totalmente especificada en forma lógica por un conjunto de funciones Booleanas. Los
circuitos secuenciales emplean elementos de memoria (celdas binarias) además de compuertas lógicas.
Sus salidas son una función de las entradas presentes y el estado de los elementos de memoria. El
estado de los elementos de memoria, en si, son una función de las entradas previas. Como
consecuencia, las salidas de un circuito secuencial dependen no solamente de las entradas presentes
sino también de las pasadas y el circuito deberá ser especificado por una secuencia temporal de las
entradas y estados internos.
Los circuitos secuenciales serán estudiados más adelante. Hasta ahora hemos aprendido a reconocer
los números binarios y códigos binarios que representan cantidades discretas de información. Estas
variables binarias son representadas por voltajes eléctricos o por alguna otra señal. Estas señales
pueden ser manipuladas en compuertas lógicas digitales para realizar las funciones requeridas.
También hemos introducido el algebra Booleana como una forma de expresar las funciones lógicas
en forma algebraica. Además hemos aprendido como simplificar funciones Booleanas para realizar
implementaciones de compuertas económicas. El propósito de este capítulo, es utilizar el
conocimiento adquirido anteriormente y formular varios procedimienos de diseño y análisis de
circuitos combinacionales. La solución de algunos ejemplos típicos proporcionaran un catálogo útil de
funciones elementales importantes para la comprensión de los computadores y sistemas digitales en
general.
Un circuito combinacional consiste de variables de entradas, compuertas lógicas y variables de salida.
Las compuertas lógicas aceptan señales de las entradas y generan señales en sus salidas. Este
proceso transforma señales de naturaleza binaria que representa un data de entrada dado a un data de
salida requerido. Obviamente tanto el data de entrada como el de salida son representados por señales
binarias; por lo tanto ellas existen en dos posibles valores, una representando el "1" lógico y el otro el "0"
lógico.

Circuito
n .. .. m
Entradas . Lógico
Combinacional
. Salidas

Figura 3.1.- Diagrama de bloques de un circuito combinacional

Las n variables binarias de entrada llegan desde una fuente externa; Las m variables de salida van a un
destino externo. En muchas aplicaciones las fuentes y/o destinos son registros de almacenamiento
ubicados ya sea en la vecindad del circuito combinacional o en un dispositivo remoto externo. Por
definición un registro externo no influye en el comportamiento del circuito combinacional, por que si lo
hace, entonces, el sistema completo es un circuito secuencial.

Curso Electrotecnia VPG/3.1


Capítulo III. Diseño combinacional

Para n variables de entrada hay 2n posibles combinaciones de valores de entradas binarias. Para cada
combinación de entrada posible, hay una y sólo una combinación de salida posible. Un circuito
combinacional puede ser descrito por m funciones Booleanas, una para cada variable de salida.
Cada función de salida es expresada en términos de las n variables de entrada.
Cada variable de entrada a un circuito combinacional puede tener una o dos líneas de conexión.
Cuando hay una sola línea disponible esta puede representar a la variable en forma normal (sin negar)
o complementada (negar). Dado que una variable en una expresión Booleana, puede aparecer negada
o sin negar, es necesario proporcionar un inversor para cada literal no disponible como línea de
conexión de entrada.
Por otro lado una variable de entrada puede aparecer en dos líneas de conexión proporcionando tanto
la forma normal como la complementada a la entrada del circuito. De esta forma no es necesario
incluir inversores para las entradas. El tipo de celda binaria usada en muchos sistemas digitales son
circuitos Flip-Flop que tienen salidas para valores normales o complementados de la variable binaria
almacenada. En adelante supondremos que cada variable de entrada aparece con dos líneas de
conexión, proporcionando tanto la variable normal como la complementada simultáneamente.
Debemos tener presente también que un circuito inversor puede siempre proporcionar el
complemento de una variable en aquellos casos en que esta última aparezca con una única línea de
conexión.

3.2 Procedimiento de diseño.


El diseño de circuitos combinacionales comienza con la descripción verbal del problema y termina en
un diagrama de circuito lógico, o un conjunto de funciones Booleanas de las cuales es fácil obtener
el diagrama lógico. El procedimiento consiste de los siguientes pasos:

Definición del problema.


a) Se determina el número de variables de entrada disponibles y el número de variables de salida
requeridas.
b) A cada variable de entrada y salida se le asigna un símbolo literal. Se deduce la tabla de
verdad que define la relación requerida entre entrada y salida.
c) Se obtiene la función Booleana simplificada para cada salida.
d) Se dibuja el diagrama lógico.
Una tabla de verdad para un circuito combinacional consiste de columnas de entrada y columnas de
salida. Los 1's y 0's en las columnas de la entrada se obtienen de las 2n combinaciones binarias
disponibles para n variables de entrada. Los valores binarios para las salidas se determinan al
examinar el enunciado del problema. Una salida puede ser igual a "1" o "0" para cada combinación de
entrada válida. Sin embargo, las especificaciones pueden indicar que alguna combinación de entrada
no ocurrirá, estas combinaciones se denominan "don't care".
Las funciones de salida especificadas en la tabla de verdad dan la definición exacta del circuito
combinacional. Es importante que las especificaciones verbales sean interpretadas correctamente al
ser llevadas a la tabla de verdad. Algunas veces el diseñador debe usar su intuición y experiencia para
llegar a la interpretación correcta. Las especificaciones en palabras son raramente completas y
exactas. Cualquier interpretación errónea llevará a una tabla de verdad incorrecta lo cual a su vez
producirá un circuito combinacional que no cumplirá los requerimientos establecidos.
Las funciones Booleanas de salida obtenidas de la tabla de verdad pueden ser simplificadas por
cualquier método disponible tal como manipulación algebraica, método de mapas o el procedimiento
tabular. Sin embargo en algunas aplicaciones particulares, ciertas limitaciones, restricciones y
criterios serviran como guía en el proceso de elección de una expresión algebraica particular. Un
método de diseño práctico tendría que considerar restricciones tales como:

Curso Electrotecnia VPG/3.2


Capítulo III. Diseño combinacional

a) Mínimo número de compuertas.


b) Mínimo número de entradas a una compuerta.
c) Mínimo tiempo de propagación de la señal a través del circuito.
d) Mínimo número de interconexiones.
e) Limitaciones de la capacidad de suministro de corriente de cada compuerta.

Puesto que todos estos aspectos no pueden ser satisfechos simultáneamente y dado que la
importancia de cada restricción es dictada por la aplicación particular, es dificil hacer una afirmación
general sobre que constituye una simplificación aceptable. En muchos casos la simplificación
comienza satisfaciendo algún objetivo particular tal como producir una función Booleana simplificada
en forma estandar y, a partir de ello proceder a lograr algún otro criterio de performance.

En la práctica los diseñadores tienden a ir de las funciones Booleanas a un listado de cableado que
muestra la interconección entre varias compuertas lógicas estandar. En estos casos, el diseño no
necesita ir más allá de las funciones Booleanas de salida simplificadas necesarias. Sin embargo un
diagrama lógico es útil para visualizar la implementación en compuertas de la expresión.

3.3. Circuitos aritméticos.


En una gran cantidad de aplicaciones lógicas es necesario realizar una variedad de operaciones
aritméticas tales como sumas, restas, multiplicaciones, comparaciones, etc. Los circuitos lógicos también
se utilizan para realizar operaciones aritméticas, en cuyo caso, la función lógica que se genera en una
salida es una función aritmética.
Dado que los niveles de tensión alto y bajo, pueden representar los diositos 0 y 1 del sistema binario, es
posible operar con números de dicho sistema numérico. En este sentido, para un circuito digital la
combinación 1010, puede significar tanto información de un cierto evento, como el número 10 escrito en
base dos.
De la misma manera que una operación aritmética entre dos números da por resultado otro número, un
circuito combinacional puede transformar dos combinaciones de “unos” y “ceros” presentes en sus
entradas (correspondientes a dos números binarios), en otra combinación presente en su salida, que
coincida con el resultado de la operación aritmética implementada.

3.3.1 Sumadores.

Entre las operaciones aritméticas, sin duda la más básica es la suma de dos dígitos binarios. Esta
sencilla suma consiste de cuatro operaciones elementales posibles:

0 + 0 = 0 1 ← acarreo 1 ← acarreo
0 + 1 = 1 0 1 0 1 1 0
1 + 0 = 1 + 1 1 + 1 1 0 0
1 + 1 = 1 0 1 0 0 1 0 0 1 0

Las primeras tres operaciones producen una suma cuyo largo es un dígito, pero cuando ambos
sumandos son "1", la suma binaria consiste de dos dígitos. El bit más significativo de este resultado
es llamado carry (acarreo). Cuando los sumandos contienen más dígitos significativos, el carry
obtenido de la suma de dos bits es sumado al par de bits significativos de orden más alto siguiente. Un
circuito combinacional que realiza la suma de dos bits es llamado Half adder. Uno que realiza la suma de
tres dígitos, dos bits significativos y el carry previo, es un full-adder. El origen de los nombres viene del
hecho que con dos half-adder se construye un full-adder. Los dos circuitos sumadores son los
primeros circuitos aritméticos que diseñaremos.

Curso Electrotecnia VPG/3.3


Capítulo III. Diseño combinacional

1. Semi-Sumador. (Half-Adder)

De la descripción verbal de un half-adder, encontramos que este circuito requiere dos entradas
binarias y dos salidas binarias. Las variables de entrada designan a los bits sumandos; las variables de
salida producen la suma y el carry. Es necesario especificar dos variables de salida debido a que el
resultado puede consistir de dos dígitos binarios. Arbitrariamente asignaremos los simbolos A y B a
las dos entradas y S (para la suma) y C (para el carry) a las salidas.

Una vez establecido el número y nombre de las variables de entrada y salida, estamos en condiciones
de formular la tabla de verdad para determinar exactamente la función del half-adder, tabla que se
muestra en la fig. 3.2

Sumando Sumando Acarreo Suma


A B C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Fig. 3.2 Tabla de verdad para el Half-adder

La salida carry es 0 a menos que ambas entradas sean 1. La salida S representa el bit menos
significativo de la suma. Las funciones Booleanas simplificadas para las dos salidas pueden ser
obtenidas directamente de la tabla de verdad.

Las expresiones sumas de productos simplificadas son: S = AB + AB (or-ex) y C = AB y

Las expreisiones productos de suma simplificadas son: S = (A + B)(A + B) y C = AB

Los diagramas lógicos para estas implementaciónes se muestra en la Fig. 3.3.

A B A B

S
S

C
C

a) Suma de productos b) Productos de suma para S

. Fig. 3.3. Implementación de un half-adder

Otras implementaciones para el Half-Adder, se obtienen trabajabdo algebraicamente las expresiones


originales. Por ejemplo, complementando la expresión de S tenemos en la expresión producto de
sumas:

A B

S = ((A + B )(A + B)) = (A + B ) + (A + B) = AB + AB


⇒ S
pero AB = C ⇒ S = C + A B ⇒ S = (C + AB) C

Curso Electrotecnia VPG/3.4


Capítulo III. Diseño combinacional

Por otra parte tenemos que C = AB ⇒ C = AB ⇒ C = A + B ⇒ C = (A + B) y reemplazando la


última expresión para C en la expresión producto de sumas para S se tiene

A B

S = (A + B )(A + B)
⇒ S
S = (A + B )C
C

Además de la expresión en términos de el OR-EX que se obtiene directamente de la tabla de verdad y


cuya implementación se muestra en la figura 3.4
A B
Las diferentes implementaciones mostradas para el Half Adder son un
ejemplo de la flexibilidad disponible para el diseñador en la implementación S
de circuitos lógicos aún con una tan simple función lógica combinacional como
los es el semisumador.
C
Cualquiera sea la implementación utilizada para el HA, la frecuencia de su
utilización ha llevado a considerarlo como una primitiva cuyo diagrama lógico Fig.3.4 HA con OR-EX
y su expresión lógica de salida se muestran en la figura 3.5:

A S = A⊕B
S = A⊕B A 1
2 ∑
B C = AB
B C = AB

Fig. 3.5 Símbolo lógico del Half-Adder

El half-adder es un sumador limitado; puede sumar solamente dos dígitos, aun cuando genera un
acarreo para el próximo par de bits más significativos, no puede aceptar un acarreo generado por el par
de bits menos significativos anterior. Para resolver este problema deberá disponerse de un full-adder.

2. Sumador Completo. (Full-Adder)

Un full-adder es un circuito combinacional que realiza la suma aritmética de tres bits de entrada.
Consiste de tres entradas y dos salidas. Dos de las variables de entrada, denotadas A y B
representan los dos bits significativos que deben ser sumados y la tercera entrada, C0 , representa el
acarreo desde la posición menos significativa previa. Las dos salidas son necesarias debido a que
la suma aritmética de tres dígitos binarios comprende el rango de valores 0 a 3, y la representación
binaria de los números decimales entre 0 y 3 requieren de dos dígitos binarios. Las dos salidas son
designadas por los símbolos S para la suma y C para el carry. La variable binaria S da el valor del bit
menos significativo de la suma y la variable C el bit más significativo correspondiente al carry. La
tabla de verdad para el full-adder se muestra en la Fig. 3.6

Curso Electrotecnia VPG/3.5


Capítulo III. Diseño combinacional

Las ocho columnas bajo las variables de entrada designan todas las combinaciones de "1" y "0"
posibles que pueden tener estas tres variables.
Los unos y ceros de las variables de salida estan determinados por la suma aritmética de los bits de
entrada. Cuando todos los bits de entrada son "0's", la salida es "0". La salida S es "1" cuando sólo una
entrada es igual a "1" o cuando las tres entradas son "1". La salida C tiene un carry igual a "1" si dos o
tres entradas son iguales a "1".

Entrtadas Salidas
Acarreo
Sumando Sumando Acarreo Suma
Anterior
A B C S
C0
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Los bits de entrada y salida del circuito combinacional tienen diferentes interpretaciones en las
distintas etapas del problema. Físicamente, las señales binarias de las líneas de entrada son
considerados dígitos binarios sumados aritméticamente para formar una suma de dos dígitos en las
líneas de salida. Por otro lado los mismos valores binarios son considerados variables de funciones
Booleanas cuando son expresados en la tabla de verdad o cuando el circuito es implementado con
compuertas lógicas. Es importante distinguir estas dos interpretaciones dadas a los valores de los bits
que aparecen en este circuito.

La relación lógica de entrada-salida del circuito full-adder puede ser expresada en dos funciones
Booleanas, una para cada variable de salida. cada función Booleana de salida requiere un único mapa
para su simplificación. Cada mapa debe tener
ocho cuadrados, dado Fig 3.6. Tabla de verdad para el Full-adder que cada salida es
función de tres variables de entrada.

Los mapas de la Fig 3.7 muestran la simplificación de las dos funciones de salida. Los "1's" en las
celdas de los mapas son determinados directamente de los valores para S y C0 de la tabla de verdad
que describen las funciones:

S = ∑ m (1,2,4,7 ) y C = ∑ m ( 3,5,6,7 )

AB AB
S 00 01 11 10 C 00 01 11 10
0 1 1 0 1
C0 C0
1 1 1 1 1 1 1

Fig. 3.7 Mapas de Karnaugh para el Full-Adder

S = ABC0 + ABC0 + ABC0 + ABC


S = A ⊕ B ⊕ C0 C = AB + AC0 + BC0

Curso Electrotecnia VPG/3.6


Capítulo III. Diseño combinacional

Una vez realizada la minimización se obtiene el diagrama lógico para el Full-Adder implementado a
partir de la suma de productos que muestra en la Fig 3.8

A B C0

A S = A ⊕ B ⊕ C0
S = A ⊕ B ⊕ C0 FA
B
C = AB + AC0 + BC0
C = AB + AC0 + BC0 C0

Fig. 3.8 Diagrama lógico y símbolo lógico para el Full Adder

3. Full-Adder a partir de Half-Adder

El hecho que la suma sea una operación binaria, es decir, siempre se suman de a dos operandos,
permite suponer que debe ser posible construir un un Full-Adder a partir de HA. En efecto, haciendo las
siguientes operaciones a las funciones de salida del FA, veremos que un full-adder puede ser
implementado con dos half-adders y una compuerta OR.

Para el Full-Adder, S = A ⊕ B ⊕ C0 y C = ∑ m ( 3,5,6,7 ) = ABC0 + ABC0 + ABC0 + ABC0 , pero:

( ) ( )
C = ABC0 + ABC0 + ABC0 + ABC0 = C0 AB + AB + AB C0 + C0 = C0 ( A ⊕ B ) + AB , es decir, que las
expresiones para S y C0 del Full-Adder se pueden escribir como:

A⊕B
A A ⊕ B ⊕ C0
S = A ⊕ B ⊕ C0 y
⇒ B
HA
AB
HA
C0 = ( A ⊕ B ) C0 + AB
C = C0 ( A ⊕ B ) + AB
C0

4. Suma de números de N dígitos.

Si se tiene dos números de n bits tales como A = An An −1........A1A0 y B = Bn Bn −1........B1B0 , la suma se


realiza siguiendo el proceso manual siguiente: Se suma columna por columna, comenzando por la
derecha y teniendo presente el acarreo (Carry), si se arrastra un acarreao de una posición a otra la suma
se “ve” de la siguiente forma:

C n −1 Cn − 2 C2 C1 C0
An An −1 A3 A2 A1 A0
Bn Bn B3 B2 B1 B0
Sn Sn-1 S3 S2 S1 S0

Curso Electrotecnia VPG/3.7


Capítulo III. Diseño combinacional

En que Ci −1 corresponde al acarreo anterior, por ejemplo C0 corresponde al acarreo de la suma de


A0 y B0 , el cual se suma con los dígitos A1 y B1 y así sucesivamente. Dado que la suma de los bits de
cada posición sigue un proceso idéntico, se puede esquematizar la suma de todas las posiciones
mediante un conjunto de bloques encadenados como se muestra en la figura 3.9

An Bn Cn-1 Ai Bi Ci-1 A2 B2 C1 A1 B1 C0 A0 B0 C-1

FA FA FA FA FA

Ci C2 C1 C0
Cn Sn Si S2 S1 S0

Fig.3.9. Sumador de dos números de n bits

Al bloque que suma A0 con B0 para mayor versatilidad, es igual a los demás, designando C-1 su entrada
de acarreo. Esta puede porvenir de un sumador anterior o servir para sumar un uno extra. En otro caso
esta entrada debe ser cero.

Ejemplo. Sumar A = 1101 y B = 0111

A= 1 1 0 1 B= 0 1 1 1

1 0 1 1 1 1 0 1 1 1 1 0
Acarreo → 1 1 1
A → 1 1 0 1
B → 0 1 1 1
FA FA FA FA
Resp 1 0 1 0 0

1 1 1

1 0 1 0 0
Fig. 3.10. Suma de dos números A y B de 4 bits cada uno

Un circuito construido de esta forma se denomina sumador paralelo con acarreo serie. Esta
denimonación se debe a que todos los bits de los números a sumar entran simultáneamente (en paralelo)
y el resultado de la suma se obtiene en paralelo en todas las líneas de salida, luego que en estos se va
generando uno tras otro en el tiempo, los bits del resultado, en el orden S0, S1 … Sn. Dado que cada FA,
para generar el resultado definitivo debe esperar que el FA anterior genere el acarreo definitivo, se dice
que el acarreo se propaga en serie. Este circuito se conoce también con el nombre de sumador en
configuración seudoparalelo.

3.3.2. Restadores.

La resta de dos números binarios puede ser realizada tomando el complemento del sustraendo y
sumandolo al minuendo. Según este método, la operación resta se transforma en una suma, necesitando
full-adders para su implementación. También es posible implementar la resta con circuitos lógicos

Curso Electrotecnia VPG/3.8


Capítulo III. Diseño combinacional

en forma directa tal como se hace con papel y lápiz. Según este método cada bit del sustraendo es
restado de su correspondiente bit del minuendo para formar el bit diferencia. Si el bit minuendo es más
pequeño que el bit sustraendo, se "pide prestado" un 1 de la posición más significativa siguiente. El
hecho que haya sido pedido un 1, debe ser comunicado al próximo par de bits más altos por medio de
una señal binaria saliendo (salida) de una etapa dada y entrando (entrada) a la etapa más alta
siguiente. Al igual que existen half-adders y full-adders, también existen half- y full- substractors.

1. Semi-restadores. (Half-substractor)

Un semi-restador es un circuito combinacional que resta dos bits y entrega su diferencia. También
tiene una salida para especificar si ha sido "pedido" un 1. Se designa el bit minuendo por Ay el
sustrendo por B. Para realizar A-B, se deben chequear las magnitudes relativas de A y B. Si A >= B , se
tienen tres posibilidades: 0 – 0 = 0; 1 – 0 = 1 y 1 – 1 = 0. El resultado es llamado el bit de diferencia.
Si A < B, tenemos 0 – 1, siendo necesario pedir prestado un 1 de la etapa más alta siguiente. El 1
pedido suma dos al bit del minuendo, tal como en el sistema decimal el pedido suma 10 al dígito
minuendo. Con el minuendo igual a 2 la diferencia es 2 – 1 = 1. El semi-restador necesita dos salidas.
Una salida genera la diferencia que será designada con el símbolo D. La segunda salida, designada por
P (de Préstamo) genera la señal binaria que informa a la próxima etapa si ha sido pedido un 1. La tabla
de verdad para la relación entradas/salidas de un semirestador es entonces:

Minuendo Sustraendo Prestamo Diferencia


A B P D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0

La salida P es cero siempre que A ≥ B y P = 1, para A = 0 e B = 1 . La salida D es el


resultado de la operación aritmética 2P + A − B .

Las funciones Booleanas para el semi-restador obtenidas directamente de la tabla de verdad son:

D = AB + AB = A ⊕ B y P = AB

Es interesante notar que la salida D es exactamente la misma que la salida S del half-adder.

2. Restador Completo (full-substractor)

Un restador completo es un circuito combinacional que realiza la resta entre dos bits, teniendo en
cuenta el hecho que puede haber sido pedido un 1 por parte de la etapa anterior.
Este circuito tiene tres entradas y dos salidas. Las tres entradas son A, B y P0 denotando el
minuendo, sustrendo y pedido previo respectivamente. Las dos salidas D y P representan la
diferencia y la salida pedida respectivamente. La tabla de verdad para este circuito se muestra en la
figura 3.11.
Las ocho filas bajo las variables de entrada designan todas las posibles combinaciones de 1's y 0's que
pueden formar las variables binarias. Los 1's y 0's para las variables de salida son obtenidos de la
resta A − B − P0 .

Curso Electrotecnia VPG/3.9


Capítulo III. Diseño combinacional

Las combinaciones que tienen A = 0 y BP0 son 01 o 10 deben tomar un prestamo 1 de la próxima
etapa, lo cual hace que P = 1 y sume 2 a A. Para A = 0 y BP0 = 11, otra vez se necesita un prestamo,
haciendo que P = 1 y A = 2. Puesto que 2 − 1 − 1 = 0 , D = 0. Finalmente, para A = 1, B = 1 y P0
= 1 se requiere nuevamente un préstamo, con lo que P = 1 y A = 3, luego 3 − 1 − 1 = 1 y por lo tanto
D = 1.

Las funciones Booleanas simplificadas de las dos salidas del restador-completo se deducen de los
mapas de la Fig. 3.12.

Entrtadas Salidas
Préstamo
Minuendo Sustraendo Préstamo Diferencia
Anterior
A B P D
P0
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1

Fig. 3.11 Tabla de verdad para restador completo


AB AB
D 00 01 11 10 P 00 01 11 10
0 1 1 0 1
P0 P0
1 1 1 1 1 1 1

D = ABP0 + ABP0 + ABP0 + ABP0


P = AP0 + AB + BP0
D = A ⊕ B ⊕ P0

Fig. 3.12 Mapas de Karnaugh para el restador completo

Nótese que la función lógica para la salida D en el restador completo es exactamente la misma que la
salida S del sumador completo. Sin embargo la salida B se diferencia de la función para C, en que la
variable de entrada A está complementada. Debido a estas similitudes es posible convertir un sumador
completo en un restador-completo simplemente complementando la entrada A antes de entrar a las
compuertas que forman el carry de salida.

3.3.2. Circuitos sumadores integrados.

Existen comercialmente disponibles una variedad de circuitos integrados sumadores. Uno de ellos es el
74LS82, un sumador seudoparalelo de dos bits cuyo diagrama lógico se muestra en la figura 3.13. La
señal C0 corresponde a el acarreo de entrada y C2 es el acarreo de salida.

Sumador integrado de cuatro bits.

Se tienen disponibles también circuitos sumadores de dos números de cuatro bits, en diferentes
tecnologías y encapsulados. En la figura 3.15 se indican algunos de ellos.

Curso Electrotecnia VPG/3.10


Capítulo III. Diseño combinacional

Cuando C0 = 0 Cuando C0 = 1
A2 A1 B2 B1 C2 S2 S1 C2 S2 S1
0 0 0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0 1 0
0 0 1 0 0 1 0 0 1 1 A1
0 0 1 1 0 1 1 1 0 0 A2 S1
0 1 0 0 0 0 1 0 1 0 74283
0 1 0 1 0 1 0 0 1 1 S2
0 1 1 0 0 1 1 1 0 0 B1
0 1 1 1 1 0 0 1 0 1 B2 C2
C0
1 0 0 0 0 1 0 0 1 1
1 0 0 1 0 1 1 1 0 0
1 0 1 0 1 0 0 1 0 1
1 0 1 1 1 0 1 1 1 0
1 1 0 0 0 1 1 1 0 0 Fig 3.13. Símbolo lógico del CI
1 1 0 1 1 0 0 1 0 1 sumador 74283
1 1 1 0 1 0 1 1 1 0
1 1 1 1 1 1 0 1 1 1

Fig 3.14 Tabla de verdad del CI sumador 74283

Dispositivo Familia Descripción


7483 TTL Sumador de cuatro bits de acarreo rápido, con encapsulado no estandard
Sumador de cuatro bits de acarreo rápido, con encapsulado estándar,
74283 TTL
funcionalmente idéntico al 7483.
Sumador de cuatro bits de acarreo rápido, con encapsulado estándar,
74HC83 CMOS
funcionalmente idéntico al 74283.
4008 CMOS Sumador de cuatro bits de acarreo rápido, con encapsulado estándar.

Fig 3.15 Algunos circuitos integrados sumadores

Circuito Integrado 74HC283

El circuito integrado 74HC283, es un circuito que suma dos número binarios de 4 bits. Las entradas Ai y
Bi y las salidas Si y Ci tienen el valor posicional mostrado en c) . C0 es “acarreo anterior” y es útil para
conectar dos 74HC283 en cascada con el objeto de realizar un sumador de 8 bits.

La distribución de pines, el diagrama lógico y el diagrama funcional del 74LS283 se muestran en la


figura 3.16 y su descripción funcional en la figura 3.17

S2 1 Vcc 16 15 14 13 12 11 10 9
16
B2 2 15 B3 A0
VCC A1
A2 3 14 A3 B2 A2 S2 A3 B3 S3 A2 S0
S1 4 A3 S1
74LS283 13 S3 C3 74HC283 S2
74LS283 B0
A1 5 12 A4 S1 S3
B1
B1 6 11 B4 B2 Cout
B1 A1 S0 A0 B0 C0
B3
Cin 7 10 S4 Gnd
Cin
Gnd 8 9 Cout
1 2 3 4 5 6 7 8
Diagrama Funcional
Distribución de pines Diagrama lógico
IC 74HC283
IC 74283 IC 74HC283

Fig 3.16 Circuito sumador integrado 74283

Curso Electrotecnia VPG/3.11


Capítulo III. Diseño combinacional

Descripción de pines
Pines Símbolo Nonbre y función
4, 1, 13, 10 S1 S2 S3 S4 Salidas de la suma
5, 3, 14, 12 A1 A2 A3 A4 Operando de entrada 1
6, 2, 15, 11 B1 B2 B3 B4 Operando de entrada 2
7 Cin Acarreo de entrada
8 GND Tierra (0 Volts)
9 Cout Acarreo de salida
16 VCC Voltaje positivo

Fig 3.17 Descripción funcional del CI sumador 74283

Ejemplo de cálculo. Suma de 1010 + 1001 = 10011


Operando 1 Operando 2 Acarreo Suma
Cin A4 A3 A2 A1 B4 B3 B2 B1 Cout S4 S3 S2 S1
L H L H L H L L H H L L H H
0 1 0 1 0 1 0 0 1 1 0 0 1 1

3. Circuitos Sumador y Restador.

Como se vió anteriormente, la resta de dos números A y B, (restar B de A), se puede realizar utilizando
complementos a uno o complemento a dos. Es decir, un sumador se puede utilizar para restar,
adecuando convenientemente sus entradas, dependiendo si se quiere utilizar complemento a uno o
complemento a dos.
Cualquiera sea el complemento elegido, en ambos casos se requiere complementar el sustraendo
(número B) cuando se desee restar y dejarlo sin cambiar cuando se desee sumar. Esta función se puede
llevar a cabo, incluyendo, en la entrada del sumador un sistema de control que, con una salida dada, las
entradas permanezcan sin alteración y con otra se invierta el minuendo.
Se debe diseñar entonces un circuito de dos entradas S e I, tal que, si la entrada de control es S = 0,
entonces la entrada independiente I sea “traslada” a la salida Y sin cambio y, si la entrada de control es S
= 1, entonces la salida Y sea la entrada independiente I complementada. El diagrama de bloques y tabla
de verdad de este elemento se muestra en la fig. 3.18

Entradas Salida Descripción


S I Y
= I Si S = 0
I Y ⇒ 0 0 0 Y =I
= I Si S = 1 0 1 1 Y =I
1 0 1 Y =I
S 1 1 0 Y =I

Fig 3.18. Tabla de verdad y bloque funcional del complementador controlado

De la tabla de verdad se obtiene que el circuito complementador controlado corresponde a un OR


Exclusivo.
Entrada I
S = A⊕B
Entrada S

Curso Electrotecnia VPG/3.12


Capítulo III. Diseño combinacional

Una sola entrada de control S con n líneas de entrada de datos Ii sirve para complementar o no la
entrada, según la operación de resta o suma binaria. La figura 3.19a) muestra un complementador
controlado de 4 bits. La fgura 3.19b) muestra un sumador de 4 bits que utiliza un 74283 al que en sus
entradas Bi se le ha conectado un complementador controlado de 4 bits de manera tal que si S = 0, el
sustraendo pasa a las entradas Bi del sumador sin complementar y si S = 1, estas ingresan al sumador
complementadas. Si la misma salida S del complementador se conecta a Cin, (como se muestra en la
figura 3.19), cuando S = 1 se suma un uno adicional.

A0
I1 Y1 A1
Minuendo A2 S0 Y1
I2 Y2 A3 S1 Y2
74HC283
B0 S2 Y3
I3 Y3 B1 S3 Y4
B2 Cout
Sustraendo B3
I4 Y4 Cin

S
Control S
a) Controlador
a) Sumador
Fig 3.19. Circuito sumador de cuatro bits con CI 74283

4. Circuito Sumador y Restador en complemento a uno.

Para construir un circuito con un sumador de 4 bits como el 7483, que sume los números A3 A2 A1A0 y
B3 B2 B1B0 o que reste B3 B2 B1B0 de A3 A2 A1A0 , en complemnto a uno, se deberá proceder de la siguiente
forma:

1. Para la suma, se debe dejar el número B3 B2 B1B0 sin cambio y para la resta se debe
complementar a uno. El complemento a uno consiste en en invertir los bits del sustraendo (B).
2. Si se trata de la resta y existe un rebasamiento (C4 = 1), se descarta este rebalse y se debe
sumar un uno al resultado. Para implementar la detección del rebasamiento en la resta, basta
con hacer un AND entre la línea de control S y C4. La salida de la compuerta AND es 1, Y para
sumar un 1 al resultado, basta con conectar la salida de la compuerta AND directamente a la
entrada C0 del 74283.
Hasta aquí el circuito sería:
A0
A1
Minuendo A2 S0 Y1
A3 S1 Y2
74HC283
B0 S2 Y3
B1 S3 Y4
B2 Cout
Sustraendo B3
Cin

Control S

3. Si se trata de la resta y no existe un rebasamiento (C4 = 0), significa que la respuesta es negativa
y debe calcularse el complemento a uno del resultado, para obtener la magnitud real de la
respuesta. Si se invierte C4, entonces es posible detectar cuando se trata de una resta y cuando
en este proceso de resta C4 = 0, utilizando una segunda compuerta AND cuyas entradas son

Curso Electrotecnia VPG/3.13


Capítulo III. Diseño combinacional

S y C4 . La salida de esta última compuerta AND se emplea como señal de control en un


complementador contolado. El LED en el circuito de la figura 3.20 indica número negativo.

A0
A1 S0 S0
Minuendo A2
A3 S1
74HC283 S2 S1
B0
B1 S3
S2
B2 Cout
Sustraendo B3 S3
Cin

Control S

Fig. 3.20 Circuito Sumador restador con 7483

5. Circuito Sumador y Restador en complemento a dos.

Para construir un circuito con un sumador de 4 bits como el 7483, que sume los números A3 A2 A1A0 y
B3 B2 B1B0 o que reste B3 B2 B1B0 de A3 A2 A1A0 , en complemnto a dos, se deberá proceder de la siguiente
forma:

1. Para la suma, se debe dejar el número B3 B2 B1B0 sin cambio y para la resta se debe
complementar a dos. El complemento a dos consiste en obtener el complemento a uno y sumar
1. El complemento a uno consiste en invertir los bits del sustraendo (B).
2. Si se trata de la resta y no existe un rebasamiento (C4 = 0), significa que la respuesta es negativa
y debe calcularse el complemento a dos del resultado, para obtener la magnitud real de la
respuesta. Si se invierte C4, entonces es posible detectar que se trata de una resta y que C4 = 0,
utilizando una compuerta AND cuyas entradas son S y C4 . La salida 1 de esta última compuerta
AND indica entonces que se está realizando una resta y que el acarreo es negativo y por lo tanto
hay que realizar el complemento a dos de la salida para obtener la magnitud real de la respuesta.

A0 A0
A1 S0 A1 S0 S0
Minuendo A2 A2
A3 S1 A3 S1 S1
74HC283 S2 74HC283 S2 S2
B0 B0
B1 S3 B1 S3 S3
B2 Cout B2 Cout
Sustraendo B3 B3
Cin Cin

Control S

Fig. 3.21 Circuito Sumador restador con 74283

Curso Electrotecnia VPG/3.14


Capítulo III. Diseño combinacional

Para implementar el complemento a dos se complementa a 1 y se suma 1, por lo tanto se debe


utilizar un complementador controlado (complemente a 1) y sumarle 1 con otro sumador 7483
con entradas 0 y acarreo 1 cuando se trata de la resta.
3. Si se trata de la resta y existe un rebasamiento (C4 = 1), entonces no se usa el complemento a
dos del resultado. La respuesta ya tiene la magnitud verdadera y no debe ser alterada por el
resto de la circuitería. En esta situación la salida de la compuerta AND será 0. Con un cero en las
entradas de control del segundo complementador controlado (el que está a la salida del 74283),
el resultado del 74283 pasa sin cambio

Comparadores.

Un comparador es un circuito combinacional que compara dos números A y B y determina su magnitud


relativa. El resultado de la comparación está representado por tres salidas que indican cuando A > B,
A = B, o A < B.
Los posibles tipos de data digital que se puede comparar son: Números binarios, Números decimales
representados en un código binario o cualquier otro conjunto ordenado de elementos de información
discretos. Siguiendo el procedimiento se mostrará el diseño de un circuito que compare dos
números binarios de dos bits cada uno. Luego se procederá a formular un método general para diseñar
comparadores para cualquier conjunto ordenado de datos y de cualquier largo.
Un circuito que compare dos números binarios A y B, cada uno de dos bits, debe tener dos entradas
por cada número. Denominaremos las cuatro variables de entrada A1 , A2 ,B1 y B2 en que el subíndice
denota el dígito menos significativo.
El circuito deberá tener tres salidas una para cada posibilidad A > B, A = B, y A < B, que se
denominarán X, Y y Z respectivamente. La tabla de verdad para las relaciones de entrada y
salida se muestran en la tabla de la figura 3.22. Cabe hacer notar que las salidas son mutuamente
exclusivas sólo una salida es igual a 1 para cada combinación de las variables de entrada. Las cuatro
combinaciones que hacen que la salida igualdad (y) sea igual a 1 son aquellas en que A0 A1 = B0 B1 .

X A1A0 Y A1A0
A>B A=B A<B B1B0 00 01 11 10 B1B0 00 01 11 10
A1 A0 B1 B0 X Y Z 00 1 1 1 00 1
0 0 0 0 0 0 1 0
1 0 0 0 1 0 0 1 01 1 1 01 1
2 0 0 1 0 0 0 1
11 11 1
3 0 0 1 1 0 0 1
4 0 1 0 0 1 0 0 10 1 10 1
5 0 1 0 1 0 1 0
6 0 1 1 0 0 0 1
7 0 1 1 1 0 0 1 Z A1A0
8 1 0 0 0 1 0 0 B1B0 00 01 11 10
9 1 0 0 1 1 0 0
00
10 1 0 1 0 0 1 0 x = A1B1 + A1A0 B0 + A0 B1B0
11 1 0 1 1 0 0 1
y = ∑ ( 0, 5,10,15 )
01 1
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0 11 1 1 1
14 1 1 1 0 1 0 0 z = B1 A1 + B1B0 A0 + B0 A1A0
10 1 1
15 1 1 1 1 0 1 0

Fig. 3.22. Tabla de verdad, Mapas de Karnaugh y funciones mínimas para circuito comparador

Curso Electrotecnia VPG/3.15


Capítulo III. Diseño combinacional

Las seis combinaciones de entrada que hacen que la salida X (mayor que) sea igual a 1 son aquellas en
que A1 A0 > B1 B0 . Las seis entradas restantes hacen que la salida Z (menos que) sea igual a 1 y son
las que cumplen que A1 A0 < B1 B0 . Los tres mapas para las salidas derivadas de la tabla de verdad se
muestra en la figura 3.22.
Las funciones de salida simplificadas en suma de productos se obtiene de los mapas y se muestran en
la figura 3.22. La figura 3.23 muestra el circuito lógico del comparador.

A1 A0 B1 B0

X →A>B

Y →A=B

Z →A<B

Fig. 3.23 Circuito Comparador de magnitud

La función para Y no puede ser simplificada y está expresada por conveniencia en la forma de suma de
minterms.
Nótese la simetría de los mapas y de las funciones Booleanas: los unos de Y están en la diagonal
del mapa. Las funciones para x y z son similares con las variables de entrada A1 A0 y B1 B0 .
intercambiadas.

Curso Electrotecnia VPG/3.16


Capítulo III. Diseño combinacional

Decodificadores
Un decodificador es un circuito lógico combinacional, que convierte un código de entrada binario de N
bits en M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2N), tales que
cada línea de salida será activada para una sola de las combinaciones posibles de entrada. La Figura
3.24, muestra el diagrama general de un decodificador con N entradas y M salidas. Puesto que cada una
de las entradas puede ser 0 ó 1, hay 2N posibles combinaciones o códigos de entrada. Para cada una de
estas combinaciones de entrada sólo una de las M salidas estará activada 1, para lógica positiva; todas
las otras salidas estarán en 0. Muchos decodificadores se diseñan para producir salidas 0 activas, lógica
negativa, donde la salida seleccionada es 0 mientras que las otras son 1. Esto último, se indica siempre
por la presencia de pequeños círculos en las líneas de salida del diagrama del decodificador.

A0 S0
n A1 S1 M salidas
2 combinaciones Decodificador
entradas posibles posibles
An Sm

Fig.3.24. Diagrama de bloques de un decodificador


Decodificador de dos entradas.

En la figura 3.25a) se muestra la tabla de verdad y el circuito lógico de un decodificador de dos entradas
(22 = 4 salidas). Las entradas corresponden a un número binario y la salida seleccionada corresponde al
minterm asociado a esa entrada. En este ejemplo la salida activa es alta, esto es, la salida activa es 1 y
las inactivas son 0. Este decodificador solo consiste de una compuerta AND más compuertas NOT para
invertir las entradas (solo se supone que están disponibles A y B y no sus complementos). La salida 0 es
ab , la salida 1 es ab , la salida 2 es ab y la salida 3 es ab . Cada salida corresponde a un mintern de
una función de dos variables. En la figura 3.25 b) se muestra la tabla de verdad y el circuito lógico para el
decodificador de dos entradas con lógica negativa.

Entradas Salidas Entradas Salidas


A B 0 1 2 3 A B 0 1 2 3
0 0 1 0 0 0 0 0 0 1 1 1
0 1 0 1 0 0 0 1 1 0 1 1
1 0 0 0 1 0 1 0 1 1 0 1
1 1 0 0 0 1 1 1 1 1 1 0

A B A B

S0 S0

S1 S1

S2 S2

S3 S3

a) Lógica positiva. b) Lógica negativa.

Fig 3.25. Decodificador de dos entradas y cuatro salidas.

El circuito de lógica negativa es idéntico al anterior, en el cual solo se han cambiado las compuertas AND
por compuertas NAND.

Curso Electrotecnia VPG/3.17


Capítulo III. Diseño combinacional

Decodificadores con Habilitación (Enable).

La mayoría de los decodificadores tienen una o más entradas de habilitación. Cuando esta entrada está
activa el decodificador se comporta como se describió. Cuando está inactiva, todas las salidas del
decodificador están inactivas. En la mayoría de los sistema con una sola entrada de habilitación (no solo
en los decodificadores), dicha entrada es activa baja. En la figura 3.26 se muestran la tabla de verdad,
el circuito lógico y el diagrama lógico de un decodificador de dos entradas con habilitador.

EN A B

EN A B 0 1 2 3 0 AB
1 X X 0 0 0 0 A
S0 1 AB
0 0 0 1 0 0 0
2 AB
0 0 1 0 1 0 0
S1
B
0 1 0 0 0 1 0 3 AB
0 1 1 0 0 0 1 S2
EN
S3
a) Tabla de verdad. c) Diagrama lógico.
b) circuito lógico.

Fig 3.26. Decodificador de dos entradas y cuatro salidas con habilitador (EN)
Nótese que la entrada de habilitación está invertida y conectada a cada compuerta AND cuando EN = 1,
en la entrada de cada compuerta AND hay un 0 y, por lo tanto todas las salidas de las compuertas AND
son 0. Cuando EN = 0, en las entradas de las compuertas AND hay un 1 y por lo tanto la salida
seleccionada corresponderá a la combinación de A y B correspondiente. Las salidas activas bajas,
usualmente se indican con un círculo.
Observar que en la tabla de verdad se indica que cuando EN = 1, sin importar cuales son los valores de
A y B (X’s), todas las salidas son 0. Dicha notación es común en las hojas de datos de los circuitos
comerciales.
Se pueden construir decodificadores más grandes. En el comercio están disponibles decodificadores de
tres entradas y 8 salidas como también de cuatro entradas y 16 salidas (denominados decodificadores
3-8 y 4-16 respectivamente).
La limitación del tamaño está basada en el número de conexiones al chip del circuito integrado que se
requiera. Un decodificador de tres entradas utiliza 11 conexiones lógicas (tres entradas y ocho salidas)
además de dos conexiones para la alimentación (energía positivo y tierra o común) y una o más entradas
de habilitación.
La tabla de verdad de un decodificador de tres entradas con lógica positiva y sin habilitador es: (Fig.
3.27)

Entradas Salidas 0 abc


a b c 0 1 2 3 4 5 6 7 1 abc
0 0 0 1 0 0 0 0 0 0 0 a
2 abc
0 0 1 0 1 0 0 0 0 0 0 3 abc
0 1 0 0 0 1 0 0 0 0 0 b
4 abc
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0 c 5 abc
1 0 1 0 0 0 0 0 1 0 0 6 abc
1 1 0 0 0 0 0 0 0 1 0 7 abc
1 1 1 0 0 0 0 0 0 0 1
a) Tabla de verdad b) Minterm
Fig. 3.27 Tabla de verdad y diagrama lógico de un decodificador 3-8
Curso Electrotecnia VPG/3.18
Capítulo III. Diseño combinacional

Como cada una de las salidas 0, 1, 2, …7, tiene un solo Minterm, no hay posibilidad alguna de minimizar,
por lo que la expresión de conmutación para cada minterm se muestran en la figura 3.27 b) y por lo tanto
el circuito lógico para este decodificador es: (Fig. 3.28)

b
Fig. 3.28. Circuito lógico para
un decodoficador de tres
c
entradas y ocho salidas

S0 S1 S2 S3 S4 S5 S6 S7

En la figura 3.29 se muestra la tabla de verdad y el diagrama lógico de un decodificador de 3-8,


disponible comercialmente denominado 74138. Este chip tiene salidas activas bajas y tres entradas de
habilitación (por lo tanto requiere un chip de 16 pines), una de las cuales es activada en alta (EN1) y las
otras dos son activas bajas. Solo cuando las tres entradas de habilitación están activas, esto es cuando:
EN1 = 1, EN2 = 0 y EN3 = 0
el chip está habilitado. De otro modo, todas las salidas están inactivas, esto es, permanecen en 1.

EN1 EN 2 EN 3 C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
A Y0
0 X X X X X 1 1 1 1 1 1 1 1
X 1 X X X X 1 1 1 1 1 1 1 1 B Y1
X X 1 X X X 1 1 1 1 1 1 1 1 C Y2
1 0 0 0 0 0 0 1 1 1 1 1 1 1 74138 Y3
1 0 0 0 0 1 1 0 1 1 1 1 1 1 Y4
1 0 0 0 1 0 1 1 0 1 1 1 1 1 EN1
Y5
1 0 0 0 1 1 1 1 1 0 1 1 1 1 EN2 Y6
1 0 0 1 0 0 1 1 1 1 0 1 1 1
EN3 Y7
1 0 0 1 0 1 1 1 1 1 1 0 1 1
1 0 0 1 1 0 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0

Fig. 3.29. Tabla de verdad y diagrama lógico deL un decodificador 74138

Nótese que la nomenclatura usada en este circuito utiliza C B A (con C como el bit más significativo). En
ejemplos anteriores se ha utilizado A como bit más significativo. Es necesario tener presente esta
situación cuando se estén utilizando chips comerciales ya que es habitual que la nomenclatura cambie.
Otros chips decodificadores disponibles en el mercado son el 74154, que es un decodificador de 4
entradas y 16 salidas (más dos habilitadores activos bajo), implementado en un chip de 24 pines) y el
74155, que contiene decodificadores duales de dos entradas.

Implementación de funciones lógicas con Decodificadores


Una aplicación de los decodificadores es resolver funciones lógicas. Mediante la utilización de
decodificadores y la ayuda de una puerta auxiliar es posible implementar funciones lógicas. Si
analizamos la tabla de verdad de un decodificador con salidas activa a nivel alto, podemos observar que
cada salida corresponde con un término canónico expresado en forma de minterms, lo único que hace
falta es “sumar” (OR), a la salida del decodificador, todas las salidas que en la función lógica a resolver
tomen el valor “1”.

Curso Electrotecnia VPG/3.19


Capítulo III. Diseño combinacional

Ejemplo 1:
Implementar usando un decodificador la función lógica F (C, B, A ) = ∑ m ( 0,2,4,7 ) con tres variables.

Solución.

Para poder resolver cualquier función necesitaremos un decodificador que como mínimo tenga las
mismas entradas que variables lógicas tiene la función. Para este ejemplo la función lógica consta de tres
variables, luego, el decodificador que necesitamos para resolver la función debe de tener al menos 3
entradas o más. En este caso particular utilizaremos un decodificador de 3 a 8, activo en alto y con
entrada de habilitación.

La función F (C, B, A ) = ∑ m ( 0,2,4,7 ) indica que los minterms de la función son 0, 2, 4 y 7, es decir, que la
función vale 1 solo para estas combinaciones de las entradas. Entonces, al multiplexor de tres entradas
3-8 y 8 salidas se le debe agregar una compuerta OR, cuyas entradas habiliten las salidas 0,2,4 y 7 del
decodificador.

a b c F(C,B,A) A Y0
0 0 0 1 B Y1
0 0 1 0 C Y2
0 1 0 1
74138 Y3 F (C, B, A ) = ∑ m ( 0,2,4,7 )
0 1 1 0
1 0 0 1 1 EN1
Y4
1 0 1 0 Y5
1 1 0 0 EN2 Y6
0
1 1 1 1 EN3 Y7

a) Tabla de verdad de la función b) Circuito lógico con decodificador 74138

Fig. 3.30. Implementación de la función F (C, B, A ) = ∑ m ( 0,2,4,7 ) con un decodificador

Ejemplo 2.
Implementar, con un decodificador de 3-8, SN74138, la función de dos salidas F1 y F2 dadas por
F1 (C, B, A ) = ∑ m ( 0,3,6 ) y F2 (C, B, A ) = ∑ m (1,3,4,6 ) .

Solución 1. Asumiendo que el multiplexor es activo en alto:

A Y0
B Y1
C Y2 F1 (C, B, A ) = ∑ m ( 0,3,6 )
74138 Y3
Y4
1 EN1
Y5 F2 (C, B, A ) = ∑ m (1,3,4,6 )
EN2 Y6
0
EN3 Y7

Curso Electrotecnia VPG/3.20


Capítulo III. Diseño combinacional

Solución 2. Asumiendo que el decodificador es activo en bajo. Escribiendo las funciones en Maxterm se
tiene:

F1 (C, B, A ) = ∑ m ( 0,3,6 ) = ∏ M (1,2,4,5,7 ) F2 (C, B, A ) = ∑ m (1,3,4,6 ) = ∏ M ( 0,2,5,7 )

A Y0

F1 (C, B, A ) = ∑ m ( 0,3,6 ) = ∏ M (1,2,4,5,7 )


B Y1
C Y2
74138 Y3
Y4
1 EN1
EN2
Y5 F2 (C, B, A ) = ∑ m (1,3,4,6 ) = ∏ M ( 0,2,5,7 )
Y6
0
EN3 Y7

En general se puede implementar una función de varias formas:


1. Mediante un decodificador con salidas activas bajas, con una compuerta OR

F( A,B,...N ) = m0 + m1 + ........ ( ∑ min terms requeridos )

2. Mediante un decodificador con salidas activas altas, con una compuerta NAND

F( A,B,...N ) = m 0 ⋅ m1 ⋅ ....... ⋅ m i
3. Mediante un decodificador con salidas activas altas, con una compuerta NOR

F( A,B,...N ) = m0 + m1 + ....... ⋅ mi
4. Mediante un decodificador con salidas activas bajas, con una compuerta AND

F( A,B,...N ) = m 0 ⋅ m1 ⋅ ....... ⋅ m i

Ejemplo 4. Implementar la función F( A,B,C ) = ∑ ( 0,1, 4, 6, 7 ) = ∏ ( 2, 3, 5 ) , en las cuatro formas


m M
descritas.
Solución. A A
Y0 Y0
B Y1 B Y1
C Y2 C Y2
7413 Y3 7413 Y3
8 Y4 8 Y4
1 EN1 1 EN1
Y5 Y5
0 EN2 Y6 0 EN2 Y6
EN3 Y7 EN3 Y7

A Y0 A Y0
B Y1 B Y1
C Y2 C Y2
7413 Y3 7413 Y3
8 Y4 8 Y4
1 EN1 1 EN1
Y5 Y5
0 EN2 Y6 0 EN2 Y6
EN3 Y7 EN3 Y7

Curso Electrotecnia VPG/3.21


Capítulo III. Diseño combinacional

Decodificador de display (BCD a 7-segmentos)

Otra aplicación común de los decodificadores es la conversión de datos fuente codificados (por ejemplo,
en binario o en BCD) a un formato adecuado para el control de un display numérico. Por ejemplo los
relojes digitales y otros equipos electrónicos exhiben con frecuencia dígitos decimales codificados en
BCD en displays de siete segmentos.
El display de siete segmentos es un dispositivo formado por siete elementos a
que se iluminan en forma independiente, cuando por ellos circula una pequeña
corriente y que permanecen sin iluminar cuando por ellos no circula corriente f b
(figura 1).
g
Los segmentos se organizan y designan como se muestra en la Fig. 3.31. Para e c
visualizar un número, se deben iluminar ciertos segmentos por ejemplo para el
3 se deben iluminar a, b, c, d y g, mientras los demás deben permanecer d
apagados. Fig.3.31 Segmentos

Existen varios tipos de displays, siendo los más populares los que utilizan
como elementos emisores de luz, diodos LED y los de cristal líquido (LCD). En este caso utilizaremos los
de diodos.
Un LED emite luz emite luz cuando el voltaje en su ánodo es suficientemente mayor que el voltaje en su
cátodo.
Ánodo Cátodo

Fig. 3.32. Diodo

Para minimizar el número de señales de control, los ánodos de los LED se conectan por lo general a un
punto común, llamado ánodo común, como se muestra en la figura 3.33 o bien, los cátodos se conectan
a un cátodo común como en la figura 3.34

VCC 0 (V)

Fig. 3.33 Diodos conectados en ánodo común Fig. 3.34 Diodos conectados en cátodo común

En la configuración de ánodo común los ánodos se conectan a un voltaje alto y los cátodos se controlan
en forma individual. En consecuencia, si estando el ánodo conectado a un voltaje alto, se conecta el
cátodo a cero Volts, el LED se ilumina. Para el LED de cátodo común las condiciones de iluminación son
las opuestas a las descritas. Por lo tanto las entradas a la configuración de ánodo común se dicen
activas bajas, ya que un voltaje bajo activa (ilumina) el LED. Por el contrario las entradas a la
configuración cátodo común se denominan activas altas.

a a
f b f b
g g
e c e c

d d
a) Ánodo común b) Cátodo común

Fig. 3.35. Conexión de diodos LED en display de siete segmentos

Curso Electrotecnia VPG/3.22


Capítulo III. Diseño combinacional

A fin de exhibir un número en un display de siete segmentos codificado en formato BCD, podemos
diseñar un decodificador que convierta los códigos BCD a los valores lógicos necesarios para los siete
segmentos, como se muestra en el diagrama de bloques de la figura 3.36a).

A B C D a b c d e f g
0 0 0 0 0 1 1 1 1 1 1 0
a
A 1 0 0 0 1 0 1 1 0 0 0 0
Circuito b 2 0 0 1 0 1 1 0 1 1 0 1
Decodificador c 3 0 0 1 1 1 1 1 1 0 0 1
B
BCD d 4 0 1 0 0 0 1 1 0 0 1 1
C a siete e 5 0 1 0 1 1 0 1 1 0 1 1
D segmentos f 6 0 1 1 0 0 0 1 1 1 1 1
g 7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 0 0 1 1
a) Diagrama de bloques
b) Tabla de verdad

c) Configuración de dígitos

Fig. 3.36. Decodificador BCD a siete segmentos

Comenzamos creando la tabla de verdad que enumere los segmentos por activar para cada dígito
decimal como en la figura 3.36b).

a b c d
AB AB AB AB
CD
00 01 11 10 CD
00 01 11 10 CD
00 01 11 10 CD
00 01 11 10
00 1 X 1 00 1 1 X 1 00 1 1 X 1 00 1 X 1
01 1 X 1 01 1 X 1 01 1 1 X 1 01 1 X
11 1 1 X X 11 1 1 X X 11 1 1 X X 11 1 X X
10 1 X X 10 1 X X 10 1 X X 10 1 1 X X

e f g
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10
00 1 X 1 00 1 1 X 1 00 1 X 1
01 X 01 1 X 1 01 1 X 1
11 X X 11 X X 11 1 X X
10 1 1 X X 10 1 X X 10 1 1 X X

a = BD + BD + A + CD b = CD + CD + B c = B +C + D d = BD + BC + BCD + CD
e = BD + CD f = CD + BC + A + BD g = BC + A + CD + BC

Curso Electrotecnia VPG/3.23


Capítulo III. Diseño combinacional

De esta tabla se obtienen los mapas de Karnaugh para cada uno de los siete segmentos, de los cuales
se obtienen las funciones minimizadas y el correspondiente circuito lógico de la figura 3.37.

A BC D

Fig. 3.37 Circuito lógico decodificador de siete segmentos

Codificadores
Un codificador es un módulo lógico combinatorio que asigna un código de salida único (un número
binario) a cada señal de entrada aplicada al dispositivo; como tal, es lo opuesto al decodificador. Si un
módulo codificador tiene n entradas, el número de salidas debe satisfacer la relación 2S ≥ n .
Codificadores con entradas mutuamente excluyentes.
Considerar primero el caso en que las entradas son mutuamente excluyentes, es decir, una y solo una de
las líneas de entrada está activa en un instante en particular. Nunca están activas simultáneamente dos o
más líneas de entrada.
1. Diseño un circuito decodificador para cuatro líneas de entrada, si una y solo una está activa en
cualquier instante.

X0 A1 A2
A0 X0 → 0 0
X1 Cod
X2 X1 → 0 1
X3 A1 X2 → 1 0
X3 → 1 1

Fig. 3.38. Diagrama de bloque y tabla para decodificador

Curso Electrotecnia VPG/3.24


Capítulo III. Diseño combinacional

Las funciones de salida proporcionan el valor binario del subíndice de la variable de entrada. La figura
3.39. muestra la tabla de verdad y los mapas de Karnaugh para este decodificador.

X3X2 X3X2
X3 X2 X1 X0 A1 A0
0 0 0 0 0 X X X1X0 00 01 11 10 00 01 11 10
X1X0
1 0 0 0 1 0 0 00 X 1 X 1 00 X X 1 Fig.3.39. Tabla
2 0 0 1 0 0 1 de verdad,
3 0 0 1 1 X X 01 X X X 01 X X X
mapas de
4 0 1 0 0 1 0 11 X X X X 11 X X X X Karnaugh y
5 0 1 0 1 X X
6 0 1 1 0 X X 10 X X X 10 1 X X X diagrama lógico
7 0 1 1 1 X X para
8 1 0 0 0 1 1 decodificador
9 1 0 0 1 X X
A1 = X 2 + X 3 A0 = X1 + X 3 de cuatro
10 1 0 1 0 X X entradas y una
11 1 0 1 1 X X X1 A0 salida activa.
12 1 1 0 0 X X X3
13 1 1 0 1 X X
14 1 1 1 0 X X X2
15 1 1 1 1 X X A1
X3

2. Diseño de un codificador de cuatro líneas de entrada cuya salida es un código distinto de cero a
menos que una y sólo una de las líneas de entrada esté activa.
Definiendo el código en la forma de la tabla de la figura 3.40

X0 A2 A1 A0
A0 X0 → 0 0 1
X1 Cod
X2 A1 X1 → 0 1 0
X2 → 1 0 1
X3 A2 X3 → 1 1 0
Los demás → 0 0 0

Fig. 3.40. Diagrama de bloque y tabla para decodificador 2

Este decodificador también tiene como salida el subíndice de entrada activa. Sin embargo, su salida es el
código nulo si ninguna línea de entrada está activa o si varias líneas están activas.
La figura 3.41. muestra la tabla de verdad y los mapas de Karnaugh con la minimización de las salidas
correspondientes.

X3 X2 X1 X0 A2 A1 A0 X3X2 X3X2
0 0 0 0 0 0 0 0 X1X0 00 01 11 10 00 01 11 10
X1X0
1 0 0 0 1 0 0 1 00 1 00 1
2 0 0 1 0 0 1 0
3 0 0 1 1 0 0 0 01 1 01
4 0 1 0 0 0 0 1
11 11
5 0 1 0 1 0 0 0
6 0 1 1 0 0 0 0 10 10 1
7 0 1 1 1 0 0 0
8 1 0 0 0 1 0 0
9 1 0 0 1 0 0 0 A2 = X 3 X 2 X1 X 0 A1 = X 3 X 2 X1 X 0 + X 3 X 2 X1 X 0
10 1 0 1 0 0 0 0
11 1 0 1 1 0 0 0 A0 = X 3 X 2 X1 X 0 + X 3 X 2 X1 X 0
12 1 1 0 0 0 0 0
13 1 1 0 1 0 0 0
14 1 1 1 0 0 0 0 Fig. 3.41. Tabla de verdad, Mapas de Karnaugh para
15 1 1 1 1 0 0 0 decodificador del punto 2
Curso Electrotecnia VPG/3.25
Capítulo III. Diseño combinacional

Codificador de prioridad.
Este codificador permite que varias entradas estén activas al mismo tiempo y presenta en la salida el
valor binario del subíndice de la línea de entrada con mayor prioridad. Por sencillez del diseño, se asigna
la máxima prioridad al subíndice más alto, la siguiente prioridad al segundo subíndice más alto, etc.
Considerar la asignación de la figura 3.42. para el codificador.

X0 A1 A2
A0 X0 → 0 0
X1 Cod
X2 X1 → 0 1
X2 → 1 0
X3 A1
X3 → 1 1

Fig. 3.42. Diagrama de bloque y asignación para decodificador

Si ninguna línea de entrada está activa, el codificador de prioridad produce ( A1A0 ) = ( 00 ). Si solo está
activa una línea, el codificador produce el valor binario del subíndice de la línea activa. Si está activa más
de una entrada, el codificador envía el valor binario del mayor subíndice de las líneas activas. La Figura
3.43a) muestra tabla de verdad para el codificador. Observar que las dos líneas de salida adicionales,
indican que ninguna línea está activa (EO = 1 ) y que una o más entradas están activas (GS = 1). En la
figura 3.43b) se muestra los mapas de Karnaugh c) muestra el diagrama lógico.

X3X2 X3X2
X1X0 00 01 11 10 00 01 11 10
X1X0
X3 X2 X1 X0 A1 A0 GS EO 00 1 1 00 1 1 1
0 0 0 0 0 0 0 0 1
1 0 0 0 1 0 0 1 0 01 1 1 01 1 1 1
2 0 0 1 0 0 1 1 0 11 1 11
1 1 1 1 1
3 0 0 1 1 0 1 1 0
4 0 1 0 0 1 0 1 0 10 1 1 1 10 1 1 1
5 0 1 0 1 1 0 1 0
6 0 1 1 0 1 0 1 0 A0 = X 3 + X 2 X1 A1 = X 2 + X 3
7 0 1 1 1 1 0 1 0
8 1 0 0 0 1 1 1 0 b) Mapas de Karnaugh
9 1 0 0 1 1 1 1 0
10 1 0 1 0 1 1 1 0 X1
11 1 0 1 1 1 1 1 0
X2 A0
12 1 1 0 0 1 1 1 0
13 1 1 0 1 1 1 1 0 X3
14 1 1 1 0 1 1 1 0
15 1 1 1 1 1 1 1 0 A1
a) Tabla de verdad GS
EO
X4
c) Diagrama lógico

Fig. 3.43. Codificador de prioridad.

Curso Electrotecnia VPG/3.26


Capítulo III. Diseño combinacional

Convertidores de Código.

La disponibilidad de una gran variedad de Códigos para los mismos elementos de información, da
como resultado el uso de diferentes códigos por los distintos sistemas digitales. En ocasiones es
necesario usar la salida de un sistema, como entrada de otro, si estos sistemas usan distintos Códigos
para la misma información es necesario conectar entre los dos sistemas un circuito de conversión.
Un convertidor de Códigos es entonces, un circuito que hace compatibles dos sistemas aún si ellos
usan diferentes códigos binarios.

Para convertir desde un código binario A a un código binario B, las entradas deberán dar la
combinación de bits de los elementos especificados según el código A y las salidas deberán generar
las combinaciones correspondientes al código B.

El procedimiento de diseño de convertidores de códigos será ilustrado por medio de un ejemplo


especifico de conversión desde código BCD a código Exceso de 3.

Circuito Conversor BCD a Exceso a Tres.

La correspondencia BCD - Ex-3 se muestra en la tabla de la figura 3.44

Decimal BCD natural Exceso -3


A B C D W X Z Y
0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 1 0 0
2 0 0 1 0 0 1 0 1
3 0 0 1 1 0 1 1 0
4 0 1 0 0 0 1 1 1
5 0 1 0 1 1 0 0 0
6 0 1 1 0 1 0 0 1
7 0 1 1 1 1 0 1 0
8 1 0 0 0 1 0 1 1
9 1 0 0 1 1 1 0 0

Fig. 3.44. Código BCD a Exceso a tres

Debido a que cada código usa 4 bits para representar un dígito decimal deberá haber cuatro variables
de entrada y cuatro variables de salida.

Sean A, B, C y D las cuatro variables de entrada y w, x, y, z para las cuatro variables de salida. La
tabla de verdad que relaciona las variables de entrada/salida se muestra en la Fig. 3.44. Las
combinaciones de bits para las entradas y sus correspondientes salidas se obtienen directamente de la
tabla dada anteriormente.

Cabe hacer notar que para cuatro variables binarias es posible obtener 16 combinaciones de las
cuales sólo 10 están listadas en la tabla de verdad. Las seis combinaciones no usadas para las
variables de entrada son combinaciones don`t Care. Ya que éstas no se presentan nunca, se tiene la
libertad de asignar a las variables de salida un 1 o un 0 dependiendo de cual simplifique más la
función.

Los mapas de la figura 3.45 se dibujaron para obtener la función Booleana simplificada para cada
salida.

Curso Electrotecnia VPG/3.27


Capítulo III. Diseño combinacional

Cada uno de los cuatro mapas representa una de las cuatro salidas del circuito como en función de las
cuatro variables de entrada. Los unos marcados en los cuadros son obtenidos de los minterms que
hacen la salida igual a 1. Por ejemplo la Columna bajo la salida z tiene cinco unos, así pues, el mapa
para z debe tener cinco unos, cada uno en el cuadrado correspondiente al minterms que para z igual
a 1. Las seis combinaciones don`t Care están marcadas con x. Una manera posible de simplificar las
funciones en suma de productos se indica bajo el mapa de cada variable.

AB AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10
00 X 1 00 1 X 00 1 1 X 1 00 1 1 X 1
01 1 X 1 01 1 X 1 01 X 01 X
11 1 X X 11 1 X X 11 1 1 X X 11 X X
10 1 X X 10 1 X X 10 X X 10 1 1 X X

Fig. 3.45 Mapas de salida para conversor BCD-EX3

Un diagrama lógico de dos niveles puede obtenerse directamente de las expresiones Booleanas
derivadas de los mapas. Hay varias posibilidades de diagrama para implementar este circuito. Las
expresiones obtenidas en la fig. 3.14, puede ser manipulada algebraicamente con el propósito de usar
compuertas comunes para dos o más salidas. Las “factorizaciones” mostradas a continuación ilustran
la flexibilidad obtenida con sistemas de salida múltiples al implementarse con tres o más niveles de
compuertas.
z=D
y = CD + CD = CD + (C + D )
x = BC + BD + BCD = B (C + D ) + BCD = B (C + D ) + B(C + D )
w = A + BC + BD = A + B (C + D )

El diagrama lógico que implementa las expresiones anteriores se muestra en la figura 3.46

A B C D
Z

Fig. 3.46. Diagrama lógico para conversor BCD-EX3.

En ella se puede ver que la compuerta OR cuya salida es C + D ha sido usada para implementar
parcialmente tres de las salidas.

Curso Electrotecnia VPG/3.28


Capítulo III. Diseño combinacional

Sin considerar inversores de entrada, la implementación en suma de productos requiere siete


compuertas AND y tres compuertas OR. La implementación de la figura 3.46 requiere cuatro
compuertas AND y cuatro compuertas OR, y un inversor.

Circuito Conversor de Código Octal a Gray.

La relación entre estos dos códigos se muestra en la tabla 3.3. Es evidente que la conversión requiere
que cada bit en el código GRAY sea considerado como una función de los tres bits de un dígito octal.
Tendremos entonces un circuito de tres entradas y tres salidas siendo estas últimas de la forma:

G0 ( B0 ,B1 ,B2 ) , G1 ( B0 ,B1 ,B2 ) y G2 ( B0 ,B1 ,B2 ) ,

Donde Gi son los componentes del código Gray y los Bi los componentes del código Octal.

Decimal Octal Gray


B0 B1 B2 G0 G1 G2
0 0 0 0 0 0 0
1 0 0 1 0 0 1
2 0 1 0 0 1 1
3 0 1 1 0 1 0
4 1 0 0 1 1 0
5 1 0 1 1 1 1
6 1 1 0 1 0 1
7 1 1 1 1 0 0

Estas funciones pueden ser determinadas fácilmente llevando cada conjunto de bits de G0 ,G1 y G2 a
la tabla de verdad del código GRAY a mapas de Karnaugh en forma separada. Los mapas resultantes
con sus respectivas minimizaciones se muestran en la Fig. 3.47.

B2 B1 B2 B1 B2 B1
B0 00 01 11 10 B0 00 01 11 10 B0 00 01 11 10
0 1 1 0 1 1 0 1 1
1 1 1 1 1 1 1 1 1

G2 = B2 G1 = B2B1 + B2 B1 = B1 ⊕ B2 G0 = B 0 B1 + B0 B1 = B0 ⊕ B1
Figura 3.47. Mapas para el conversor Octal a Gray

Nótese que dos de estas funciones requieren compuertas EX/OR y la otra es obtenida directamente del
bit 2 del código octal.
B2 B1 B0
El circuito que representan estas funciones se
muestra en la Fig. 3.48.
G0

G1

G2
Fig. 3.48. Circuito para el conversor Octal a Gray

Curso Electrotecnia VPG/3.29


Capítulo III. Diseño combinacional

Multiplexores.

Un multiplexor digital o selector de datos, es un circuito lógico que acepta varias entradas de datos
digitales y selecciona una de ellas en cualquier instante para enviarla a la salida. El enrutamiento de la
entrada de datos hacia la salida se controla mediante entradas de selección.

E0
E1
Fig. 3.49 Diagrama funcional
Entradas de
de un multiplexor digital. Salida Y
datos
El código de las entradas de
selección determina que En-1
estrada se traspasan a la
salida Y.

Entradas de
Selección

La figura 3.49 muestra el diagrama funcional de un multiplexor, las entradas y salidas están dibujadas
como flechas en vez de líneas para indicar que cada Ei pueden ser varias líneas las que
simultáneamente son trasladadas hasta la salida.

El multiplexor actúa como un interruptor de posiciones múltiples o conmutador digital. Esto es, para una
combinación dada de valores de las entradas de selección solo una de las líneas Ei se traslada a la
salida. Por ejemplo, la salida Y será igual a E0, para una entrada de selección determinada, para otra
entrada de selección, la salida Y será igual a E1 y así sucesivamente. En resumen, un multiplexor
selecciona una de N fuentes de datos de entrada y transmite los datos seleccionados a un solo canal de
salida.

Multiplexor básico de dos entradas.

En la figura 3.50 se muestra el circuito lógico de


un multiplexor de dos entradas de datos E0 y E1
y una entrada de selección S. El valor lógico E0
G0
aplicado a S determina que compuerta se Entradas
selecciona. Por ejemplo si S = 0 se selecciona la Y
entrada E1 ya que a la compuerta AND G1 se le E1
G1
aplica un “1” lógico, lo que permite que la salida
de Y sea igual a E1. La salida de la compuerta
G0 permanece en “0” ya que la entrada S es “0”.
Selección S
La expresión Booleana para la salida Y es:
Fig. 3.50. Circuito multiplexor de dos entradas.
Y = E 0 S + E1S
Si S = 0, esta expresión es: Y = E1 es decir, se habilita la compuerta G1, lo que corrobora lo afirmado, es
decir, la entrada que se traspasa a la salida es E1.

Análogamente, si S = 1, la expresión para Y es: Y = E0 es decir, se habilita la compuerta G0, es decir, la


entrada que se traspasa a la salida es E0.

Curso Electrotecnia VPG/3.30


Capítulo III. Diseño combinacional

Ejemplo de alicación de un MUX 2-1.

Una aplicación de un multiplexor de dos entradas puede ser un sistema de reloj que en un instante dado
se requiere sea de una frecuencia y en otro instante se requiere que sea de una frecuencia distinta. En la
Figura 3.51, la salida Y, es la mezcla de las dos entradas (E0 y E1). Estas entradas están
permanentemente presentes en las respectivas compuertas G0 y G1, pero, serán conducidas a la salida
dependiendo de la entrada de selección S que esté habilitada como se muestra en la figura.

E0
G0
Y
E1
G1
S=1 S=0 S=1

S
Fig. 3.51. Ejemplo de aplicación de MUX 2-1.

Multiplexor de cuatro entradas (MUX 4-1).

Un Multiplexor de cuatro líneas de entrada (multiplexor 4 a 1) implementado de con compuertas lógicas y


su correspondiente tabla de verdad se muestran en la figura 3.52. La implementación sigue la misma
idea del de dos entradas. En este caso ha cuatro entradas que se transmiten selectivamente a la salida,
de acuerdo a las cuatro combinaciones (minterm’s) de las entradas de selección S0 y S1.

Selección
S1 S0

E0 Selecció
G0
n Entradas Salida
E1
G1
S0 S1 E0 E1 E2 E3 Y
Entradas 0 0 E0 x x x E0
Y
E2
G2
0 1 x E1 x x E1
1 0 x x E2 x E2
E3
G3
1 1 x x x E3 E3
Tabla de verdad

Fig. 3.52 Implementación de un multiplexor 4 a 1 y su tabla de verdad

Las cuatro líneas de entrada E0 a E3 son aplicadas a cuatro compuertas AND cuyas salidas forman las
entradas a una única compuerta OR. Sólo una línea de entrada tiene un camino de salida en un instante
particular. Las líneas de selección S1 y S0 determinan cual de las entradas es la seleccionada para tener
un camino hacia la salida. Las cuatro compuertas AND recuerdan un circuito decodificador y realmente
decodifican las dos líneas.
De acuerdo a la tabla de verdad, si S0 = 0 y S1 = 0, entonces Y = E0 es decir la línea de entrada que se
traslada a la salida es E0. De la misma forma, cuando S0 = 1 y S1 = 0, entonces Y = E2. y así
sucesivamente.

Curso Electrotecnia VPG/3.31


Capítulo III. Diseño combinacional

La función Booleana de salida del multiplexor de cuatro entradas muestra claramente como se realiza la
selección.
Y = E 0 S 0 S 1 + E1 S 0S1 + E 2S0 S 1 + E 3S0S1

Llamando m0 al término S 0 S 1 , m1 a S 0 S1 , m2 a S 0 S 1 y m3 a S0 S1 , se puede escribir la salida Y como:


3
Y = ∑ mi E i
i =0
En general, en un multiplexor de n a 1, se designa a una de las n líneas de entrada (En-1, En-2, ……E0)
para conectarse a la única línea de salida (Y), mediante un código de selección (Sk, Sk-1, …….. S0),
donde n = 2k. Por lo tanto se puede escribir que:
n −1
Y = ∑ mi E i
i =0

donde los mi son los minterm’s del código de selección.

Multiplexores con entradas habilitadoras (Enable)

Un multiplexor con entrada habilitadora o entrada enable no es más que el mismo dispositivo descrito
anteriormente, al que se le ha agregado una nueva entrada H, quedando de la forma indicada en la figura
3.53, para el caso de un MUX 4-1.

Selección
Enable H N M

Selección Enable Entradas Salida


E0
G0 S0 S1 H E0 E1 E2 E3 Y
x x 1 x x x x 0
E1
G1 0 0 0 E0 x x x E0
Entradas Y 0 1 0 x E1 x x E1
E2
G2 1 0 0 x x E2 x E2
1 1 0 x x x E3 E3
E3
G3
Tabla de verdad

Fig. 3.53 Implementación de un multiplexor 4 a 1 con Enable y tabla de verdad

Nótese que, para que cualquiera de las entradas Ei tenga


Selección
Enable acceso a la salida, es necesario que la entrada habilitadora
H esté activada, es decir, en este caso, esté en nivel "0",
H S0 S1 independientemente del estado de las entradas selectoras.
Por ejemplo para pasar la información de la entrada E1
E0 hacia la salida, es necesario seleccionar la compuerta de
MUX
E1 Y Salida salida G1, (S1 = 1 y S0 = 0) y colocar H = 0 (mientras H = 1,
Entradas 4-1 la salida Y siempre será 0).
E2
E3
La figura 3.54 muestra el símbolo lógico utilizado para
dibujar el multiplexor como una primitiva, cuyo
Fig. 3.54 Símbolo lógico Mux 4-1
funcionamiento queda descrito en la tabla de la figura 3.53.

Curso Electrotecnia VPG/3.32


Capítulo III. Diseño combinacional

Multiplexor de ocho entradas (MUX 8-1).

La figura 3.55 muestra el diagrama lógico de un multiplexor de ocho entradas. Se incluye una entrada
enable H y proporciona la salida Y negada y sin negar.

Selección

E0 E1 E2 E3 E4 E5 E6 E7
S0 S1 S2
S0 E0
S1
S2 E1
Enable E2
MUX
E3 Y
G0 G1 G2 G3 G4 G5 G6 G7 8-1
E0 Y
E1
E2
E3
H

Enable

b) Símbolo lógico
Y Y
a) Diagrama lógico

S0 S1 S2 H E0 E1 E2 E3 E4 E5 E6 E7 Y
x x x 1 x x x x x x x x 0
0 0 0 0 E0 x x x x x x x E0
0 0 1 0 x E1 x x x x x x E1
0 1 0 0 x x E2 x x x x x E2
0 1 1 0 x x x E3 x x x x E3
1 0 0 x x x x E4 x x x E4
1 0 1 x x x x x E5 x x E5
1 1 0 x x x x x x E6 x E6
1 1 1 x x x x x x x E7 E7

c) Tabla de verdad

Fig. 3.55 Multiplexor 8-1

Al igual que en el caso del multiplexor de 4-1, cuando H = 1 el multiplexor está deshabilitado de manera
que Y = 0 sin importar el valor de las entradas de selección Si .

Curso Electrotecnia VPG/3.33


Capítulo III. Diseño combinacional

Multiplexor cono generador de funciones.

Un multiplexor puede ser usado no solamente para seleccionar una línea de entre varias sino también
para generar una función lógica arbitraria a partir de las variables de selección. Dicho de otra forma un
multiplexor es un circuito que implementa cualquier función Booleana de tantas entradas como variables
de selección posea.
Como ejemplo ilustrativo veamos como utilizar el multiplexor de la figura M-4 para generar la función:
Y = M + MN .
Supongamos tentativamente que las líneas de entrada E0 ...... E3 no están presentes. Entonces las
entradas corresponden a las líneas de selección que llegan a las compuertas AND, las cuales están
precisamente como se requiere para generar todos los minterms de las variables M y N. De esta forma
G0 genera al minterm N M , G1 genera a N M , etc. Podemos ver ahora a las entradas E0 ...... E3 como
entradas habilitadoras. Si E0 = 0 , la salida de G0 es "0", independientemente de M y N. Pero si E0 = 1, la
salida es G0 = N M y así sucesivamente.
Entonces las cuatro compuertas AND, habilitadas por las correspondientes entradas E0 ...... E3 generan
los cuatro minterms de las variables de selección y la salida del multiplexor es la suma lógica de los
minterm seleccionados. Como se sabe cualquier función puede ser expresada como una suma de
minterms.
Entonces expandiendo la función Y en minterms se tiene:

Y = M + MN
(
= M N + N + MN )
= MN + M N + M N

El minterm M N será generado sólo si E1 = 1 : M N será generado si E 0 = 1 y M N será generado


si E 2 = 1.
Entonces para generar la función Y = M + M N es necesario que en la ecuación general del multiplexor
dada por:
Y = E 0 S 0 S 1 + E1 S 0S1 + E 2S0 S 1 + E 3S0S1

se coloquen las entradas Ei de tal forma que E0 = E1 = E3 = 1 y E3 = 0 obteniéndose el circuito de la


Fig. 3.56.
N M

S1 S0
1 E0
E1 MUX
Y Y =M +MN
E2 4-1
E3
0 H

0
Fig. 3.56. Función Y = M + M N implementada con Mux 4-1

Nótese que la entrada de habilitación está también enclavada en "0".

Curso Electrotecnia VPG/3.34


Capítulo III. Diseño combinacional

La capacidad de un multiplexor para generar funciones arbitrarias de K variables (K = número de


entradas de selección) puede ser extendida en una variable, de tal forma que esta, llamémosla V, puede
estar complementada o sin complementar. Entonces el multiplexor de la Fig. 3.56 puede generar
funciones de la forma Y = f (M , N,V ) . Al igual que en el caso anterior se comienza expandiendo la función
en sus minterms. Si, por ejemplo, una función está formada por solo el minterm M N V , se aplica V a la
( )
entrada E0 si se tiene la función Y = M NV + M NV = M N V + V = M N , se hace E 0 = 0 , etc.

Ejemplo.1

Usar el multiplexor de la Fig. 3.56, para generar la función Y 2 = M N + M V + M N V

Solución:

expandiendo Y2 en sus minterms se tiene:

(
Y2 = M N + M V N + N + M N V )
= M N + M NV + M N V + MN V
= M N (1 + V ) + M NV + MN V
= M N + M NV + MN V

Comparando Y2 con la ecuación general del multiplexor:

Y = E 0 S 0 S 1 + E1 S 0S1 + E 2S0 S 1 + E 3S0S1

Se tiene que lo que hay que hacer es: S0 = M ; S1 = N ; E 0 = 1; E1 = V ; E 2 = 0 y E 3 = V . Con esto el


circuito queda como se indica en la Fig. 3.57.

V N M

S1 S0
1 E0
MUX
E1
Y Y = M N + M NV + M NV
0 E2 4-1
E3
H

Fig. 3.57. Función Y = M N + M N V + M N V implementada con Mux 4-1

En general un circuito multiplexor con K líneas de selección y 2 K entradas es un elemento lógico


universal para funciones Booleanas de K + 1 variables.

Curso Electrotecnia VPG/3.35


Capítulo III. Diseño combinacional

Ejemplo 2

Determinar si los siguientes circuitos son equivalentes, es decir si F = Z.

0 A D
0
H S0 S1
B C
F E0
MUX
E1 Y
4-1 Z
E2
E3

A BCD

Solución.

La ecuación para el MUX es: Y = E0 S 0 S1 + E1S 0 S1 + E2 S 0 S1 + E3 S 0 S1


Para este caso, E0 y E1 = 0; por lo tanto Y = E2S0S1 + E3 S0 S1 , es decir Y = E2 AD + E3 AD , ya que

S 0 = A y S1 = D . Además, E2 = ( B + C ) y E3 = ( B ⊕ C ) , por lo tanto:


Y = ( B + C ) AD + ( B ⊕ C )AD
= BCAD + ( BC + BC ) AD
= ABCD + ABCD + ABCD

Por otra parte la ecuación del circuito es

(
F = ABC + A CD( ) ) ( A + B ⊕ C )( A + B + D )
= ( ABC + A (C + D ) ) ( AiB ⊗ C ) ( A + B + D )

= ( ABC + AC + AD ) ( Ai( BC + BC ) ) ( A + B + D )

= ( ABC + AC + AD )( ABC + ABC ) ( A + B + D )

= ( ABC + ABCD + ABCD ) ( A + B + D )

= ABC + ABCD + ABCD + ABC + ABCD + ABCD


( )
= ABC D + D + ABCD + ABCD + ABCD

= ABCD + ABCD + ABCD + ABC + ABCD + ABCD


F = ABCD + ABCD + ABCD

Por lo tanto los circuitos son equivalentes

Curso Electrotecnia VPG/3.36


Capítulo III. Diseño combinacional

Ejemplo 3.

En el circuito de la figura se usan dos multiplexores 8-1, un inversor y una compuerta OR.Describa la
operación de este circuito.

S3
S2
S1
S0
S0 S1 S2
E0
E1
E2
Entrada MUX
E3 Y
de 8-1
datos E0
E1
E2
E3
H

S0 S1 S2
E0
E1
E2
Entrada MUX
de E3 Y
8-1
datos E0
E1
E2
E3
H

Solución.

Este circuito tiene un total de 16 entradas de datos, ocho aplicadas a cada multiplexor. Las salidas de los
dos multiplexores se combinan en la compuerta OR para generar una sola salida Z. El circuito funciona
como un multiplexor de 16 entradas para pasarla a Z. Las cuatro entradas S3 S2 S1 S0 seleccionarán
una entrada para pasarla a Z.

La entrada S3 determina cual multiplexor se habilita. Cuando S3 = 0 se habilita el multiplexor de arriba y


las entradas S2 S1 S0 determinan cual de sus entradas de datos aparecerán en su salida y pasarán por
la compuerta OR hacia Z. Cuando S3 = 1, se habilita el multiplexor de abajo y las entradas S2 S1 S0
seleccionan una de sus entradas de datos para pasarla a la salida Z.

Curso Electrotecnia VPG/3.37


Capítulo III. Diseño combinacional

Ejemplo 3. Implementar la función F (C; B; A ) = A ⊕ B ⊕ C utilizando un decodificador 3-8 y una


compuerta NOR.

Solución
( ) (
F (C; B; A ) = A ⊕ B ⊕ C = AB + AB C + AB + AB C = )
= ABC + ABC + ABC + ABC = ∑ m (1,2,4,7 )
Pero como se dispone solo de una compuerta NOR, es conveniente implementar F = ∑ m ( 0,3,5,6 )

A Y0
B Y1
C Y2
74138 Y3
F = ∑ m (1,2,4,7 ) = F = ∑ m ( 0,3,5,6 )
Y4
1 EN1
Y5
EN2
0 Y6
EN3 Y7

Fig. 3.58. Implementación de la función F (C, B, A ) = ∑ m (1,2,4,7 ) con un decodificador

Curso Electrotecnia VPG/3.38

Вам также может понравиться