Beruflich Dokumente
Kultur Dokumente
Cada señal digital puede tener solo dos valores posibles, representados por 0 y 1 (no paso
de corriente/paso de corriente). Por tanto, si un circuito dispone de un número n de señales
digitales es posible codificar 2 n informaciones diferentes.
LÓGICA COMBINACIONAL
Los componentes básicos de los circuitos digitales se combinan para implementar las
funciones descritas mediante operadores lógicos.
OPERADORES LÓGICOS
En el álgebra de Boole se definen las operaciones lógicas básicas OR (O lógico), AND (Y
lógico) y NOT (negación). También se consideran básicos por su frecuente uso, aunque
sean combinación de los anteriores, las operaciones NAND (negación del Y lógico), NOR
(negación del O lógico), XOR (O exclusivo) y XNOR (negación del O exclusivo).
Los valores posibles de estas funciones lógicas se representan mediante las denominadas
tablas de verdad, en las que queda determinado el valor de la función de salida dadas todas
las posibles relaciones entre sus n entradas binarias (falso/verdadero).
PUERTAS LÓGICAS
Identificando falso con el valor 0 y verdadero con 1 se construyen los circuitos digitales
correspondientes a los operadores lógicos básicos. Estos circuitos simples se conocen como
puertas lógicas. Todas las puertas lógicas son circuitos digitales de varias entradas y una
salida, excepto la puerta lógica NOT que tiene una única entrada y una salida. Las
combinaciones de puertas lógicas forman otros circuitos más complejos.
CLASIFICACIÓN
Según las variables de las que depende la función que define el circuito existen dos tipos de
circuitos digitales: los circuitos combinacionales y los secuenciales.
Los circuitos digitales combinacionales son aquellos en los que la salida en un instante
determinado depende únicamente de la entrada en ese mismo instante (despreciando el
tiempo que requiere el proceso de los datos de entrada). Un sistema de alarma que se
activase al detectar un movimiento sería una muestra de un circuito digital combinacional,
ya que la respuesta de la alarma dependería únicamente de la entrada en cada instante.
Los circuitos digitales secuenciales son aquellos en los que la salida en un instante
determinado depende de la entrada en ese instante y de todas las entradas que se han
producido desde la activación del circuito. Son, por tanto, circuitos con memoria. Un
dispositivo que contase las personas que entran en un establecimiento comercial a lo largo
del día sería un ejemplo de ello. La salida del dispositivo sería un valor que no dependería
solo de si pasa o no una persona, sino también del total de personas que han pasado desde
la apertura del establecimiento.
Los circuitos combinacionales se implementan bien a partir de las puertas lógicas o como
circuitos integrados diseñados previamente para realizar una tarea concreta de frecuente
utilización.
La función lógica que se obtiene a partir de una tabla de verdad no es única y, por tanto,
tampoco es único el circuito que puede implementarse a partir de ella. Es decir, diferentes
circuitos digitales pueden responder a una misma función lógica. Ahora bien, por lo
general, parte importante del diseño de un circuito consiste en ahorrar costes
implementando el circuito más simple que realice determinada tarea.
La forma canónica de una función lógica es una expresión en la que figuran todos los
términos que intervienen, sin simplificación alguna. De este modo, la obtención de la
función lógica del circuito desde la tabla de verdad puede realizarse a partir de la forma
canónica como suma de productos (minterm) o producto de sumas (maxterm), o en forma
reducida mediante los mapas de Karnaugh.
MINTERM
La ecuación del circuito con estructura de minterm representa la función del circuito como
suma de productos. Es decir, se seleccionan las combinaciones de las entradas que valen 1 a
la salida.
Cada una de estas combinaciones es el producto de las entradas que sean 1 y de la negación
de las entradas que sean 0. La función que representa el circuito es la suma de todas estas
combinaciones. Por ejemplo, dada la tabla de la verdad de un circuito con tres entradas y
una salida que se activa con las entradas 010, 110 y 111, la función lógica con estructura de
minterms es: ver fórmula.
MAXTERM
La estructura en forma de maxterm de un circuito digital representa el producto de las
sumas de todos los términos que intervienen. Es decir, se seleccionan las combinaciones de
las entradas que dan 0 a la salida.
Cada una de estas combinaciones es la suma de las entradas que sean 0 y de la negación de
las entradas que sean 1 y la función que representa el circuito es el producto de todas estas
combinaciones. Por ejemplo, la función lógica del circuito de tres entradas del ejemplo
anterior es: ver fórmula
Esta función lógica es equivalente a la que se ha obtenido como suma de productos, pero en
este caso es evidente que es más complicada. De manera que, si se realiza el circuito digital
con esta función, se necesitarán más puertas lógicas que si se hace con la anterior.
MÉTODO DE KARNAUGH
Aplicando las leyes del álgebra de Boole a las formas canónicas, es posible suprimir los
términos redundantes y, de este modo simplificar la expresión resultante.
El mapa de Karnaugh para dos, tres o cuatro variables es una tabla con una correspondencia
única con la tabla de la verdad. Este diagrama resulta de distribuir las variables, simples o
agrupadas, en filas y columnas y de situar en la intersección el valor de salida
correspondiente.
La disposición de las variables en los mapas de Karnaugh se hace de manera que las celdas
contiguas se caracterizan por diferenciarse en una única variable que se encuentra afirmada
en una celda y negada en la siguiente. Esta característica permite simplificar la función
mediante la aplicación directa de la siguiente ley de álgebra de Boole:
ver fórmula
Una vez dibujado el mapa, se trabaja con minterms; agrupando los 1 de las celdas contiguas
en conjuntos de potencias de dos (grupos de uno, de dos, de cuatro...), de manera que no
quede ningún 1 sin agrupar. Los grupos deben ser lo más grandes que sea posible. Cada uno
de los grupos así formados constituye uno de los términos de la función y se expresa
únicamente como producto de las variables que no cambian (con el operador negación, si la
variable tiene el valor 0). De este modo, la función lógica que representa el circuito es la
suma de los productos resultantes de cada agrupación. Una vez obtenida la función lógica,
solo queda sustituir los operadores por las puertas lógicas correspondientes.
De forma general, en los mapas de Karnaugh pueden simplificarse las celdas contiguas
cuyas variables comunes cumplan estos requisitos:
- Grupos de 2 n en celdas que se hallen en un mismo eje de coordenadas, pero nunca en una
misma diagonal.
EJEMPLO DE DISEÑO
Los circuitos no responden a funciones lógicas arbitrarias, sino que resuelven situaciones
reales. Un ejemplo de circuito digital combinacional sería el de una alarma que se disparase
cuando detecta ruido, movimiento o luz en el interior del habitáculo donde está instalada.
Este tipo de circuito tendría dos señales de entrada, A y B, que definirán los posibles
estados (ruido, movimiento y/o luz), y una salida S. Con las dos señales de entrada podrían
representarse 22 situaciones y con la señal de salida, 21. Los dispositivos electrónicos
tendrían que enviar un 0 a la salida en el caso de que la entrada tuviese la combinación 00,
y un 1 (activar la alarma) en los demás casos. Por tanto, la función lógica S = f( A,B) a la
que respondería el circuito sería:
S = A + B.
La implementación de esta función con puertas lógicas se reduce, por tanto, a una única
puerta OR. En el circuito, la salida S estaría conectada a un dispositivo de alarma que se
activaría al llegar corriente. La entrada A estaría conectada a un detector de ruido y de luz,
y la entrada B, por su parte, estaría conectada al detector de luz y a un detector de
movimiento.
CODIFICADOR Y DECODIFICADOR
Un codificador es un circuito con puertas lógicas combinadas de modo que, al activarse una
entrada, se activan las salidas dando una combinación de unos y ceros que corresponden al
código en binario del número decimal elegido a la entrada.
El diseño resulta un bloque que contiene 2m entradas y m salidas, además de una entrada
de validación. El número m de salidas indica el tamaño del codificador y sirve para
identificarlo; de este modo se habla de un codificador " 2 m - m".
Para definir el orden de las entradas y las salidas, las primeras se numeran de 0 a 2 m − 1 y
las segundas de 0 a m − 1. Así, la entrada 0 es la de menos peso y la 2 m − 1 es la de mayor
peso, y lo mismo ocurre con las salidas: 0 la de menor peso y m − 1 la de mayor.
En los codificadores sin prioridad solo es posible activar una de las entradas para que la
salida sea única. Por el contrario, los codificadores con prioridad priorizan la entrada de
más peso sobre las demás en caso de producirse entradas simultáneas.
El decodificador realiza la función contraria a la del codificador. Con m entradas y 2 m
salidas, cuando se activa una combinación binaria de entradas, se activa la salida que
corresponde en decimal a dicha combinación; siempre con la entrada de validación
activada. Por ejemplo, si en los canales 3-2-1-0 de entrada se activa la combinación 0110
en código binario, en la salida solamente se activará el canal 5, correspondiente al número 6
expresado en código decimal.
MULTIPLEXOR Y DEMULTIPLEXOR
La función de un multiplexor es conectar una señal de entrada con una única señal de salida
mediante las denominadas entradas de selección, siempre que la entrada de validación esté
activada.
La denominación del multiplexor viene dada por el número de canales o entradas de datos 2
m y el de canales o entradas de selección m; así, un multiplexor 4-2 es el que tiene 4
canales de datos y 2 canales de selección. Asimismo, tanto las entradas de datos como las
de selección se numeran de 0 (las de menor peso) a 2 m − 1 (mayor peso), en el caso de
entrada de datos, y m – 1 en las de selección. La entrada de validación es prioritaria y,
cuando está activada, a la salida del multiplexor aparece la información de la entrada
seleccionada.
SUMADOR Y RESTADOR
Los sumadores binarios son circuitos aritméticos combinacionales que realizan la suma de
los dos números binarios que reciben en las entradas y dan el resultado en la salida.
El circuito tiene una entrada adicional de transporte, que suministra el acarreo producido en
una suma anterior y que genera, igualmente, un bit de suma y un transporte para
suministrarlo a una suma posterior. Los sumadores pueden combinarse para realizar
multiplicaciones binarias.
Los restadores binarios son circuitos sumadores de n bits, en el que el segundo operador se
convierte en número negativo.
COMPARADOR
Los circuitos comparadores binarios son sistemas combinacionales que, partiendo de dos
combinaciones binarias de n bits, detectan si los valores de estas son iguales y, en el caso
de que no sea así, indica cuál de ellos es mayor.
DETECTOR DE PARIDAD
Un detector es un sistema combinacional que permite determinar la paridad de una
combinación binaria. Realiza la función O, exclusiva de un número n de variables.
Una memoria ROM con capacidad para almacenar 2 m palabras tiene una entrada de
direcciones de m bits. En función del valor de la entrada se obtiene en la salida el contenido
de la dirección del citado valor. Cuando el valor de la entrada cambia, el contenido de la
salida pasa a ser el de la nueva dirección de memoria.
Para determinar si la dirección de memoria definida por el bus (las entradas) de direcciones
debe recibir datos del bus de datos o si, por el contrario, debe enviar los datos a las salidas,
existe el bit de control de lectura o escritura.
Los circuitos secuenciales, a diferencia de los combinacionales, son circuitos en los que la
salida no depende únicamente de las entradas, sino también de la información contenida en
el circuito en ese instante de tiempo. Es decir, la salida depende de las entradas así como de
la historia del circuito, lo que significa que estos circuitos tienen memoria.
Del ejemplo anterior se deduce que el circuito secuencial se basa en el uso de unos ciertos
componentes lógicos, que por sí solos formarían un circuito combinacional, y de un nuevo
componente que guarda la información. Este componente se denomina memoria, y es lo
que permite almacenar la información necesaria para que se lleve a cabo el funcionamiento
característico de este circuito. Por tanto, el uso de una memoria es lo que diferencia un
circuito combinacional de un circuito secuencial.
ALMACENAMIENTO DE INFORMACIÓN
La capacidad básica de los circuitos secuenciales es, por tanto, la memorización
momentánea de información. Esta función básica se implementa mediante circuitos que se
realimentan, es decir, circuitos que conectan su salida con la entrada. Por ejemplo, un
circuito formado por dos puertas NOT conectadas en serie y con sus entradas unidas a sus
salidas. Este circuito tiene permanentemente valores opuestos en sus extremos, por tanto, es
capaz de guardar un bit de información. Al combinar varios circuitos de este tipo se
consigue almacenar un conjunto de bits. Si los terminales de entrada se ponen a 1
conectándolos, por ejemplo, a una fuente de alimentación, el estado se conoce con el
nombre de SET. En caso contrario, si adoptan el valor 0, el estado se denomina CLEAR.
BIESTABLES
El circuito básico para almacenar información, es decir, para el diseño de la memoria del
circuito secuencial, es el llamado biestable o báscula, con capacidad para almacenar hasta
un bit de información.
REGISTROS DE ALMACENAMIENTO
Un registro de almacenamiento es un circuito formado por un conjunto de biestables
síncronos, que guarda tantos bits de información como biestables contenga. Todas las
básculas se activan a la vez, ya que la entrada de reloj del registro está conectada a la
entrada de reloj de todos estos dispositivos.
El registro almacena el dato de las entradas, que estarán formadas por n bits. Cuando se
activa el borrado (CLEAR) del registro, todas las salidas pasan a tener el valor 0. Cuando la
entrada de CLEAR no está activada y se produce un disparo de reloj, si la entrada LOAD
está a 1, a la salida se obtiene el valor del registro almacenado.
CONTADOR
Los contadores, además de almacenar un dato, lo incrementan o reducen en una unidad por
cada ciclo de reloj.
ESTADO DE UN CIRCUITO
El estado de un circuito es la situación en que se encuentra el circuito en cada instante de
tiempo determinado por el ciclo de reloj.
Cada vez que el circuito recibe una señal, cambia de estado. Podría considerarse que cada
cambio se convierte en un estado pero, en realidad, solo conviene diferenciar ciertos
estados, los que suponen información relevante para el circuito. Si el circuito almacenase
todo su historial, esta información podría resultar superflua e incluso innecesaria. En un
circuito contador, por ejemplo, solo es necesario almacenar el total contado hasta el
momento, es decir, solo es imprescindible memorizar un dato, y los estados anteriores
carecen de importancia y, por tanto, no es necesario almacenarlos.
Un diagrama de estados es una forma gráfica de representar los estados significativos y los
cambios que se suceden en la secuencia del circuito. Los saltos entre estados están causados
por la entrada de reloj y se simbolizan como una flecha que se inicia en el estado actual y
finaliza en el estado futuro.
Los circuitos cuyas salidas son solo funciones del estado se conocen como circuitos de
Moore, y su diseño se realiza aplicando el método que lleva el mismo nombre.
Un circuito que estuviera diseñado según el modelo de Moore contendría los bloques
siguientes:
- Una memoria.
Los circuitos cuya salida depende del estado y de las entradas en el instante de reloj se
llaman circuitos de Mealy. En los circuitos de Mealy los estados no definen la salida del
sistema, sino que esta depende del estado y de la entrada.