You are on page 1of 38

Unidad 3

Lgica Combinacional
Dr. Antonio ORANTES MOLINA

3.1 Anlisis de circuitos combinacionales

Un circuito combinacional consiste en variables de entrada, compuertas


lgicas y variables de salida.

Es posible especificar un circuito combinacional con una tabla de verdad


que presenta los valores de salida para cada combinacin de variables de
entrada. Tambin es factible describir un circuito combinacional con m
funciones booleanas, una para cada variable de salida. Cada funcin de
salida se expresa en trminos de las n variables de entrada.

El propsito del presente captulo es utilizar los conocimientos adquiridos en


captulos anteriores y formular procedimientos sistemticos para el anlisis
y diseo de circuitos combinacionales.

En esta unidad se presentar los circuitos combinacionales estndar ms


importantes, como los sumadores, restadores, comparadores,
decodificadores, codificadores y multiplexores. Estos componentes se
fabrican como circuitos MSI (de integracin a mediana escala), y tambin
se usan como celdas estndar en circuitos VLSI complejos como los
circuitos integrados para aplicaciones especficas (ASIC). Las funciones de
la celda estndar se interconectan dentro del circuito VLSI del mismo modo
que se usan en el diseo MSI de mltiples CI.

3.1 Anlisis de circuitos combinacionales

El anlisis de un circuito combinacional


requiere deducir la funcin que realiza el
circuito. Este proceso parte de un diagrama
lgico dado y culmina en un conjunto de
funciones booleanas, una tabla de verdad o
una posible explicacin del funcionamiento
del circuito.

3.1 Anlisis de circuitos combinacionales

El primer paso del anlisis consiste en asegurarse de que el circuito dado


sea combinacional y no secuencial. El diagrama de un circuito
combinacional
tiene
compuertas
lgicas
sin
trayectorias
de
retroalimentacin ni elementos de memoria. Una trayectoria de
retroalimentacin es una conexin de la salida de una compuerta a la
entrada de una segunda compuerta que forma parte de la entrada a la
primera compuerta.

Despus se procede a obtener las funciones booleanas de salida o la tabla


de verdad. Obtenga las funciones booleanas de salida en trminos de
variables de entrada.

3.1 Anlisis de circuitos combinacionales

Ejemplo de anlisis:

F2 = AB + AC + BC

3.1 Anlisis de circuitos combinacionales

3.2 Diseo de circuitos combinacionales

El diseo de circuitos combinacionales parte de la especificacin del


problema y culmina en un diagrama lgico de circuitos o un conjunto
de funciones booleanas a partir de las cuales se puede obtener el
diagrama lgico.

El procedimiento implica los pasos siguientes:


1. D las especificaciones del circuito, deduzca el nmero requerido de entradas y
salidas; asigne un smbolo a cada una.
2. Deduzca la tabla de verdad que define la relacin requerida entre las entradas y las
salidas.
3. Obtenga las funciones booleanas simplificadas para cada salida en funcin de las
variables de entrada.
4. Dibuje el diagrama lgico y verifique que el diseo sea correcto.

Un diseo prctico debe tomar en cuenta restricciones como el


nmero de compuertas, el nmero de entradas de una compuerta, el
tiempo de propagacin de la seal a travs de las compuertas, el
nmero de interconexiones, las limitaciones de la corriente que
proporciona cada compuerta y diversos criterios adicionales que es
preciso considerar al disear con circuitos integrados.
7

3.2 Diseo de circuitos combinacionales:


Conversin de cdigos
Ejemplo de conversin de cdigo

La disponibilidad de una gran variedad de cdigos para los


mismos elementos discretos de informacin hace que diferentes
sistemas digitales usen cdigos distintos. A veces es necesario
usar la salida de un sistema como entrada de otro, y hay que
insertar un circuito de conversin entre los dos sistemas si cada
uno usa un cdigo distinto para la misma informacin. As pues,
un convertidor de cdigo es un circuito que hace compatibles a
los dos sistemas aunque cada uno utilice un cdigo binario
distinto.

Ejemplo: Disee un C. C. que convierta el cdigo


BCD (decimal codificado en binario) a cdigo
exceso-3 para los dgitos decimales.

3.2 Diseo de circuitos combinacionales:


Conversin de cdigos

3.2 Diseo de circuitos combinacionales:


Conversin de cdigos
Diagrama lgico para el convertidor de cdigo BCD a
exceso-3

10

3.2 Diseo de circuitos combinacionales:


Conversin de cdigos

Ejemplo de un convertidor BCD a Display 7


segmentos ctodo comn

11

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

Un circuito combinacional que realiza la suma de dos bits se denomina semisumador;


uno que realiza la suma de tres bits (dos bits significativos y un acarreo previo) es un
sumador completo. Los nombres de los circuitos provienen del hecho de que es posible
usar dos semisumadores para implementar un sumador completo.

Un sumador-restador binario es un circuito combinacional que realiza las operaciones


aritmticas de suma y resta con nmeros binarios. Desarrollaremos este circuito
utilizando un diseo jrrquico. Primero disearemos el semisumador, y a partir de l
desarrollaremos el sumador completo. La conexin de n sumadores completos en
cascada produce un sumador binario para nmeros de n bits. Incluiremos el circuito de
resta con la ayuda de un circuito complementador.

MEDIO SUMADOR

S = xy +xy = x
C = xy

12

x
y

Medio
Sumador

S
C

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

SUMADOR COMPLETO

Dos de las variables de entrada, denotadas por x y y, representan los dos


bits significativos que se sumarn. La tercera entrada, z, representa el
acarreo de la posicin significativa inmediata inferior.

Tambin puede implementarse con


dos semisumadores y una
compuerta OR

x
y
z
13

Sumador
Completo

S
C

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario
Implementacin de un sumador completo con dos
semisumadores y una compuerta OR

14

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

Sumador binario: Un sumador binario es un circuito digital que produce la suma


aritmtica de dos nmeros binarios. Es posible construirlo con sumadores completos
dispuestos en cascada, conectando el acarreo de salida de cada sumador completo al
acarreo de entrada del siguiente sumador completo de la cadena.

Un sumador de n bits requiere n sumadores completos con cada acarreo de salida


conectado al acarreo de entrada del siguiente sumador completo de orden superior.

Ejemplo de un sumador binario de cuatro bits con acarreo rizado:


Los bits de la suma se generan
comenzando por la posicin de la
extrema
derecha
y
estn
disponibles
tan pronto como se genera el bit
de acarreo anterior. Se deben
generar todos los acarreos para
que los bits de suma correctos
aparezcan en las salidas.
El diseo de este circuito
empleando el mtodo clsico
requerira una tabla de verdad
con 29=512 entradas, ya que el
circuito tiene nueve entradas. Al
usar un mtodo iterativo de
conectar en cascada una funcin
estndar, es posible obtener una
implementacin
sencilla
y
directa.

15

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

RESTADOR BINARIO: La forma ms conveniente de efectuar la resta de nmeros


binarios sin signo es utilizando complementos.

Las operaciones de suma y resta se pueden combinar en un solo circuito que tiene un
sumador binario compartido. Esto se hace incluyendo una compuerta OR exclusivo
con cada sumador completo.

La entrada de modo M controla la operacin. Si M=0, el circuito es un sumador; y si


M=1, el circuito se convierte en un restador. Cada compuerta OR exclusivo recibe la
entrada M y una de las entradas de B.

16

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

SUMADOR RESTADOR DE CUATRO BITS

El OR exclusivo con salida V es para detectar un desbordamiento.

Cuando dos nmeros de n dgitos cada uno se suman y la suma ocupa n+1 dgitos, decimos que hubo un desbordamiento. Esto se cumple
con los nmeros binarios y decimales, con y sin signo. Cuando sumamos con lpiz y papel, el desbordamiento no causa problemas,
porque la anchura del papel no limita la escritura de la suma. En las computadoras digitales el desbordamiento s representa un problema
porque el nmero de bits que contienen al nmero es finito, y un resultado que contiene n+1 bits no cabe. Por ello, muchas
computadoras detectan cuando ocurre un desbordamiento.

Cuando se suman dos nmeros sin signo, el desbordamiento se detecta en el acarreo final de la posicin ms significativa.

17

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

PRCTICA: SUMADOR DECIMAL: El problema consiste en encontrar una regla


para convertir la suma binaria en la representacin BCD correcta de la
suma.

Condicin para la correccin y acarreo de salida: C=K+Z8Z4+Z8Z2

Cuando C=1, es necesario sumar 0110 a la suma binaria y generar un


acarreo de salida para la etapa siguiente.

18

3.5 Diseo de circuitos combinacionales:


Sumador-Restador Binario

Un sumador BCD que suma dos dgitos BCD produce un dgito de suma en BCD.

El acarreo de salida generado por el sumador de abajo se desecha, pues proporciona


informacin con que ya se cuenta en la terminal de acarreo de salida. Un sumador
decimal en paralelo que suma n dgitos decimales necesita n etapas de sumador BCD.
El acarreo de salida de una etapa deber conectarse al acarreo de entrada de la
siguiente etapa de orden superior.

19

3.7 Diseo de circuitos combinacionales:


Multiplicador Binario

20

3.7 Diseo de circuitos combinacionales:


Multiplicador Binario de ms bits

Se obtiene el AND de un bit del multiplicador y cada bit del multiplicando en tantos
niveles como haya bits en el multiplicador. La salida binaria de cada nivel de
compuertas AND se suma al producto parcial del nivel anterior para formar un nuevo
producto parcial. El ltimo nivel genera el producto. Si el multiplicador tiene J bits y el
multiplicando tiene K bits, necesitaremos (J x K) compuertas AND y (J-1) sumadores de
K bits para obtener un producto de J+K bits.

Multiplicador binario de 4 bits por 3


bits

21

3.6 Diseo de circuitos combinacionales:


Comparador de magnitudes

La comparacin se especifica con tres variables binarias que indican si A>B,


A=B o A<B.

El circuito para comparar dos nmeros de n bit tiene 22n entradas en la


tabla de verdad y resulta difcil de manejar incluso con n=3.

Ilustraremos un algoritmo para el diseo de un comparador de magnitudes


de cuatro bits.

Sean dos cantidades binarias de cuatro bits: A=A3A2A1A0 y B=B3B2B1B0

Los dos nmeros son iguales si todos los pares de dgitos significativos son
iguales; A3=B3 y A2=B2 y A1=B1 y A0=B0. La relacin de igualdad est
dada por:

xi = Ai Bi + Ai Bi para i = 0, 1, 2, 3 donde xi=1 nicamente si los dos bits


de la posicin i son iguales.

Para que exista la condicin de igualdad, las xi variables debern ser todas
1. Esto implica una operacin AND de todas las variables:

(A=B) = x3x2x1x0

La variable binaria (A=B) es 1 nicamente si todos los pares de dgitos de


los dos nmeros son iguales.
22

3.6 Diseo de circuitos combinacionales:


Comparador de magnitudes de cuatro bits

Para determinar si A es mayor o menor que B, se inspeccionan las magnitudes


relativas de pares de dgitos significativos, comenzando por la posicin ms
significativa. Si los dos dgitos son iguales, se comparar el siguiente par de dgitos
menos significativos. Esta comparacin continuar hasta encontrar un par de dgitos
distintos. Si el dgito correspondiente de A es 1 y el de B es 0, concluimos que A>B. Si
el dgito correspondiente de A es 0 y el de B es 1, sabemos que A<B. La comparacin
sucesiva se expresa lgicamente con las dos funciones booleanas

Los smbolos (A>B) y (A<B) son variables de salida binarias que valen 1 cuando A>B
o A<B, respectivamente.

23

3.6 Diseo de circuitos combinacionales:


Comparador de magnitudes de cuatro bits

Las cuatro salidas x se generan con circuitos NOR exclusivo y se aplican a una
compuerta AND para dar la variable binaria de salida (A=B).

El procedimiento para obtener circuitos comparadores de magnitud para nmeros


binarios de ms de cuatro bits se deduce fcilmente de este ejemplo.

24

3.3 Diseo de circuitos combinacionales:


Decodificadores

Un decodificador es un circuito combinacional que convierte informacin binaria de n


lneas de entrada a un mximo de 2n lneas de salida distintas. Si la informacin
codificada en n bits tiene combinaciones que no se usan, el decodificador podra tener
menos de 2n salidas. Un decodificador produce los 2n minitrminos de n variables
de entrada.

El nombre decodificador tambin se usa para referirse a otros convertidores de


cdigos, como un decodificador
de BCD a siete segmentos. PorEjemplo: decodificador
Minitrminos
de 3 a 8 lneas.

25

3.3 Diseo de circuitos combinacionales:


Decodificadores 2 a 4 lneas

Los decodificadores incluyen una o ms entradas habilitadoras (enable) que controlan


el funcionamiento del circuito.

Un decodificador con entrada de habilitacin puede funcionar como demultiplexor. Un


demultiplexor es un circuito que recibe informacin de una sola lnea y la dirige a una
de 2n posibles lneas de salida. La seleccin de una salida especfica se controla con
la combinacin de bits de n lneas de seleccin.

El decodificador de la figura funciona como demultiplexor de 1 a 4 lneas si E se toma


como una lnea de entrada de datos, y A y B se toman como entradas de seleccin.

Dado que se obtienen operaciones de decodificador y demultiplexor con el mismo


circuito, decimos que un decodificador con entrada de habilitacin es un
decodificador/demultiplexor.
Minitrminos

26

3.3 Diseo de circuitos combinacionales:


Decodificadores

Es posible conectar los decodificadores con entradas de habilitacin unos


con otros para formar un circuito decodificador ms grande.

En general, las entradas de habilitacin son una caracterstica conveniente


para interconectar dos o ms componentes estndar y as expandir el
componente a una funcin similar con ms entradas y salidas.

27

3.3 Diseo de circuitos combinacionales:


Decodificadores
Implementacin de lgica combinacional

El procedimiento para implementar un circuito combinacional con un decodificador y compuertas OR requiere


expresar la funcin booleana del circuito como suma de minitrminos. Entonces se escoge un decodificador
que genere todos los minitrminos de las variables de entrada. Las entradas a cada compuerta OR se escogen
de entre las salidas del decodificador, de acuerdo con la lista de minitrminos de cada funcin.

Sea las funciones de un sumador completo: S(x,y,z)=(1,2,4,7) y C(x,y,z)=(3,5,6,7). Puesto que hay tres
entradas y un total de ocho minitrminos, se necesita un decodificador de 3 a 8 lneas.

Una funcin con una lista larga de minitrminos requerir una compuerta OR con un gran nmero de entradas.
Una funcin con una lista de k minitrminos se expresa en su forma complementada F empleando 2n-k
minitrminos. Si el nmero de minitrminos de una funcin es mayor que 2n/2, podremos expresar F con
menos minitrminos. En tal caso, resulta ventajoso utilizar una compuerta NOR para sumar los minitrminos de
F. La salida de la compuerta NOR complementa esta suma y genera la salida normal F. Si se usan compuertas
NAND para el decodificador, las compuertas externas debern ser NAND en lugar de OR.

28

3.3 Diseo de circuitos combinacionales:


Codificadores

Un codificador es un circuito digital que efecta la operacin inversa de la que efecta


un decodificador. El codificador tiene 2n (o menos) lneas de entrada y n lneas de
salida. Estas ltimas generan el cdigo binario correspondiente al valor de entrada.

El codificador se puede implementar con compuertas OR cuyas salidas se determinan


directamente de la tabla de verdad.

29

3.3 Diseo de circuitos combinacionales:


Codificadores

El codificador definido en la tabla tiene la limitacin de que slo una


entrada puede estar activa en un momento dado. Si dos entradas estn
activas simultneamente, la salida producir una combinacin no definida.
Por ejemplo, si D3 y D6 son 1 simultneamente.

Para resolver esta ambigedad, los circuitos codificadores deben establecer


una prioridad de entrada que garantice que slo se codificar una de las
entradas. Si establecemos que las entradas con subndice ms alto tienen
prioridad, y si tanto D3 como D6 son 1 al mismo tiempo, la salida ser 110
porque D6 tiene prioridad sobre D3.

Otra ambigedad en el codificador de octal a binario es que se genera una


salida de tres ceros cuando todas las entradas son 0; esta salida es la
misma que se produce cuando D0 es igual a 1. La discrepancia se resuelve
aadiendo una salida ms que indique que por lo menos una entrada es 1.

30

3.3 Diseo de circuitos combinacionales:


Codificador con prioridad

Codificador de prioridad: su funcionamiento es tal que, si dos o ms entradas son 1 al


mismo tiempo, la salida prioritaria tendr precedencia. En la tabla se presenta la tabla
de verdad de un codificador de cuatro entradas con prioridad. V es un indicador de bit
vlido.

Segn la tabla, cuanto ms alto sea el subndice de una entrada, mayor prioridad
tendr esa entrada.

31

3.4 Diseo de circuitos combinacionales:


Multiplexores

Un multiplexor es un circuito combinacional que selecciona informacin binaria de una


de muchas lneas de entrada y la enva a una sola lnea de salida. La seleccin de una
lnea de entrada dada se controla con un conjunto de lneas de seleccin.
Normalmente, hay 2n lneas de entrada y n lneas de seleccin cuyas combinaciones
de bits determinan cul entrada se selecciona.

El multiplexor acta como un interruptor electrnico que selecciona una de dos


fuentes.

32

3.4 Diseo de circuitos combinacionales:


Multiplexores

Los multiplexores tambin se denominan selectores de datos, pues


seleccionan una de varias entradas y dirigen la informacin binaria a la
lnea de salida.

33

3.4 Diseo de circuitos combinacionales:


Multiplexores

34

3.4 Diseo de circuitos combinacionales:


Multiplexores: Implementacin de funciones

Se mostrar un mtodo ms eficiente para implementar una funcin booleana de n


variables con un multiplexor que tiene n-1 entradas de seleccin. Las primeras n-1
variables de la funcin se conectan a las entradas de seleccin del multiplexor. La
variable restante de la funcin se utiliza para las entradas de datos. Si denotamos esa
variable con z, cada entrada de datos del multiplexor ser, z, z, 1 0. Para ilustrar
este procedimiento, consideremos la funcin booleana de tres variables:
F(x,y,z)=(1,2,6,7)

35

3.4 Diseo de circuitos combinacionales:


Multiplexores: Implementacin de funciones

El procedimiento general para implementar cualquier funcin booleana de n variables


con un multiplexor de n-1 entradas de seleccin y 2n-1 entradas de datos se deduce
del ejemplo anterior.
1.

Primero se enumera la funcin booleana en una tabla de verdad.

2.

Las primeras n-1 variables de la tabla se aplican a las entradas de seleccin del multiplexor.

3.

Para cada combinacin de las variables de seleccin, evaluamos la salida en funcin de la ltima
variable. Esta funcin puede ser 0, 1, la variable o el complemento de la variable.

4.

Luego, estos valores se aplican a las entradas de datos en el orden correcto.

Ejemplo: F(A,B,C,D)=(1,3,4,11,12,13,14,15)

36

3.4 Diseo de circuitos combinacionales:


Mux con compuertas de tres estados

Es posible construir un multiplexor con compuertas de tres estados. Una


compuerta de tres estados es un circuito digital que exhibe tres estados.
Dos de los estados son seales equivalentes al 1 y al 0 lgicos, como en las
compuertas convencionales. El tercer estado es un estado de alta
impedancia. El estado de alta impedancia se comporta como un circuito
abierto, lo que implica que la salida parece estar desconectada y e circuito
carece de significado lgico.

El estado de alta impedancia de una compuerta de tres estados ofrece una


caracterstica especial que no ofrecen otras compuertas. Gracias a ella, un
gran nmero de salidas de compuertas de tres estados se pueden conectar
con alambres para formar una lnea comn sin correr riesgos por los efectos
de carga.

37

3.4 Diseo de circuitos combinacionales:


Mux con compuertas de tres estados

En la figura a) las dos salidas se conectan entre s para formar una sola lnea de salida
(cabe sealar que este tipo de conexin no puede efectuarse con compuertas que no
tengan salidas de tres estados).

En la figura b) Las salidas de cuatro bferes de tres estados se conectan entre s para
formar una sola lnea de salida. Una forma de garantizar que no ms de una entrada
de control est activa en un momento dado utilizar un decodificador, como se indica
en el diagrama.

38