Atlas & Maps

Definición de Circuitos lógicos

0

 [Electrónica] Circuitos eléctricos cuyas señales de entrada y salida adoptan valores discretos que corresponden a un valor alto y otro bajo, que se llaman cero y uno, L y H (de Low y High o ‘bajo’ y ‘alto’) y cuya respuesta es determinada acción o inacción. Reciben el nombre de lógicos porque su funcionamiento se basa en ciertas funciones lógicas matemáticas sencillas. En contraposición a estos circuitos, que reciben también el nombre de digitales, se encuentran los analógicos, aquellos que admiten valores continuos en las entradas y presentan una respuesta igualmente continua.

Los circuitos lógicos se pueden realizar mediante diferentes técnicas dependiendo de los elementos que se utilicen, como sistemas mecánicos, neumáticos, eléctricos o electrónicos. De todos estos circuitos tienen especial importancia los realizados con semiconductores, ya que son la base de la informática, aunque también se emplean en la industria circuitos con relés eléctricos.

Los circuitos lógicos emplean como elementos básicos unas unidades llamadas puertas que realizan las funciones lógicas elementales Y, O y NO. Estas unidades básicas están a su vez formadas por componentes electrónicos, ya sea en montajes de componentes discretos o como parte de circuitos integrados, que es lo más habitual. Los circuitos lógicos emplean las puertas como cajas cerradas cuyo comportamiento queda completamente determinado por la función lógica que cumplen, sin que sea necesario conocer su composición interna.

Las puertas lógicas pueden interconectarse entre sí para realizar funciones lógicas más complejas como contadores, acumuladores, unidades de memoria, divisores, etc., que a su vez pueden interconectarse de forma lógica para dar lugar a circuitos mucho más complejos (chips).

Con vistas a simplificar el diseño de circuitos lógicos, la industria ha definido una serie de parámetros intrínsecos en forma de familias de circuitos que comparten una serie de características comunes, de manera que se asegure la compatibilidad de todos los elementos. Una familia de circuitos lógicos suele compartir la tecnología empleada en su fabricación, comparte los niveles de voltaje que suponen el cero y el uno, las tensiones a que deben alimentarse y los tiempos de conmutación. Las familias lógicas más populares son la TTL y la CMOS.

Historia

Los antecesores directos de los circuitos lógicos son, por una parte, el ábaco como ejemplo de máquina digital (realiza operaciones en base a dígitos), y con mayor propiedad las primeras máquinas de calcular de componentes mecánicos. Las primaras que merecen ser mencionadas son las quince construidas por B. Pascal a partir de 1642, de las que se conservan cinco. Eran ábacos mecánicos de pequeño tamaño que permitían hacer adiciones de dos cifras con un sistema de ruedas dentadas similar al actual contador de kilómetros de los automóviles, basado en el sistema decimal.

El sistema de numeración binario, que posteriormente se demostraría como esencial para el desarrollo de las máquinas electrónicas de calcular, es obra del erudito alemán G. W. Leibniz. Utiliza únicamente el cero y el uno como dígitos en lo que él llamó “numeración didáctica” en 1679. También construyó una máquina de calcular mecánica en 1673, cuyo funcionamiento se basaba en cilindros de dientes escalonados. Durante los siglos XVII y XVIII se construyeron multitud de máquinas similares con mayor o menor fortuna.

En 1854 el matemático Inglés G. Boole es el primero en introducir relaciones lógicas en las ecuaciones algebraicas de un sistema dual o binario como el utilizado por Leibniz, y descubre los operadores lógicos fundamentales (conjunción o “Y”, disyunción u “O” y negación o “NO”). Su labor, que recibe el nombre de lógica simbólica o matemática, tuvo -bastante tiempo después- insospechadas aplicaciones a la conmutación telefónica y a las máquinas de calcular.

Es de destacar también la máquina llamada Difference Engine, construida en 1822 por el matemático británico Ch. Babbage, basada en ruedas dentadas y capaz de realizar diferencias de dos cantidades con ocho cifras decimales. Formuló además los principios matemáticos teóricos de los autómatas de cálculo y diseñó una calculadora digital que ya contaba con los componentes fundamentales de las máquinas de tratamiento de datos (dispositivos de entrada y salida de datos, unidad aritmética y unidad de almacenamiento en memoria), aunque la complejidad de los mecanismos necesarios parea realizarla impidieron que tal aparato llegara a construirse. Hacia 1880 el ingeniero estadounidense Herman Hollerith construyó una máquina electromecánica de conteo basada en la utilización de tarjetas perforadas, ya inventadas en 1805 por J. M. Jacqard como medio de controlar una máquina tejedora, con la que consiguió realizar el censo de su país.

Poco a poco la electricidad, y posteriormente la electrónica, van imponiendo su modus operandi en las máquinas de contar. Destaca el invento de la válvula por parte de De Forest (1906) y el conmutador electrónico biestable (también llamado flip-flop) en 1919 por parte de W. H. Eccles y W. Jordan. Así, en 1936 el francés R. Valtat se hace con la patente de una máquina de calcular basada en el sistema binario, que utiliza para registrar los números o bien un relé eléctrico o un conmutador biestable, y K. Zuse construye otra máquina análoga. Dos años después el matemático estadounidense C. E. Shannon logró demostrar en su tesis doctoral que la lógica deductiva podía reconstruirse en base al sistema binario de Boole y proporcionando las bases teóricas al nacimiento de las computadoras u ordenadores capaces de reproducir casi todas las labores deductivas del hombre. Por su parte, Zuse demostró con su máquina que efectivamente todo dispositivo de cálculo gobernado por un programa se puede construir, al menos en principio, mediante combinaciones de conmutadores biestables. No obstante, el ENIAC estadounidense, construido en 1945 en base a válvulas electrónicas, utilizaba todavía el sistema decimal (diez conmutadores biestables para las cifras 0 a 9).

Fue la aparición del transistor en 1848 lo que facilitó la adopción progresiva del sistema digital, y con ellos nacieron las familias de puertas lógicas llamadas RTL (del inglés Resistance-Transistor Logic o lógica resistencia-transistor) y DTL (Diode-Transistor Logic o lógica diodo-transistor). El primer ordenador transistorizado se puso en funcionamiento el 19 de marzo de 1955 en los laboratorios Bell. La familia de puertas TTL (Transistor-Transistor Logic) hizo su aparición en 1966.

El sistema binario

El funcionamiento de los circuitos lógicos utiliza el sistema binario de numeración, cuyos elementos básicos (0 y 1) en informática reciben el nombre de bits, acrónimo inglés de la expresión binary digit o dígito binario. Cada uno de los caracteres alfanuméricos, como por ejemplo “A”, “s”, “4″ o “@”, “” se representa según un código como una combinación de bits que recibe el nombre de palabra o byte. De entre los múltiples sistemas de códigos que existen (ANSI, EBCDIC, BCD, Baudot, Hollerith y muchos otros) merece destacar, por lo extendido que se halla, el llamado código ASCII (acrónimo de Américan Standard Code for Information Interchange), cuyos bytes están formados por ocho bits (siete bits significativos mas uno de paridad).

Margen de tensiones

En los circuitos lógicos los estados 0 y 1 se corresponden con dos niveles de tensión o voltaje eléctrico. En lógica positiva el nivel alto de tensión representa al 1 y el nivel bajo al 0, y en lógica negativa es al contrario. El diseñador puede elegir entre lógica positiva o negativa, aunque en la presente exposición se utilizara solamente la lógica positiva.

El margen de tensiones que separa ambos estados puede reducirse debido al ruido eléctrico de los motores, y posibles cortocircuitos o arcos en los contactos de los relés pueden efectuar la conversión de un estado en otro, lo que produciría un mal funcionamiento del dispositivo. Estos efectos se pueden reducir mediante el blindaje de cada componente, su desacoplo, la adecuada puesta a tierra y sobre todo con un buen diseño del circuito.

Álgebra de Boole

El álgebra de Boole son unas reglas matemáticas sencillas que permiten representar el comportamiento de un circuito lógico. También permite diseñar los circuitos según los resultados que se desean, obtener las diversas formas equivalentes y escoger de entre ellas la que más interese, que suele ser la más sencilla. Véase Lógica matemática.

Este álgebra expresa de forma matemática las relaciones que se establecen entre proposiciones que pueden ser solamente verdaderas o solamente falsas, lo que se llama valor de verdad de la proposición. Es posible entonces deducir matemáticamente el valor de verdad de nuevas proposiciones a partir de los valores de verdad de las proposiciones de partida por medio de operaciones lógicas. Se designa con 1 el valor de verdad de una proposición verdadera y con 0 cuando la proposición es falsa. Una proposición genérica se denomina con una letra mayúscula del alfabeto.

Entre las operaciones lógicas que se pueden hacer con estas proposiciones, la primera que merece nombrarse es la negación:
_
no P = P.

Las otras dos operaciones reciben el nombre de leyes de composición interna, y son la adición (+) y el producto (•). Estas tres operaciones fundamentales cumplen los siguientes teoremas fundamentales.

Véase Álgebra de Boole.

Puertas o funciones elementales y tablas de verdad

Las puertas lógicas realizan operaciones que se conocen como conectivos entre proposiciones. Son tres fundamentales: NO (complementación o negación), O (disyunción) e Y (conjunción). Todas las demás puertas lógicas pueden obtenerse a partir de éstas. Se conoce con el nombre de Mapa de Karnaugh o Tabla de verdad del conectivo a la tabla que se forma con el valor de verdad de cada combinación de valores de verdad de las proposiciones de entrada. En otras palabras, la tabla de verdad de una puerta lógica expresa las salidas que corresponden a cada una de las entradas posibles.

Puerta NO o NOT

La puerta NO se corresponde con la complementación booleana. En terminología anglosajona se denomina puerta NOT o inversor. La figura muestra el símbolo de esta puerta y su tabla de verdad.

La puerta NO tiene una única entrada (A) y una única salida (Y). El estado de la salida Y es opuesto al de la entrada A. A esta operación se la llama inversión o negación y la puerta NO es un inversor digital.

A S
0 1
1 0

Puerta Y o AND

Se corresponde con el producto booleano. En terminología anglosajona se denomina puerta AND. Esta puerta tiene varias entradas y una sola salida. La salida Y es uno cuando todas las entradas son unos. Cuando alguna o todas las entradas son cero la salida Y es cero. En la figura aparecen símbolo y tabla de verdad de una puerta Y de tres entradas.

A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Puerta O, u OR

Se corresponde con la adición booleana. En terminología anglosajona se denomina OR. Esta puerta tiene varias entradas y una salida. La salida Y es cero solamente cuando todas las entradas son cero, y en el resto de los casos las salida es siempre uno. La figura muestra los símbolos y la tabla de verdad de una puerta O de dos y tres entradas.

A B C Y
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

Puertas lógicas derivadas

Son aquellas que se forman a partir de las elementales. Destacan las siguientes:

Puerta YN o NAND

En terminología anglosajona se denomina puerta NAND (“not and”). Se obtiene conectando una puerta NO a la salida de una puerta Y. Se tiene la salida de una puerta Y invertida. La figura se corresponde con la tabla de verdad de una puerta YN de dos entradas y con la simbología de la misma.

A B Y
0 0 1
1 0 1
0 1 1
1 1 0

Puerta ON o NOR

Es una puerta O cuya salida se invierte. Esta inversión se consigue conectando a la salida de la puerta O una puerta NO o inversor. Esta puerta en terminología anglosajona se conoce por el nombre de puerta NOR. La figura muestra sus símbolos y la tabla de verdad de una puerta NOR de dos entradas.

A B Y
0 0 1
0 1 0
1 0 0
1 1 0

Puerta O exclusiva

Esta puerta tiene dos entradas y su salida será un 1 lógico si y sólo si las entradas son desiguales. La figura muestra su símbolo y su tabla de verdad.

A B Y
0 0 0
0 1 1
1 0 1
1 1 0

Esta puerta se define mediante la expresión booleana:
_ _ _ _
Y = A  B = A • B + A • B = (A+B) • (A + B)

Función de equivalencia

Es la inversa de la función O exclusiva. Se corresponde con la expresión lógica:

Y = A • B + A’ • B’

La salida es uno cuando las entrada son iguales. A veces se la llama NO exclusiva. En la figura está representado su símbolo y su tabla de verdad.

A B Y
0 0 1
0 1 0
1 0 0
1 1 1

Representación de funciones

Un circuito lógico se puede representar mediante su formulación algebraica o mediante su tabla de verdad. En el primer caso, como combinación de sus variables relacionadas entre sí por las tres operaciones lógicas (suma, producto y complementación). Para un mismo circuito lógico se pueden encontrar diversas formulaciones algebraicas. En el segundo se indica el valor de la salida para cualquier combinación de las entradas. Se puede obtener a partir de una tabla de verdad una formulación algebraica y viceversa.

Formas canónicas de una función

De las diversas representaciones matemáticas que se pueden utilizar para representar una función existen dos especialmente interesantes y son las denominadas funciones canónicas.

Primera forma canónica.

Una función queda representada por su primera forma canónica cuando se representa por suma de productos en los cuales aparecen todas las variables de las que depende la función.

Dadas las siguientes representaciones de funciones:
_
1. f(A,B) = A • B + A • B
_ _ _
2. f(A,B,C) = A • B • C + A • B • C + A • B • C
_ _
3. f(A,B,C) = A • B + A • B • C + A • B • C

Las dos primeras expresiones se corresponden con la primera forma canónica, mientras que la tercera no, puesto que existe un producto en el cual no aparecen todas las variables de las que depende la función.

Cada uno de los productos de la primera forma canónica recibe el nombre técnico de minterms. Para una función dada de n variables existen 2n minterms, cada uno de los cuales lleva asociado un número. Este número se obtiene de sustituir por 1 las variables que aparecen en forma positiva y por 0 las que aparecen en forma negativa y hallar el valor decimal de la expresión binaria.

Por ejemplo, en una función de 3 variables A, B, y C,
_ _ _
m0 se corresponde con A • B • C (0 0 0)
_ _
m8 se corresponde con A • B • C (1 0 0)

m13 se corresponde con A • B • C (1 1 1)

Segunda forma canónica

Una función queda representada por su segunda forma canónica cuando se representa por un producto de sumas que contienen todas las variables que representan la función.

Dadas las siguientes representaciones de funciones:
_
1. f(A,B) = (A+B) • (A+B)
_ _ _
2. f(A,B,C) = (A+B+C) • (A+B+C) • (A+B+C)
_ _
3. f(A,B,C) = (A+B) • (A+B+C) • (A+B+C)

Las dos primeras expresiones se corresponden con la segunda forma canónica, pero no la tercera, porque existe una suma en la cual no aparecen todas las variables de las que depende la función.

Cada una de las sumas de la segunda forma canónica recibe el nombre de maxterms. Para una función dada de n variables existen 2n maxterms, cada uno de los cuales lleva asociado un número. Este número se obtiene de sustituir por 1 las variables que aparecen en forma positiva y por 0 las que aparecen en forma negativa y hallar el valor decimal de la expresión binaria que resulta.

por ejemplo, en una función de 3 variables A, B, y C,
_ _ _
M0 se corresponde con A + B + C (0 0 0)
_ _
M8 se corresponde con A + B + C (1 0 0)

M13 se corresponde con A + B + C (1 1 1)

Dada la tabla de verdad de una función se pueden obtener a partir de ellas ambas formas canónicas. La primera forma se corresponde con la suma de todos los términos cuyo resultado en la tabla de verdad es 1. La segunda forma canónica se obtiene del producto de los términos cuyo resultado en la tabla es 0. Al escribir la segunda forma canónica aparecerán en forma directa las variables que en la tabla de verdad son 0, mientras que las que son 1 aparecen en forma negada.

Por ejemplo, dada la tabla de verdad siguiente, a partir de ella se va a obtener la primera y la segunda forma canónicas.

A B C Y
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 0

La primera forma canónica será:
_ _ _ _ _ _
Y(A,B,C) = A • B • C + A • B • C + A • B • C + A • B • C =

= m2 + m3 + m4 + m6

La segunda forma canónica se corresponderá con:
_ _ _ _ _ _
Y(A,B,C) = (A + B + C) • (A + B + C) • (A + B + C) • (A + B + C) =

= M7 • M6 • M2 • M0

Simplificación de funciones.

Una vez conocida la formulación algebraica de una función se debe encontrar la forma más sencilla, pues la formulación matemática se simplifica y el número de componentes electrónicos y su sencillez puede reducir sensiblemente el coste de fabricación del circuito.

Procedimientos de simplificación algebraica.

Dada una tabla de verdad se puede obtener a partir de ella la expresión algebraica de la función en una de las formas canónicas. Esta representación se puede simplificar por aplicación de los teoremas del álgebra de Boole.

Sea la tabla de verdad siguiente:

A B C Y
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1

Se puede escribir la función en cualquiera de las dos formas canónicas, pero dado que existe un número menor de salidas que son 1 es más sencillo utilizar la primera. Para ello se escribe la ecuación de la función como suma de los términos cuyas combinaciones en la tabla de verdad tengan asignado el valor 1. Cada termino será un producto de todas las variables de que depende la función, escritas en su forma natural o complementaria según aparezcan en la tabla como un 1 o como un 0.
_ _ _ _ _
Y(A,B,C) = A • B • C + A • B • C + A • B • C

Ahora en base a las propiedades algebraicas se transforma progresivamente la ecuación.
_ _ _ _ _
Y(A,B,C) = B • C • (A + A) + A • B • C = B •C + A • B • C

Este procedimiento algebraico es válido siempre, pero puede resultar largo en muchos casos, y sobre todo no es sistemático, ya que deja los pasos al arbitrio de quien realiza la reducción. Por ello se ha ideado un procedimiento gráfico, llamado del mapa de Karnaugh, que se puede utilizar para funciones de hasta 6 variables.

Método del mapa de Karnaugh.

Es un procedimiento gráfico para la simplificación de funciones algebraicas de un número de variables relativamente pequeño, que en la práctica se puede utilizar para funciones de hasta 6 variables.

Un diagrama o mapa de Karnaugh es una tabla de verdad dispuesta de manera adecuada para determinar por inspección la expresión mínima de suma de productos de una función lógica. Para construir la tabla se deben dividir las n variables de las que depende la función en dos grupos, n1 y n2. Si el número de variable es par n1 =n2 = n. En el caso que n sea impar se tiene que n1 =(n+1)/2 y n2 = n1 – 1.

La tabla se construye situando como entradas verticales las 2n1 combinaciones posibles de las n1 variables. Cada columna se encabeza por la combinación binaria correspondiente de forma que de una columna a la contigua cambie sólo una variable de valor. Como entradas horizontales se disponen las 2n2 combinaciones posibles de las n2 variables restantes, de forma que las combinaciones binarias correspondientes a dos filas contiguas cambie de valor únicamente una variable.

Para rellenar la tabla se pone un 1 en las combinaciones que estén presentes, dejando en blanco las demás.

El método consiste en ir eliminando variables basándose en el hecho de que en dos cuadrículas continuas cambia solamente una variable de valor. Después de representar la función en la tabla de Karnaugh deben establecerse asociaciones de 2p términos, y de esta forma se eliminan p variables, procurando que cada asociación contenga el mayor número de unos y además que su número total sea mínimo. Por último, se selecciona un conjunto de asociaciones que engloben todos los unos de la tabla. La suma o producto de las expresiones algebraicas correspondientes a dichas asociaciones constituyen la nueva expresión de la función.

Por ejemplo, se tiene la tabla de verdad para una función de cuatro variables representada a continuación y se quiere obtener la función más sencilla por el método que se acaba de explicar.

A B C D Y
0 0 0 0 1
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 1
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1

En el mapa de Karnaugh aparecerán como entradas verticales las combinaciones de las variables A y B, mientras que las entradas horizontales serán las combinaciones de las variables C y D.

De estas combinaciones se obtiene la siguiente función lógica simplificada:
_ _ _ _
Y(A,B,C,D) = A • B • C + B • D + A • D + C • D

Las combinaciones representadas en la tabla anterior no son únicas, se encuentra otro juego de combinaciones que darán lugar a otra ecuación.

De esta nueva combinación se obtiene la siguiente expresión:
_ _ _ _
Y(A,B,C,D) = A • B + B • C + C • D + A • D

Esta ecuación y la obtenida anteriormente son equivalentes y el lector puede elegir la que quiera.

Método de Quine-McCluskey

Cuando el número de variables de las que depende la función booleana que se pretende simplificar es muy elevado, superior a 6, aunque con 5 y 6 variables ya es muy engorroso operar, el método de la tabla de Karnaugh pierde sus ventajas. Se complica la localización de términos adyacentes en sentido algebraico. Para funciones de mayor número de variables existe otro método numérico, el de Quine-McCluskey, más lento que el anterior pero más sistemático y seguro. Es muy apropiado para el tratamiento por ordenador, muy recomendable cuando se trata de un número muy elevado de variables.

Consiste en representar la función en una tabla que tiene por filas los grados k que se corresponden con aquellos términos canónicos que tengan un número k de valor 1. Se deben representar en orden estricto. Las columnas corresponden a los órdenes l que son términos canónicos obtenidos por reducción de dos términos canónicos; por ejemplo el orden 2 corresponde a la reducción entre sí de dos bloques de orden 1.

Una vez obtenida esta tabla se dibuja otra que contenga en una columna los bloques de orden más elevado que se han obtenido y en otra todos los términos canónicos de la función. Se marca con una x los términos canónicos contenidos en ese orden. Para el resto de términos canónicos que queden fuera se debe recurrir a órdenes menores.

Por ejemplo, sea la función:
_ _ _ _ _ _
Y(A,B,C,D) = A • B • C • D + A • B • C • D + A • B • C • D + A • B • C • D + A •B •C •D =

= m9 + m12 + m13 + m14 + m15

grado orden 0 orden 1 orden 2
1 0 0 1 9 1 _ 0 1 9-13 1 1 _ _ 12-13-14-15
2 1 1 0 0 12 1 1 _ 0 12-14

1 1 0 1 13 1 1 _ 1 13-15
3 1 1 1 0 14 1 1 1 _ 14-15

4 1 1 1 1 15

A B C D m9 m12 m13 m14 m15 1 1 _ _ x x x x
1 _ 0 _ x x

La función que se obtiene es

Y(A,B,C,D) = A.B + A.C’.D

Construcción de puertas lógicas

Las puertas lógicas pueden construirse utilizando distintos elementos, como relés, semiconductores o cualquier otro dispositivo o mecanismo en el cual se den dos estados (conectado o desconectado, cerrado o abierto). La utilización de unos u otros elementos determina el tipo de tecnología de la puerta.

Véase: Circuitos lógicos con transistores.

Bibliografía

F. ALDANA, R. ESPARZA, P. M. MARTÍNEZ, Electrónica industrial: técnicas digitales, Boixareu Editores.
CHARLES A. HOLT, Circuitos electrónicos digitales y analógicos, Editorial Reverte.
JACOB MILLMAN, Microelectrónica, circuitos analógicos y digitales, Ed. Hispano Europea, S.A.

Circuitos lógicos

Fuente: Britannica

So, what do you think ?