cap-3 circuitos logicos combinacionales_10224

38
Capítulo III. Diseño combinacional Curso Electrotecnia VPG/3.1 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 Lógico Combinacional . . . . . . Entradas n m 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.

Upload: emanuel-bravo

Post on 01-Jul-2015

1.748 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.1

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

LógicoCombinacional

... ...Entradasn m

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.

Page 2: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.2

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:

Page 3: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.3

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:

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.

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 0

1 ← acarreo 0 1

+ 1 1 1 0 0

1 ← acarreo 0 1 1 0

+ 1 1 0 0 1 0 0 1 0

Page 4: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.4

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

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: Las expreisiones productos de suma simplificadas son: Los diagramas lógicos para estas implementaciónes se muestra en la Fig. 3.3.

.

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:

Sumando A

Sumando B

Acarreo C

Suma S

0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

S = AB + AB (or-ex) y C = AB y

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

S ((A )(A B)) (A ) (A B) AB

pero S A (C AB)

B B AB

AB C C B S

= + + = + + + = +

= ⇒ = + ⇒ = +

Fig. 3.2 Tabla de verdad para el Half-adder

A B

S

C

A B

S

C

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

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

A B

S

C⇒

Page 5: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.5

Por otra parte tenemos que AB C A B C (A B)C AB C= ⇒ = ⇒ = + ⇒ = + y reemplazando la última expresión para C en la expresión producto de sumas para S se tiene

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

Las diferentes implementaciones mostradas para el Half Adder son un ejemplo de la flexibilidad disponible para el diseñador en la implementación de circuitos lógicos aún con una tan simple función lógica combinacional como los es el semisumador. 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 y su expresión lógica de salida se muestran en la figura 3.5: 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

S (A )(A B)

S (A )C

B

B

= + +

= +

A B

S

C

A B

S

C

Fig.3.4 HA con OR-EX

A

B

S A B= ⊕

C AB=

12∑

S A B= ⊕

C AB=

A

B

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

Page 6: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.6

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".

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 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:

( ) ( )1,2,4,7 3,5,6,7m m

S y C= =∑ ∑

Entrtadas Salidas

Sumando A

Sumando B

Acarreo Anterior

C0

Acarreo C

Suma S

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

0 0 0

0

S ABC ABC ABC ABCS A B C= + + +

= ⊕ ⊕

0 0C AB AC BC= + +

Fig 3.6. Tabla de verdad para el Full-adder

AB

1

1

1

1

11 01 00 10

0

1 C0

S AB

1

1

1 1

11 01 00 10

0

1 C0

C

Fig. 3.7 Mapas de Karnaugh para el Full-Adder

Page 7: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.7

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

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, ( )0 0 0 0 03,5,6,7

mS A B C y C ABC ABC ABC ABC= ⊕ ⊕ = = + + +∑ , pero:

( ) ( ) ( )0 0 0 0 0 0 0 0C ABC ABC ABC ABC C AB AB AB C C C A B AB= + + + = + + + = ⊕ + , es decir, que las

expresiones para S y C0 del Full-Adder se pueden escribir como:

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

Si se tiene dos números de n bits tales como 1 1 0 1 1 0........ ........n n n nA A A A A y B B B B B− −= = , 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:

1nC − 2nC − 2C 1C 0C

nA 1nA − 3A 2A 1A 0A

nB nB 3B 2B 1B 0B

Sn Sn-1 3S 2S 1S 0S

FA 0 0C AB AC BC= + +

0S A B C= ⊕ ⊕A

B

C0

A B C0

0 0C AB AC BC= + +

0S A B C= ⊕ ⊕

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

( )0

0 0

S A B C yC A B C AB= ⊕ ⊕

= ⊕ +

A B⊕

AB0A B C⊕ ⊕

( )0C C A B AB= ⊕ +

A

B

C0

HA HA ⇒

Page 8: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.8

En que 1iC − corresponde al acarreo anterior, por ejemplo 0C corresponde al acarreo de la suma de

0 0A y B , el cual se suma con los dígitos 1 1A y B 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 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 1101 0111A y B= =

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

Acarreo → 1 1 1 A → 1 1 0 1 B → 0 1 1 1

Resp 1 0 1 0 0

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

A0 C-1

FA

B0 A1 C0

FA

B1 A2 C1

FA

B2 Ai Ci-1

FA

Bi An Cn-1

FA

Bn

S0 S1 S2 Si Sn Cn

Ci C2 C1 C0

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

0 1

FA

1

0 0 1

1 1

FA

0

0 1

1 1

FA

1

1 1

1 0

FA

1

1

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

Page 9: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.9

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:

La salida P es cero siempre que y 1, para A 0 e B 1A B P≥ = = = . 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:

yD AB AB A B 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 0A B P− − .

Minuendo A

Sustraendo B

Prestamo P

DiferenciaD

0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0

Page 10: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.10

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.

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.

Entrtadas Salidas

Minuendo A

Sustraendo B

Préstamo Anterior

P0

Préstamo P

Diferencia D

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

0 0 0 0

0

D ABP ABP ABP ABPD A B P= + + +

= ⊕ ⊕ 0 0P AP AB BP= + +

AB

1

1

1

1

11 01 00 10

0

1 P0

D AB

1

1

1 1

11 01 00 10

0

1 P0

P

Fig. 3.12 Mapas de Karnaugh para el restador completo

Fig. 3.11 Tabla de verdad para restador completo

Page 11: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.11

Dispositivo Familia Descripción 7483 TTL Sumador de cuatro bits de acarreo rápido, con encapsulado no estandard

74283 TTL Sumador de cuatro bits de acarreo rápido, con encapsulado estándar, funcionalmente idéntico al 7483.

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

4008 CMOS Sumador de cuatro bits de acarreo rápido, con encapsulado estándar. 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

Cuando C0 = 0 Cuando C0 = 1 A2 A1 B2 B1 C2 S2 S1 C2 S2 S10 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 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 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 1 1 0 1 1 0 0 1 0 1 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

Fig 3.15 Algunos circuitos integrados sumadores

Diagrama lógico IC 74HC283

S1

C0 B0 A0 S0 A1 B1

A2 S2 S3 A3 B3 B2

15 14 13 11 10 12

1 2 3 4 6 7 5 8

C3

9

74LS283

16

VCC

Gnd

Distribución de pines IC 74283

16

15

9

11 10

13 12

14

B4

B3

S3

A3

A4

Vcc

S4

Cout 8

4

3 2

1

7 6 5

74LS283 A2

Gnd

A1

B2

B1

S2

S1

Cin

Diagrama Funcional IC 74HC283

B0 B1 B2 B3

74HC283

Cout

Cin

A0 A1 A2 A3

S0 S1 S2S3

Fig 3.16 Circuito sumador integrado 74283

B1

B2

74283

C2 C0

A1

A2 S1

S2

Fig 3.13. Símbolo lógico del CI sumador 74283

Page 12: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.12

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

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

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

Entradas Salida Descripción S I Y 0 0 0 Y I= 0 1 1 Y I= 1 0 1 Y I= 1 1 0 Y I=

Entrada I S A B= ⊕

Entrada S

I

S

Y = =

= =

01

I Si SI Si S

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

Fig 3.17 Descripción funcional del CI sumador 74283

Page 13: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.13

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.

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 3 2 1 0A A A A y

3 2 1 0B B B B o que reste 3 2 1 0B B B B de 3 2 1 0A A A A , en complemnto a uno, se deberá proceder de la siguiente forma:

1. Para la suma, se debe dejar el número 3 2 1 0B B B B 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:

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

Sustraendo

B0 B1 B2B3

74HC283

Cin

A0 A1 A2A3

Control S

Minuendo

Cout

S0

S1

S2

S3

Y1

Y2

Y3

Y4

S

1I 1Y

2I 2Y

3I 3Y

4I 4Y Sustraendo

B0 B1 B2 B3

74HC283

Cin

A0 A1 A2 A3

Control S

Minuendo

Cout

S0

S1

S2

S3

Y1

Y2

Y3

Y4

Fig 3.19. Circuito sumador de cuatro bits con CI 74283

a) Controlador a) Sumador

Page 14: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.14

4yS C . 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.

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 3 2 1 0A A A A y

3 2 1 0B B B B o que reste 3 2 1 0B B B B de 3 2 1 0A A A A , en complemnto a dos, se deberá proceder de la siguiente forma:

1. Para la suma, se debe dejar el número 3 2 1 0B B B B 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 4yS C . 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.

Sustraendo

B0 B1 B2B3

74HC283

Cin

A0 A1 A2A3

Control S

Minuendo

Cout

S0

S1

S2

S3

S1

S2

S3

S0

Fig. 3.20 Circuito Sumador restador con 7483

S2

S3

S0

S1

Fig. 3.21 Circuito Sumador restador con 74283

Sustraendo

Control S

Minuendo

B0 B1 B2B3

74HC283

Cin

A0 A1 A2A3

Cout

S0

S1

S2

S3 B0 B1 B2 B3

74HC283

Cin

A0 A1 A2 A3

Cout

S0

S1

S2

S3

Page 15: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.15

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 1 2 1 2 y A ,A ,B B 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 0 1 0 1A A B B= .

A>B A=B A<B A1 A0 B1 B0 X Y Z

0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 2 0 0 1 0 0 0 1 3 0 0 1 1 0 0 1 4 0 1 0 0 1 0 0 5 0 1 0 1 0 1 0 6 0 1 1 0 0 0 1 7 0 1 1 1 0 0 1 8 1 0 0 0 1 0 0 9 1 0 0 1 1 0 0 10 1 0 1 0 0 1 0 11 1 0 1 1 0 0 1 12 1 1 0 0 1 0 0 13 1 1 0 1 1 0 0 14 1 1 1 0 1 0 0 15 1 1 1 1 0 1 0

( )1 1 1 0 0 0 1 0

1 1 1 0 0 0 1 0

0 5 10 15x A B A A B A B By , , ,

z B A B B A B A A

= + +

=

= + +

1

1

1

110

11

01

00 00 01 11 10

A1A0

B1B0

Y

1 1

1

1

1

1

10

11

01

0000 01 11 10

A1A0

B1B0

X

1

1

1

1

1

110

11

01

0000 01 11 10B1B0

Z A1A0

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

Page 16: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.16

Las seis combinaciones de entrada que hacen que la salida X (mayor que) sea igual a 1 son aquellas en que A A1 0 > B B1 0. Las seis entradas restantes hacen que la salida Z (menos que) sea igual a 1 y son las que cumplen que A A1 0<B B1 0. 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.

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 A A1 0 y B B1 0. intercambiadas.

Fig. 3.23 Circuito Comparador de magnitud

A1 A0 B1 B0

X A B→ >

Y A B→ =

Z A B→ <

Page 17: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.17

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. 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.

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

Entradas Salidas A B 0 1 2 3 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1

Entradas Salidas A B 0 1 2 3 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0

Decodificador

A0 A1

An

S0 S1

Sm

2n combinaciones entradas posibles

M salidas posibles

A B

S0

S1

S2

S3

A B

S0

S1

S2

S3

Fig 3.25. Decodificador de dos entradas y cuatro salidas.

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

Fig.3.24. Diagrama de bloques de un decodificador

Page 18: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.18

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.

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)

EN A B 0 1 2 3 1 X X 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1

Entradas Salidas a b c 0 1 2 3 4 5 6 7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1

Fig 3.26. Decodificador de dos entradas y cuatro salidas con habilitador (EN)

a) Tabla de verdad. c) Diagrama lógico.

A B

S0

S1

S2

S3

EN

0 1 2 3

ABAB

AB

AB

A

B

EN

b) circuito lógico.

a

b

c

0 1 2 3 4 5 6 7

abc abc

abc

abc abc

abc

abc abc

Fig. 3.27 Tabla de verdad y diagrama lógico de un decodificador 3-8

a) Tabla de verdad b) Minterm

Page 19: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.19

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)

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.

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”.

EN1 2EN 3EN C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y70 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 X X 1 X X X 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 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

S0 S1 S2 S3 S4 S5 S6 S7

a

b

c

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

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3

EN2

74138

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

Page 20: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.20

Ejemplo 1:

Implementar usando un decodificador la función lógica ( ) ( ), , 0,2,4,7m

F C B A = ∑ 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 ( ) ( ), , 0,2,4,7

mF C B A = ∑ 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.

Ejemplo 2.

Implementar, con un decodificador de 3-8, SN74138, la función de dos salidas F1 y F2 dadas por ( ) ( ) ( ) ( )1 2, , 0,3,6 , , 1,3,4,6

m mF C B A y F C B A= =∑ ∑ . Solución 1. Asumiendo que el multiplexor es activo en alto:

a b c F(C,B,A) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

( ) ( ), , 0,2,4,7m

F C B A = ∑

( ) ( )1 , , 0,3,6m

F C B A = ∑

( ) ( )2 , , 1,3,4,6m

F C B A = ∑

Fig. 3.30. Implementación de la función ( ) ( ), , 0,2,4,7m

F C B A = ∑ con un decodificador

0

Y0Y1Y2Y3Y4Y5Y6Y7

A B C

EN1

EN3

EN2

74138

1

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

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3

EN2

74138

1

Page 21: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.21

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

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

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

( )0 1F( A,B,...N ) m m ........ min terms requeridos= + + ∑

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

0 1 iF( A,B,...N ) m m ....... m= ⋅ ⋅ ⋅

3. Mediante un decodificador con salidas activas altas, con una compuerta NOR

0 1 iF( A,B,...N ) m m ....... m= + + ⋅

4. Mediante un decodificador con salidas activas bajas, con una compuerta AND

0 1 iF( A,B,...N ) m m ....... m= ⋅ ⋅ ⋅

Ejemplo 4. Implementar la función ( ) ( )0 1 4 6 7 2 3 5m M

F( A,B,C ) , , , , , ,= =∑ ∏ , en las cuatro formas descritas.

Solución.

( ) ( ) ( )2 , , 1,3,4,6 0,2,5,7m M

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

F C B A = =∑ ∏

( ) ( ) ( )1 , , 0,3,6 1,2,4,5,7m M

F C B A = =∑ ∏

( ) ( ) ( )2 , , 1,3,4,6 0,2,5,7m M

F C B A = =∑ ∏ 0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3

EN2

74138

1

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3 EN2

74138

1

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3 EN2

74138

1

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3EN2

74138

1

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3EN2

74138

1

Page 22: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.22

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 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 (figura 1).

Los segmentos se organizan y designan como se muestra en la Fig. 3.31. Para 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 apagados.

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.

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

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

b

c

d

e

f

g

Fig.3.31 Segmentos

Fig. 3.33 Diodos conectados en ánodo común

VCC

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

0 (V)

Ánodo Cátodo

Fig. 3.32. Diodo

ab

c

d

e

f

g

b) Cátodo común

a b

c

d

e

f

g

a) Ánodo común

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

Page 23: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.23

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).

Comenzamos creando la tabla de verdad que enumere los segmentos por activar para cada dígito decimal como en la figura 3.36b). 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= + + +

A B C D a b c d e f g0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 1 0 0 0 0 2 0 0 1 0 1 1 0 1 1 0 1 3 0 0 1 1 1 1 1 1 0 0 1 4 0 1 0 0 0 1 1 0 0 1 1 5 0 1 0 1 1 0 1 1 0 1 1 6 0 1 1 0 0 0 1 1 1 1 1 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

Fig. 3.36. Decodificador BCD a siete segmentos

a) Diagrama de bloques b) Tabla de verdad

Circuito Decodificador

BCD a siete

segmentos

A

B C D

a b c d e f g

c) Configuración de dígitos

1

1 1

X

X

X

X

1

X

X10

11

01

00 00 01 11 10 AB

CD

e

1 1

1

1

X

X

X

X

1

1

X

X10

11

01

0000 01 11 10AB

CDf

1

1

1

1

1

X

X

X

X

1

1

X

X

00 01 11 10 ABCD

g

10

11

01

00

b

1

1

1

1

1

1

X

X

X

X

1

1

X

X

00 01 11 10AB CD

10

11

01

00 1

1

1

1

1

X

X

X

X

1

1

X

X10

11

01

00 00 01 11 10 AB

CD

a

1

1

1

1

1

1

1

X

X

X

X

1

1

X

X

11

01

0000 01 11 10AB

CDc

10

d

1

1

1

1

1

X

X

X

X

1

X

X

01

00 00 01 11 10AB

CD

10

11

Page 24: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.24

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.

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.

A1 A2X0 → 0 0X1 → 0 1X2 → 1 0X3 → 1 1

A B C D

a

b

c

d

e

f

g

Fig. 3.37 Circuito lógico decodificador de siete segmentos

Cod

X0 X1 X2

X3

A0

A1

Fig. 3.38. Diagrama de bloque y tabla para decodificador

Page 25: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.25

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.

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

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 A1 A0 0 0 0 0 0 X X 1 0 0 0 1 0 0 2 0 0 1 0 0 1 3 0 0 1 1 X X 4 0 1 0 0 1 0 5 0 1 0 1 X X 6 0 1 1 0 X X 7 0 1 1 1 X X 8 1 0 0 0 1 1 9 1 0 0 1 X X 10 1 0 1 0 X X 11 1 0 1 1 X X 12 1 1 0 0 X X 13 1 1 0 1 X X 14 1 1 1 0 X X 15 1 1 1 1 X X

A2 A1 A0X0 → 0 0 1X1 → 0 1 0X2 → 1 0 1X3 → 1 1 0

Los demás → 0 0 0

X3 X2 X1 X0 A2 A1 A0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 2 0 0 1 0 0 1 0 3 0 0 1 1 0 0 0 4 0 1 0 0 0 0 1 5 0 1 0 1 0 0 0 6 0 1 1 0 0 0 0 7 0 1 1 1 0 0 0 8 1 0 0 0 1 0 0 9 1 0 0 1 0 0 0 10 1 0 1 0 0 0 0 11 1 0 1 1 0 0 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 15 1 1 1 1 0 0 0

X

X

1

X

X

X

X

X

X

X

1

X

X

X10

11

01

0000 01 11 10

X3X2

X1X0

1 2 3A X X= +

X3X2

X1X0

X1X3

X2

X3A1

A0

0 1 3A X X= +

X

X

1

X

X

X

X

X

X

X

1

X

X

X10

11

01

0000 01 11 10

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

Cod

X0 X1 X2

X3

A0

A1

A2

Fig.3.39. Tabla de verdad, mapas de Karnaugh y diagrama lógico para decodificador de cuatro entradas y una salida activa.

1

1

10

11

01

0000 01 11 10

X3X2

X1X0

X3X2

X1X0

1

1

10

11

01

0000 01 11 10

1 3 2 1 0 3 2 1 0A X X X X X X X X= +

0 3 2 1 0 3 2 1 0A X X X X X X X X= +

2 3 2 1 0A X X X X=

Fig. 3.41. Tabla de verdad, Mapas de Karnaugh para decodificador del punto 2

Page 26: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.26

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.

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.

A1 A2X0 → 0 0X1 → 0 1X2 → 1 0X3 → 1 1

X3 X2 X1 X0 A1 A0 GS EO0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 2 0 0 1 0 0 1 1 0 3 0 0 1 1 0 1 1 0 4 0 1 0 0 1 0 1 0 5 0 1 0 1 1 0 1 0 6 0 1 1 0 1 0 1 0 7 0 1 1 1 1 0 1 0 8 1 0 0 0 1 1 1 0 9 1 0 0 1 1 1 1 0 10 1 0 1 0 1 1 1 0 11 1 0 1 1 1 1 1 0 12 1 1 0 0 1 1 1 0 13 1 1 0 1 1 1 1 0 14 1 1 1 0 1 1 1 0 15 1 1 1 1 1 1 1 0

Cod

X0 X1 X2

X3

A0

A1

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

a) Tabla de verdad

Fig. 3.43. Codificador de prioridad.

X1

X3

X2

X4

A1

A0

GS

EO

c) Diagrama lógico

1

1

1

1

1

1

1

1

1

110

11

01

0000 01 11 10

X3X2

X1X0

1 2 3A X X= +

X3X2

X1X0

0 3 2 1A X X X= +

1

1

1

1

1

1

1

1

1

1

1

110

11

01

0000 01 11 10

b) Mapas de Karnaugh

Page 27: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.27

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

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.

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

Page 28: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.28

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.

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

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

1

1

1

X

X

X

X

1

1

X

X10

11

01

00 00 01 11 10 AB

CD 1

1

1

1

X

X

X

X

1

X

X10

11

01

0000 01 11 10AB

CD1

1

1

1

X

X

X

X

1

X

X10

11

01

00 00 01 11 10AB

CD

1

1

1

1 X

X

X

X

1

X

X10

00 00 01 11 10AB

CD

01

11

Fig. 3.45 Mapas de salida para conversor BCD-EX3

DC B A

X

Y

Z

W

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

Page 29: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.29

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:

( ) ( ) ( )0 0 1 2 1 0 1 2 2 0 1 2 y G B ,B ,B , G B ,B ,B G B ,B ,B ,

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 01 0 0 1 0 0 12 0 1 0 0 1 13 0 1 1 0 1 04 1 0 0 1 1 05 1 0 1 1 1 16 1 1 0 1 0 17 1 1 1 1 0 0

Estas funciones pueden ser determinadas fácilmente llevando cada conjunto de bits de 0 1 2y G ,G G 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.

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

1

1

1

11

0 00 01 11 10

B2 B1

B0

1

1

1

11

000 01 11 10

B2 B1

B0

1

1 1

11

000 01 11 10

B2 B1

B0

2 2G B= 1 2 1 2 1 1 2G B B B B B B= + = ⊕ 00 1 0 1 0 1G B B B B B B= + = ⊕

Figura 3.47. Mapas para el conversor Octal a Gray

2B 1B 0B

0G

1G

2G Fig. 3.48. Circuito para el conversor Octal a Gray

Page 30: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.30

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.

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 aplicado a S determina que compuerta se selecciona. Por ejemplo si S = 0 se selecciona la entrada E1 ya que a la compuerta AND G1 se le 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”. La expresión Booleana para la salida Y es: SESEY 10 += 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.

Entradas de datos Salida Y

Entradas de Selección

E0

E1

En-1

Fig. 3.49 Diagrama funcional de un multiplexor digital. El código de las entradas de selección determina que estrada se traspasan a la salida Y.

E0

E1

Y

G0

G1

Entradas

Selección S

Fig. 3.50. Circuito multiplexor de dos entradas.

Page 31: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.31

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.

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.

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.

Selección Entradas Salida

S0 S1 E0 E1 E2 E3 Y 0 0 E0 x x x E0

0 1 x E1 x x E1

1 0 x x E2 x E2

1 1 x x x E3 E3 Tabla de verdad

E3

S0 S1

E0

E1

E2 Y

G0

G1

G3

G2

Entradas

Selección

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

E0

E1

Y

G0

G1

SFig. 3.51. Ejemplo de aplicación de MUX 2-1.

S=1 S=0 S=1

Page 32: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.32

La función Booleana de salida del multiplexor de cuatro entradas muestra claramente como se realiza la selección.

103102101100 SSESSESSESSEY +++= Llamando m0 al término 10 SS , m1 a 10SS , m2 a 10 SS y m3 a 10SS , se puede escribir la salida Y como:

∑=

=3

0iii EmY

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:

∑−

=

=1

0

n

iii EmY

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.

Nótese que, para que cualquiera de las entradas Ei tenga acceso a la salida, es necesario que la entrada habilitadora H esté activada, es decir, en este caso, esté en nivel "0", independientemente del estado de las entradas selectoras. Por ejemplo para pasar la información de la entrada E1 hacia la salida, es necesario seleccionar la compuerta de salida G1, (S1 = 1 y S0 = 0) y colocar H = 0 (mientras H = 1, la salida Y siempre será 0). La figura 3.54 muestra el símbolo lógico utilizado para dibujar el multiplexor como una primitiva, cuyo

funcionamiento queda descrito en la tabla de la figura 3.53.

Selección Enable Entradas SalidaS0 S1 H E0 E1 E2 E3 Y x x 1 x x x x 0 0 0 0 E0 x x x E0

0 1 0 x E1 x x E1

1 0 0 x x E2 x E2

1 1 0 x x x E3 E3

M N

Y

G0

G1

G3

G2

E3

E0

E1

E2

Entradas

Selección

Enable H

Tabla de verdad

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

Selección

Enable

S1 S0

Y

E3

E0

E1

E2

MUX4-1

H

Entradas Salida

Fig. 3.54 Símbolo lógico Mux 4-1

Page 33: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.33

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. 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 .

S0 S1 S2 H E0 E1 E2 E3 E4 E5 E6 E7 Yx x x 1 x x x x x x x x 0 0 0 0 0 E0 x x x x x x x E00 0 1 0 x E1 x x x x x x E10 1 0 0 x x E2 x x x x x E20 1 1 0 x x x E3 x x x x E31 0 0 x x x x E4 x x x E41 0 1 x x x x x E5 x x E51 1 0 x x x x x x E6 x E61 1 1 x x x x x x x E7 E7

Fig. 3.55 Multiplexor 8-1

a) Diagrama lógico

c) Tabla de verdad

S0

Y

E3 E0 E1 E2

Enable

G0 G1 G3 G2 G4 G5 G7 G6

E7E4 E5 E6

S1 S2

Y

b) Símbolo lógico

Selección

Enable

S1 S0

YE3

E0

E1

E2 MUX 8-1

H

S2

E3

E0

E1

E2

Y

Page 34: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.34

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: NMMY += .

Supongamos tentativamente que las líneas de entrada E E0 3...... 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 G, 1 genera a N M , etc. Podemos ver ahora a las entradas E E0 3...... como entradas habilitadoras. Si E0 0= , la salida de G0 es "0", independientemente de M y N. Pero si E0 1= , la salida es G N M0 = y así sucesivamente.

Entonces las cuatro compuertas AND, habilitadas por las correspondientes entradas E E0 3...... 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:

( )NMNMNM

NMNNM

NMMY

++=

++=

+=

El minterm M N será generado sólo si NME :11 = será generado si NMyE 10 = será generado

si .12 =E

Entonces para generar la función NMMY += es necesario que en la ecuación general del multiplexor dada por:

103102101100 SSESSESSESSEY +++= se coloquen las entradas Ei de tal forma que E E E E0 1 3 31 0= = = =y obteniéndose el circuito de la Fig. 3.56. Nótese que la entrada de habilitación está también enclavada en "0".

Fig. 3.56. Función NMMY += implementada con Mux 4-1

M N

YMUX4-1

H

E3

E0

E1

E2

1

0

0

NMMY +=

S0 S1

Page 35: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.35

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 ( )VNMfY ,,= . 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 VNM , se aplica V a la entrada E0 si se tiene la función ( ) NMVVNMVNMVNMY =+=+= , se hace E0 0= , etc. Ejemplo.1 Usar el multiplexor de la Fig. 3.56, para generar la función VNMVMNMY ++=2 Solución: expandiendo Y2 en sus minterms se tiene:

( )

( )VMNNVMNM

VMNNVMVNM

VMNVNMNVMNM

VNMNNVMNMY

++=

+++=

+++=

+++=

1

2

Comparando Y2 con la ecuación general del multiplexor:

103102101100 SSESSESSESSEY +++= Se tiene que lo que hay que hacer es: VEyEVEENSMS ====== 321010 0;;1;; . Con esto el circuito queda como se indica en la Fig. 3.57.

En general un circuito multiplexor con K líneas de selección y 2K entradas es un elemento lógico universal para funciones Booleanas de K + 1 variables.

Fig. 3.57. Función VNMVNMNMY ++= implementada con Mux 4-1

M N

YMUX4-1

H

E3

E0

E1

E2

0

VNMVNMNMY ++=

S0 S1

1

0

V

Page 36: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.36

Ejemplo 2 Determinar si los siguientes circuitos son equivalentes, es decir si F = Z. Solución. La ecuación para el MUX es: 0 0 1 1 0 1 2 0 1 3 0 1= + + +Y E S S E S S E S S E S S

Para este caso, 0 1 2 0 1 3 0 10; por lo tanto YE y E E S S E S S= = + , es decir 2 3Y E AD E AD= + , ya que

0 1S A y S D= = . Además, ( ) ( )2 3E B C y E 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 A B C A B D

ABC AC AD A BC BC A B D

ABC AC AD ABC ABC A B D

ABC ABCD ABCD A B D

ABC ABCD ABCD ABC

= + + ⊕ + +

= + + ⊗ + +

= + + + + +

= + + + + +

= + + + +

= + + +

i

i

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

A B C D

F

S1 S0

Y

E3

E0

E1

E2

MUX 4-1

H

Z

A D

CB0

0

Page 37: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.37

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. 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.

S3

Entrada de

datos

S1 S0

YE3

E0

E1

E2 MUX8-1

H

S2

E3

E0

E1

E2

S1 S0

YE3

E0

E1

E2 MUX8-1

H

S2

E3

E0

E1

E2

Entrada de

datos

S2 S1 S0

Z

Page 38: CAP-3 Circuitos Logicos Combinacionales_10224

Capítulo III. Diseño combinacional

Curso Electrotecnia VPG/3.38

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

( ) ( ) ( )( )

; ;

1,2,4,7m

F C B A A B C AB AB C AB AB C

ABC ABC ABC ABC

= ⊕ ⊕ = + + + =

= + + + = ∑

Pero como se dispone solo de una compuerta NOR, es conveniente implementar ( )0,3,5,6m

F = ∑

( ) ( )1,2,4,7 0,3,5,6m m

F F= = =∑ ∑

Fig. 3.58. Implementación de la función ( ) ( ), , 1,2,4,7m

F C B A = ∑ con un decodificador

0

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

A B C

EN1

EN3

EN2

74138

1