El sistema decimal es universalmente empleado para representar cantidades en el mundo real. Los sistemas
electrnicos digitales tienen que recoger la informacin y convertirla en dgitos binarios para procesarla internamente.
As mismo, cuando la informacin es procesada, es necesario convertir esta informacin, por lo general a decimal
antes de llevarla al mundo exterior. En realidad, no se manejan solamente estos dos sistemas, en la prctica se hace
necesario utilizar cdigos que facilitan el manejo de otras caractersticas. En el captulo, se describir el cdigo
decimal, el cdigo binario , el hexadecimal, el octal, las operaciones entre estos sistemas, las distintas conversiones
entre los diferentes sistemas y algunas representaciones de nmeros binarios.
El sistema binario es el ms utilizado en los circuitos electrnicos digitales. Existen otros dos sistemas, en las
aplicaciones digitales; El hexadecimal y el octal. Su ventaja radica en la facilidad que ofrecen para representar de
forma reducida los nmeros binarios.
Sistema Decimal
El sistema decimal es un sistema en base 10. En una cantidad decimal cada dgito tiene un peso asociado a una
potencia de 10 segn la posicin que ocupe. Los pesos para los nmeros enteros son potencias positivas de diez,
aumentado de derecha a izquierda, comenzando por 100=1.
Peso:....106105104103102101100
Los pesos para los nmeros fraccionarios son potencias negativas de diez, aumentando de izquierda a derecha,
comenzando por 10-1.
Peso:....106105104103102101100, 10-110-210-310-4
La expresin general para descomponer el valor de una magnitud expresada en cualquier sistema numrico para
obtener su valor decimal:
donde,
di = Dgito en la posicin i.
La base r del sistema numrico es el nmero total de dgitos permitidos para el sistema.
Ejemplo
Sistema Binario
El sistema binario es un sistema en base dos. Es el sistema utilizado por los computadores digitales y tiene slo dos
valores lgicos posibles - "0 y 1" - para sus coeficientes, los cuales se pueden representar fsicamente de distintas
maneras, como las siguientes:
En un nmero entero binario el bit a la derecha es el bit menos significativo (LSB, Least Significant Bit) y tiene un
peso de 20=1. El bit del extremo izquierdo el bit ms significativo (MSB, Most Significant Bit) y tiene un peso
dependiente del tamao del numero binario. Los pesos crecen de derecha a izquierda en potencias de 2. En nmeros
fraccionarios el bit a la izquierda de la coma es el MSB y su peso es de 2-1= 0,5. Los pesos decrecen de izquierda a
derecha en potencias negativas de 2.
Peso:2n-1....2423222120, 2-12-22-3......2-n.
En el cual n es el nmero de bits a partir de la coma binaria. La tabla 1.1.1. muestra la equivalencia de los nmeros
decimales del 0 al 15 a su correspondiente binario.
Nmero Decimal Nmero Binario
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
Ejemplo
La interactividad 1.1.1 muestra el equivalente entre los nmeros decimales del 0 al 9 y el nmero binario
correspondiente.
El sistema hexadecimal es un sistema en base 16 y consta de 16 dgitos diferentes que son: del 0 al 9 y luego de la
letra A a la F, es decir 10 dgitos numricos y seis caracteres alfabticos.
El sistema hexadecimal se usa como forma simplificada de representacin de nmeros binarios y debido a que 16 es
una potencia de 2(24=16), resulta muy sencilla la conversin de los nmeros del sistema binario al hexadecimal y
viceversa.
La tabla 1.1.2. muestra los nmeros decimales de 0 al 15 con su equivalencia en binario y hexadecimal.
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
Para convertir un nmero hexadecimal en un nmero binario se reemplaza cada smbolo hexadecimal por un grupo de
cuatro bits.
Ejemplo
El sistema octal es un sistema en base 8 y est formado por 8 dgitos. En un nmero octal, los pesos crecen de
derecha a izquierda en potencias de 8.
Peso: 8483828180
La tabla 1.1.3. muestra los nmeros decimales de 0 al 17 con su equivalencia a binario y octal.
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 10
9 1001 11
10 1010 12
11 1011 13
12 1100 14
13 1101 15
14 1110 16
15 1111 17
16 10000 20
17 10001 21
La conversin de un nmero octal en decimal se obtiene multiplicando cada dgito por su peso y sumando los
productos.
Ejemplo
1725= 1x83 + 7x82 + 2x81 + 5x80 = 512+448+16+5= 981
El cdigo decimal binario (BCD Binary Code Decimal) es utilizado para expresar los diferentes dgitos decimales con un
cdigo binario. Por consiguiente, el cdigo BCDtiene diez grupos de cdigo y resulta prctico para convertir entre
decimal y BCD.
El cdigo 8421
El cdigo 8421 pertenece al grupo de cdigos BCD. El nombre 8421 indica los diferentes pesos de los cuatro bits
binarios (23, 22, 21, 20).
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Con un nmero de 4 bits se pueden representar 24 combinaciones posibles, pero al emplear el cdigo 8421 se
incluyen solamente 10 grupos de cdigo binario, en consecuencia las
combinaciones 1010, 1011, 1100, 1101, 1110, 1111 no se utilizan.
Ejemplo
Las conversiones entre nmeros de bases diferentes se efectan por medio de operaciones aritmticas simples.
Dentro de las conversiones ms utilizadas se encuentran:
Para la conversin de decimal a binario se emplean dos mtodos. El primero es divisiones sucesivas y el segundo es
suma de potencias de 2.
Ejemplo
Este mtodo consiste en determinar el conjunto de pesos binarios cuya suma equivalga al nmero decimal.
Ejemplo
15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1
15310= 100110012
Como se aprecia, si se cuenta con alguna familiaridad con las potencias de 2 este ltimo mtodo es ms rpido.
Emplea la misma metodologa de la suma de potencias de 2 pero se trabaja con potencias negativas.
Ejemplo
La conversin de nmeros decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El nmero
decimal se multiplica por 2, de ste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea
para la siguiente multiplicacin y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un
error moderado. El ltimo residuo o parte entera va a constituir el LSB.
Ejemplo
En la conversin de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un
cociente de cero. Los residuos forman el nmero hexadecimal equivalente, siendo el ltimo residuo el dgito ms
significativo y el primero el menos significativo.
Ejemplo
En la conversin de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera
del cociente igual a cero. Los residuos forman el nmero octal equivalente, siendo el ltimo residuo el dgito ms
significativo y el primero el menos significativo.
Ejemplo
Un nmero binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor
sea 1 (ver leccin 1).
Ejemplo
El mtodo consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las
fracciones, hasta cubrir la totalidad del nmero binario. Enseguida se convierte cada grupo de nmero binario de 4
bits a su equivalente hexadecimal.
Ejemplo
El mtodo consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones,
hasta cubrir la totalidad del nmero binario. Enseguida se convierte cada grupo de nmero binario de 3 bits a su
equivalente octal.
Ejemplo
Ejemplo
La conversin de hexadecimal a binario se facilita porque cada dgito hexadecimal se convierte directamente en 4
dgitos binarios equivalentes.
Ejemplo
1F0C16 = 11111000011002
La conversin de un nmero octal a decimal se obtiene multiplicando cada dgito por su peso y sumando los
productos:
Ejemplo
La conversin de octal a binario se facilita porque cada dgito octal se convierte directamente en 3 dgitos binarios
equivalentes.
Ejemplo
7158 = (111001101)2
Los computadores deben interpretar nmeros positivos y negativos. Los nmeros binarios se caracterizan por su
magnitud y su signo. El signo indica si el nmero es positivo o negativo y la magnitud el valor del nmero.
Existen tres formas de representar los nmeros binarios enteros con signo:
a. Signo magnitud.
b. Complemento a 1.
c. Complemento a 2.
a. Signo Magnitud
En el sistema Signo magnitud los nmeros positivos y negativos tienen la misma notacin para los bits de magnitud
pero se diferencian en el bit del signo. El bit del signo es el bit situado ms a la izquierda en el nmero binario:
Ejemplo
El nmero decimal 21 se expresa en binario de 6 bits 010101, donde el primer bit "0" denota el bit de una magnitud
positiva. El nmero decimal 21 se expresa en binario 110101, donde el primer bit "1" denota el bit de una magnitud
negativa.
b. Complemento a 1
El complemento a 1 en binario se obtiene cambiando los unos por ceros y los ceros por unos. La representacin de
nmeros positivos en complemento a 1 sigue las mismas reglas del sistema signo-magnitud y la representacin de los
nmeros negativos en complemento 1 es el complemento a 1 del nmero positivo.
Ejemplo
El nmero decimal 21 se expresa en complemento a 1 a 6 bits como 010101, donde el primer bit "0" denota el bit de
una magnitud positiva.
El complemento 1 a 6 bits del decimal 21, se obtiene por medio del complemento a 1 del nmero positivo 010101 el
cual es 101010.
Ejemplo
Un forma de obtener el complemento 1 de un nmero binario es utilizar un circuito digital compuesto por inversores
(compuertas NOT). En la figura siguiente las entradas se encuentran ubicadas en la parte superior y las salidas
negadas en la parte inferior.
c. Complemento a 2
Los computadores utilizan la representacin binaria en complemento a 2 para representar nmeros negativos. La
representacin de nmeros positivos en complemento a 2 sigue las mismas reglas del sistema signo-magnitud y la
representacin de los nmeros negativos en complemento a 2 se obtiene de la siguiente forma:
Ejemplo
0101
1010
Ejemplo
En la representacin en complemento 2 el primer bit del lado ms significativo puede interpretarse como el signo,
siendo cero para nmeros positivos y 1 para nmeros negativos. Se puede comprobar que si a una cantidad negativa
expresada en complemento 2 se le saca su complemento 2, se obtiene la magnitud positiva correspondiente.
Punto fijo
Se usa para los nmeros enteros con signo o fracciones con signo. En este caso las cantidades se representan en
forma binaria en complemento a 1 a 2 y se pueden utilizar longitudes de 8, 16 y 32 bits. En 8 bits el rango va desde
128 hasta 127. El nmero de combinaciones diferentes de un nmero binario de n bits es:
En los nmeros con signo e complemento a 2, el rango de valores para nmeros de n bits:
(2n-1) a +(2n-1-1).
Los enteros de punto fijo usan un punto binario a la derecha del LSB.
Ejemplo
El nmero de punto fijo de 8 bits 01110101 en complemento a 2, por tener un 0 en el bit de signo representa:
Las fracciones de punto fijo usan el punto binario entre el bit de signo y el MSB.
Ejemplo
El nmero de punto fijo de 8 bits 11001111 en complemento a 2, por tener un 1 en el bit de signo representa:
Punto flotante
El punto flotante se utiliza para representar nmeros no enteros, nmeros muy grandes o nmeros muy pequeos.
m x re
donde,
La mantisa representa la magnitud del nmero. El exponente es la parte que representa el nmero de lugares a
desplazar el punto decimal o binario.
Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fraccin
donde, sm indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y . an-1 a-m representa la
magnitud.
Un nmero de punto flotante est normalizado si el exponente se ajusta de modo que la mantisa tenga un valor
distinto de cero en la posicin ms significativa.
Ejemplo
(0.10100111) x 24
El estndar ANSI/IEEE 754-1985 define tres formatos para los nmeros de punto flotante:
Ejemplo
El exponente desplazado se obtiene adicionando 127 al exponente real y convirtindolo al binario correspondiente.
Suma Binaria
La suma de dos cantidades binarias empieza con la suma de los dos dgitos menos significativos de los sumandos y un
acarreo inicial de cero uno (Acarreo Cin). Esta operacin puede producir un bit de acarreo (Acarreo Cout) para la
suma de la siguiente posicin significativa. En la tabla 1.4.1. las entradas A, B y Cin denotan al primer sumando, el
segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de salida.
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
Ejemplo
1 1 1 Comprobacin en
1 Acarreo
1 decimal:
0 1 0
22
1 10
1 0 1
+ + 42
0 10
0 0 0
1 64 ( 26)
0 00
Resta Binaria
En la resta binaria, los bits del minuendo de las columnas se modifican cuando ocurre un prstamo. En la tabla 1.4.2.
las entradas A, B y Bin denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P representan a la
diferencia y el prstamo. La tabla muestra los resultados de una resta binaria de dos bits,
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
Para A=0, B=0 y Bin=1, hay que tomar prestado un 1 de la siguiente columna ms significativa, lo cual hace P=1 y
agregar "en decimal" 2 a A. La resta 2-0-1=1, da como resultado en binario D=1. Los prestamos se propagan hacia la
izquierda de columna en columna.
Ejemplo
Rebasamiento
El rebasamiento se presenta cuando la suma de la columna ms significativa genera un acarreo. El rebasamiento slo
se puede producir cuando ambos nmeros son positivos o negativos.
Ejemplo
1 Acarreo
86
5
41
+
2
20
1
7
Rebasamiento
Ejemplo
11 Acarreo
1 1
0
1 1
+
0
1 0
1
0
Rebasamiento
Ejemplo
Comprobacin en
11 1 Acarreo
decimal:
1 0 1 0
87
111
0 1 1 1
+ -72
000
0 0 0 1
1 15
111
Rebasamiento (Se ignora )
3. La respuesta es 00011112.
Multiplicacin Binaria
0 0 0
0 1 0
1 0 0
1 1 1
La multiplicacin binaria cumple las mismas reglas de la multiplicacin decimal. En el prximo ejemplo se ilustrar la
multiplicacin binaria.
Ejemplo
Los sistemas digitales combinatorios son aquellos cuyas salidas slo dependen de las entradas actuales. Los circuitos
de este tipo no pueden contener lazos de retroalimentacin. En anlisis de circuitos combinacionales, se empieza con
un diagrama lgico y se obtiene una descripcin formal de la funcin realizada por el circuito, ya sea una tabla de
verdad o una expresin lgica. En la sntesis, se comienza con una descripcin formal y se termina con un diagrama
lgico. El diseo es una estrategia para resolver un problema por medio de la sntesis.
LGEBRA DE BOOLE
El lgebra booleana es la teora matemtica que se aplica en la lgica combinatoria. Las variables booleanas son
smbolos utilizados para representar magnitudes lgicas y pueden tener slo dos valores posibles: 1 (valor alto)
0 (valor bajo).
Las operaciones boolenas son posibles a travs de los operadores binarios negacin, suma y multiplicacin, es decir
que estos combinan dos o ms variables para conformar funciones lgicas. Una compuerta es un circuito til para
realizar las operaciones anteriormente mencionadas.
Esta operacin se indica con una barra sobre la variable o por medio de un apstrofe en el lado superior derecho de la
variable, en este curso emplearemos esta ltima notacin. El apstrofe () es un operador algebraico que invierte el
valor de una variable, es decir, si X denota la seal de entrada de un inversor, entonces X representa el complemento
de tal seal.
Ejemplo
S X = 0 entonces X = 1.
0 1
B=A
1 0
Suma booleana
La representacin matemtica de una suma booleana de dos variables se hace por medio un signo ms entre las dos
variables.
Ejemplo
X=A+B
La suma booleana es 1 si alguna de las variables lgicas de la suma es 1 y es 0 cuando todas las variables son 0. Esta
operacin se asimila a la conexin paralela de contactos.
0 0 0
0 1 1
1 0 1
1 1 1
0 0 1
0 1 0
1 0 0
1 1 0
La suma booleana difiere de la suma binaria cuando se suman dos unos. En la suma booleana no existe acarreo.
Multiplicacin booleana
La representacin matemtica de una multiplicacin booleana de dos variables se hace por medio un signo punto ()
entre las dos variables.
X=AB
La multiplicacin booleana es 1 si todas las variables lgicas son 1, pero si alguna es 0, el resultado es 0. La
multiplicacin booleana se asimila a la conexin serie de contactos.
0 0 0
0 1 0
1 0 0
1 1 1
El inverso de la funcin AND es la funcin NAND. La tabla de verdad se muestra la tabla 2.1.5.
0 0 1
0 1 1
1 0 1
1 1 0
Las operaciones booleanas estn regidas por tres leyes similares a las del lgebra convencional. Estas incluyen las
leyes conmutativas de la suma y la multiplicacin y la ley distributiva.
X+Y=Y+X
En aplicacin a los circuitos digitales, podramos decir que no importa el orden de conexin de las entradas a
una compuerta OR.
En aplicacin a los circuitos digitales, podramos decir que no importa el orden de conexin de las entradas a una
compuerta AND.
A+(B+C)=(A+B)+C
A( B C) = ( AB ) C
A( B + C ) = AB + AC
Teoremas Booleanos
Los teoremas booleanos son enunciados siempre verdaderos, lo que permite la manipulacin de expresiones
algebraicas, facilitando el anlisis sntesis de los circuitos digitales. Los teoremas booleanos son los siguientes:
1. X + 0 = X
2. X + 1 = 1
3. X0 = 0
4. X1 = X
5. (X)=X
6. X + X = X
7. XX = X
8. X + X = 1
9. X.X= 0
10. X + XY = X
11. X +XY = X + Y
12. XY + XY = X (Teorema de combinacin)
13. (X +Y)(X + Y) = X + XY + XY = X
14. XY + XZ + YZ = XZ + YZ (Consenso)
XY + XY = X
XY + XY= X1
XY + XY= X
Esta expresin indica que la suma de dos productos cannicos adyacentes, es decir que difieren en una sola de las
variables, se reduce al producto de los dems trminos suprimindose dicha variable. El teorema 13 es otro caso del
teorema de combinacin. Los teoremas 12 y 13 se utilizarn en las lecciones siguientes de forma sistemtica para
sintetizar circuitos lgicos con los mtodos de mapas de karnaugh y el algortimo de Quine-McCluskey. (ver leccin 4).
Teoremas de DeMorgan
Los teoremas de DeMorgan demuestran la equivalencia entre las puertas NAND y negativa - OR, y las puertas NOR y
negativa AND.
(X + Y) = X Y
Ejemplo
1. El complemento del producto de variables es igual a la suma de los complementos de las variables.
(X Y) = X + Y
Ejemplo
Y = AB = [(A.B)] = (A+B)
Figura 2.1.12. Circuito lgico para la compuerta AND
El objetivo de la simplificacin de expresiones lgicas es reducir la expresin al menor nmero posible de trminos.
Las expresiones lgicas se pueden simplificar utilizando los teoremas anteriores.
Ejemplo
F = ABC + ABC
F = AB(C + C)
F = AB
Ejemplo
F= (A+B)(A+B)
F = AA + AB + AB + BB
F = AB + AB
Ejemplo
F = (A + C)+(B + D)
F= AC + BD
Ejemplo
F = WZ + YZ + WXYZ
F = WZ + YZ(1 + WX)
F = Z(W + Y)
La forma ms fcil de encontrar la expresin de un circuito lgico consiste en comenzar con las entradas situadas ms
a la izquierda e ir avanzando hasta la salida de cada compuerta lgica, obteniendo la expresin para cada una de
ellas. Al final del recorrido se debe tener la expresin para todo el circuito. La expresin resultante podemos
simplificarla para obtener una ms sencilla y as obtener un circuito ms reducido.
Ejemplo
1. La expresin de la compuerta NOR situada a la izquierda cuyas entradas son A y B es (A+B). Esta es la primera
entrada de la compuerta AND situada a la derecha.
2. La expresin de la compuerta AND cuyas entradas son (A+B) y C es (A+B)C.
3. La salida de la compuerta AND es la primera entrada de la compuerta OR del extremo derecho. Por lotanto, la
expresin de esta compuerta OR es [(A+B)C]+D.
SNTESIS DE DISEO DE CIRCUITOS COMBINATORIOS
Sntesis se entiende como la obtencin de circuitos lgicos, a partir de una descripcin inicial que utiliza el lenguaje
convencional y luego es transferida a una tabla de verdad.
Una tabla de verdad es una representacin bsica de una funcin lgica, en la cual se listan las salidas del circuito
lgico para las posibles combinaciones de entrada. Las combinaciones de entrada estn ordenadas por renglones
(lneas) y cada rengln contiene su salida respectiva. Por ejemplo, la tabla de verdad para una funcin lgica de 3
variables, tendr 8 lneas para 8 combinaciones de entrada, conteniendo cada lnea, su salida respectiva. En la tabla
2.2.1. se ilustra una funcin de 3 variables para el caso mencionado.
En general, la tabla de verdad para una funcin lgica de n variables tendr 2n lneas. En la interactividad 2.2.1. se
pueden introducir los datos de la funcin de salida y obtener el correspondiente mintrmino y mxtrmino.
Los mtodos para sintetizar circuitos lgicos requieren en primer lugar, la comprensin de algunos conceptos, entre
ellos:
Ejemplo: X, Y, X, Y.
Dominio de una expresin booleana: Es el conjunto de variables contenido en una expresin booleana.
El dominio es X, Y, Z, W.
Trmino normal: Un producto o trmino suma en donde ninguna variable aparece repetida.
Trmino producto: Un solo literal o el producto lgico (multiplicacin booleana) de dos o ms literales.
Ejemplo: El trmino producto XY'Z es 1 slo para X=1, Y=0 y Z=1 y es 0 para el resto de
combinaciones. El valor en binario ser 101 5 en decimal.
Trmino suma: Un solo literal o una suma lgica (suma booleana) de dos o ms literales.
Ejemplo: El trmino X+Y+Z es 0 para X=0 Y=1 Z=1 y es 1 para el resto de combinaciones. El valor
en binario ser 011 3 en decimal.
Suma de productos: Suma lgica de trminos productos (Ver tabla 2.2.1).
Ejemplo: X+ XY + ZY + XYZ
Una suma de productos no se encuentra en su forma estndar cuando alguno de los trminos producto no
contiene alguna de las variables del dominio de la expresin.
Ejemplo
Ejemplo
X'YZ'.W + XYZW. En cada uno de los trminos de la expresin aparecen todas las variables del
dominio. Por lo tanto, la suma de productos est en su forma estndar.
Ejemplo: X(X+Y)(X+Z)(X+Y+Z)(X+Y+Z).
Un producto de sumas no se encuentra en su forma estndar cuando alguno de los trminos suma no contiene
alguna de las variables del dominio de la expresin.
Ejemplo
Ejemplo
(X'YZ'.W)(XY'ZW). En cada uno de los trminos de la expresin aparecen todas las variables del dominio.
Por lo tanto, el producto de sumas est en su forma estndar.
Mintrmino: Es un trmino de producto con n literales en el cual hay n variables. De n variables obtenemos
2n mintrminos.
Ejemplo de mintrminos de 3 variables: XY.Z, X.Y.Z, X.Y.Z, X.Y.Z, X.Y.Z, X.Y.Z, X.Y.Z, X.Y.Z. (Ver
tabla 2.2.1.).
Maxtrmino: Es un trmino de suma con n literales en el cual hay n variables. De n variables obtenemos
2n maxtrminos. (Ver tabla 2.2.1.).
Ejemplo de maxtrminos de 3 variables: X+Y+Z, X+Y+Z, X+Y+Z, X+Y+Z, X+Y+Z, X+Y+Z, X+Y+Z,
X+Y+Z. (Ver tabla 2.2.1.).
En la leccin anterior vimos las definiciones bsicas para comprender los mtodos de sntesis de circuitos lgicos. En
esta leccin se explicarn los dos primeros de estos mtodos para sintetizar circuitos lgicos.
La suma de productos de una funcin lgica es la suma de los mintrminos correspondientes a las lneas de la tabla
de verdad para las que la funcin produce una salida igual a 1. La funcin obtenida es la suma de productos.
Ejemplo
0 0 0 0 0
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 0
7 1 1 1 1
La funcin puede ser expresada conformando un trmino mnimo por cada combinacin de variables que producen un
1 en la funcin para luego obtener la suma de todos los trminos. La funcin lgica para la tabla 2.3.1 se determina
expresando las combinaciones 010, 100, 101 y 111 como A'BC', AB'C', AB'C y ABC:
Cada mintrmino de la funcin anterior representa una compuerta AND de tres entradas y la implementacin de la
funcinzes posible a travs de la aplicacin de la operacin OR a las salidas de las cuatro compuertas AND. Por tanto,
el nmero total de compuertas AND depender del total de mintrminos de la expresin. El circuito se muestra en la
figura 2.3.1.
En una suma de productos se cumple la igualdad de la funcin al valor lgico 1 si al menos uno de sus trminos
productos es igual a 1.
Ejemplo
A B F2
0 0 0
0 1 1
1 0 1
1 1 0
En la tabla de verdad existen dos condiciones para las cuales la salida es 1. Estas son las siguientes:
1. La primera se presenta cuando A es Bajo(0) y B es Alto(1). El resultado 1 de esta condicin se puede expresar
como el producto lgico:
AB
2. La segunda condicin se presenta cuando A es 1 y B es 0. Esta condicin ocasiona un resultado 1, si el producto
lgico es:
AB
Como cualquiera de estas 2 condiciones hace que la salida sea 1, entonces la funcin lgica que los representa es la
suma lgica de los productos anteriores:
F2= AB + AB = A B
Esta funcin corresponde a la funcin OR exclusiva, cuya compuerta se representa en la figura 2.3.3.
Ejemplo
Obtener la funcin SDP para la funcin lgica de la tabla 2.3.3. Simplificar la funcin y dibujarla.
A B F3
0 0 1
0 1 0
1 0 0
1 1 1
F3=(A+B) + AB
F3= (A B)'
1. Los trminos producto que no contengan la(s) variable(s) del dominio, multiplicarlos por un trmino formado
por dicha variable ms el complemento de la misma (teorema 6).
2. Repetir el paso 1 para todos los trminos de la expresin que no contengan todas las variables (o sus
complementos) del dominio. Resolver los trminos intervenidos.
Ejemplo
Trmino BC
Trmino A
A' = A'(C+C') = A'C+A'C' ; la expresin an no tiene el formato estndar, entonces multiplicamos cada trmino
por (B+B')
A'C(B+B') +A'C'(B+B') = A'BC + A'B'C + A'BC' + A'B'C'
El producto de sumas de una funcin lgica es la multiplicacin de los maxtrminos correspondientes a las lneas de la
tabla de verdad para las que la funcin produce una salida igual a 0. La funcin obtenida es el producto de sumas.
Ejemplo
0 0 0 0 0
1 0 0 1 0
2 0 1 0 1
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
La funcin puede ser expresada conformando un trmino mximo para cada combinacin de variables que producen
un 0 en la funcin y luego obtener el producto de todos los trminos. La funcin lgica para la tabla 2.3.4 se
determina expresando las combinaciones 000, 001, 011 y 110 como (A+B+C),(A+B+C'),(A+B'+C') y (A'+B+C).La
funcin lgica es la siguiente:
Cada maxtrmino de la funcin anterior representa una compuerta OR de tres entradas y la implementacin de la
funcin es posible a travs de la aplicacin de la operacin AND a las salidas de las cuatro compuertas AND. Por tanto,
el nmero total de compuertas AND depender del total de mintrminos de la expresin. El circuito se muestra en la
figura 2.3.6.
Figura 2.3.6. Circuito lgico para la funcin lgica F4
Ejemplo
A B F5
0 0 0
0 1 1
1 0 1
1 1 0
Considere el complemento de la funcin de Boole F5. Este puede obtenerse de la tabla 2.3.5. formando un trmino
mnimo por cada combinacin que produce un cero y luego haciendo la suma de los trminos. El complemento
de F5 se expresa as:
F5' = A'B' + AB
De los 2 mtodos anteriores, se pueden escoger algunos criterios para aplicar un mtodo u otro, siendo estos los
siguientes:
Si en la ltima columna de la tabla de verdad, o sea en la columna que indica los resultados, s predominan los
ceros es ms conveniente utilizar las suma de productos.
Si en la columna que indica los resultados, predominan los unos, es ms conveniente utilizar el mtodo del
producto de sumas.
MAPAS DE KARNAUGH
Un mapa de Karnaugh es una representacin grfica de una funcin lgica a partir de una tabla de verdad. El
nmero de celdas del mapa es igual al nmero de combinaciones que se pueden obtener con las variables de
entrada. Los mapas se pueden utilizar para 2, 3, 4 y 5 variables.
Mapa de Karnaugh empleando Suma de Productos (SDP)
La simplificacin de expresiones lgicas mediante el mapa de Karnaugh utiliza un mtodo grfico basado en la
Suma de Productos.
Mapa de Karnaugh de tres variables
El mapa de Karnaugh se construye a partir de la tabla de verdad de la funcin lgica. El mapa por medio de una
matriz de 8 celdas, representa los ocho mintrminos posibles que se pueden obtener con tres variables, en un
arreglo de una matriz de 2x4. Por tanto, la primera fila contiene el primer valor posible ("0") y la segunda fila el
valor ("1").
Las variables 2 y 3 se agrupan por columna y se distribuyen en las cuatro columnas de acuerdo a las
combinaciones posibles para obtener los mintrminos requeridos. Sus valores son 00, 01, 10 y 11. Por ejemplo,
la celda m2 corresponde al mintrmino 2, ubicado en la fila 0 y la columna 10. La unin de estos dos nmeros da
el nmero010, cuyo equivalente es el trmino ABC el decimal 2. La tabla 2.4.1. muestra el mapa de
Karnaugh para 3 variables.
Lnea A B C Mintrmino Mintrmino mx Funcin de Salida
0 0 0 0 ABC m0 F(0,0,0)
1 0 0 1 ABC m1 F(0,0,1)
2 0 1 0 ABC m2 F(0,1,0)
3 0 1 1 ABC m3 F(0,1,1)
4 1 0 0 ABC m4 F(1,0,0)
5 1 0 1 ABC m5 F(1,0,1)
6 1 1 0 ABC m6 F(1,1,0)
7 1 1 1 ABC m7 F(1,1,1)
(a)
(b) (c)
Interactividad 2.4.1. Mapa de tres variables
Por ejemplo, la variable C est negada en m4 y m5 no lo est, mientras que A y B no cambia. Las celdas de los
bordes superior e inferior e izquierdo y derecho tambin cumplen esta condicin al agruparlas unas a otras. En
el teorema 12 de la leccin 1, se demuestra que la suma de los trminos mnimos en celdas adyacentes pueden
ser simplificadas en un trmino AND de dos literales. Por consiguiente, aplicando el teorema para los
trminos m4 y m5 del mapa se tiene:
m4 + m5 = ABC + ABC = AB(C+C) = AB
Los trminos m4 y m6 se pueden asociar de la misma forma:
m4 + m6 = ABC + ABC = AC(B+B) = AC
Ejemplo
Simplificar la funcin F1= (m3, m4, m5, m6, m7).
F1 = (m3, m4, m5, m6, m7) = ABC + ABC+ ABC + ABC+ ABC
Aplicando el teorema 6 de la leccin 1 para el trmino ABC.
F1 = (m3, m4, m5, m6, m7) = (m4, m5, m6, m7) + (m3, m7) = [ABC+ ABC + ABC+ ABC] +
[ABC + ABC].
El primer trmino en la sumatoria es el grupo 1 y el segundo trmino corrresponde al grupo 2. En un mapa de
karnaugh, los mintrminos de cada grupo se relacionaran a travs de lazos independientes.
Desarrollando la expresin,
F1 = [AB(C+C) + AB(C+ C)] + [BC(A+A)]= AB(1) + AB(1) + BC(1) = A(B+B) + BC = A + BC.
El mapa se construye colocando un 1 en las celdas correspondientes a los mintrminos presentes en la funcin
de salida. Por ejemplo, para el trmino F(1,1,0)= ABC = 1 se situara un 1 en la celda 110. Para los
mintrminos no presentes en la funcin se pone un 0. Por ejemplo el trmino F(0,0,1)= AB'C = 0, ser una
celda con valor 0en la celda 001.
Despus de situar los unos en el mapa, se procede con la agrupacin de 1s, la determinacin del trmino
producto correspondiente a cada grupo y la suma de los trminos producto obtenidos. La determinacin del
trmino producto se realiza de acuerdo los siguientes criterios:
1.Una celda representa un mintrmino, dando como resultado un trmino de cuatro literales.
2. Dos celdas agrupadas pueden representar la asociacin de dos mintrminos, dando como resultado un
trmino de dos literales.
3.Cuatro celdas agrupadas pueden representar la asociacin de cuatro mintrminos, dando como
resultado un trmino de un literal.
4. Ocho celdas agrupadas representan un valor de funcin igual a 1.
Ejemplo
Sea la funcin del ejemplo anterior, simplificarla por medio del mtodo del mapa.
La tabla de verdad del ejemplo anterior es la siguiente,
Lnea A B C Salida F
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 1
Figura 2.4.1. Mapa de Karnaugh de la funcin F1.
El primer grupo se forma con los mintrminos m4, m5, m6 y m7 y el segundo grupo con los mintrminos m3 y
m7.
Del primer grupo resulta el trmino A ya que para las cuatro columnas de la tabla existen transiciones entre las
variables B y C. El segundo grupo da como resultado el trmino BC por el cambio existente en la variable A.
En total, la funcin queda reducida a la expresin:
F1 = A + BC
Mapa de Karnaugh de cuatro variables
La construccin de un mapa de Karnaugh de 4 variables es similar al de 3 variables. La diferencia radica en el
nmero de variables de entrada. El mapa por medio de una matriz de 16 celdas, representa los 16 mintrminos
posibles (24) que se pueden obtener con cuatro variables de entrada, en un arreglo de 4 x 4. La disposicin de
celdas en el mapa se muestra en la tabla 2.4.3.
0 0 0 0 0 ABCD m0 F(0,0,0,0)
1 0 0 0 1 ABCD m1 F(0,0,0,1)
2 0 0 1 0 ABCD m2 F(0,0,1,0)
3 0 0 1 1 ABCD m3 F(0,0,1,1)
4 0 1 0 0 ABCD m4 F(0,1,0,0)
5 0 1 0 1 ABCD m5 F(0,1,0,1)
6 0 1 1 0 ABCD m6 F(0,1,1,0)
7 0 1 1 1 ABCD m7 F(0,1,1,1)
8 1 0 0 0 ABCD m8 F(1,0,0,0)
9 1 0 0 1 ABCD m9 F(1,0,0,1)
(a)
(b) (c)
Figura 2.4.6. Mapa de Karnaugh de la funcin F5
En suma de productos obtenemos,
F5 = ACD + A'BC + ABCD + AB'D
El empleo del mapa de Karnaugh es conveniente cuando la funcin a minimizar no contiene ms de cinco o seis
variables. En estos casos, empleamos un procedimiento sistemtico, llamado el algoritmo de QuineMcCluskey, el cual
produce una expresin normalizada y simplificada. El algoritmo debe obedecer a un conjunto de pasos que se vern a
travs de un ejemplo.
Ejemplo
F1 =
F1 = ABCD + ABCD+ ABCD + ABCD+ ABCD + ABCD + ABCD + ABCD+ ABCD.
1. Enumerar en una tabla todos los mintrminos en forma binaria, organizados segn el nmero de unos que
contenga. La aplicacin de este paso se muestra en la tabla 2.5.1.
Mintrminos A B C D Grupo
1 0 0 0 1
2 0 0 1 0 Grupo 1
8 1 0 0 0
3 0 0 1 1
6 0 1 1 0
Grupo 2
9 1 0 0 1
10 1 0 1 0
7 0 1 1 1 Grupo 3
15 1 1 1 1 Grupo 4
2. Entre los grupos adyacentes buscar los mintrminos que slo difieren en un bit en la misma posicin, para hallar
los primeros implicantes primos.
La metodologa consiste en comparar el primer mintrmino con el resto de los trminos del segundo grupo. As,
los trminos del segundo grupo se comparan con los mintrminos del grupo siguiente. De la forma anterior, se
procede con los dems mintrminos de los dems grupos. Los mintrminos utilizados se les pone una marca (
) con el fin de ir diferenciando los trminos utilizados y la variable apareada en el proceso se reemplaza con un
guin para denotar la eliminacin de la variable. Los trminos no marcados en la tabla son los primeros
implicantes primos (PIX). Los mintrminos utilizados se les pone una marca ( ) con el fin de ir diferenciando los
trminos utilizados y la variable apareada en el proceso anterior se reemplaza con un guin para denotar la
eliminacin de la variable.
8 1 0 0 0 23 0 0 1 -
3 0 0 1 1 26 0 - 1 0
6 0 1 1 0 210 - 0 1 0 PI4
9 1 0 0 1 89 1 0 0 - PI5
10 1 0 1 0 8-10 1 0 - 0 PI6
7 0 1 1 1 37 0 - 1 1
15 1 1 1 1 67 0 1 1 -
7-15 - 1 1 1 PI7
3. Construir una tabla que enumere los implicantes primos y los mintrminos contenidos por cada implicante
primo. La letra X en la tabla 2.5.3 indica el mintrmino contenido en cada implicado por fila. Por ejemplo, en la
tabla se observa en el primer rengln los mintrminos 2, 3, 6 y 7 para el primer implicante primo. El resto de la
tabla se construye de forma similar.
Implicante Primo 1 2 3 6 7 8 9 10 15
* PI1 X X X X
PI2 X X
PI3 X X
PI4 X X
PI5 X X
PI6 X X
* PI7 X X
Tabla 2.5.3. Seleccin de implicantes primos esenciales
En la tabla se seleccionan las columnas de los mintrminos que contengan solamente una cruz. En este ejemplo,
hay dos mintrminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la seleccin del primer
implicado PI1 (AC) garantiza que el trmino mnimo 6 est incluido en la funcin. De la misma forma, el
trmino mnimo 7 est cubierto por el primer implicado PI7 (A'BCD). Los primeros implicados que cubren los
mintrminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados
con un asterisco) y son indispensables en la construccin de la funcin.
4. Seleccionar en cada columna los mintrminos que estn cubiertos por los primeros implicados esenciales. Por
ejemplo, el primer implicado esencial * PI1 (AC)cubre los mintrminos 2, 3, 6 y 7. De la misma forma, el
primer implicado esencial *PI7 (A'BCD) cubre los mintrminos 7 y 15. Hasta el momento la seleccin de
primeros implicados cubre los mintrminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos trminos mnimos deben
ser seleccionados por medio de otros primeros implicados esenciales. En la tabla 2.5., la seleccin de los
primeros implicados PI3 y PI6 garantiza el cubrimiento de los trminos mnimos 1, 8, 9 y 10. En la tabla 2.5.4.
se muestra el proceso de seleccin.
Implicante Primo 1 8 9 10
PI2 X
*PI3 X X
PI4 X
PI5 X X
*PI6 X X
El empleo del mapa de Karnaugh es conveniente cuando la funcin a minimizar no contiene ms de cinco o seis
variables. En estos casos, empleamos un procedimiento sistemtico, llamado el algoritmo de QuineMcCluskey, el cual
produce una expresin normalizada y simplificada. El algoritmo debe obedecer a un conjunto de pasos que se vern a
travs de un ejemplo.
Ejemplo
F1 =
F1 =ABCD + ABCD+ ABCD + ABCD+ ABCD + ABCD + ABCD + ABCD+ ABCD.
1. Enumerar en una tabla todos los mintrminos en forma binaria, organizados segn el nmero de unos que
contenga. La aplicacin de este paso se muestra en la tabla 2.5.1.
Mintrminos A B C D Grupo
1 0 0 0 1
w2 0 0 1 0 Grupo 1
w8 1 0 0 0
valign="MIDDLE"> w valign="MIDDLE"
w3 0 0 1
rowspan=4> Grupo 2
1
w6 0 1 1 0
w9 1 0 0 1
w 10 1 0 1 0
w w
valign="MIDDLE"> valign="MIDDLE"> valign="MIDDLE"> valign="MIDDLE">
valign="MIDDLE"> valign="MIDDLE"> Grupo
0 1 1 1
7 3
w w
valign="MIDDLE"> valign="MIDDLE"> valign="MIDDLE"> valign="MIDDLE">
valign="MIDDLE"> valign="MIDDLE"> Grupo
1 1 1 1
15 4
2. Entre los grupos adyacentes buscar los mintrminos que slo difieren en un bit en la misma posicin, para hallar
los primeros implicantes primos.
La metodologa consiste en comparar el primer mintrmino con el resto de los trminos del segundo grupo. As,
los trminos del segundo grupo se comparan con los mintrminos del grupo siguiente. De la forma anterior, se
procede con los dems mintrminos de los dems grupos. Los mintrminos utilizados se les pone una marca (
) con el fin de ir diferenciando los trminos utilizados y la variable apareada en el proceso se reemplaza con un
guin para denotar la eliminacin de la variable. Los trminos no marcados en la tabla son los primeros
implicantes primos (PIX). Los mintrminos utilizados se les pone una marca ( ) con el fin de ir diferenciando los
trminos utilizados y la variable apareada en el proceso anterior se reemplaza con un guin para denotar la
eliminacin de la variable.
3. Construir una tabla que enumere los implicantes primos y los mintrminos contenidos por cada implicante
primo. La letra X en la tabla 2.5.3 indica el mintrmino contenido en cada implicado por fila. Por ejemplo, en la
tabla se observa en el primer rengln los mintrminos 2, 3, 6 y 7 para el primer implicante primo. El resto de la
tabla se construye de forma similar.
Implicante
1 2 3 6 7 8 9 10 15
Primo
* PI1 XXXX
PI2 X X
PI3 X X
PI4 X X
PI5 XX
PI6 X X
* PI7 X X
En la tabla se seleccionan las columnas de los mintrminos que contengan solamente una cruz. En este ejemplo,
hay dos mintrminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la seleccin del primer
implicado PI1 (AC) garantiza que el trmino mnimo 6 est incluido en la funcin. De la misma forma, el
trmino mnimo 7 est cubierto por el primer implicado PI7 (A'BCD). Los primeros implicados que cubren los
mintrminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados
con un asterisco) y son indispensables en la construccin de la funcin.
4. Seleccionar en cada columna los mintrminos que estn cubiertos por los primeros implicados esenciales. Por
ejemplo, el primer implicado esencial * PI1 (AC)cubre los mintrminos 2, 3, 6 y 7. De la misma forma, el
primer implicado esencial *PI7 (A'BCD) cubre los mintrminos 7 y 15. Hasta el momento la seleccin de
primeros implicados cubre los mintrminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos trminos mnimos deben
ser seleccionados por medio de otros primeros implicados esenciales. En la tabla 2.5., la seleccin de los
primeros implicados PI3 y PI6 garantiza el cubrimiento de los trminos mnimos 1, 8, 9 y 10. En la tabla 2.5.4.
se muestra el proceso de seleccin.
Implicante
1 8 9 10
Primo
PI2 X
*PI3 X X
PI4 X
PI5 X X
*PI6 X X
Un decodificador es un circuito lgico cuya funcin es indicar la presencia de cierto cdigo en sus lneas de entrada
con un nivel predeterminado a la salida. El procedimiento consiste en interpretar el cdigo de n lneas de entrada con
el fin de activar un mximo de 2n lneas a la salida. Si el cdigo de entrada tiene combinaciones no usadas o de no
importa, la salida tendr menos de 2n salidas. La caracterstica predominante en los decodificadores es un mayor
nmero de salidas con respecto al nmero de entradas. El diagrama de bloques se muestra en la figura 3.1.1.
El Decodificador de 2 a 4 lneas tiene 2 lneas de entrada y 4 lneas de salida. En la tabla 3.1.1., las entradas del
decodificador son I0 e I1 y representan un entero de 0a 3 en cdigo decimal. G es la entrada de habilitacin y
determina la activacin del circuito de acuerdo a su valor lgico ("1" circuito activo, "0" circuito no activo). Segn el
valor binario presente en las 2 entradas se activa una de las 4 salidas al valor lgico 1. Por ejemplo, con el
valor 1 en I0 y el valor 0 en I1 se activar la salida Y1.
G I1 I0 Y3 Y2 Y1 Y0
0 X X 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
El decodificador de 3 a 8 lneas activa una sola de las 8 lneas de salida de acuerdo con el cdigo binario presente en
las 3 lneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en
cualquier momento.
Las entradas del decodificador son x, y, z y las salidas van de y0 a y7 (activas bajas). La tabla de verdad del
decodificador se muestra en la tabla 3.1.2.
>
Entradas Salidas
X Y Z Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
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
Como la tabla anterior tiene 8 salidas, por lo tanto sera necesario dibujar ocho mapas de karnaugh para simplificar
cada una de las funciones de salida. Por tanto procedimiento, se puede dibujar un solo mapa y reducir la funcin para
cada trmino por separado. La reduccin de cada trmino da como resultado la equivalencia entre cada mintrmino de
entrada y la salida correspondiente. Por ejemplo, la entrada 110 activar la salida Y6. En el circuito el mintrmino
corresponder a una compuerta AND de tres entradas con las variables ABC como entradas. De manera similar se
construye el circuito para el resto de entradas. El circuito lgico del decodificador de 3 a 8 lneas se representa en la
figura 3.1.3.
En el ingreso de datos en las variables X, Y y Z de la interactividad 3.1.1. se puede observar el funcionamiento del
decodificador 3 x 8.
Intercatividad 3.1.1. Decodificador 3 x 8 lneas
El decodificador de 4 a 16 lneas activa una sola de las 16 lneas de salida de acuerdo con el cdigo binario presente
en las 4 lneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en
cualquier momento.
Las entradas son w, x, y, z y las salidas son y0 a y15 (activas bajas). La tabla 3.1.3 muestra la tabla de verdad para el
decodificador.
Entradas Salidas
0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
En la tabla el trmino Y7 se obtiene del mintrmino m7 (WZYX). En la entrada, los valores 0111 activarn la
salida Y7. El resto del circuito lgico se construye de manera similar. El diagrama de bloques del circuito lgico se
representa en la figura 3.1.5.
En la comunicacin entre los diferentes dispositivos que conforman un computador, se emplean puertos de E/S y
memorias.Entre las aplicaciones ms comunes de los decodificadores se encuentra la habilitacin de puertos de E/S
en los computadores.
Cada uno de los dispositivos dentro de un computador posee una direccin que es codificada mediante un cdigo
binario (direccin) y cuando es necesario comunicarse con un dispositivo, la CPU del computador enva la direccin del
puerto o posicin de memoria al que se encuentra conectado el dispositivo. El cdigo binario de la direccin es
decodificado, activando la salida que habilita el dispositivo correspondiente.
Los decodificadores tambin son utilizados internamente en los chips de memoria para direccionar las posiciones de
memoria de las palabras binarias almacenadas. Como ejemplo, un computador que maneja direcciones de 16 bits,
tiene la capacidad de direccionar 216 = 65536 posiciones de memoria, o lo que equivale a 64 K.
En los capitulos 10 y 11, correspondientes a Memorias y Procesadores Digitales respectivamente se tratar este tema
con mayor profundidad.
El decodificador de BCD a siete segmentos es un circuito combinacional que permite un cdigo BCD en sus entradas y
en sus salidas activa un display de 7 segmentos para indicar un dgito decimal.
El display est formado por un conjunto de 7 leds conectados en un punto comn en su salida. Cuando la salida es
comn en los nodos, el display es llamado de nodo comn y por el contrario, s la salida es comn en los ctodos,
llamamos al display de ctodo comn. En la figura 3.1.1.,se muestran ambos tipos de dispositivos. En eldisplay de
ctodo comn, una seal alta encender el segmento excitado por la seal. La alimentacin de cierta combinacin
de leds, dar una imagen visual de un dgito de 0 a 9.
Figura 3.3.1. Display de nodo comn y ctodo comn
El decodificador requiere de una entrada en cdigo decimal binario BCD y siete salidas conectadas a cada segmento
del display. La figura 3.3.2. representa en un diagrama de bloques el decodificador de BCD a 7 segmentos con un
display de ctodo comn.
Suponiendo que el visualizador es un display de ctodo comn, se obtiene una tabla cuyas entradas en
cdigo BCD corresponden a A, B, C y D y unas salidas correspondientes a los leds que se encenderan en cada caso
para indicar el dgito decimal. La tabla 3.3.1. muestra el caso de ejemplo.
Entradas Salidas
Valor decimal
A B C D a b c d e f g
0 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 1 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
10 1 0 1 0 X X X X X X X
... .. .. .. .. X X X X X X X
15 1 1 1 1 X X X X X X X
Los valores binarios 1010 a 1111 en BCD nunca se presentan, entonces las salidas se tratan como condiciones de no
importa.
La simplificacin de la informacin contenida en la tabla 3.3.1. requiere de siete tablas de verdad, que se pueden
separar para cada segmento. Por consiguiente, un 1en la columna indica la activacin del segmento y varios de estos
segmentos activados indican visualmente el nmero decimal requerido.
Segn la informacin de la tabla de verdad, se puede obtener la expresin para cada segmento en suma de productos
o producto de sumas segn la cantidad de unos y ceros presentes.
Salida a
a = A + C + (B D)
Figura 3.3.3. Circuito para la salida a del decodificador BCD a siete segmentos
Salida c
c = (A + B + C + D)
Figura 3.3.4. Circuito para la salida c del decodificador BCD a siete segmentos
Salida e
La columna correspondiente a esta salida tiene 4 unos y 5 ceros. Es mejor utilizar la representacin SDP:
e = (ABCD) + (ABCD) + (ABCD) + (ABCD) ;factorizando el primer trmino con el cuarto y el segundo
con el tercero:
El principio bsico de un registro de estados es la presencia de tres estados para la salida del dispositivo (0, 1 y alta
impedancia) segn el valor de una entrada de control predeterminada. El dispositivo ms bsico es el registro
("buffer") de tres estados. Este registro posee una entrada de habilitacin ("entrada lateral al registro") para
determinar su comportamiento como amplificador, inversor ordinario o dispositivo de alta impedancia. La
figura 3.4.1. muestra el smbolo lgico del registro. En los casos 1 y 3 se habilita con estado activo alto y en los casos
2 y 4 se habilita con estado activo bajo. En estado de activacin la salida se comporta como amplificador o inversor.
Cuando la entrada de habililtacin se niega, la salida va a un estado de alta impedancia (Z).
Estos dispositivos permiten que varias fuentes puedan compartir una misma lnea de comunicacin, siempre y cuando
una sola fuente utilice la lnea a la vez. Un circuito de este tipo se muestra en la figura 3.4.2. El circuito se configura
con un decodificador para seleccionar una de ocho lneas de salida. Por ejemplo, la seleccin 001 habilita la
salida Y1 en estado bajo, activando el registro 2 y coloca la informacin de entrada del registro en la lnea de
comunicacin.
Los registros de tres estados pasan ms rapidamente al estado Z. Por el contrario, el tiempo de transicin para salir
del estado Z es mucho ms demorado.El tiempo muerto en la lnea de comunicacin debe ser lo bastante largo para
tomar en cuenta las diferencias del peor caso entre los tiempos de activacin y desactivacin de los dispositivos al
igual que las asimetras en las seales de control de los tres estados.
CODIFICADORES
Un codificador tiene 2n o menos lneas de entrada y n lneas de salida. Por ejemplo, en una de las entradas se puede
ingresar un dgito decimal u octal y generarse un cdigo de salida en BCD o binario. La funcin de los codificadores es
inversa a la de los decodificadores. Los codificadores se utilizan tambin para codificar smbolos diferentes y
caracteres alfabticos.
Codificador Binario
El codificador binario tiene 2n entradas y n salidas. Slo, una sola de las entradas puede estar activada. La salida
suministra el valor binario correspondiente a la entrada activada. Este tipo de decodificador opera en forma contraria
a los decodificadores de 2 a 4, 3 a 8, estudiados antes.
Codificador de 8 a 3.
El codificador 8 a 3 tiene 8 entradas (I0 a I7), una para cada uno de los ocho dgitos y 3 salidas que conforman el
nmero binario equivalente (A0 a A2). La figura 3.5.1. muestra en el diagrama de bloques del decodificador.
Entradas Salidas
I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
En la tabla de verdad, A0 tiene un 1 lgico para la columnas de entrada con subndice impar. La salida A1 es 1 en la
columnas I2, I3, I6 e I7 y la salida A2 es 1 en la columnas I4, I5, I6 e I7. Las expresiones lgicas son las siguientes:
A0 = I1 + I3 + I5 + I7
A1 = I2 + I3 + I6 + I7
A2 = I4 + I5 + I6 + I7
Por ejemplo, s est activada la entrada 3, la salida es 011. El circuito se construye con compuertas OR y se muestra
en la figura 3.5.2.
Codificador de prioridad
Los codificadores de prioridad seleccionan la entrada de mayor prioridad cuando se presentan varias entradas activas
simultneamente. En la tabla 3.5.2. se muestra la lgica de entrada y de salida de un decodificador.
Entradas Salidas
I0 I1 I2 I3 I4 I5 I6 I7 A2 A1 A0
X X X X X X X 0 0 0 0
X X X X X X 0 1 0 0 1
X X X X X 0 1 1 0 1 0
X X X X 0 1 1 1 0 1 1
X X X 0 1 1 1 1 1 0 0
X X 0 1 1 1 1 1 1 0 1
X 0 1 1 1 1 1 1 1 1 0
0 1 1 1 1 1 1 1 1 1 1
El decodificador se encuentra comercialmente tal como se encuentra dispuesto en la figura 3.5.3. La diferencia radica
en unas entradas de habilitacin adicionales que activan las entradas las salidas a unos valores predefinidos.
El codificador decimal a BCD posee diez entradas, correspondientes cada una a un dgito decimal y cuatro salidas en
cdigo BCD (8421). El diagrama de bloques de la figura 3.5.4 muestra la disposicin de entradas y salidas del
decodificador.
Figura 3.5.4. Diagrama de Bloques del codificador Decimal a BCD.
BCD
Dgito Decimal
A3 A2 A1 A0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
El bit A3 es el ms significativo del cdigo BCD y es 1 para los decimales 8 9. La expresin para este bit en funcin
de los dgitos decimales se escribe:
A3 = 8+9
A2 = 4+5+6+7
A1 = 2+3+6+7
A0 = 1+3+5+7+9.
Ahora configurando el anlisis en un circuito combinacional, se obtiene el siguiente circuito sin necesidad de una
entrada para el bit 0.
Aplicaciones
Los codificadores encuentran mayor aplicacin en los dispositivos de entrada y salida. La seal de entrada es
introducida de una forma comprensible para el usuario y la "traduccin" la realiza el codificador a un cdigo
comprensible para el equipo. En un teclado, cuando se pulsa la tecla correspondiente a un dgito, esta entrada se
codifica en cdigo BCD. La siguiente animacin muestra la aplicacin anterior por medio de una interactividad con los
pulsadores.
Animacin Teclado
MULTIPLEXORES Y DEMULTIPLEXORES
Multiplexar es transmitir datos de una de n fuentes a la salida del circuito combinacional. El demultiplexor desempea
la funcin contraria.
Multiplexores (MUX)
Un multiplexor es un circuito combinacional que selecciona una de n lneas de entrada y transmite su informacin
binaria a la salida. La seleccin de la entrada es controlada por un conjunto de lneas de seleccin. La relacin de
lneas de entrada y lneas de seleccin est dada por la expresin 2n, donde n corresponde al nmero de lneas de
seleccin y 2n al nmero de lneas de entrada.
Multiplexor de 2 entradas
El multiplexor se caracteriza por tener dos lneas de entrada, una lnea de seleccin y una de salida. El smbolo lgico
de un multiplexor de dos entradas se muestra en la Interactividad 03.06.01.
En el multiplexor, las entradas son I0 e I1 y la seleccin viene dada por el valor de la entrada S. El valor de la salida Y
depende de los valores lgicos ingresados en los cuadros de texto para las variables I0, I1 y S. Por ejemplo,
s I0=0, I1=1 y S=0, entonces Y=I0=0. La tabla de verdad se muestra en la tabla 3.6.1.
S Y
0 I0
1 I1
Multiplexor de 4 entradas
El multiplexor de 4 entradas es un multiplexor de 4 lneas a 1. La figura 3.6.2. muestra el diagrama de bloques del
multiplexor. Las entradas son I0, I1, I2 e I3 y la seleccin viene dada por las entradas S0 y S1. El valor de la
salida Y depende de los valores lgicos presentes en las entradas de datos y la seleccin.
Figura 3.6.2. Multiplexor 4 a 1
S1 S0 Y
0 0 I0
0 1 I1
1 0 I2
1 1 I3
El problema consiste en definir un conjunto de expresiones para construir el circuito lgico. La ecuacin en cada fila,
se obtiene a partir del dato de entrada y la entrada de seleccin de datos:
Un demultiplexor es un circuito combinacional que recibe informacin en una sola lnea y la transmite a una
de 2n lneas posibles de salida. La seleccin de una lnea de salida especifica se controla por medio de los valores de
los bits de n lneas de seleccin. La operacin es contraria al multiplexor. La figura 3.6.4. muestra el diagrama de
bloques del demultiplexor.
Figura 3.6.4. Diagrama de Bloques del Demultiplexor.
La figura 3.6.5. muestra un demultiplexor de 1 a 4 lneas. Las lneas de seleccin de datos activan una compuerta
cada vez y los datos de la entrada pueden pasar por la compuerta hasta la salida de datos determinada. La entrada de
datos se encuentra en comn a todas las AND.
El decodificador de la figura 3.6.6. funciona como un demultiplexor si la lnea E se toma como lnea de entrada de
datos y las lneas I0 e I1 como lneas de seleccin. Observe que la variable de entrada E tiene un camino a todas las
salidas, pero la informacin de entrada se dirige solamente a una de las lneas de salida de acuerdo al valor binario de
las dos lneas de seleccin I0 e I1. Por ejemplo si la seleccin de las lneas I0I1 = 10 la salida Y2 tendr el mismo valor
que la entrada E, mientras que las otras salidas se mantienen en nivel bajo.
En consecuencia, como las operaciones decodificador y demultiplexor se obtienen del mismo circuito, un decodificador
con una entrada de activacin se denominadecodificador/demultiplexor; siendo la entrada de activacin la que hace al
circuito un demultiplexor.
E I0 I1 Y0 Y1 Y2 Y3
1 X X 1 1 1 1
0 0 0 0 1 1 1
0 0 1 1 0 1 1
0 1 0 1 1 0 1
0 1 1 1 1 1 0
GENERADORES DE PARIDAD
La transmisin binaria por diversos medios de comunicacin est sujeta a errores por fallas en los sistemas digitales o
la presencia de ruido elctrico. Cualquier condicin interna o externa al sistema puede alterar el valor de los ceros a
unos o viceversa. Cuando se altera un solo bit, decimos que el bit distorsionado contiene un error individual. De la
misma forma, dos o ms bits distorsionados, involucran un error mltiple, pero estos errores tienen menor
probabilidad de ocurrencia a los errores individuales. Un cdigo que permite detectar errores es el cdigo de paridad.
El principio es aadir un bit de paridad para hacer que el nmero total de bits (incluida la palabra) sea par o impar. Un
bit de paridad par, incluido con el mensaje (palabra), convierte el nmero total de unos en par (paridad par) y el bit
de paridad impar hace el total de unos impar (paridad impar). El generador de paridad es un sistema combinacional
que permite generar el bit de paridad de una palabra de cdigo. La informacin se transmite y el comprobador de
paridad recepciona la informacin con el fin de validarla.
Ejemplo
Construir un generador de paridad par y el respectivo comprobador de paridad para tres bits .
En la tabla 3.7.1. los bits de entrada A, B, C constituyen el mensaje y el bit de paridad P la salida. En la tabla, se
escoge P de tal forma que la suma todos los unos es par.
A B C P
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
La paridad esta directamente relacionada con la operacin OR-Exclusiva. En una expresin OR-Exclusiva de n
variables, 2n/2 trminos mnimos tienen un nmero par de unos. La otra mitad tiene un nmero impar de unos.
Observando el mapa se puede deducir que la mitad de los trminos mnimos tiene un nmero par de unos. La funcin
puede expresarse en trminos de una operacin ORExclusiva con las tres variables de la siguiente forma:
Asumiendo
Llegamos a la igualdad,
Entonces,
P=A B C
El circuito realiza la funcin OR-Exclusiva de un numero n de variables, constituyendo a la salida un uno lgico si el
nmero de unos aplicados a sus entradas es impar y un cero si el nmero es par.
El diagrama lgico del generador de paridad se muestra en la figura 3.7.2. El circuito est conformado por dos
compuertas OR - Exclusiva de dos entradas.
El bit de paridad y el mensaje de tres bits, se transmiten a su destino donde se aplican a un circuito de observacin de
paridad. La salida C del comprobador de paridad debe ser 1 para indicar el error de transmisin. El error se presenta
cuando el nmero de unos en sus entradas es impar. La tabla de verdad 3.7.2 muestra las entradas y las salidas del
circuito.
A B C P C
0 0 0 0 0
0 0 0 1 1
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 0
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 1
1 1 1 1 0
En el mapa de karnaugh se pueden observar los unos en los mintrminos que tienen un nmero impar de unos. La
funcin puede expresarse en trminos de la operacin OR-Exclusiva. La demostracin es la siguiente:
CP= A B C D
=A B CD
= (A B) (C D)
Entonces,
Figura 3.7.4. Circuito Lgico para el comprobador de paridad par de tres bits
COMPARADORES
Los circuitos comparadores son sistemas combinacionales que comparan la magnitud de dos nmeros binarios
de n bits e indican cul de ellos es mayor, menor o s existe igualdad entre ellos. Existen varias configuraciones de
circuitos de un nivel sencillo a uno ms complejo para determinar relaciones de magnitud.
La comparacin de dos bits se puede realizar por medio de una compuerta OR exclusiva o una NOR exclusiva. La
salida del circuito es 1 si sus dos bits de entrada son diferentes y 0 si son iguales. La figura 3.8.1. muestra el circuito
comparador de dos bits.
Figura 3.8.1. Comparador de magnitudes de un bit
Los nmeros A y B de dos bits en orden significativo ascendente a descendente se ordenan de la siguiente forma:
A = A1A0
B = B1B0
En un comparador de dos bits se utilizan dos compuertas OR Exclusiva. El comparador se muestra en la figura
3.8.2. Los bits ms significativos se comparan en la compuerta 1 y los dos menos significativos en la compuerta 2. En
el caso de nmeros iguales, los bits tambin son iguales, teniendo como salida en cada XOR el valor 0. Cada XOR se
invierte y la salida de la compuerta AND tendr un 1. En nmeros diferentes, los bits sern diferentes y la salida de
cada XOR ser 1.
En el diagrama 3.8.3. se muestra un comparador de magnitud de cuatro bits. Las entradas son A y B y las salidas son
las tres variables binarias A>B, A=B y A<B. Escribiendo los coeficientes de los nmeros A y B en orden significativo de
ascendente a descendente:
A = A3A2A1A0 = Ai+3Ai+2Ai+1Ai
B = B3B2B1B0 = Bi+3Bi+2Bi+1Bi
Salida A=B
Los dos nmeros son iguales si todos los nmeros del mismo peso son iguales, es decir A3=B3, A2=B2, A1=B1 y A0=B0.
La igualdad de los nmeros Ai y Bi se determina comparando los coeficientes segn el valor 0 1 para los dos bits. En
la comparacin se emplea la variable yi. Esta variable binaria es igual a 1 si los nmeros de entrada A y B son iguales,
de lo contrario ser igual a 0. Por consiguiente, la comparacin de dos bits en la posicin i de un nmero, est dada
por:
(A=B) = y3y2y1y0
La variable binaria A=B es igual a 1 solamente si todos los pares de dgitos de los nmeros son iguales.
Ejemplo
y3(A3=B3) = (1)(1) + (0)(0) = 1 ; y2 (A2=B2) = (0)(0) + (1)(1) = 1 ; y1(A1=B1) = (0)(1) + (1)(0) = 0 ; y0(A0=B0)
= (1)(1) + (1)(0) = 1.
CIRCUITOS ARITMTICOS
El diseo de sistemas digitales involucra el manejo de operaciones aritmticas. En esta leccin se implementarn los
circuitos de suma y resta de nmeros binarios.
Sumador Medio
El circuito combinacional que realiza la suma de dos bits se denomina sumador medio. La figura 3.9.1 muestra el
smbolo lgico de sumador medio. En el circuito las entradas son A y B y la salida S corresponde a la suma y Cout al
acarreo de salida (Ver leccin 1.4.).
La tabla de verdad 3.9.1. est dada por las reglas de la suma binaria.
X Y Cout S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
X + Y = Cout S
El bit de acarreo Cout es 1, slo cuando A y B tienen el valor de 1; por tanto entre A y B se puede establecer una
operacin AND:
Cout = AB
El bit de suma S es 1, slo si las variables A y B son distintas. El bit de acarreo es 0 a no ser que ambas entradas
sean 1. Por consiguiente, la salida S puede expresarse en trminos de la operacin OR Exclusiva:
S = AB + AB = A B
Sumador Completo
El sumador completo acepta dos bits y un acarreo de entrada y genera una suma de salida junto con el acarreo de
salida. La tabla 3.9.2. muestra la tabla de verdad del sumador completo. Las entradas A, B y Cin denotan al primer
sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de
salida.
A B Cin Cout 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
S = (A B) Cin
Restador
En la diferencia, cada bit del sustraendo se resta de su correspondiente bit del minuendo para formar el bit de la
diferencia. El prstamo ocurre cuando el bit del minuendo es menor al bit del sustraendo, de tal forma que se presta
un 1 de la siguiente posicin significativa.
La resta se implementa mediante un sumador. El mtodo consiste en llevar al minuendo a una de las entradas y el
sustraendo en complemento 2 a la otra entrada.
Restador Medio
El circuito combinacional que realiza la resta de dos bits se denomina Restador medio. El circuito tiene dos entrada
binarias y dos salidas. La figura 3.9.5 muestra el smbolo lgico de Restador medio. En el circuito las entradas
son A(minuendo) y B(sustraendo) y la salida D corresponde a la diferencia y P al prstamo de salida.
Si A B, existen tres posibilidades 0-0=0, 1-0=0 y 11=1. El resultado es el bit de diferencia D. Si A<B se tiene 0-
1 y es necesario prestar un 1 de la siguiente posicin significativa de la izquierda. El prstamo agrega 2 al bit del
minuendo de manera similar cuando en el sistema decimal se agrega 10 al dgito del minuendo.
La tabla de verdad 3.9.3. est dada por las reglas de la resta binaria.
A B P D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
La salida D coincide con la operacin OR- Exclusiva y se puede expresar de la siguiente forma:
D = AB + AB
La salida P est dada por la suma de productos de los trminos presentes en el rengln 2 de la tabla de verdad:
P = AB
Restador Completo
El Restador completo realiza la resta entre dos bits, considerando que se ha prestado un 1 de un estado menos
significativo. En la tabla 3.9.4. las entradas A, B y Cdenotan el minuendo, el sustraendo y el bit prestado. Las
salidas D y P representan a la diferencia y el prstamo.
A B C P 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
En las combinaciones del mapa donde C=0, se tienen las mismas condiciones para el sumador medio. El resto de
condiciones se vieron en la leccin 4 del captulo 1.
P = AB + AC + BC
Las operaciones aritmticas se pueden implementar mediante circuitos lgicos. El nivel de sencillez obtenido en los
circuitos est dado por la tcnica de diseo utilizada. La implementacin de una unidad aritmtica que realice las
operaciones de suma y resta en un slo circuito, es ms simple comparndola con una de dos circuitos para las
mismas funciones. En la leccin se vern los mtodos de diseo de circuitos lgicos para sumar y restar nmeros
binarios de cuatro bits.
La suma de dos nmeros binarios de cuatro bits se realiza de derecha a izquierda, teniendo en cuenta los
correspondientes posiciones significativas y el bit de arrastre (acarreo Cinx). El bit de arrastre generado en cada
posicin se utiliza en la siguiente posicin significativa. La figura 3.10.1. muestra la suma de dos nmeros de cuatro
bits.
En un sumador completo, la suma de un par de bits genera un bit de acarreo. Un sumador de 2 nmeros de n bits se
puede implementar de la forma descrita a continuacin. Los bits de la posicin menos significativa se suman con un
acarreo inicial de 0, generando el bit de suma y el de acarreo. El bit de acarreo generado es usado por el par de
dgitos en la siguiente posicin significativa. La suma se propaga de derecha a izquierda segn los acarreos generados
en cada sumador y los sumandos presentes. Por consiguiente, la suma de dos 2 nmeros binarios de n bits se puede
implementar mediante la utilizacin de n sumadores completos. As, para nmeros binarios de dos bits se necesitan
dos sumadores completos; para nmeros de cuatro bits cuatro sumadores. En la figura 3.10.2. se muestra un
sumador de cuatro bits.
En el captulo 1 - leccin 4 se mostr que la resta de dos nmeros A y B se puede realizar sumando el complemento a
dos de B a A. Un sumador se puede modificar en forma de sustractor invirtiendo cada bit del sustraendo y
sumando 1 al establecer un acarreo de entrada Cin1.
Observese el complementador de la figura 3.10.4. Si la entrada de control es igual a S=0, la entrada de datos I pasa
sin ningn cambio a la salida. Si S=1, la entrada de datos se complementa.
S I Y
0 0 0 Pasa a Y
0 1 1 Pasa a Y
1 0 1 Complemento a Y
1 1 0 Complemento a Y
De la tabla de verdad se observa que Y = S I. La figura 3.10.5 muestra la funcin OR - Exclusiva como
complementador.
Una sola entrada de control S con n lneas de entrada de datos Ii sirve para complementar o no complementar la
entrada, segn la operacin de resta o suma binaria. La figura 3.10.6. ilustra un complementador de 4 bits.
Figura 3.10.6. Complementador de 4 bits
SUMADOR EN BCD
La suma en cdigo BCD utiliza las mismas reglas de la suma binaria vistas en la leccin 1.4. Si una suma de dos
nmeros es menor o igual que 9, el nmero BCDresultante es vlido. Si la suma es mayor que 9, o si se genera un
acarreo el resultado no es vlido. En este caso, se suma el nmero binario 0110 para pasar de nuevo al cdigo BCD.
Si se genera acarreo al sumar 0110, ste se suma al siguiente grupo de 4 bits. En los siguientes ejemplos se vern los
casos que se pueden presentar.
Ejemplo
Ejemplo
La suma de los cuatro bits menos significativos de la figura 3.11.2. genera acarreo.
Figura 3.11.02. Suma BCD con acarreo en el dgito BCD menos significativo
Ejemplo
La suma de dgito BCD menos significativo de la figura 3.11.3. genera acarreo, al igual que el segundo dgito BCD.
Un sumador BCD es un circuito que suma dos dgitos en BCD. En una suma BCD , la suma 9+9+1=19 es el valor
mximo resultante, siendo el 1 en la suma el acarreo de entrada. Los dgitos BCD con un acarreo de entrada, se
agregan en un sumador binario de cuatro bits para producir la suma binaria. Los nmeros decimales se listan en la
tabla 3.11.1. C1 es el acarreo de la suma de los nmeros A y B de entrada (ver figura 3.11.4) y los dgitos S1 a S4 son
el resultado de la suma binaria, donde cada dgito tiene los pesos 8, 4, 2, 1 del cdigo BCD. Cuando la suma binaria
es menor o igual a 1001, no se agrega nada a la suma. Cuando el nmero binario es mayor que1001 se obtiene una
representacin en cdigo BCD no vlida. La suma del nmero binario 0110 a la suma binaria convierte la
representacin a un cdigo BCD vlido. En la figura la suma del nmero 0110 se realiza por medio de un segundo
sumador inferior. Este cdigo BCD vlido se observa en la tabla 3.11.1 en la columna de sumaBCD. Las
salidas S5 a S8 representan la suma BCD. C2 es el acarreo de salida de la suma BCD.
Decimal
C1 S4 S3 S2 S1 C2 S8 S7 S6 S5
0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 0 1 0 0 0 0 1
2 0 0 0 1 0 0 0 0 1 0
3 0 0 0 1 1 0 0 0 1 1
4 0 0 1 0 0 0 0 1 0 0
5 0 0 1 0 1 0 0 1 0 1
6 0 0 1 1 0 0 0 1 1 0
7 0 0 1 1 1 0 0 1 1 1
8 0 1 0 0 0 0 1 0 0 0
9 0 1 0 0 1 0 1 0 0 1
10 0 1 0 1 0 1 0 0 0 0
11 0 1 0 1 1 1 0 0 0 1
12 0 1 1 0 0 1 0 0 1 0
13 0 1 1 0 1 1 0 0 1 1
14 0 1 1 1 0 1 0 1 0 0
15 0 1 1 1 1 1 0 1 0 1
16 1 0 0 0 0 1 0 1 1 0
17 1 0 0 0 1 1 0 1 1 1
18 1 0 0 1 0 1 1 0 0 0
19 1 0 0 1 1 1 1 0 0 1
C2 = C1 + S3S4 + S4S2
El circuito lgico necesario para implementar el sumador BCD se muestra en la figura 3.11.4.
Una unidad aritmtica lgica puede realizar un conjunto de operaciones aritmticas bsicas y un conjunto de
operaciones lgicas, a travs de lneas de seleccin. En ingls ALU significa Arithmetic Logic Unit (Unidad Aritmtica
Lgica). La figura 3.12.1. muestra el diagrama de bloques de una ALU.
Las cuatro entradas de A se combinan con las de B generando una operacin de salida de cuatro bits en F. La entrada
de seleccin de modo S2 distingue entre las operaciones aritmticas y lgicas. Las entradas de
seleccin S0 y S1 determinan la operacin aritmtica o lgica. Con las entradas S0 y S1 se pueden elegir cuatro
operaciones aritmticas (con S2 en un estado) y cuatro logicas (con S2 en otro estado). Los acarreos de entrada y
salida tienen sentido nicamente en las operaciones aritmticas. El diseo de una ALU implica el diseo de la seccin
aritmtica, la seccin lgica y la modificacin de la seccin aritmtica para realizar las operaciones aritmticas y
lgicas.
Seccin Lgica
Los datos de entrada en una operacin lgica son manipulados en forma separada y los bits son tratados como
variables binarias. En la tabla 3.12.1. se listan cuatro operaciones lgicas OR, OR - Exclusiva, AND y NOT. En el
circuito, las dos lneas de seleccin (S1, S0) permiten seleccionar una de las compuertas de entrada, correspondientes
a la funcin Fi .
S1 S0 Salida Funcin Fi
0 0 F=Ai+Bi OR
0 1 F=AiBi XOR
1 0 F=AiBi AND
1 1 F=A'i NOT
Tabla 3.12.1. Tabla de Funcin Lgica.
Seccin Aritmtica
El componente bsico de la seccin aritmtica es un sumador en paralelo (ver leccin 3.10.1). Las operaciones
aritmticas configuradas en el circuito aritmtico se presentan en la tabla 3.12.2. En una ALU, la suma aritmtica se
puede implementar con un nmero binario en A, otro nmero en la entrada B y el acarreo de entrada Cinen un valor
lgico 0. El resto de las funciones se enuncian en la columna descripcin.
S1 S0 Cin N F
0 0 0 0 A Transferir A
0 0 1 0 A+1 Incrementar A
La implementacin de las funciones anteriores por medio de un circuito lgico sencillo se describe a continuacin. El
circuito se disea bajo el precepto de intervenir cada entrada Bi para obtener las siguientes funciones:
S1 S0 Ni
0 0 0
0 1 Bi
1 0 Bi'
1 1 1
Por medio de estas funciones se pueden lograr las funciones de la tabla 3.12.2 al agregar el nmero Ni (tabla 3.12.3)
a la entrada A a travs de un sumador en paralelo para cada etapa, teniendo en cuenta el valor de la entrada Cin. El
circuito combinacional aritmtico se muestra en la figura 3.12.4. En la figura, la entrada A se denomina Mi en el
sumador completo.
El diseo simple de una ALU se hace utilizando el sumador completo para generar las operaciones lgicas de la
unidad. Por lo tanto es necesario introducir una variable de control adicional (S2), con el fin de seleccionar entre las
operaciones lgicas y aritmticas. En este diseo, un valor S2 = 1 hace que el circuito efecte operaciones
lgicas. Recordando la salida de un sumador completo:
A partir de esta ecuacin, es posible obtener la funcin lgica requerida, utilizando la debida manipulacin lgica. La
funcin requerida se expone en la tabla 3.12.4.
Tabla 3.12.4. Tabla de obtencin de las funciones lgicas con un sumador completo
Partiendo de la tabla 3.12.4., las entradas Mi, Ni y Cini en un sumador completo, son equivalentes a las siguientes
expresiones:
Mi = Ai + S2S1'S0'Bi + S2S1S0'Bi'
Ni = S0Bi + S1Bi'
Cini = S2'Ci
Las doce operaciones generadas en el ALU se resumen en la tabla 3.12.5., la funcin en particular se selecciona a
travs de S2, S1, S0 y Cin. Las operaciones aritmticas son las mismas del circuito aritmtico.
0 0 0 0 A Trasferir A
0 0 0 1 A+1 Incrementar A
0 0 1 0 A+B Suma
0 1 0 1 A-B Sustraccin
0 1 1 0 A-1 Decrementar A
0 1 1 1 A Transferir A
1 0 0 X A+B OR
1 0 1 X A OR-Exclusiva
1 1 0 X AB AND
1 1 1 X A Complementar A
MULTIPLICADOR COMBINATORIO
Un multiplicador combinatorio permite realizar la operacin de multiplicacin mediante circuitos combinacionales.
Como ejemplo, un circuito construido para este propsito es un multiplicador combinacional paralelo de 4 bits,
mostrado en la figura 3.13.2. Este multiplicador estn constituido internamente por circuitos sumadores completos,
que a su vez internamente estn diseados a nivel de puertas lgicas. En el primer nivel de compuertas de la figura
se obtienen las operaciones A0B0, A1B0,A2B0 y A3B0. En el segundo nivel de compuertas, las
operaciones A0B1, A1B1, A2B1 y A3B1. En el tercero, las operaciones A0B2, A1B2, A2B2 y A3B2 y en el
cuarto A0B3, A1B3,A2B3 y A3B3. Por ejemplo, A0B0 es directamente el resultado P0. El dgito P3, se obtiene de la suma de
los bits de entrada a los sumadores S3, S6, S9 y el bit A3B0. La figura 3.13.1 recuerda el proceso de multiplicacin de
dos nmeros de cuatro bits.
Una forma rpida y directa de integrar aplicaciones se logra con la lgica programable, la cual permite independizar el
proceso de fabricacin del proceso de diseo fuera de la fbrica de semiconductores. El sistema desplaza los errores
de alambrado al campo exclusivo de la programacin. Los sistemas con estas caractersticas se pueden borrar y
reprogramar en casos de cambios o revisiones. El resultado es la reduccin del espacio fsico de la aplicacin. El
diseo est basado en bibliotecas y mecanismos especficos de mapeado de funciones.
En el captulo se vern dispositivos como los PAL y GAL por la facilidad de manejo y coste razonable. El lenguaje CUPL
se ver por su amplia difusin y empleo en aplicaciones.
La mayor parte de los diseos de nivel de sistema incorporan diversos dispositivos, como son las
memorias RAM, ROM, controladores, procesadores, etc., que se interconectan mediante gran cantidad de dispositivos
lgicos de propsito general, frecuentemente denominados lgica de unin ("glue logic"). En los ltimos aos, los
dispositivos PLD (Programmable Logic Device) han comenzado a reemplazar muchos de los antiguos dispositivos de
unin, SSI y MSI.
El uso de dispositivos PLD proporciona una reduccin en el nmero de circuitos integrados. Por ejemplo, en los
sistemas de memoria de las computadoras, los PLDpueden utilizarse para decodificar direcciones de memoria y
generar seales de escritura en memoria.
En muchas aplicaciones, los PLD y, en concreto, las matrices lgicas programables (PAL, Programmable Array Logic) y
las matrices lgicas genricas (GAL, Generic Array Logic) pueden emplearse para reemplazar dispositivos
lgicos SSI y MSI, consiguiendo con ello una reduccin de etapas y de los costos.
Por las razones anteriores el diseo lgico hoy da se realiza con PLDs. Un PLD est formado por una matriz de
puertas AND y puertas OR, que se pueden programar para conseguir funciones lgicas especficas.
El diseo con PLDs seala las siguientes ventajas en relacin a la lgica cableada:
Economa.
Menos espacio en los impresos.
Se mantiene la reserva del diseo.
Se requiere tener menos inventarios que con circuitos estndar SSI, MSI.
Menos alambrado.
Tipos de PLD
1. PLDs combinatorios.
Constituidos por arreglos de compuertas AND OR. El usuario define las interconexiones y en esto consiste la
programacin.
2. PLDs secuenciales.
Adems de los arreglos de compuertas, incluyen flip flops para programar funciones secuenciales como
contadores y mquinas de estado(ver captulo 8).
Los PLD se clasifican de acuerdo con su estructura, la cual es bsicamente la ordenacin funcional de los elementos
internos que proporciona al dispositivo sus caractersticas de operacin especficas.
Memoria programable de slo lectura PROM (PROM, Programable Read Only Memory)
La PROM est formada por un conjunto fijo (no programable) de puertas AND conectadas como decodificador y una
matriz programable OR. La PROM se utiliza como una memoria direccionable y no como un dispositivo lgico (Ver Fig
4.1.1.).
El PLA es un PLD formado por una matriz AND programable y una matriz OR programable. La PLA ha sido desarrollada
para superar algunas de las limitaciones de las memorias PROM (Ver Fig 4.1.2.).
Los dispositivos lgicos programables como las PAL y las GAL se vern en la siguiente leccin.
En la actualidad existen soluciones con Dispositivos Lgicos programables complejos que combinan arquitectura
superior y software de gran alcance, ofreciendo un nivel sin precedente en la flexibilidad del diseo.
En el diseo Top - Down se captura una idea en un nivel de abstraccin alto y se implementa a partir de sta
descripcin, en un proceso hacia abajo incrementando el nivel de detalle segn lo requerido. La figura 4.3.1. muestra
la forma de diseo Top- Down. En el primer nivel de la figura se aprecia un sistema inicial dividido en mdulos, los
cuales se dividen sucesivamente hasta llegar a los componentes bsicos del circuito o elementos primarios. Estos
elementos se enmarcan en un cuadrado con la lneas ms gruesa. Los mtodos de diseo se basan en programas
computacionales conocidos como herramientas de automatizacin del diseo electrnico (EDA Tools), las cuales
sobresalen por ofrecer una reduccin significativa en el tiempo del diseo.
Figura 4.2.1. Metodologia De Diseo Top - Down
La metodologia de diseo descendente disminuye el tiempo de diseo. Por medio de los programas CAD para diseo
de impresos se ha logrado disminuir el tiempo a 1/10 parte de lo que se gastaba antes, cuando esto se hacia antes
manualmente. En la realizacin de las simulaciones no es necesario slo un prototipo, ya que este generalmente
funciona; antes se deba repetir el proceso 2 o 3 veces hasta que el prototipo funcionara.
Las ltimas herramientas de diseo electrnico permiten implementar de forma automtica la metodologa de
diseo Top - Down.
Los lenguejes HDL permiten realizar el primer paso de la metodologa del diseo descendente. Se describen en un
lenguaje de alto nivel el comportamiento requerido del circuito a disear. Esta descripcin se puede hacer mediante
tablas de verdad, lista de transiciones de estados, ecuaciones lgicas. Con base a la descripcin, el programa realiza
los siguientes pasos:
1. EL programa HDL es el mismo as cambie la tecnologa, Ejemplo: FPGA, transistores 2.5m ., 1.2 m .
2. Facilita la comunicacin entre los diseadores.
3. Facilita el uso de las partes de un diseo en otros (Reutilizacin).
4. Es posible verificar el funcionamiento del sistema dentro del proceso de diseo sin necesidad de implementar el
circuito.
5. Las simulaciones del diseo, antes de que este sea implementado, permiten probar la arquitectura del sistema
para tomar decisiones en cuanto a cambios en el diseo.
6. Las herramientas de sntesis tienen la capacidad de convertir una descripcin hecha en un HDL, VHDL por
ejemplo, a compuertas lgicas y adems, optimizar dicha descripcin de acuerdo a la tecnologa utilizada.
7. Las descripciones en un HDL proporcionan documentacin de la funcionalidad de un diseo independientemente
de la tecnologa utilizada.
8. Una descripcin realizada en un HDL es ms fcil de leer y comprender que los nestlist o circuitos esquemticos.
9. Un circuito hecho mediante una descripcin en un HDL puede ser utilizado en cualquier tipo de dispositivo
programable capaz de soportar la densidad del diseo. Es decir, no es necesario adecuar el circuito a cada
dispositivo porque las herramientas de sntesis se encargan de ello.
En la actualidad existen diversas herramientas de diseo para integrar sistemas de gran complejidad. Los lenguajes
de descripcin de hardware constituyen una opcin de diseo de soluciones de sistemas electrnicos.
ABEL
El lenguaje ABEL es el ms utilizado en los PLDs. El lenguaje ABEL facilita la programacin de PLDs combinatorios y
secuenciales. Un circuito en ABEL se puede describir en forma de ecuacin lgicas, tabla de verdad o en transicin de
estados.
VHDL
El VHDL es un lenguaje de descripcin y modelado diseado para descibir en forma entendible la funcionalidad y la
organizacin del hardware de los sistemas digitales y otros componentes. VHDL maneja una sintaxis amplia y flexible.
El lenguaje VHDL permite el diseo Top -Down o en otras palabras; modelar los bloques de alto nivel, simularlos y
adecuar la funcionalidad en alto nivel antes de llegar a los niveles bajos de abstraccin en la implementacin del
diseo.
CUPL
Las herramientas EDA ("Electronic Design Automation") son las herramientas de hardware y software utilizadas en el
diseo de sistemas electrnicos.
El diseo de hardware tiene un inconveniente que no existe en el desarrollo de software. El problema es el alto costo
en el ciclo de diseo, desarrollo del prototipo, pruebas y reinicio del ciclo. La etapa de costo ms elevado es el
prototipo. Por necesidad del mercado, se impone la reduccin de costos en esta etapa, con el fin de incluir la fase de
desarrollo del prototipo al final del proceso, evitando la repeticin de varios prototipos, razn por la cual se encarece
el ciclo. La introduccin de la fase de simulacin y verificacin de circuitos utilizando herramientas EDA, hace no
necesaria la comprobacin del funcionamiento del circuito por medio de la implementacin fsica del prototipo.
Las herramientas EDA estn presentes en todas las fases del ciclo de diseo de circuitos. Primero en la fase de
generacin del sistema que puede representarse en un diagrama esquemtico, en bloques o de flujo.
Se encuentra tambin la fase de simulacin y comprobacin de circuitos, donde diferentes herramientas permiten
verificar el funcionamiento del sistema. Estas simulaciones pueden ser de eventos, funcionales, digitales o elctricas,
de acuerdo al nivel requerido. Despus estn las herramientas EDA utilizadas en la sntesis y programacin de
circuitos digitales en dispositivos lgicos programables. Existen, adems, las herramientas EDA orientadas a la
fabricacin de circuitos. En el caso del diseo de hardware estas herramientas sirven para la realizacin
de PCBs ("Printed Circuit Boards" o placas de circuito impreso), o para desarrollar circuitos integrados de aplicacin
especifica como ASICs ("Aplication Specific Integrated Circuits").
Las principales caractersticas y finalidad de algunas herramientas EDA que intervienen en el diseo de circuitos son:
Para la automatizacin del diseo electrnico se utilizan herramientas EDA. Ventajas de la metodologia de diseo que
usa herramientas EDA
Entre las ventajas de la metodologia de diseo con el empleo de herramientas EDA est la reduccin del diseo, la
posibilidad de dividir un proyecto en mdulos que se desarrollan por separado, la independencia del diseo con
respecto a la tecnologa, la posibilidad de la reutilizacin de los diseos, la optimizacin de los circuitos y las
simulaciones posibles con las herramientas.
Con la aparicin de herramientas EDA cada vez ms complejas, que integran en el mismo marco de trabajo las
herramientas de descripcin, sntesis, simulacin y realizacin; apareci la necesidad de disponer de un mtodo de
descripcin de circuitos que permitiera el intercambio de informacin entre las diferentes herramientas que componen
el ciclo de diseo. En principio se utiliz un lenguaje de descripcin que permita, mediante sentencias simples,
describir completamente un circuito. A estos lenguajes se les llam Netlist puesto que eran simplemente eso, un
conjunto de instrucciones que indicaban las interconexiones entre los componentes de un diseo.
PRINCIPIOS Y APLICACIONES DE LOS DISPOSITIVOS LGICOS PROGRAMABLES COMO LAS PALS Y LAS
GALS.
Una matriz programable es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de
interseccin. Las matrices pueden ser fijas o programables. Todos los PLD estn formados por matrices programables.
La estructura bsica de un PLD et formada por un arreglo de puetas AND y OR interconectadas a travs de fusibles.
Matriz AND
La matriz AND est formada por una red de compuertas AND conectadas a travs conductores y fusibles en cada
punto de interseccin. Cada punto de interseccin entre una fila y una columna se denomina celda. La figura 4.4.1
muestra un arreglo de compuertas no programado.
Cuando se requiere una conexin entre una fila y una columna, el fusible queda intacto y en caso de no requerirse la
conexin, el fusible se abre en el proceso de programacin. La figura muestra 4.4.2 un arreglo AND programado.
Figura 4.4.2. Arreglo AND Programado.
Matriz OR
La matriz OR est formada por una red de compuertas OR conectadas a travs conductores y fusibles en cada punto
de interseccin. La figura 4.4.3 muestra un arreglo de compuertas no programado.
Los dispositivos lgicos programables que se usan ms comnmente para la implementacin lgica son la PAL y
la GAL.
La PAL es un PLD que se ha desarrollado para superar ciertas desventajas de la PLA, tales como los largos retardos
debidos a los fusibles adicionales que resultan de la utilizacin de dos matrices programables y la mayor complejidad
del circuito. La PAL bsica est formada por una matriz AND programable y una matriz OR fija con la lgica de salida
(Ver figura 4.4.5). Esta estructura permite implementar cualquier suma de productos lgica con un nmero de
variables definido, sabiendo que cualquier funcin lgica puede expresarse como suma de productos. La PAL se
implementa con tecnologa bipolar (TTL o ECL).
R Registro.
RA Registro asncrono.
X Registro O exclusivo.
V Vestil.
M Macroclula.
PALs comerciales
La GAL se forma con una matriz AND reprogramable y una matriz OR fija , con una salida lgica programable. La
figura 4.4.7. muestra el diagrama de bloques de unaGAL. Esta estructura permite implementar cualquier expresin
lgica suma de productos con un nmero de variables limitado.
Las dos principales diferencias entre los dispositivos GAL y PAL son:
a) la GAL es reprogramable y
b) la GAL tiene configuraciones de salida programables. La GAL se puede programar una y otra vez, ya que usa
tecnologa ECMOS (Electrically Erasable CMOS, CMOS borrable elctricamente).
En la figura 4.4.8. se ilustra la estructura bsica de una GAL con dos variables de entrada y una de salida. La matriz
reprogramable es esencialmente una red de conductores ordenados en filas y columnas, con una
celda CMOS elctricamente borrable (E2CMOS) en cada punto de interseccin, en lugar de un fusible como en el caso
de las PAL. Estos PLDs son borrables y reprogramables. El transistor CMOS tiene 2 compuertas, una de ellas
totalmente aislada, flotante. Para programar cada celda se aplica o no una tensin mayor a VDD (alta) en la compuerta
no flotante. Al aplicar esta tensin el dielctrico conduce y la compuerta flotante se carga negativamente, dejando en
operacin normal siempre abierto el transistor.
En la figura 4.2.9. se muestra un ejemplo de una sencilla matriz GAL programada para obtener la suma de tres
productos.
Con luz ultravioleta(UV): exponiendo el transistor de 5 a 20 minutos a luz UV, el dielctrico conduce y permite la
descarga de la compuerta flotante. Para este borrado el chip lleva una ventana de cuarzo transparente.
Borrado elctrico: Es el ms usado hoy en da. La capa que aisla la compuerta flotante es ms delgada. Al aplicar
una tensin alta con polaridad contraria , la compuerta flotante se descarga porque el dielctrico conduce. Las
ventajas ms importantes de esta tcnica son una descarga rpida, no se requiere UV y no se requiere sacar el chip
de su base.
GALs comerciales
Las diversas GAL tienen el mismo tipo de matriz programable. Se diferencian en el tamao de la matriz, en el tipo
de OLMC (Las macroceldas Lgicas de Salida que contienen circuitos lgicos programables que se pueden configurar
como entrada o salida combinacional y secuencial) y en los parmetros de funcionamiento, tales como velocidad y
disipacin de potencia.
PRINCIPIOS Y APLICACIONES DE LOS DISPOSITIVOS LGICOS PROGRAMABLES COMO LAS PALS Y LAS
GALS
PROGRAMACIN EN CUPL
En el medio electrnico hay diferentes herramientas de software para programar PLDs. Todos estos tienen semejanzas
compartidas y sus diferencias distintivas. Uno de los compiladores disponibles de alto nivel de uso difundido
actualmente es CUPL. En esta leccin se pretende dar una introduccin a la programacin de PLDs utilizando este
compilador dejando por parte del estudiante la profundizacin en el tema.
CUPL es una Herramienta de programacin para PLDs y su nombre proviene de la sigla en ingls de Compiler
Universal Programmable Logic , la cual traduce Compilador Universal para Lgica Programable. Este compilador ofrece
varias caractersticas que permiten desarrollos basados en la metodologa Top-Down y puede generar archivos de
programacin para una gran variedad de dispositivos programables.
La programacin en este Software se efecta mediante la creacin de un archivo de texto que contiene el cdigo para
la programacin del dispositivo. Este archivo tiene tres partes bsicas: el encabezado, la declaracin de los pines de
entrada y las definiciones lgicas.
Generalmente se emplea un archivo como el que se muestra en la Lista 4.5.1 para dar inicio al diseo lgico y tener
una forma estandar para trabajar en CUPL.
Name XXXXX;
Partno XXXXX;
Date
Revision
Designer
Company
Assembly
Location
/***************************************************************/
/*Entradas*/
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
/*Salidas*/
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
pin 1 = ; /* */
/***************************************************************/
/* Ecuaciones Lgicas*/
/***************************************************************/
En este archivo los comentarios los grupos de caracteres "/*" y "*/" son empleados para incluir comentarios por parte
del usuario, los cuales permiten organizar el archivo de una forma comprensible y especificar la funcion de ciertos
tipos de instrucciones.
En las siguientes secciones se indicarn algunas caractersticas a tener en cuenta para programar un PLD en CUPL y la
sintaxis que se debe emplear en el archivo fuente para implementar un diseo.
Asignacin de Pines
La asignacin de los pines corresponde al nombramiento de los pines del dispositivo con nombres descriptivos para las
entradas y salidas. Los nombres se pueden asignar de forma libre y corresponden a las variables que se emplean para
definir las ecuaciones lgicas.
La asignacin de pines se puede hacer de forma invividual o grupal. En la tabla 4.5.1 se indica la sintaxis que se
emplea en CUPL para asignar los pines de un dispositivo programable. Observe que cada asignacin finaliza con un
punto y coma (;).
El signo "!" en la asignacin de pines indica que la variable se complementa. Este signo se emplea generalmente para
declarar variables activas en bajo
Las variables intermedias corresponden a variables asignadas a una ecuacin lgica pero que no representan un pin
en el dispositivo. Generalmente esta variables se utilizan cuando se requiere manejar varias varibles de entra y
salidas.
El objetivo de declarar variables intermedias, consiste bsicamente en reducir el tamao de las ecuaciones lgicas
asignadas a los pines de salida y permitir organizar el archivo de entrada de una forma comprensible. Su uso no es
obligatorio en el archivo de entrada para CUPL.
Las ecuaciones lgicas corresponden a las expresiones lgicas que relacionan los pines de entrada y salida. y en el
archivo fuente se ubican despus de la asigancin de pines y variables intermedias.
Las ecuciones lgicas deben tener cierta sintaxis para que el programa interprete las operaciones lgicas. En la tabla
4.5.2 se ralcionan los operadores lgicos con lo cuales se contruyen las expresiones lgicas junto con la sintaxis que
exige CUPL.
! NOT !A A'
$ XOR A$B A
Extensiones de Variables
Las extensiones son atributos que se agregan a las variables en las ecuaciones lgicas y la manera de emplearlas en
el archivo fuentes es mediante la sintaxis: "V.E", donde V es la variable lgica y E es la extensin.
Las extensiones para las variables son empleadas para definir funciones que dependen de la configuracin fsica de las
salidas del PLD. Generalmente el tipo de salidas que se pueden configurar en un PLD son salidas combinacionales,
secuenciales y triestado, entre otras. En la figura 4.5.1 se muestra un diagrama ilustrativo del tipo de salidas que se
pueden configurar en CUPL segn la extensin seleccionada, y un ejemplo sobre su utilizacin.
Teniendo en cuenta que las varibles lgicas pueden incluir extensiones, la sintaxis que se debe emplear para las
ecuaciones lgicas es la siguiente:
donde var es la variable lgica , ext es la extensin y exp es la expresin lgica.Un sencillo ejemplo usando el
software para creacin de CUPL servir para ilustrar el proceso.
En CUPL existe otro tipo de sintaxis para simplificar un poco la ecuaciones lgicas. Una de ellas consiste en la
utlizacin de los operadores de forma cosecutiva a varias variables. En la tabla 4.5.2 se indica como se pueden
representar las expresiones lgicas de forma abreviada.
B3 # B2 # B1 # B0 [B3..B0]:#
Tabla 4.5.3. Forma abreviada para representar expresiones lgicas con un mismo operador
Existe otro tipo de sintaxis similar a la anterior que define rangos de datos. Inicialmente se debe definir un campo de
la siguiente forma:
En CUPL existen otras formas alternativas de definir las salidas. Entre ellas exiten las Tablas de Verdad, Mquinas de
Estado y Estamentos Condicionales. A contnuacin de indica la sintaxis de cada uno de estos tipo de declaracin de
salidas lgicas.
Tablas de Verdad
Como su nombre lo indica este tipo de sintaxis agrupa la informacin sobre la asociacin de entradas y salidas en
forma de tabla. Para declara una tabla de verdad inicialemnte se declarar las entradas y salidas. Despus de ello se
asignan los valores uno a uno de las entradas y salidas. En la Lista 4.5.2 se indica las sintaxis para un decodificador
de Hexadecimal a BCD.
Mquinas de Estado
Este tipo de definicin permite declarar la relacin entradas y salidas mediante la definicin de mquinas de estado.
La sintaxis empleada para este tipo de definicin se ilustra en las lneas de cdigo de la Lista 4.5.3.
SEQUENCE lista_vars_estado
{
PRESENT estado_n0
IF (condicin1)NEXT
estado_n1;
IF (condicin2) NEXT
estado_n2 OUT sal_n0;
DEFAULT NEXT estado_n0;
PRESENT estado_n1
NEXT estado_n2;
...
...
...
PRESENT estado_nn
estamentos;
}
Estamentos Condicionales
Los estamentos condicionales es otro tipo de sintaxis que se puede emplear en CUPL para definir el diseo lgico.
Bsicamente est sintaxis es muy similar a la un lenguaje de programcin de alto nivel. La sintaxis que
soporta CUPL se relaciona en la lista 4.5.4.
CONDITION {
IF expr0 OUT var;
.
.
IF exprn OUT var;
DEFAULT OUT var;
}
El cdigo que se indica en la Lista 4.5.5. corresponde al texto del archivo fuente para programar un GAL16V8, que
ilustra como programa funciones lgicas bsicas enCUPL.
Name Funciones lgicas;
Partno GAL16V8;
Revision 01;
Date 03/01/03;
Designer J.Beltran;
Company Universidad Nacional;
Location X;
Assembly X;
Device G16V8;
/******************************************************/
/* Archivo Fuente de ejemplo en CUPL para implementar funciones lgicas */
/******************************************************/
Pin 1 = a;
Pin 2 = b;
Pin 12 = inva;
Pin 13 = invb;
Pin 14 = and;
Pin 15 = nand;
Pin 16 = or;
Pin 17 = nor;
Pin 18 = xor;
Pin 19 = xnor;
Lista 4.5.5. Archivo fuente de ejemplo en CUPL para implementacin de funciones lgicas
Una vez se tiene el archivo fuente de un diseo lgico, el paso a seguir es compilar el archivo para generar el archivo
de programacin JEDEC, el cual se emplea para programar el dispositivo. Durante el procesode compilacin del
archivo fuente CUPL verifica la sintaxis del archivo e indica los posibles errores que puedan existir. Si el programa no
detecta errores se genera el archivo .JED.
CUPL entre sus funciones tiene un simulador con el cual se pueden comprobar las salidas. Este proceso se efecta
mediante la generacin de varias entradas que comprueban los estados de las salidas para verificar las ecuaciones
lgicas.
La simulacin se recomienda para verificar que el diseo es correcto y que no existe ningn error. Despus de ello se
puede proceder a programar el dispositivo y finalmente verificar su funcionamiento.
CERROJOS Y FLIP-FLOPS
En los captulos anteriores se realiz el anlisis y sntesis de los sistemas lgicos combinacionales, en los cuales no se
tuvo en cuenta la variable tiempo. En los sistemas secuenciales la variable tiempo juega un papel importante debido a
que el estado de las salidas depende del estado actual de las variables de sistema. Adicionalmente los sistemas
secuenciales tienen la caracterstica de almacenar o retener informacin, lo cual los convierte en sistemas muy
verstiles en electrnica digital.
En este captulo se tratarn conceptos fundamentales sobre la composicin y funcionamiento de los dispositivos
bsicos empleados en lgica secuencial y algunas aplicaciones particulares.
En la lgica secuencial a diferencia de la lgica combinatoria se hace uso de un elemento bsico llamado flip-flop.
El flip-flop es un elemento de memoria que almacena unbit de informacin. Algunos textos usan este nombre para
referirse a los cerrojos, pero en la mayora de las publicaciones se hace la diferencia entre flip-flop y latch. Este ltimo
trmino es el que traducimos como cerrojo.
Los circuitos lgicos secuenciales se dividen bsicamente en dos grupos: Los circuitos asincrnicos y los circuitos
sincrnicos. Los primeros pueden cambiar los estados de sus salidas como resultado del cambio de los estados de las
entradas, mientras que los circuitos sincrnicos pueden cambiar el estado de sus salidas en instantes de tiempo
discretos bajo el control de una seal de reloj. En la animacin 5.1.1. se observa la diferencia entre estos dos tipos de
sistemas secuenciales.
Animacin 5.1.1. Tipos de Circuitos Secuenciales.
Los cerrojos son dispositivos que tienen la capacidad de almacenar un bit de informacin, as que estos solo pueden
estar en dos estados (1 o 0 lgico).
Los cerrojos son dispositivos asincrnicos, debido a que sus salidas cambian en funcin de las entradas, de forma
directamente dependiente del estado de las entradas, en un instante de tiempo cualquiera.
Existen varios tipos de cerrojos y variaciones de estos que permiten realizar funciones especficas, dependiendo de la
aplicacin. A continuacin veremos algunos de ellos.
Este cerrojo se compone de dos compuertas NOR (ver figura 5.2.1). La operacin de este circuito puede entenderse
mediante el anlisis del estado de las terminales para los posibles valores de las entradas R y S.
Generalmente este cerrojo se representa de una forma mas simplificada. (ver figura 5.2.2).
Para entender el funcionamiento de este dispositivo, analizaremos los estados de las salidas para cada uno de los
casos que se puedan presentar a las entradas de este circuito (ver figura 5.2.1):
R=0 y S=0: Asumiendo que Q=0, la salida de la compuerta B es 1, as que la entrada de la compuerta A es
tambin 1, que a su vez obliga a que la salida de la compuerta A sea 0, lo cual concuerda con la suposicin inicial
del estado de la salida Q. Ahora suponiendo que Q=1, la salida de la compuerta B es 0, al igual que la entrada de la
compuerta A, concluyendo que Q=1. En estas condiciones se deduce que el estado previo de las salidas Q y Q' no se
ve alterado cuandoR=0 y S=0.
R=0 y S=1: Suponiendo que Q=0, entonces Q'=1. Las entradas a la compuerta B son S=1 y Q=0, luego la salida de
esta compuerta es Q'=0, entonces Q=1. Tenga presente que las conexiones cruzadas garantizan que las salidas
sean siempre complementarias. Si inicialmente se asume Q=1, las entradas de la compuerta B son
ahora S=1 y Q=1, lo que implica que la salida de esta compuerta es Q'=0 o Q=1.
Si se observan los resultados del anlisis, siempre que R=0 y S=1, la salida Q=1, es decir, que esta
combinacin de seales de entrada sirve para fijar (set) la salida de la terminal Q al nivel lgico 1.
R=1 y S=0: supongamos nuevamente que Q=0, lo cual hace Q'=1. Entonces las entradas de la
compuerta A son R=1, Q'=1, lo que ocasiona que la salida de esta sea Q=0. Es decir, el circuito lgico conserva la
salida en Q restaurada (reset) a 0.
Si suponemos inicialmente Q=1, o Q'=0. Entonces las entradas de la compuerta A se son R=1 y Q'=0, lo que
origina que la entrada a la compuerta A sea Q=0. En este caso, dado que la salida en la terminal Q estaba
en 1 lgico, la accin de R=1 y S=0 es restaurar (reset) su valor a 0.
En resumen, podemos decir que esta combinacin de seales de entrada sirve siempre para restaurar (reset) la
salida de la terminal Q al nivel lgico de 0.
S=1 y R=1: la aplicacin del anlisis anterior muestra que en estas condiciones, ambas compuertas intentan
generar un mismo nivel lgico, lo cual hace indeterminado el estado de las salidas (ver Leccin 3: Estado
Metaestable). Lo que hace que la salida sea indeterminada, es lo que ocurre cuando se suprimen las entradas.
Si se suprime S antes que R, el cerrojo se restaura. Si R se suprime antes que S, el cerrojo se fija. En
consecuencia, en el cerrojo S-R esta condicin de las entradas no se permite; sin embargo, como se explicar
ms adelante, algunas modificaciones en este circuito pueden eliminar la ambigedad. El funcionamiento
descrito de este circuito puede resumirse en los estados que se indican en la tabla 5.2.1.
Si Ri Qi+1
0 0 Qi
0 1 0
1 0 1
1 1 -
El subndice i significa el i-simo instante en el que se alimentan las entradas S y R, donde Qi indica el i-
simo instante y Qi+1 indica el siguiente estado de la salida despus de cambiar las entradas.
En la interactividad 5.2.1 se muestra un cerrojo R-S, en el cual se pueden introducir los valores de las entradas y
verificar su funcionamiento. En las entradas se deben ingresar solo valores lgicos.
Este cerrojo es otra versin del cerrojo S-R y se compone de dos compuertas NAND como se muestra en la figura
5.2.3. Su funcionamiento es similar al cerrojo S-R, y se puede hacer un anlisis similar al que se hizo anteriormente
para llegar a los estados que se resumen en la tabla 5.2.2. Este cerrojo tambin se conoce con el nombre de
cerrojo S-R con entrada activa en bajo.
Al igual que el cerrojo S-R, este tambin tiene su representacin simplificada (ver figura 5.2.4).
Observe el comportamiento de este cerrojo comparado con el anterior. Las salidas son similares, pero en este la
indeterminacin ocurre cuando S=0 y R=0, y no cuandoS=1 y R=1, como en el cerrojo S-R. (ver la tabla 5.2.2 y
comparar con la tabla 5.2.1).
Si Ri Qi+1
0 0 -
0 1 0
1 0 1
1 1 Qi
Este tipo de cerrojo es una variacin del cerrojo S'-R', con dos compuertas NAND adicionales a las entradas (ver figura
5.2.5), permite crear una nueva entrada, la cul acta como habilitador (enable), para permitir que las
entradas S y R, acten sobre cerrojo.
En la siguiente tabla se resumen los estados de las salidas de este cerrojo para las posibles entradas.
Si Ri E Qi+1
0 0 1 Qi
0 1 1 0
1 0 1 1
1 1 1 -
X X 0 Qi
Como se observa, el funcionamiento es similar al cerrojo S'-R', solo que en este caso se agreg otra entrada para
habilitar la operacin del circuito como cerrojo.
El circuito integrado TTL ref. 74LS279 contiene cuatro cerrojos. En este integrado dos de los cerrojos tienen una
entrada doble para S'. Existe otro circuito integradoCMOS ref. 4043 que tiene igualmente cuatro cerrojos. La
configuracin de pines de estos dos circuitos integrados se muestra en la figura 5.2.6
La entrada D va directamente a la entrada S del cerrojo y su complemento a la entrada R. Este cerrojo recibe su
nombre por la habilidad que tiene para transmitir datos a otro cerrojo, o simplemente memorizarlos. Adems este
cerrojo tiene una caracterstica particular diferente a los anteriores, que consiste en que en nign momento de
presentan estados indeterminados a las salidas. La razn por la cual se elimina la indeterminacin es debido a la
presencia del inversor.
En la figura 5.2.8 se observa el smbolo que se utiliza para representar este cerrojo.
D E Qi+1
0 0 Qi
0 1 0
1 0 Qi
1 1 1
El circuito integrado TTL ref. 74LS75 contiene cuatro cerrojos tipo D. Existe otro circuito integrado CMOS ref.
4042 que tiene igualmente cuatro cerrojos tipo D. La configuracin de pines de estos dos circuitos integrados se
muestra en la figura 5.2.9.
ESTADO METAESTABLE
Se define como estado metaestable aquel que ocurre cuando se presentan condiciones invlidas en los cerrojos, por
ejemplo el cerrojo S-R de la leccin anterior tiene un estado metaestable cuando las entradas son: S=1 y R=1. En
esta condicin las salidas intentan generar un mismo estado lgico (0), lo cual constituye una indeterminacin, porque
no se cumple que Q y Q' sean estados complementarios.
Cuando se pone a 0 cualquiera de las entradas (S o R), el cerrojo vuelve a una condicin vlida, sin embargo si las
entradas se ponen a 0 de forma simultanea el cerrojo entra en un estado indeterminado, en el cual se presentan
oscilaciones a la salida. Cuando el cerrojo entra en este estado se dice que el cerrojo se encuentra en estado
metaestable. En la interatividad 5.3.1 se indica lo que ocurre cuando se presenta esta condicin para el cerrojo S-R.
Haga click sobre el botn "simular", para ver las seales de salida del cerrojo.
INTERRUPTOR SIN REBOTE
En los interruptores normales es imposible obtener una transicin de tensin libre de ruido y sin variaciones, debido a
las oscilaciones que se presentan al hacer contacto los terminales del interruptor, formando de esta manera un rebote
en la seal aplicada.
En este fenmeno la seal de salida del interruptor oscila varias veces antes de llegar a un estado estable. Estas
oscilaciones duran unos pocos milisegundos, sin embargo, en algunas aplicaciones es inaceptable que se presenten
estas condiciones y en especial en los circuitos digitales. En la interactividad 5.4.1, se muestra un circuito para ver el
rebote en un interrutor, haga click sobre el interruptor y sostngalo para observar la seal de salida Vo.
Para evitar las oscilaciones durante el cierre de un interruptor se puede emplear un cerrojo S'-R' en la configuracin
que se muestra en la figura 5.4.2. y analice la forma en que funciona.
Inicialmente suponga que el interruptor se encuentra en reposo en la posicin (1) lo que implica que la terminal R del
cerrojo se encuentra en 0V o 0 lgico, es decir R=0 y por lo tanto Q=0. Cuando el interruptor se mueve a la posicin
(2) la terminal R del cerrojo se cambia a 5V o 1 lgico, luego R=1 yQ=1 despus de unos nanosegundos, los cuales
corresponden al tiempo de transicin de las compuertas del cerrojo.
Inevitablemente la conexin mecnica del interruptor en la posicin (2) oscilar, pero cuando esto ocurre las
entradas R y S del cerrojo permanecen en 1 lgico, lo cual hace que el estado actual permanezca inalterado, es decir,
en 1 lgico.
De la misma manera cuando se pasa de la posicin (2) a la (1), ocurre el rebote se sostiene el ltimo estado,
quedando en 0 lgico.
Ejercicio propuesto: Definir la configuracin del mismo eliminador de rebote utilizando un cerrojo S-R.
FLIP-FLOPS
A diferencia de los cerrojos los flip-flops son dispositivos sincrnicos y el estado de sus salidas es controlado en
instantes de tiempo discretos por una seal de reloj. Al igual que los cerrojos los hay de varios tipos y sus aplicaciones
son diversas. Los flip-flops son dispositivos que responden una seal de reloj durante los cambios de 1 a0 lgico o
de 0 a 1 lgico, segn el tipo de flip-flop.
Para lograr que los flip-flops respondan al cambio de la seal del reloj es necesario implementar un circuito que
detecte el flanco de subida o bajada de la sea de reloj. En la interactividad 5.5.1 se observa uno de estos circuitos, el
cul se conoce como flip-flop D maestro/esclavo. Un flip-flop de este tipo contiene dos cerrojos, uno de ellos acta
como maestro y el otro como esclavo. Durante la transicin de la seal de reloj de 1 a 0 lgico las entradas se
emplean para determinar la salida del maestro.Cuando la seal de reloj pasa de 0 a 1 lgico el estado del maestro se
trasmite al esclavo. De esta forma se garantiza que las salidas Q y Q' del flip-flop cambien cada vez que ocurre una
transicin de 0 a 1 en la seal de reloj. Haga click sobre la entrada D del cerrojo maestro y observe como se transmite
la informacin al cerrojo esclavo y de este a la salida.
Este dispositivo es similar al cerrojo S-R de la leccin anterior, la diferencia radica en la inclusin de una seal de
reloj, que acta como seal de confirmacin del paso de los datos hacia el circuito principal, el cul se encarga de
memorizar los datos. Su representacin en los sistemas digitales es la que se muestra en la figura 5.5.2. Este tipo
de flip-flop no es muy comercial as que no se darn mas detalles sobre este dispositivo en este curso.
El flip-flop D es muy similar al cerrojo D, y su diferencia radica en que la seal habilitadora (enable) es reemplazada
por el mecanismo del flip-flop maestro/esclavo, el cual actualiza los datos cada vez que la seal de reloj tiene una
transicin de 0 a 1 o 1 a 0 dependiendo del tipo de flip-flop. La estructura del flip-flop D y su representacin
simplificada se muestran en la figura 5.5.3.
La tabla 5.5.1 es la tabla de verdad de este flip-flop, la cual indica que el dado se tranfiere cuando ocurre un pulso de
reloj.
D CLK Qi+1
0 0
1 1
Cuando D=0 y se presenta un cambio de 0 a 1 lgico en la entrada de reloj del flip-flop la salida Q=0.
Cuando D=1 y se presenta un cambio de 0 a 1 lgico en la entrada de reloj del flip-flop la salida Q=1.
En otras palabras, el dato en D se transfiere y memoriza en Q cada vez que se presenta una transicin de 0 a 1 lgico
en la seal de reloj (CLK); esta condicin se conoce con el nombre de transicin por flanco positivo.
La condicin complementaria a la anterior es cuando la transicin es de 1 a 0 lgico, en este caso se dice que la
transicin se da por flanco negativo.
Este flip-flop se puede utilizar para que la transicin se de por flanco negativo, simplemente basta con poner a la
entrada del reloj (CLK) un inversor como en la figura 5.5.4.
Flip-Flop D Preset-Clear
Este flip-flop es similar al flip-flop D, excepto que este tiene dos entradas asincrnicas activadas en bajo
llamadas Preset y Clear. Estas entradas como su nombre lo indican sirven respectivamante para poner en 1 y 0 la
salida Q del flip-flop independientemente de la seal de reloj. La configuracin de este flip-flop y su representacin
abreviada se describen en la figura 5.5.5.
Flip-Flop J-K
Este flip-flop es una versin modificada del flip-flop D, y su aplicacin es muy difundida en el Anlisis y Diseo de
Circuitos Secuenciales. El funcionamiento de este dispositivo es similar al flip-flop S-R, excepto que en este no se
presentan indeterminaciones cuando sus dos entradas se encuentran en 1 lgico, si no que el flip-flop entra en un
modo de funcionamiento llamado modo complemento, en el cual, la salida Q cambia a su estado complementario
despus de cada pulso de reloj. La configuracin de este flip-flop y su representacin abreviada se muestran en la
figura 5.5.6. y en la tabla 5.5.2 se indican los estados de entrada y salida de este flip-flop.
Note que las entradas J y K controlan el estado de este flip-flop de la misma manera que en el flip-flop D. Cuando las
entradas son J=1 y K=1 no generan un estado indeterminado a la salida, sino que hace que la salida del flip-
flop cambie a su estado complementario.
J K CLK Qi+1
0 0 Qi
1 0 1
0 1 0
1 1 Qi'
Flip-Flop T (Toggle)
Este flip-flop recibe su nombre por la funcin que realiza (Toggle) cambiando el estado de la salida por su
complemento. Es una modificacin del flip-flop J-K limitndolo a cumplir exclusivamente esta funcin, la cual se logra
uniendo las terminales J y K como se muestra en la figura 5.5.7.
La tabla de verdad de este flip-flop se limita a las lneas 1 y 4 del flip-flop J-K.
T CLK Qi+1
0 Qi
1 Qi'
En la leccin anterior se estudi la composicin interna de los flip-flops, en donde se observ que las compuertas
lgicas son la base para la construccin de estos dispositivos, sin embargo, es posible construir los flip-flops de otra
manera, mediante el uso de compuertas de transmisin e inversores, de los cuales se dar una introduccin sobre su
funcionamiento.
Tecnologa TTL: Logica de Transistor a Transistor. Esta tecnologa, hace usos de resistencias, diodos y transistores
bipolares para obtener funciones lgicas estndar.
Tecnologa CMOS: Logica MOS Complementaria. Esta tecnologa, hace uso bsicamente de transistores de efecto de
campo NMOS Y PMOS.
Cuando se habla de compuertas de transmisin e inversores generalmente se trata de circuitos construidos con
tecnologa CMOS, sin embargo, en otras tecnologas hay disponibles dispositivos que realizan la misma funcin. En
esta leccin se har referencia a los conceptos segun tecnologa CMOS.
Inicialmente se ver que son las compuertas de transmisin e inversores y al final de la leccin se indicaran dos
modelos de flip-flops que se pueden construir con estos dos componentes.
Inversores
Existen diversas formas de construir un inversor, ya sea con transistores bipolares, o con trnasistores de tecnologa
MOS. Dentro de esta ltima tecnologa encontramos los inversores NMOS y PMOS.
Inversor NMOS
En la figura 5.6.4 se observa una forma de implementar este dispositivo mediante el uso de un transistor NMOS
Cuando la tensin de la compuerta (VENT) esta en alto (1 lgico) el transistor entra en conduccin, haciendo que el
transistor se ponga en baja impedancia dando como resultado que la salida (VSAL) se establesca en bajo (0 lgico).
En los integrados generalmente la resistencia es reemplazada por un transistor. La razn por la cual se reemplaza se
debe bsicamente a que la resistencia ocupa mas espaci dentro del encapsulado que un transistor, por la cual se
prefiere emplear unicamente trasistores para construir los inversores. En la figura 5.6.4 se indica la configuracin del
inversor empleando dos transistores MOS de canal N.
Inversor CMOS
Este tipo de inversor construido con lgica Complementaria MOS. tiene una ventaja con relacin al anterior, y se debe
a que no consume corriente en ninguno de sus dos estados (alto o bajo). En la figura 5.6.5 se muestra la
configuracin del inversor CMOS.
Como es de observar los trasistores operan de forma complementaria. Cuando la tensin de entrada se encuentra en
alto (1 lgico), el transistor NMOS entra en estado de conduccin y el transistor PMOS entra en corte, haciendo que la
salida quede en bajo (0 lgico). La situacin inversa ocurre cuando la tensin de entrada se encuentra en bajo.
Compuertas de Transmisin
Flip-Flops
Existen varias formas de disear y construir flip-flops segn lo visto en las lecciones anteriores en los dispositivos
vistos en las secciones anteriores. Entre ellas los flip-flop pueden construirse con compuertas lgicas, mediante la
utilizacin de los cerrojos maestro y esclavo vistos en la Leccin: Flip-flops de este captulo, sin embargo, es posible
construir flips-flops usando compuertas de transmisin e inversores, que funcionan de forma similar controlando y
almacenando datos. En la figura 5.6.7 se ilustra el circuito de un flip-flop D maestro/esclavo construido con
compuertas de transmisin e inversores CMOS. Por comodidad las compuertas de transmisin CMOS se muestran en
su representacin abreviada.
En la figura 5.6.8 se ilustra otra configuracin para este flip-flop que fsicamente en el chip ocupa menos espacio pero
que maneja tiempos de propagacin mas prolongados dentro del circuito.
Los flip-flops construidos de esta forma tienen algunas ventajas con respecto a aquellos contruidos con compuertas
lgicas, entre las que se pueden mencionar las siguientes:
El tamao de los circuitos de los flip-flops construidos con compuertas de transmisin e inversores es mas reducido.
La velocidad de propagacin de los datos es menor.
Permiten integrar mas dispositivos en un mismo circuito integrado.
Disipan menos potencia durante su operacin.
El costo de diseo y construccin es menor.
Se plantea como ejercicio para esta leccin hacer un anlisis sobre el funcionamiento de estos flip-flops y comprobar
como se transmite la informacin desde D hasta Q.
CONTADORES Y REGISTROS
En este capitulo se ver como pueden emplearse los flip-flops y las compuertas lgicas para obtener distintos circuitos
secuenciales, como contadores y registros. Adems se presentarn aplicaciones prcticas para ilustrar la forma en que
estos circuitos lgicos secuenciales pueden ser utilizados en los sistemas digitales.
Los contadores digitales son elementos importantes de muchos sistemas digitales. Adems de efectuar la funcin
obvia de contar, tienen la capacidad de integrarse en equipos para la medicin digital de cantidades como tiempo,
velocidad, frecuencia y distancia, entre otras. Los contadores encuentran tambin usos muy difundidos en la
instrumentacin digital.
Los registros son dispositivos que almacenan temporalmente un conjunto de datos en forma de palabras binarias. Por
lo general tienen tamaos de 8, 16, o 32 bits, y se encuentran conformados por un conjunto de flip-flops, en los
cuales se almacena la informacin. Estos dispositivos son empleados en los computadores para almacenar
temporalmente datos, con los cuales se realizan operaciones binarias.
CONTADORES DE PROPAGACIN
Los contadores digitales o binarios en esencia son un grupo de flip-flops dispuestos de tal manera que sus salidas
proporcionan una secuencia determinada como respuesta a los acontecimientos que ocurren a la entrada del reloj.
Estos acontecimientos pueden ser por lo general pulsos de reloj (sincrnicos) o acontecimientos aleatorios
(asincrnicos) alimentados como entradas por la terminal de reloj de los flip-flops. Los contadores de propagacin se
basan en este ltimo principio para generar secuencias binarias que cambian como respuesta a eventos.
Para conformar un contador de n bits solo basta tener n flip-flops, uno para cada bit de informacin. A continuacin se
dar una descripcin sobre la estructura y funcionamiento de los contadores de propagacin mas comunes en lgica
secuencial.
El flip-flop T (ver Captulo 5: Cerrojos y flip-flops), tiene especial aplicacin en los contadores, debido a la habilidad
que tienen para cambiar a su estado complementario, despus de un evento de reloj.
La configuracin del circuito de la Animacin 6.1.1 corresponde a un contador ascendente de 4 bits disparado por
flanco negativo. Note que todas las entradas del losflip-flops T estn en 1, con lo cual el estado de los flip-flops se
complementa despus de cada cambio de 1 a 0 lgico a la entrada de reloj de cada uno de ellos. La Tabla 6.1.1
muestra los estados de salida de este circuito.
Nmero de pulsos Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
15 1 1 1 1
16 0 0 0 0
17 0 0 0 1
Observe la forma en que opera este circuito. Los pulsos de reloj se aplican nicamente al flip-flop A, as que la salida
de este flip-flop se complementar cada vez que haya una transicin negativa en la entrada de reloj.
La salida del flip-flop A se aplica directamente a la entrada de reloj del flip-flop B, de tal forma que la salida de
este flip-flop se complementa cada vez que su entrada de reloj pasa de 1 a 0 lgico. De forma similar se comportan
los flip-flops C y D cambiando su estado cada vez que reciben una transicin negativa en sus respectivas entradas de
reloj.
Las salidas de los flip-flops D,C,B y A representan un numero binario de 4 bits, siendo D el bit mas significativo y A el
menos significativo.
Este contador cuenta en forma ascendente desde 0000 hasta 1111, es decir que tiene 16 estados diferentes (24=16).
En electrnica digital, existe una notacin que define el nmero de estados de un contador, designada por la
sigla MOD mas el el numero de estados, por esta razn se dice que es un contador MOD16. Este tipo de contadores
actuan como divisores de frecuencia. Si se hace un anlisis sobre la frecuencia de las seales de salida de los flip-
flops se puede observar que la seal Q3tiene una frecuencia dada por la siguiente expresin:
donde fCLK corresponde a la frecuencia de la seal del reloj. De igual forma las frecuencias de las salidas de los
dems flip-flops estaran dadas por las siguientes expresiones:
Se plantea como ejercicio dibujar la seal de reloj y las seales de salida de los flip-flops para confirmar estos
resultados.
Este contador se puede modificar para que opere a cualquier nmero MOD entre 1 y 16. De forma general un
contador de n bits se puede modificar para cualquier nmero MOD2n, y para lograrlo es necesario utilizar la entrada
asincrnica de borrado CLR de los flip-flops, como veremos a continuacin.
Los contadores bsicos pueden ser modificados para producir nmeros MOD < 2n, permitiendo que el contador omita
estados que normalmente hacen parte de la secuencia de conteo. La forma mas usual para lograr esto se puede ver
en la Figura 6.1.2, la cual corresponde a un contador de 4 bits MOD10. Este contador es conocido tambin como
contador decadal.
Asumiendo que la compuerta NAND no estuviera presente, el contador sera MOD16, sin embargo la presencia de esta
compuerta altera el funcionamiento normal cuando las salidas Q3 y Q1 que van a la compuerta son 1. Esta condicin
ocurrir cuando el contador pase del estado 1001 (9) al 1010 (10), haciendo que las entradas asncronas CLR de
los flip-flops sean 0 y por tanto el contador pase al estado 0000. En la Tabla 6.1.2, se resumen los estados de este
contador. En el momento que el contador llega al estado 1001 y ocurre una nueva transicin en la entrada de
reloj (CLK), se presenta el estado 1010 (10) de forma temporal, y su duracin depende del tiempo de propagacin de
la compuerta NAND. En la Figura 6.1.3 se observa el estado temporal entre los estados 1001 y 0000.
Nmero de pulsos Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
9 1 0 0 1
10 0 0 0 0
11 0 0 0 1
Los contadores descendentes cuentan en forma inversa, por ejemplo de 1111 hasta 0000. En la Figura 6.1.4 se
observa un contador descendente de 4 bits. Note que este contador es similar al ascendente excepto que las salidas
ahora son su complemento.
En la tabla 6.1.3 se muestran los estados de las salidas de los flip-flops, donde se observa que despus de cada pulso
se decrementa la secuencia binaria representada por las salidas Q3 a Q0.
Nmero de pulsos Q3 Q2 Q1 Q0
0 1 1 1 1
1 1 1 1 0
2 1 1 0 1
15 0 0 0 0
16 1 1 1 1
17 1 1 1 0
Ejercicio: Dibujar dos contadores binarios de 4 bits (ascendente y descendente) utilizando flip-flops T que respondan
al flanco negativo del la seal del reloj.
CONTADORES SINCRNICOS
El inconveniente que se presenta con los contadores de propagacin de la leccin anterior, consiste bsicamente en
que no todos los flip-flops cambian simultaneamente con la seal del reloj. Los contadores asincrnicos deben esperar
que la seal se propage desde el primer flip-flop que representa el bit menos significativo hasta el flip-flop del bit mas
significativo.
En los contadores sincrnicos a diferencia de los contadores de propagacin o asncronicos, la seal de reloj se aplica
simultneamente a todos los flip-flops. Estos contadores por lo general tienen mas circuitera que los contadores de
propagacin y estn conformados por flip-flops J-K. Para entender el funcionamiento de este tipo de contadores es
necesario observar con atencin la secuencia para determinar los componentes que se deben agregar
(generalmente flip-flops y compuertas).
Analicemos el funcionamiento del contador de 3 bits que se muestra en la figura 6.2.1, y cuyos estados se resumen
en la tabla 6.2.1. Asumamos que inicialmente el contador se encuentra en el estado 000. Note que el estado de la
salida Q0 debe cambiar despus de cada transicin positiva del reloj (CLK), as que el flip-flop F0 debe tener sus
entradas J y K en 1 lgico para que cumpla esta funcin, tal como se muestra en la figura 6.2.1.
Nmero de pulsos Q2 Q1 Q0
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
8 0 0 0
Ahora note que la salida Q1 cambia a su estado complementario cada vez que Q0=1 (ver tabla 6.2.1), as que las
entradas J y K del flip-flop F1 deben estar contadas a la salida Q0. De esta forma cada vez que Q0=1 y ocurra una
transicin positiva del reloj el flip-flop cambiara de estado tal como se observa en la secuencia.
Finalmente nos resta analizar el estado de la salida Q2, para lo cual se debe obsevar nuevamente la tabla 6.2.1. Note
que Q2 cambia a su estado complementario cada vez que Q1 y Q0 son 1, as que la forma de implementarlo en el
contador es conectado Q1 y Q0 como entradas a una compuerta AND y cuya salida debe ir a las entradas Jy K del flip-
flop F2. Obseve que este flip-flop queda en estado complemento (toggle), cada vez que se presente esta condicin y
ocurra una transicin positiva en el reloj (CLK).
En la Animacin 6.2.2 se ilustra el funcionamiento de un contador de 4 bits ascendente sincronico, el opera de forma
similar la contador de tres bits. observe como los flip-flop cambian de estado cada vez que sus entradas J y K son 1 y
ocurre una transicin positiva en la seal de reloj.
Animacin 6.2.2. Contador ascendente sincrnico de 4 bits
Nmero de pulsos Q3 Q2 Q1 Q0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
15 1 1 1 1
16 0 0 0 0
Se puede hacer un anlisis similar al anterior para entender el funcionamiento de este contador, sin embargo, observe
que la secuencia de 3 bits es parte de la secuencia para 4 bits, as que solo basta agregar un flip-flop JK y una
compuerta AND que ponga el flip-flop F3 en modo complemento cada vez que Q2, Q1 y Q0 son 1,para lograr que el
contador genere finalmente la secuencia de la tabla 6.2.2.
Al igual que el contador de propagacin de la leccin anterior, el contador sincrnico se puede modificar para cambiar
su nmero MOD, mediante el uso de compuertasNAND y las entradas asincrnicas CLR de los flip-flops. En la Figura
6.2.3 se observa como se puede convertir este contador MOD16 a MOD10, agregando simplemente una
compuerta NAND de dos entradas.
Figura 6.2.3. Componente adicional para convertir un contador MOD16 a MOD10
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/060201.htm
En el comercio existen varios contadores en circuito integrado que aparte de realizar la funcin de generar secuencias
binarias, tiene otras funciones adicionales que generalmente tienen que ver con la configuracin y modo de
funcionamiento. Entre las funciones que se pueden encontrar en estos cirsuitos integrados se encuentran opciones de
seleccin de secuencia ascendente o descendente, borrado as como inicializacin entre otras.
A continuacin se presenta una lista de algunos contadores en circuito integrado de uso difundido en Electrnica
Digital, con una descripcin detallada de sus pines.
Se plantea como ejercicio, adquirir algunos de estos circuitos integrados comerciales. y verificar su funcionamiento.
Como hemos notado en los dos captulos anteriores los flip-flops, los contadores y los registros necesitan recibir una
seal de reloj para poder cumplir su funcin en los circuitos secuenciales. Los circuitos mas conocidos para
desempear la funcin de reloj son los llamados osciladores o generadores de pulso.
Los osciladores son circuitos que cambian el estado de sus salidas permanentemente entre dos estados lgicos
(1 lgico y 0 lgico). Por esta razn estos circuitos son tiles para generar seales de reloj para los Circuitos
Secuenciales Sincrnicos.
Existen varios osciladores que se pueden construir para generar seales de reloj, mediante el uso resistencias,
condensadores, inversores y compuertas. En la Figura 6.6.1 se observan algunas configuraciones que se pueden
implementar haciendo uso de estos elementos. El esquema de la figura 6.1.1 (a), es un circuito generador de pulsos
sin rebote y opera de forma manual. En la posicin (1) la salida ser 0 lgico y cuando el interruptor se ubica en la
posicin (2) la salida es 1 lgico.
En las figuras (b) y (c) se muestran dos circuitos generadores de pulso que se pueden implementar usando inversores
y compuertas. La frecuencia de oscilacin ed setoas circuitos depende bsicamente de los valores de la resistencia y el
condensador.
Para este tipo de circuitos se recomienda el uso de circuitos CMOS de la serie B, ya que estos tienen tiempos de
conmutacin menores.
En la Figura 6.6.2 se observa la configuracin de este oscilador. La salida Vo es una onda aproximadamente cuadrada
y su forma depende de los valores de R y C. En la Tabla 6.1.1 se observa la relacin entre los valores de R y C con la
frecuencia para tres tipos de integrados con inversores tipo Schmitt, junto con los rangos de valores que debe
tener R para que el circuito oscile.
7414 0.8/RC R
74LS14 0.8/RC R
74HC14 1.2/RC R
El CI-555 es un dispositivo de tecnologa TTL que funciona de varios modos. En la Figura 6.6.3 observamos la manera
de conectar los componentes al Circuito Integrado de forma que opere como un Multivibrador Astable. La frecuencia
de oscilacin de la seal de salida depende de los valores de las resistencias RA, RB y C.
La seal de salida de este circuito es una onda cuadrada de las caractersticas que se indican en la Figura 6.6.4, donde
los tiempos t1 y t2 estn dados por las siguientes expresiones:
El Anlisis y Diseo de Circuitos Secuenciales se encuentra estrechamente relacionado con el control secuencial,
denominado tambin control lgico o control binario. En los sistemas de control secuencial las entradas y las salidas
son de tipo binario y determinan una serie de pasos para la operacin de un proceso.
Las entradas por lo general son: pulsadores, interruptores, microinterruptores, fines de carrera o detectores de
proximidad. Las salidas pueden ser: Vlvulas solenoides, cilindros neumticos, contactores para arranque y parada de
motores, pilotos de sealizacin, alarmas, etc.
Cuando el sistema de control secuencial es pequeo se realiza con circuitos digitales combinatorios y secuenciales.
Cuando es grande se realiza con PLCs (Controladores Lgicos Programables), microcomputadores,
microprocesadores especiales para control secuencial y por software en PC.
En este capitulo se mostraran las metodologas bsicas para el Diseo de Circuitos Secuenciales y su aplicabilidad en
dispositivos secuenciales para funciones especficas.
La teora de mquinas de estado es el nombre con el que se conocen los mtodos de Anlisis y Diseo de Circuitos
Secuenciales Sincrnicos. Esta leccin constituye una introduccin al tema del captulo, donde se definir lo que son
las mquinas de estado y los conceptos bsicos para entender la metodologa de Anlisis y Diseo de Circuitos
Secuenciales.
Las mquinas de estado son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una
etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algn propsito especial. Los
registros y contadores con entradas asincrnicas son ejemplos de este tipo de sistemas secuenciales.
Los circuitos secuenciales se clasifican dentro de una categora conocida como mquinas de estado, de la cual se
distinguen comnmente dos tipos:
Mquina de Mealy: En esta mquina de estados las salidas se encuentran determinadas por el estado interno del
sistema y por las entradas no sincronizadas con el circuito. El diagrama de bloques representativo de esta
mquina se muestra en la figura 7.1.1. donde se observa que las salidas del sistema son tanto sincrnicas como
asincrnicas.
Mquina de Moore: Las salidas solo dependen del estado interno y de cualquier entrada sincronizada con el circuito,
como se observa en la figura 7.1.2. donde las salidas del sistema son unicamente sincrnicas. Un ejemplo de este
tipo de mquinas de estado son los contadores (ver captulo 6).
Los circuitos secuenciales se caracterizan por tener una etapa combinacional y otra de memoria conformada por flip-
flops. En la figura 7.1.3. se puede observar un ejemplo particular de este tipo de circuitos, el cual corresponde a una
Maquina de estado de Mealy. Observe que hay salidas que dependen de la etapa de memoria y hay una salida que
depende directamente de la etapa combinatoria.
Figura 7.1.3. Circuito Secuencial de ejemplo
Con base en el circuito de la figura 7.1.3. se dar una descripcin de las herramientas bsicas que son empleadas
para el Anlisis y Diseo de Circuitos Secuenciales. Entre estas herramientas se encuentran las ecuaciones lgicas, las
los diagramas de estado, las tablas de estado, las tablas de transicin y los mapas de Karnaugh.
Ecuaciones Lgicas
Las ecuaciones lgicas son funciones que definen la relacin existente entre los estados de entrada y los estados de
salida del sistema. Para determinar las ecuaciones lgicas de la mquina de estados de la figura 7.3.1. inicialmente se
deben identificar los estados siguientes. Estos estados corresponden a aquellos que ocurren despus de una transicin
en la seal de reloj de los flip-flops. Recuerde que para los flip-flops tipo D el estado siguiente (Qi+1) es igual al estado
de la entrada D. Teniendo en cuenta lo anterior las ecuaciones lgicas para los flip-flops A y B del circuito de la figura
7.1.3 seran las siguientes:
A = DA = AX + BX
B = DB= AX
Y = (A + B)X
Observando esta ltima ecuacin se concluye que la salida (Y) es funcin del estado presente del sistema (A y B) y de
la entrada asincrnica (X).
Las ecuaciones lgicas en los circuitos secuenciales tienen una estructura formada por dos clases de estados:
Los estados siguientes, los cuales se agrupan al lado izquierdo de la expresin y representan las variables
dependientes del sistema. El estado de estas variables cambia en el momento que ocurra un transicin en la seal
de reloj.
Los estados actuales y entradas del sistema. Agrupados al lado derecho de la exprexin, constituyen las variables
inpendientes, las cuales pueden o no cambiar en sincrona con el sistema.
Cuando las ecuaciones de estado contienen varios trminos, se pueden simplificar empleando metodologas de
reduccin de trminos como Algebra de Boole, Mapas de Karnaugh, o mediante el Algoritmo de Quine-McCluskey , las
cuales fueron presentadas en el Capitulo 2.
Tablas de Estado
Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del
sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo
general se divididen en tres partes: estados actuales, estados siguientes y salidas, tal como se muestra en la tabla
7.1.1.
A B X A B Y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 0
0 1 1 1 1 1
1 0 0 0 0 0
1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 1 0 1
La tabla de estado para un circuito secuencial con m flip-flops y n entradas tiene 2m+n filas. El estado siguiente
tiene m columnas, y el nmero de columnas depende del nmero de salidas.
Existe una forma mas conveniente de organizar la informacin en la tabla de estado, la cual se muestra en la Tabla
7.1.2, donde los estados se agrupan de tal modo que la tabla se puede traducir a un diagrama de estados. Al igual
que la tabla anterior esta tiene tres secciones: estados actuales, estado siguientes y salidas, sin embargo los estados
se agrupan dependiendo del valor de las entradas. La seccin de estados actuales agrupa los estados que ocurren
antes de una transicin en la seal de reloj, la seccin de estados siguientes lista aquellos que ocurren despus de la
transicin del reloj y la seccin de salidas rene los estados que se dan en el mismo instante de los estados actuales.
Estado Actual
AB AB AB Y Y
00 00 01 0 0
01 00 11 1 0
10 00 10 1 0
11 00 10 1 0
Haciendo un anlisis de la operacin del circuito de la figura 7.1.3. se puede observar lo siguiente: Cuando la
variable X=0 los estados actuales A y B cambian a 0despus de la transicin de reloj , y cuando X=1, los estados de
las salidas se comportan tal como se resume en la tabla 7.1.2. Se plantea como ejercicio verificar la informacin de la
tabla.
Diagramas de Estado
Un diagrama de estados es una representacin grfica que indica la secuencia de los estados que se presentan en un
circuito secuencial, teniendo en cuenta las entradas y salidas. El diagrama se forma con crculos y lneas. Los circulos
representan los estados del circuito secuencial y cada uno de ellos contiene un nmero que identifica su estado. Las
lneas indican las transiciones entre estados y se marcan con dos nmeros separados por un (/), estos dos nmeros
corresponden a la entrada y salida presentes antes de la transicin. A manera de ejemplo observe la lnea que une los
estados 00 y 01 en el diagrama de estado de la figura 7.1.4. Esta lnea marcada como 1/0 indica que el circuito
secuencial se encuentra en el estado 00 mientras la entrada X=0 y la salida Y=0, y que despus de que ocurra una
transicin en la seal de reloj el estado cambia a 01.
Figura 7.1.4. Diagrama de estados correspondiente a la Tabla 7.1.2
Las lneas que salen y regresan al mismo crculo indican que no hay cambio en el estado, cuando se presentan la
entrada y salida indicados.
Las tablas de transicin se usan en conjunto con las de estado y representan la tabla de verdad de los flip-flops con
los cuales se desea implementar el circuito secuencial. La tabla contiene los estados actuales y siguientes segn el
estado de las entradas de los flip-flops. La tabla 7.1.3 corresponde a la tabla de transicin delflip-flop JK.
Qi Qi+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0
En la tabla, Qi corresponde al estado actual y Qi+1 al estado siguiente, J y K son las entradas de los flip-flops. La
informacin sombreada en la tabla se interpreta de la siguiente forma: cuando el estado presente de la salida Q=0 y
las entradas J=1 y K=X (X indica una condicin de no importa, 1 o 0), despus de un pulso de reloj en elflip-flop la
salida cambia al estado siguiente Q=1.
Mapas de Karnaugh
Generalmente la tablas de estado y de transicin de los flip-flops se fusionan en una sola para agrupar la informacin
de tal forma que permitan construir los Mapas de Karnaugh para simplificar las funciones lgicas. La tabla 7.1.4
corresponde a una tabla de estado de un contador de tres bits con flip-flops JK. Observe que esta tabla incluye las
entradas J y K para cada una de la transiciones (estado actual a estado siguiente). Las regiones sombreadas en la
tabla indican que el estado Qi cambia estando presentes las entradas Ji y Ki correspondientes despus de una
transicin del reloj.
Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 1 0 X 0 X 1 X
0 0 1 0 1 0 0 X 1 X X 1
0 1 0 0 1 1 0 X X 0 1 X
0 1 1 1 0 0 1 X X 1 X 1
1 0 0 1 0 1 X 0 0 X 1 X
1 0 1 1 1 0 X 0 1 X X 1
1 1 0 1 1 1 X 0 X 0 1 X
1 1 1 0 0 0 X 1 X 1 X 1
Los Mapas de Karnaugh se emplean para definir la lgica de las entradas de los flip-flops y se debe hacer uno para
cada una de las entradas. La figura 7.1.5 corresponde al Mapa de karnaugh de la entrada J1. de la tabla de estado
7.1.4.
Observe que cada celda en el mapa representa uno de los estados actuales de la secuencia en la tabla de estado. Una
vez asignados todos los estados posibles a cada celda en el Mapa de Karnaugh se procede a simplicar y deducir las
expresiones lgicas. En la figura 7.1.5 se observa que la expresin correspondiente a la entrada J1 es:
J1 = Q0
Esta expresin indica que en el circuito lgico la salida Q0 debe ir conectada a la entrada J1. En la siguiente leccin se
explicara de una forma detallada el procedimiento para el Diseo de Circuitos Secuenciales.
La gran mayora de los circuitos digitales contienen flip-flops y compuertas para realizar funciones especficas. El
diseo de estos circuitos inicia a partir de las especificaciones y finaliza con las funciones lgicas, de las cuales se
obtiene el circuito lgico.
Inicialmente se debe crear una tabla de estado o representacin equivalente, para identificar la secuencia de estados
que deseada. Luego de seleccionar el nmero y tipo de flip-flops con los cuales se desea hacer el diseo, se deduce la
lgica combinatoria necesaria para generar la secuencia de estados.
Los circuitos secuenciales se pueden analizar y disear siguiendo un procedimiento claramente definido que consiste
en los siguientes pasos:
1. Asignacin de estados
2. Construccin del diagrama de transicin
3. Elaboracin de la tabla de estados
4. Obtencin de ecuaciones o funciones lgicas
5. Realizacin de circuitos lgicos
Ejemplo
Disear el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la figura 7.2.1.
Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como salidas las de los flip-
flops). Para representar los cuatro estados se usarn dos flip-flops identificados como A y B de tipo JK. y la entrada
ser identificada como X.
Figura 7.2.1. Diagrama de estados
La figura 7.2.1 corresponde al diagrama de transicin. Analizando este diagrama se observa que el estado 10 se
mantiene mientras X=0 y en el momento que X=1 pasa al estado 11, despus al estado 00 y finalmente al estado 01,
hasta el momento que nuevamente X=0, volviendo de esta forma al estadoAB=10. Adicionalmente observe que los
estados 00 10 y 11, se mantienen cuando X=0 y el estado 01 se mantiene cuando X=1.
A partir del diagrama de estados y de la tabla de transcin del flip-flop JK se puede contruir la tabla de estados (ver
tabla 7.2.1).
X A B A B JA K A JB K B
0 0 0 0 0 0 X 0 X
1 0 0 0 1 0 X 1 X
0 0 1 1 0 1 X X 1
1 0 1 0 1 0 X X 0
0 1 0 1 0 X 0 0 X
1 1 0 1 1 X 0 1 X
0 1 1 1 1 X 0 X 0
1 1 1 0 0 X 1 X 1
Para la simplificacin de los circuitos combinatorios es conveniente que se presenten condiciones de"no importa", ya
que estas permiten simplicar las funciones lgicas y por tanto el tamao del circuito lgico.
En este paso se obtienen las funciones lgicas para las entradas de los flip-flops (JA, KA, JB y KB) y el objetivo es
deducir la lgica combinatoria de estado siguiente, mediante el uso de Mapas de Karnaugh. A continuacin en la figura
7.2.2. se muestran los Mapas de Karnaugh y las funciones lgicas correspondientes.
Figura 7.2.2. Mapas de Karnaugh para las entradas JA , JB, KA y KB
Este es el ultimo paso del diseo, y consiste en implementar la lgica combinacional a partir de las ecuaciones lgicas
obtenidas en el paso anterior para las entradas J y K de los flip-flops. Las conexiones correspondientes, se efectan
mediante el uso de compuertas e inversores y en la figura 7.2.3. se muestra el diseo final del circuito lgico.
El diseo del circuito de la figura 7.2.3 se hizo con flip-flops JK. En esta seccin veremos como se realiza el diseo de
circuitos secuenciales mediante el uso de flip-flopstipo D.
A diferencia de las entradas de los flip-flops JK, las entradas en los flip-flops D corresponden exactamente a los
estados siguientes. Por esta razn en la tabla de estado no se requiere una columna independiente para las
excitaciones. En el siguiente ejemplo se ver como realizar el diseo de circuitos secuenciales con flip-flops D.
Ejemplo
Realizar el diseo del circuito lgico correspondiente a la tabla de estado 7.2.2. Observe que esta tabla es la misma
del ejemplo anterior, pero adicionamente se agreg una salida (Y).
X A B A(DA) B(DB) Y
0 0 0 0 0 0
1 0 0 0 1 1
0 0 1 1 0 0
1 0 1 0 1 0
0 1 0 1 0 0
1 1 0 1 1 1
0 1 1 1 1 0
1 1 1 0 0 0
Este proceso al igual que el ejemplo anterior tiene cuatro estados de dos bits (AB), una entrada (X) y una salida (Y).
Para representar los cuatro estados se usarn dos flip-flops D identificados como A y B.
El diagrama de transicin es el mismo del ejemplo anterior, excepto que ahora se tiene en cuenta la salida (Y). En la
figura 7.2.4 se observa el diagrama de estado.
Para este ejemplo inicialmente se di la tabla de estados, la cual se observa en la tabla 7.2.2.
En este paso se deben obtener las funciones lgicas para las entradas de los flip-flops (DA, DB) y la salida (Y). En la
figura 7.2.5 se muestran los Mapas de Karnaugh y las funciones lgicas correspondientes.
Con las ecuaciones lgicas obtenidas en el paso anterior se puede implementar el circuito lgico. Las conexiones
correspondientes, se efectan mediante el uso de compuertas e inversores y en la figura 7.2.6 se muestra el diseo
del circuito.
Figura 7.2.6. Circuito Lgico
Estados no usados
Durante el diseo de los circuitos secuenciales para simplificar las representaciones lgicas, es conveniente emplear
los estados no usados como condiciones que no importa. Estos estados se identifican con una (X) en los Mapas de
Karnaugh.
Para ilustrar como emplear estos estados, observe la tabla 7.2.3. Teniendo en cuenta todas las posibles
combinaciones de las variables A, B, C y X, Note que en esta tabla hay seis estados que no estn presentes
(0000, 0001, 1100, 1101, 1110 y 1111) . Las seis filas de la tabla correspondientes a estos estados se identifican
como estados X (1 o 0) o condiciones de "No importa"
A B C X A B C JA KA JB KB JC KC Y
0 0 1 0 0 0 1 0 X 0 X X 0 0
0 0 1 1 0 1 0 0 X 1 X X 1 0
0 1 0 0 0 1 1 0 X X 0 1 X 0
0 1 0 1 1 0 0 1 X X 1 0 X 0
0 1 1 0 0 0 1 0 X X 1 X 0 0
0 1 1 1 1 0 0 1 X X 1 X 1 0
1 0 0 0 1 0 1 X 0 0 X 1 X 0
1 0 0 1 1 0 0 X 0 0 X 0 X 1
1 0 1 0 0 0 1 X 1 0 X X 0 0
1 0 1 1 1 0 0 X 0 0 X X 1 1
Los mapas de karnaugh correspondientes a las entradas de cada flip-flop (JA, KA, JB, KB, JC y KC) y la salida (Y), se
muestran en la figura 7.2.7. Observe que en cada mapa los estados resaltados en rojo corresponden a los estados no
usados, los cuales se han incluido como condiciones "no importa" para simplificar la mayor cantidad de variables en
las expresiones.
Como conclusin sobre esta seccin, podemos decir que es recomendable incluir los estados no usados en el diseo
de los circuitos secuenciales. Esto implica una reduccin en las expresiones lgicas y por consiguiente en el tamao
del circuito, que en otros trminos representar obviamente un menor tiempo de desarrollo y costo de
implementacin.
Se plantea como ejercicio hacer el diagrama lgico correspondiente a las ecuaciones halladas a partir de los mapas
de Karnaugh de la figura 7.2.7 y hacer el diseo del circuito secuencial sin tener en cuenta los estados no usados para
comparar los dos casos y notar las diferencias.
Para mas informacin sobre simplificacin de funciones lgicas ver la Leccin 4. Mapas de Karnaugh.
El anlisis de Circuitos Asincronicos es similar al analisis de los circuitos sincrnicos, sin embargo estos circuitos
requieren un tratamiento particular, debido a que no existen pulsos de reloj, como referencia de tiempo para controlar
los cambios de estado.
En los Circuitos Cecuenciales Asincrnicos las variables de entrada actuan directamente sobre el sistema, es decir que
un cambio en tales variables produce un cambio sobre el estado interno. Los Circuitos Secuenciales Asincrnicos se
clasifican dependiendo del tipo de entradas o del cambio en el tiempo de las estas, en dos grupos: los Circuitos
Asincrnicos en Modo Fundamental y los Circuitos Asincrnicos en Modo Pulso.
Los circuitos asincrnicos operando de esta forma fueron los primeros que se implementaron en los inicios del anlisis
de los sistemas secuenciales en Electrnica Digital y se encuentran constituidos por un sistema combinacional, donde
algunas de sus salidas se unen a las entradas formando lazos de realimentacin. En la figura 7.3.1 se observa un
diagrama de bloques descriptivo de este tipo de sistemas secuenciales.
Las variables en minscula (yn) corresponden a las variables secundarias en el instante t (Yt), y las variables en
mayscula corresponden a las variables secundarias en el instante t+1 (Yt+1).
Para observar los fenmenos que pueden ocurrir en este tipo de sistemas, a continuacin se describe un
procedimiento para analizar los estados lgicos, el cual se desarrolla en los siguientes pasos:
1. Hallar las ecuaciones lgicas para las variables de excitacin y salida del circuito.
2. Elaborar los mapas de Karnaugh para los estados de las variables de excitacin y salida a partir de las
ecuaciones halladas. Los mapas de Karnaugh contienen los estados secundarios versus los estados de salida.
3. Localizar e identificar todos los estados estables e inestables en el mapa de Karnaugh de las variables de
excitacin. Los estados estables ocurren cuando yt = Yt, y los estados inestables cuando yt Yt.
4. Asignar un nombre (pueder ser un caracter) a cada fila de la tabla.
5. Elaborar una tabla de flujo, reemplazando cada estado estable de excitacin con el mismo nombre que tiene
asignado el estado secundario, as como el de los estados inestables. Para analizar la tabla de flujo, debern
considerarse movimientos horizontales, cuando ocurran cambios en las entrada, y movimientos verticales
cuando se dn transiciones de estados inestables a estados estables, sin cambio en las entradas.
Para ilustrar el proceso de anlisis se desarrollar un ejemplo basado en el circuito de la figura 7.3.2.
Este circuito tiene dos variables de entrada (x1, x2), una variable de estado interno o secundaria (y) y una variable de
salida o exitacin (Y=z).
Obtencin de las ecuaciones lgicas del circuito. Segn la lgica del circuito se deducen las siguientes expresiones
para los estados de excitacin y salida. Comparando este circuito con el de la figura 7.3.1, se observa que la
variable de excitacin corresponde a la variable de salida, por esta razn las expresiones son las mismas.
Y = x1x2' + x2y
z = x1x2' + x2y
Elaboracin de Mapas de Karnaugh para las variables de excitacin y salida. Partiendo de las expresiones lgicas
anteriores y teniendo encuenta todas las posibles combinaciones de las variables x1, x2 y y se puede llegar al mapa
de Karnaugh de la figura 7.3.3, el cual es el mismo para Y como para z.
Esta tabla indica los cambios en el estado de la varible Y despus de un cambio en las entradas x1 y x2. A manera de
ejemplo, observe el estadosombreado (1) en la figura 7.3.3, el cual indica que el estado actual Y=0 cambia
a Y=1 cuando las entradas son x1=x2=1.
Localizacin de estados estables e inestables. De la figura 7.3.3 se pueden deducir las estados estables e inestables,
basta observar si los estados actuales cambian al alterar las entradas. Teniendo en cuenta lo anterior se puede
concluir que los estados inestables son aquellos que estan sombreados y los dems son estables, debido a que no
hay cambios en el estado siguiente.
Asignacin de nombres a cada fila de la tabla de excitacin. Las filas de la tabla sen identificadas como a y b para
identicar los estados 0 y 1 de la variable Y.
Tabla de flujo o transicin de estados lgicos. Teniendo en cuenta que los estados de las entradas no deben tener
cambios simultaneamente, en la figura 7.3.4 se muestra la tabla de flujo, donde se observa la transicin de
estados a y b segn el estado de las entradas.
Figura 7.3.4. Flujo de estados
Los circuitos asincrnicos operando de este modo son similares a aquellos que operan en modo fundamental, excepto
que las seales de entrada corresponden a pulsos que se ocuren de forma asncrnica. en la figura 7.3.5 se observa
un diagrama de bloques ilustrativo sobre este tipo de sistemas.
Un circuito secuencial activado por pulsos, se caracteriza por cumplir las siguientes condiciones:
Para entender el funcionamiento de este tipo de circuitos, se desarrollar un ejemplo con base en el circuito de la
figura 7.3.6.
Para comenzar el anlisis considere que los pulsos de entrada ocurren en la secuencia que se observa en la figura
7.3.7. Note que los estados de las entradas son complementarios y las transiciones ocurren en instantes de tiempo
diferentes, lo cual es una caracterstica particular de las entradas de estos sistemas secuenciales.
Para analizar el estado de las variables del circuito se deben deducir las expresiones lgicas para S, R y z. De la figura
7.3.6, se tiene:
S = x1y'
R = x2y
z = x1y
A partir de las expresiones lgicas se puede construir el diagrama de tiempos para las variables del circuito. En la
figura 7.3.8 se observan las transiciones de los estados correspondientes a la secuencia de las seales de entrada.
Figura 7.3.8. Diagrama de tiempo del circuito de la figura 7.3.6
La figura 7.3.9 muestra los estados siguientes y los estados de salida de la forma "estado siguiente/estado
salida" (y/z).
En la tabla no se tuvo en cuenta la columna correspondiente a la entrada x1x2=11, debido a que los circuitos
secuenciales asincrnicos no admiten entradas activas de forma simultanea. Esta tabla de estados se puede simplificar
aun mas debido a que el estado 00 no implica ningn cambio en los estados del circuito, as que la columna
correspondiente se puede suprimir, sin alterar el anlisis. Teniendo presente esta condicin, la figura 7.3.9 se reduce
a la figura 7.3.10. Observe que los estados de las entradas son complementarios, lo cual es caracterstico de una
seal pulsada.
Los sistemas combinacionales y secuenciales tienen gran variedad de aplicaciones en la vida real. En la mayora de
sistemas digitales encontrados en la prctica se incluyen elementos que memorizan la informacin, por lo cual se
requieren de circuitos secuenciales.
El objetivo de esta leccin consiste en dar aplicabilidad a la teora vista en este captulo, mediante dos ejemplos
sencillos, con los cuales se harn uso de las herramientas de anlisis y diseo de circuitos secuenciales: la
implementacin de un semforo y un control de un motor de pasos.
Implementacin de un Semforo
Construir el circuito lgico para un semforo que responda a la siguiente secuencia: Verde, Amarillo, Rojo y
Rojo/Amarillo.
El semforo tiene cuatro estados, los cuales se pueden representar con 2 flip-flops, sin embargo para asignar el
tiempo de duracin de cada estado se emplearan 3 flip-flops, de los cuales se pueden obtener 8 estados, cuyos
tiempos se pueden distribuir de la siguiente forma:
Verde (3 ciclos)
Amarillo (1 ciclo)
Rojo (3 ciclos)
Rojo-Amarillo (1 ciclo)
Donde cada ciclo representa una transicin en la seal de reloj. Observe que la duracin de la secuencia de los cuatro
estados es de 8 ciclos.
El primer paso para realizar el diseo consiste en asignar los estados lgicos, como se puede notar en la tabla 7.4.1.
Esta asignacin de estados se puede hacer de forma libre y no necesariamente debe corresponder a una secuencia
binaria, sin embargo, en este caso por comodidad sean establecido de esta forma para implementar el circuito con
base en un contador sincrnico de tres bits.
0 0 0 1 0 0
Verde> 0 0 1 1 0 0
0 1 0 1 0 0
Amarillo 0 1 1 0 1 0
1 0 0 0 0 1
Rojo 1 0 1 0 0 1
1 1 0 0 0 1
Rojo-Amarillo 1 1 1 0 1 1
En la figura 7.4.1 se observa un contador sincrnico de tres bits construido con flip-flops JK, a partir del cual se
realizar el diseo. El objetivo de hacer uso del contador es emplear sus salidas (Q2, Q1 y Q0) para generar los
estados de las variables V, A y R (Verde, Amarillo y Rojo) del semforo.
El siguiente paso consiste en deducir la logica combinacional adicional para generar los estados de las
variables V, A y R. Para ello se deben construir los mapas deKarnaugh y obtener las ecuaciones lgicas. En la figura
7.4.2 se muestran los mapas con las ecuaciones resultantes para cada variable.
Con las expresiones obtenidas solo resta agregar la lgica al contador de la figura 7.4.1. El diseo del final del circuito
de muestra en la animacin 7.4.1.
Animacin 7.4.1. Circuito Lgico
Un motor de pasos es un tipo especial de motor diseado para rotar un determinado ngulo como respuesta a una
seal en su circuito de control. Estos motores se utilizan en varios sistemas de control de posicin debido a la
presicin que manejan.
Este tipo de motor puede tener una o dos bobinas por fase. Los que tienen una bobina por fase se conocen como
motores de tres hilos y los que tienen dos bobinas por fase se conocen como motores de devanado partido. Para este
ejemplo se emplear un motor de fase partida, como el que se indica en la figura 7.4.3. Observe la foma en que debe
ser conectado para hacer el control.
En este ejemplo se har el diseo del circuito de control para manejar cuatro pasos, los cuales corresponden a la
posicin de los interruptores se indican en la tabla 7.4.2.
Numero de paso
S1 S2 S3 S4
1 ON OFF OFF ON
2 ON OFF ON OFF
3 OFF ON ON OFF
4 OFF ON OFF ON
Los interruptores se pueden controlar de dos formas, ya sea con tiristores (SCR's) o mediante el uso de relevos. En la
figura 7.4.4 se observan las dos opciones para manejar los interruptores.
Figura 7.4.4. Interruptor por relevo y de estado solido
Observando la tabla 7.4.2, se puede notar que los estados de los interruptores S1 y S2, son complementarios, al igual
que los interruptores S3 y S4, lo cual simplifica el diseo del circuito.
El primer paso para realizar el diseo de la unidad de control, consiste en asignar los estados lgicos y seleccionar el
tipo de flip-flop con el cual se implementar el circuito lgico. En la tabla 7.4.3 se relacionan los estados lgicos de las
salidas y los estados de las entradas j y k de los flip-flops. Note que las variables S2 y S4 no se tuvieron en cuenta,
debido a que sus estados son el complemento de S1 y S3 respectivamante.
S1 S3 D S1 S3 J1 K1 J3 K3
1 0 0 0 0 X 1 0 X
1 1 0 1 0 X 0 X 1
0 1 0 1 1 1 X X 0
0 0 0 0 1 0 X 1 X
1 0 1 1 1 X 0 1 X
1 1 1 0 1 X 1 X 0
0 1 1 0 0 0 X X 1
0 0 1 1 0 1 X 0 X
El siguiente paso consiste en construir los mapas de Karnaugh para los estados de los flip-flops (J1, K1, J3, K3). Tales
estados se indican en los mapas de Karnaughmostrados en las figura 7.4.5 con las ecuaciones lgicas
correspondientes.
El ltimo paso del diseo consiste en construir el circuito lgico a partir de las ecuaciones lgicas obtenidas, el cual se
muestra en la figura 7.4.6.
Figura 7.4.6. Diseo final del circuito lgico
Observe que los estados S2 y S4 no se tuvieron en cuenta en el diseo debido a que los flip-flops por defecto
entregan en sus salidas una variable y su complemento.
PLD'S SECUENCIALES
En la mayora de las aplicaciones en electrnica digital se requiere del almacenamiento de informacin de forma
temporal para efectuar operaciones lgicas. Debido a que los flip-flops tienen esta caracterstica, la gran parte de
los PLDs existentes en el mercado tienen incorporados estos dispositivos en su estructura interna.
Estos dispositivos lgicos se conocen como PLDs de registro y son empleados para construir mquinas de estado de
propsito especial, adems de la ventaja que ofrecen para reducir el tamao de los circuitos. Se puede agregar que
los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignacin que proporcionan, y
adems permiten realizar modificaciones posteriores del diseo.
Los PLDs secuenciales se componen de un arreglo programable de compuertas AND seguido de un arreglo fijo de
compuertas OR, dispuestos de la misma manera que en los PLDs combinatorios. Su diferencia con
los PLDs combinatorios se debe a que el estado de las salidas se almacena en flip-flops cuando se presenta un flanco
activo en la seal de reloj del PLD.
En este capitulo veremos la arquitectura de algunos PLDs de uso general y ejemplos de programacin para
aplicaciones particulares mediante el Programa ABEL.
En el captulo 4 vimos la descripcin y arquitectura de los PLD's combinatorios, en el cual se dieron los detalles sobre
su estructura y funcionamiento. En esta leccin veremos la descripcin de algunos PLDs secuenciales de uso
comercial. Los PLDs secuenciales se encuentran clasificados en dos tipos: "no reprogramables" y "reprogramables". A
continuacin veremos estas dos categoras de PLDs y sus diferencias.
PLDs no reprogramables
En este tipo de PLD's es posible programar el arreglo de compuertas slo una vez, de tal manera que no es posible
hacer modificaciones posteriores al estado de los fusibles, quedando nicamente operando con la lgica definida por
las conexiones internas programadas. Estos dispositivos son conocidos por la sigla PAL (Programmable Array Logic).
En la figura 8.1.1 se muestra un PLD secuencial PAL16R6. Este dispositivo tiene 20 pines, los cuales se distribuyen de
la siguiente forma:
Este PLD tiene la posibilidad de obtener 10 entradas como mximo y 6 salidas de registro con flip-flop tipo D. En
la Figura 8.1.1. se observa la estructura interna de estePLD, donde se puede notar lo siguiente:
Todos los flip-flops se encuentran conectados a una seal comn de reloj, como en los circuitos secuenciales
sincrnicos.
Cada una de las salidas de los flip-flops pasa por un buffer triestado cuya seal de habilitacin es comn para los
dems buffers de las salidas.
Existen dos pines especiales IO1 e IO8, los cuales son bidireccionales y se pueden configurar como entrada o como
salida.
Las salidas de los flip-flops retornar hacia el arreglo de compuertas, lo cual permite crear lazos de realimentacin, lo
cual permite implementar contadores y registros.
En la tabla 8.1.1 se observa una lista de algunos PLDs secuenciales de uso general. Los PLDs PAL16XX indicados en la
tabla tiene el mismo arreglo de compuertas de 16 variables. Los PLDs de la familia PAL20XX tienen un arreglo de
compuertas similar con 20 variables. En la figura 8.1.2 se observan los esquemas lgicos de los PLDsrelacionados en
la tabla 8.1.1.
PAL16R6 20 16 8 2 6 0
PAL16R8 20 16 8 0 8 0
PAL20R4 24 20 12 4 4 0
PAL20R6 24 20 12 2 6 0
PAL20R8 24 20 12 0 8 0
Figura 8.1.2. Diagramas lgicos de PLDs secuenciales no reprogramables (Copyright 1999 by John F. Wakerly)
PLDs reprogramables
Estos PLDs utilizan tecnologa EEPROM (Electrical Erasable Programmable ROM) y se conocen con el nombre de GALs
(Generic Array Logic). Estos dispositivos a diferencia de los anteriores permiten modificar la disposicin interna de las
conexiones de las compuertas despus de haber sido programados. En la Figura 8.1.3 se observa la arquitectura de
una GAL16V8.
Las salidas se pueden programar como salida secuencial o como salida combinacional dependiendo del estado de los
fusibles de seleccin ubicados en la macrocelda lgica de cada salida. La macrocelda corresponde al conjunto de
elementos agrupados en cada salida, incluyendo la compuerta OR).
Figura 8.1.4. Macroceldas lgicas para el PLD GAL16V8. (Copyright 1999 by John F. Wakerly).
Estas celdas son conocidas como OLMCs de la sigla en ingls Output Logic MacroCell y en la figura 8.1.4 se observa la
estructura interna de una de estas celdas en sus dos configuraciones disponibles (salida secuencial y salida
combinacional).
En El Capitulo 4 s vieron las bases Sobre La Programacin de PLD Con CUPL . EN ESTA SE Leccin indicarn algunos
ejemplos prrafo APLICACIONES particulares desarrolladas en CUPL . Recordando Lo Visto En El Captulo 4, EN ESTE
LENGUAJE el Cdigo Fuente de Se dividide in contradictorio tres: Encabezado, Asignacin de pinos de Entrada y Salida
y Ecuaciones lgicas.
Los ejemplos ilustrados EN ESTA Leccin were tomados de algunos Fabricantes Que Han Desarrollado Ests Cdigos
prrafo APLICACIONES EN SUS Dispositivos particulares. Se plantaron al Estudiante analizar el Cdigo de Ests
ejemplos prrafo comprender la forma en Que se pueden PROGRAMAR en CUPL .
Nombre flop;
N art CA0002,
Revisin 03;
Fecha 12.09.95;
Diseador G. Woolhiser;
Technology Company asistida, Inc.;
Ninguno Ubicacin:
Ninguna Asamblea;
dispositivo P16R8;
/ ************************************************* *************** /
/ ** /
/ * Este ejemplo muestra el uso del D-tipo flip-flops, * /
/ * y la flexibilidad de expresin con CUPL. El siguiente * /
/ * son cuatro las implementaciones de un contador de dos bits. * /
/ ** /
/ ******************************************* ********************* /
/ * Los dispositivos de destino: PAL16R8 y PAL16RP8, la EP300 * /
/ *************** ************************************************* /
Pin 1 = reloj,
Pin 2 = restablecer,
Pin 11 = habilitar!;
/ *
* Imprime: definir los productos y los niveles de salida de activos
*/
/ *
* Lgica: ejemplos de dos bits contadores utilizando D-tipo flip-flops
*/
qd = restablecer y! (& # & [QD1, qd0] [qd0, QD1!] [QD1, qd0!] [qd0, QD1!]);
Nombre Count8;
N art CA0008,
Fecha 19/07/95,
Revisin 01,
Diseador de Kahl,
Technology Company asistida;
Ninguno Asamblea;
Ninguno Ubicacin:
Dispositivo P20X8;
/ ************************************************* *************** /
/ ** /
/ * Contador octal (74LS461) * /
/ ** /
/ * 8-bit del contador sncrono con carga paralela, claro, y * /
/ * capacidad de retencin. La operacin de carga carga las entradas * /
/ * (D7-D0) en el registro de salida (Q0-Q7). La CLEAR * /
/ * Se pone en funcionamiento el registro de salida de todas las bajas. El ESPERA * /
/ * operacin tiene el valor anterior, independientemente del reloj * /
/ * Transiciones. La funcin de incremento se suma uno a la salida * /
/ * registrar cuando el TRANSFERENCIA EN es cierto (ci = LO), de lo contrario * /
/ * operacin es una bodega. El Carry-Out es cierto (co = LO) cuando * /
/ * el registro de salida (Q0-Q7) es todos los colmos, * false en otro caso /
/ * (! co = HI). * /
/ *********************************************** ***************** /
/ ** Tipos permitidos dispositivo de destino: PAL20X8 * /
/ ******************** ******************************************** /
/ ** Entradas ** /
/ ** Salidas ** /
/ ** Ecuaciones lgicas ** /
Nombre CYP_CNT;
N art CY7C330,
Revisin 01,
Fecha 25/02/95,
Diseador Diseador de Joe,
la empresa Cypress Semiconductor;
Lugar U1;
CONTADOR Asamblea;
dispositivo P7C330;
/ *
Este diseo es un contador ascendente / descendente de los lmites de preloadable. Los lmites inferiores
se cargan en los registros de entrada dedicados en el flanco de subida de LLC y
los lmites superiores se cargan en la entrada se encuentra en los registros de E / S
macroclulas en el flanco de subida de CLU. El contador comienza a contar hacia arriba,
cuando se realiza la precarga, hasta el lmite superior se alcanza y, a continuacin, comienza
contando hacia abajo. Este diseo, porque las ecuaciones ya se
reducen al mnimo y, en forma de suma de productos, slo debe ser compilado con la
reduccin al mnimo por defecto (-M1 bandera).
*/
/ *
Contador de salida de los registros. Asignacin de pines se basan en el nmero de
trminos de productos estn disponibles en ese pin.
*/
UL0 = CNT0.IOD;
UL2 = CNT2.IOD;
UL5 = CNT5.IOD;
UL4 = CNT4.IOD;
UL3 = CNT3.IOD;
UL1 = CNT1.IOD;
UPL.CKMUX = ULC;
LPL.CKMUX = LLC;
RESET.CKMUX = LLC;
[CNT0 .. 5] = CKMUX ULC,. / * El pin 3 se utilizar para la precarga superior * /
. [UL6 .. 7] = CKMUX ULC; / * El pin 3 se utilizar para la precarga superior * /
[LL0 .. 7] = CKMUX LLC,. / * el pin 2 se utiliza para una precarga * /
/ *
Contador ecuaciones. Obsrvese cmo el uso de los trminos XOR reduce significativamente el
nmero de trminos producto que se necesitan. Esto permite que este diseo complejo para
encajar en el dispositivo.
*/
! CNT0.D CNT0 =
$ PLDONE
! # LL0.DQ y LPL.DQ y CNT0
! # CNT0 y UL0 y UPL.DQ
# LL0.DQ y CNT0 LPL.DQ &!
# CNT0 y UL0 y UPL.DQ!;
! CNT1.D =! CNT1
$! LL1.DQ y LPL.DQ &! PLDONE y CNT1
# LL1.DQ y LPL.DQ &! PLDONE y CNT1!
# UPL.DQ &! PLDONE &! UL1 y CNT1
# UPL. ! DQ & PLDONE y UL1 y CNT1!
# CNT0 y PLDONE y UP!
# CNT0 y PLDONE y UP!;
! CNT2.D =! CNT2
$! LL2.DQ y LPL.DQ y CNT2 y! PLDONE
# LL2.DQ y LPL.DQ &! y CNT2! PLDONE
# UPL.DQ y CNT2 y! UL2 &! PLDONE
# UPL. ! DQ & CNT2 y UL2 y PLDONE
! # CNT0 y PLDONE y UP & CNT1
# CNT0 y PLDONE y UP & CNT1!;
! CNT3.D =! CNT3
$! LL3.DQ y LPL.DQ &! PLDONE y CNT3
# LL3.DQ y LPL.DQ &! PLDONE &! CNT3
UPL.DQ # &! PLDONE &! UL3 y CNT3
# UPL. ! DQ & PLDONE y UL3 y CNT3
! # CNT0 y CNT2 y PLDONE y UP & CNT1
! # CNT0 y CNT2 y PLDONE y UP & CNT1!;
! CNT4.D =! CNT4
$! LL4.DQ y LPL.DQ &! PLDONE y CNT4
# LL4.DQ y LPL.DQ &! PLDONE &! CNT4
UPL.DQ # &! PLDONE &! UL4 y CNT4
# UPL. ! DQ & PLDONE y UL4 y CNT4
! # CNT0 y CNT2 y PLDONE y UP & CNT3 y CNT1
# CNT0 y CNT2 y PLDONE y UP & CNT3 y CNT1!!;
! CNT5.D =! CNT5
$! LL5.DQ y LPL.DQ y CNT5 &! PLDONE
# LL5.DQ y LPL.DQ &! CNT5 &! PLDONE
# UPL.DQ y CNT5 &! UL5 &! PLDONE
# UPL. ! DQ & CNT5 y UL5 y PLDONE
! # CNT0 y CNT2 y PLDONE y CNT4 y UP & CNT3 y CNT1
# CNT0 y CNT2 y PLDONE y CNT4 y UP & CNT3 y CNT1!!;
! CNT6.D =! CNT6
$! LL6.DQ y LPL.DQ &! PLDONE y CNT6
# LL6.DQ y LPL.DQ &! PLDONE &! CNT6
UPL.DQ # &! PLDONE y CNT6 &! UL6.DQ
# UPL.DQ &! PLDONE &! CNT6 y UL6.DQ
# CNT0 y CNT2 y CNT5 y PLDONE y CNT4 &! UP & CNT3 y CNT1
#! CNT0 &! y CNT2! CNT5 y PLDONE &! CNT4 y UP &! CNT3 y ! CNT1;
! CNT7.D =! CNT7
$! LL7.DQ y LPL.DQ y CNT7 &! PLDONE
# LL7.DQ y LPL.DQ &! CNT7 &! PLDONE
UPL.DQ # &! PLDONE UL7.DQ y CNT7 &!
# UPL.DQ y UL7.DQ &! CNT7 y PLDONE!
# CNT0 y CNT2 y CNT5 y PLDONE y CNT6 y CNT4 &! UP & CNT3 y CNT1
#! CNT0 &! y CNT2! CNT5 y PLDONE &! CNT6 &! CNT4 y UP & CNT3 y CNT1!;
/ * Direccin de recuento * /
Up.d UP =
$ UEQUAL y UP & PLDONE!
# LEQUAL y UP & PLDONE!
# UPL.DQ y PLDONE y UP!
# LPL.DQ y PLDONE y UP!;
/ * Se ha terminado la precarga * /
Nombre Tcounter;
N art CA0020,
Fecha 06/09/95,
Revisin 01,
Diseador de Kahl,
la empresa Personal CAD Systems, Inc.;
Ninguno Asamblea;
Ninguno Ubicacin:
EP600 de dispositivos;
/ ************************************************* *************** /
/ ** /
/ * de 16 bits sncrono ascendente / descendente del contador * /
/ ** /
/ * Esta es una de 16-bit contador ascendente / descendente con una funcin de en cambio * /
/ * registro de alternar con flip-flops. Los diferentes modos son * /
/ * controlado por las seales CNTUP (1 = contar hasta) * /
/ * SHIFT (1 = cambio) * /
/ * SHLFT (1 izquierda = cambio) * /
/ ******* ************************************************** ******* /
/ * Tipos permitidos dispositivo de destino: EP600 * /
/ ******************************* ********************************* /
/ ** Entradas ** /
/ ** Salidas ** /
/ ** Ecuaciones lgicas ** /
FAMILIAS LGICAS
Las tecnologas de fabricacin de los circuitos integrados digitales determinan diferentes propiedades de operacin
como niveles de tensin, margenes de ruido, potencia disipada, cargabilidad de entrada y salida, etc. Las familias
lgicas son conjuntos de compuertas basadas en una tecnologa de transistores determinada.
Las distintas compuertas lgicas exhiben diferentes comportamientos elctricos ante los valores de entrada,
condiciones ambientales existentes, y condiciones de salida. La fabricacin de circuitos digitales est dirigida a
disminuir el espacio de los circuitos, la velocidad de respuesta, envejecimiento de los componentes, tolerancias y la
disminucin de potencia consumida entre otros.
La compuerta TTL fue una mejora introducida a la compuerta DTL. Los parmetros ms importantes de las
compuertas TTL son el retardo de propagacin (ns), la disipacin de potencia (mW), y el producto velocidad -potencia
(pJ). El producto velocidad-potencia indica un retardo en la propagacin con una disipacin de potencia determinada.
Las caractersticas de un circuito digital se usan con el fin de comparar las compuertas de las distintas familias lgicas.
Estas se listan a continuacin:
Fan Out (Cargabilidad de salida): Es el mximo nmero de cargas que pueden ser gobernadas en la salida de la
compuerta sin alterar su operacin normal.
Fan In (Cargabilidad de entrada): Es el mximo nmero de entradas que puede tener una compuerta.
Tensin de Umbral: Una curva de transferencia de una puerta lgica inversora se muestra en la figura 9.1.1. En la
figura se distinguen dos tensiones de umbral; la primera para el estado lgico cero (Vu, 0) y la segunda para el
estado lgico uno (Vu, 1). Los puntos de pendiente -1 representan estas tensiones de umbral .Por lo tanto, la tensin
de umbral es la tensin en la que la compuerta comienza a cambiar de estado lgico.
Margen de ruido: Es el lmite de tensin de ruido admisible a la entrada del elemento lgico, sin registrar cambios
en el estado de la salida. Existen dos mrgenes de un ruido, uno para el estado lgico uno y otro para el estado
lgico cero.
Vsal, 0 mx = Mxima tensin en la salida de una compuerta cuando su estado lgico es cero y con cargabilidad de salida
mxima.
Vsal, 1 mn = Mnima tensin a la salida de una compuerta cuando su estado lgico es uno y con cargabilidad mxima
posible.
En circuitos digitales es comn conectar dos puertas de las mismas caractersticas, una enseguida de otra, tal como
indica la figura 9.1.2. Por consiguiente, la tensin mxima de entrada en estado cero VE,0 mx, es equivalente a la
mxima tensin de salida en estado cero Vs,0 mx. De igual forma, la tensin mnima de entrada en estado uno VE,1
mn es igual a la tensin mnima de salida en estado uno Vs,1 mn.
Margen de ruido en estado cero a la entrada: Es la diferencia entre Vu, 0 y VE,0 mx.
Tiempo de programacin medio (tpd): Es el tiempo de retardo promedio en la transicin de una seal de la
entrada a la salida en los casos que esta pasa del estado 1 a 0 y viceversa.
Potencia disipada: Es la potencia consumida por la compuerta. La disipacin de potencia en funcin de la
frecuencia de una compuerta TTL es constante dentro del rango de operacin. En cambio, la compuerta CMOS
depende de al frecuencia (ver figura 9.1.3).
Producto potencia dispada-tiempo de propagacin: Es el producto de los dos tipos de caractersticas mencionadas.
Esta fue la primera familia de xito comercial, se utiliz entre 1965 y 1985. Los circuitos TTL utilizan transistores
bipolares y algunas resistencias de polarizacin. La tensin nominal de alimentacin de los circuitos TTL son 5 V DC.
En el estudio de los circuitos lgicos, existen cuatro especificaciones lgicos diferentes: VIL, VIH, VOL y VOH.
En los circuitos TTL, VIL es la tensin de entrada vlida para el rango 0 a 0.8 V que representa un nivel
lgico 0 (BAJO). El rango de tensin VIH representa la tensiones vlidas de un 1 lgico entre 2 y 5 V. El rango de
valores 0.8 a 2 V determinan un funcionamiento no predecible, por la tanto estos valores no son permitidos. El rango
de tensiones de salida VOL, VOH se muestra en la figura 9.1.4.
La tecnologa CMOS es la ms utilizada actualmente para la construccin de circuitos integrados digitales, como las
compuertas, hasta los circuitos como las memorias y los microprocesadores. La tensin nominal de alimentacin de
los circuitos CMOS son +5 V y +3,3 V.
En la figura 9.1.5. se muestran las tensiones VIL, VIH, VOL, VOH vlidas para los dispositivos CMOS de nivel +5 VDC.
El funcionamiento interno de estos dispositivos se rige por dos estados bien diferenciados a los cuales se les asigna los
valores lgicos uno o cero. La convencin es asignar el valor lgico uno al interruptor y el valor lgico cero al
interruptor abierto. En lugar de interruptores se usan transistores bipolares o unipolares.
La compuerta bsica TTL fue una modificacin DTL. La figura de la compuerta citada se muestra en la figura 9.2.1.
Figura 9.2.1. Compuerta NAND TTL de colector abierto
La resistencia externa RL debe conectarse para que la salida hale hacia el nivel alto, cuando el transistor Q3 est en
corte.
Si cualquiera de los niveles lgicos de entrada es cero, la juntura base-emisor en Q1 se polariza directamente. Por
consiguiente, la tensin en la base Q1 es igual a:
El transistor Q3 comienza a conducir cuando la suma de las cadas de tensin de VbcQ1, VbeQ2 y VbeQ3 sean superiores
a 1.8 V. Como la tensin en VbQ1 es 0.9.V, el transistor Q3 queda en estado de corte. Por lo tanto, s se conecta una
resistencia al colector, la tensin de salida ser un 1 lgico.
Si todos los niveles lgicos de entrada son 1, los transistores Q2 y Q3 se saturan debido a que la tensin en la base
de Q1 es superior a la suma de las cadas de tensinVbcQ1, VbeQ2 y VbeQ3. Entonces el estado de salida es igual a cero
lgico (0).
Las compuertas se caracterizan por tener una impedancia de salida determinada. Esta impedancia se compone de una
resistencia ms una capacitancia. La capacitancia se carga exponencialmente de bajo a alto segn la constante de
tiempo RC, cuando el transistor de salida pasa de bajo a alto. La diferencia entre una compuerta de colector abierto y
una de tipo totmico radica en el transistor Q4 y el diodo D1.
La salida es baja cuando Q2 y Q3 se encuentran en saturacin como en la compuerta de colector abierto. La ecuacin
siguiente expresa el valor de la tensin en el colector de Q2:
ya que VcQ2 = VbQ4 . Por lo tanto Q4 est en corte. El diodo se coloca para provocar una cada en el lazo y asegurar el
corte de Q4 con Q3 saturado.
En una transicin de estado lgico 1 en la salida por causa de cambio en la entrada a 0, los transistores Q2 y Q3 se
cortan. En este caso, la salida se mantiene un instante de tiempo baja debido a que el voltaje en el condensador no
puede cambiar instantneamente. En el momento que Q2 entra en corte, Q4 conduce por el voltaje conectado a su
base a travs de la resistencia de 1.6 KW. El transistor Q4 se satura momentneamente por la corriente exigida por el
condensador, incrementndose el voltaje de acuerdo a una constante de tiempo RC. El proceso anterior es rpido por
la baja resistencia equivalente entre 130 KW, la resistencia de saturacin del transistor y la resistencia del diodo. Por
consiguiente, la transicin de un valor lgico bajo a uno alto es ms rpida. En la medida de acumulacin de carga a
la salida, el voltaje de salida la corriente por el transistor Q4 disminuye, por lo que ste pasa a la regin activa.
Entonces, el voltaje de salida es:
La compuerta de tres estados se presenta en las compuertas de tipo totmico que permiten la conexin alambrada de
las salidas para formar un bus comn.
La compuerta de tres estados funciona normalmente con la entrada B1 en alto. La compuerta inversora de tres
estados se activa en su funcionamiento con la entrada B2en bajo. Cuando la entrada C es baja, la salida es un circuito
abierto con con una impedancia alta, independiente del valor lgico en la entrada A1 (Ver figura Figura 9.2.3.a). En el
estado Z no existe posibilidad de circulacin de corriente en ningn sentido. En la tabla 9.2.1. se indican los valores
de salida para estas dos compuertas.
A1 B1 C1 A2 B2 C2
0 0 Z 0 0 0
1 0 Z 1 0 1
0 1 0 0 1 Z
1 1 1 1 1 Z
El circuito en estado Z se basa en bloquear los dos transistores de la salida Totem- Pole a la vez cuando se active la
entrada de control. La figura 9.2.4. muestra el inversor TTL 3-State. La entrada B2 en alto, hace que el
transistor T5 se corte; por lo tanto la corriente base colector de T5 satura los transistores T6 y T7. El diodo D6conduce y
esto produce que los transistores de salida del circuito se corten, debido al potencial bajo en el emisor de T1 y el
colector de T2. La conduccin de T1, bloquea a T2 y T4 no recibe corriente en la base, por lo que entra a estado de
corte. De otro lado, el colector del transistor T2 queda a un potencial muy prximo a masa, llevando a T3 a corte.
En el circuito CMOS de la figura 9.2.5., el estado de la salida es igual a la entrada slo si la entrada B1 est en nivel
alto (1). Cuando la entrada B1 est en nivel bajo (0), la salida se encuentra en nivel de impedancia alta (Z) y es
independiente del nivel de entrada A1. En el funcionamiento del circuito interno de la figura 9.2.5., en el estado de
entrada B1=0 conduce el transistor QP1 (canal P) y la activacin de este elemento hace conducir a QN3 (canal N); por
lo tanto el drenador QN3 queda a un potencial de 0 V y esto sita al transistor QN5 en estado de corte. El potencial de 0
V en la puerta del transistor QP3 hace conducir a ste, colocando al transistor QP5 en estado de corte. En este estado de la
entrada de control, los transistores de salida QP5 y QN5 estn en corte y el terminal de salida queda en estado de alta
impedancia o tercer estado.
Cuando la entrada B1 est en nivel bajo (1), el estado de salida es igual de la entrada, tal como se deduce del
funcionamiento del circuito. Si la compuerta tiene estado de entrada A1=1, conduce el transistor QP5 y QN5 entra en
corte, lo cual hace la salida C1 igual a 1. Cuando A1=0, conduce el transistor QN5 y QP5 entra en corte, lo cual hace la
salida C1 igual a 0.
COMPUERTAS BSICAS
Las compuertas bsicas se estudiaron en la leccin 1 del captulo 2. Las compuertas se encuentran disponibles segn
la tecnologa de fabricacin.
Familia CMOS
Inversor
Un dispositivo CMOS consiste en distintos dispositivos MOS interconectados para formar funciones lgicas. Los
circuitos CMOS combinan transistores PMOS y NMOS. El conocimiento sobre el funcionamiento de los transistores MOS
es importante para la comprensin de la leccin. La convencin de los transistores MOS de canal p y canaln es la
siguiente:
El circuito mostrado en la figura 9.3.2. representa un inversor CMOS y est formado por un transistor de canal
tipo P(QP1) y otro de canal tipo N(QN1). Cuando la entradaA1 est en nivel bajo (0), QP1 y QN1 estn a potencial cero.
La entrada est a 0 V con respecto a la fuente de QN1 y a -VSS con respecto a la fuente de QP1. Como resultado el
transistor QP1 se activa y el transistor QN1 se pone en estado de corte. El resultado es un camino de baja impedancia
de VSS a la salida F y uno de alta impedancia de tierra a la salida.
Cuando la entrada A1 est en nivel alto (1), QP1 y QN1 estn a potencial VSS. Como resultado el transistor QP1 se pone
en estado de corte y el transistor QN1 se activa. El resultado es un camino de baja impedancia de tierra a la salida y
uno de alta impedancia de VSS a la salida F. La tabla 9.3.1. ilustra los estados en el circuito lgico.
A1 Q 1 Q2 F
0 ON OFF 1
1 OFF ON 0
Compuerta NAND
En una compuerta NAND CMOS, las entradas en nivel alto, hacen que los transistores QP1 y QP2 entren en corte y
ambos transistores QN1 y QN2 en conduccin (Ver Tabla 9.3.2). La salida pasa a bajo (0) a travs de QN1 y QN2.
Cuando ambas entradas estn en bajo, QP1 y QP2 entran a conduccin y QN1 y QN2 entran a corte. La salida pasa a alto
a travs de QP1 y QP2.
En las parejas de transistores ya sean de canal n de canal p, si cualquier entrada es baja, uno de los transistores
entra a corte y otro a conduccin. La salida pasa a alto (1) acoplandose a travs del transistor en conduccin a VSS. El
circuito mostrado en la figura 9.3.3. representa una compuerta NAND CMOS.
0 0 ON ON OFF OFF 1
0 1 ON OFF OFF ON 1
1 0 OFF ON ON OFF 1
1 1 OFF OFF ON ON 0
Compuerta NOR
En una compuerta NOR CMOS, las entradas en nivel alto, hacen que los transistores QP1 y QP2 entren en corte y
ambos transistores QN1 y QN2 en conduccin (Ver Tabla 9.3.3). La salida pasa a bajo (0) a travs de QN1 y QN2.
Cuando ambas entradas estn en bajo, QP1 y QP2 entran a conduccin y QN1 y QN2 entran a corte. La salida pasa a alto
(1)a travs de QP1 y QP2.
En las parejas de transistores ya sean de canal n de canal p, si cualquier entrada es baja, uno de los transistores
entra a corte y otro a conduccin. La salida pasa a bajo (0) acoplandose a travs del transistor en conduccin a tierra.
El circuito mostrado en la figura 9.3.4. representa una compuerta NOR CMOS.
0 0 ON ON OFF OFF 1
0 1 ON OFF OFF ON 0
1 0 OFF ON ON OFF 0
Familia TTL
INVERSOR
La descripcin de los elementos del inversor lgico de la figura 9.3.5. se muestra en la tabla 9.3.4. Cuando la
entrada E es alta (1), la unin base-emisor de Q1 se polariza inversamente y la unin base colector se polariza
directamente. La circulacin de corriente por esta juntura provoca la saturacin del transistor Q2. El
transistorQ2 excita a Q3, acercndose el potencial de colector de ste a tierra. La tensin de colector de Q3, bloquea el
transistor Q4.
Cuando la entrada est en nivel bajo (0), la unin base-emisor de Q1 se polariza directamente y la unin base colector
se polariza inversamente. La circulacin de corriente por esta juntura tiene el sentido hacia tierra. Q2 entra en estado
de corte por la ausencia de circulacin de corriente en su base. Por lo tanto, el colector del transistor Q2 est en nivel
alto y hace entrar en conduccin a Q4. La saturacin de Q4 permite un nivel lgico 1 en la salida. El potencial de tierra
en el emisor de Q2impide la conduccin de Q3.
Dispositivo Descripcin
NAND
Las caractersticas vistas en la leccin 1 se utilizan usualmente para comparar las distintas familas lgicas. Las
caractersticas estticas y las dinmicas sirven de buen comparacin entre las familias lgicas. La
compuerta NAND sirve de comparacin entre cada familia.
Caractersticas Estticas
Funcin de transferencia.
Caractersticas de entrada.
Caractersticas de salida.
Cargabilidad de salida (Fan-Out).
Disipacin de potencia.
Funcin de Transferencia
La funcin de transferencia de tecnologa CMOS se aproxima ms a la ideal en comparacin con la tecnologia TTL.
Entre las razones ms importantes se encuentran los estados bajo (0) y alto (1) sin carga, el umbral de conmutacin
y el margen de transicin nulo.
Caractersticas de Entrada
Los estados en los niveles de tensin de entrada y salida se explicaron en la leccin 1. En la familia TTL los niveles
lgicos bajos son ms importantes que los niveles altos. De las grficos 9.1.4. y 9.1.5. se puede concluir la
preferencia de un valor VILmx lo ms elevado posible y un valor VIHmn lo ms reducido posible.
Caractersticas de Salida
Las entradas de las compuertas CMOS nunca deben dejarse flotantes. La estructura de entrada de un
elemento TTL contiene una resistencia que proporciona un camino a Vss. La estructura de los dispositivos CMOS no
contiene la resistencia y tiene una impedancia de entrada extremadamente alta. Por la anterior, un ruido pequeo
hace que la entrada sea baja alta. En el caso de un ruido entre el nivel lgico 0 y 1, los dos transistores de entrada
pueden estar en conduccin y puede circular una corriente excesiva. En ocasiones la corriente afecta la fuente de
tensin y crea una oscilacin de alta frecuencia en la salida del dispositivo. Segn especificacin del fabricante es
necesario conectar la entrada de estos dispositivos a Vss, tierra u otra fuente. Las figuras 9.1.4. y 9.1.5. establecen la
diferencia de salida entre las familiasTTL y CMOS.
La cargabilidad se puede establecer de acuerdo a nmero mximo de cargas que se pueden conectar a la salida de
una compuerta, para una tensin de salida a nivel bajo de 0.3 V (VOL= 0.3 V). La referencia 4000B tiene un fan -
out menor en comparacin a la familia TTL estndar.
Disipacin de Potencia
Por razones econmicas predominan los dispositivos de baja disipacin de potencia. La diferencia de potencia CMOS
es un milln de veces menor a la familia TTL.
Caractersticas Dinmicas
La caracterstica dinmica de una familia lgica es el comportamiento del dispositivo ante la conmutacin. Las
caractersticas dinmicas ms importantes son:
El diseo de un sistema digital de un regimen de trabajo a alta velocidad debe incluir un tiempo de retardo de
propagacin de compuertas bajo. Lgicamente, un menor retardo de propagacin se traduce en una mayor frecuencia
mxima de funcionamiento. El tiempo de propagacin medio (tPD) se mide en nS y la mxima de frecuencia de
funcionamiento en MHz. En la tabla 9.4.1. se muestran los tiempos de la familias lgicas TTL y CMOS.
La compuerta de transmisin es un dispositivo utilizado como interruptor controlado por tensin. Generalmente se
emplean transistores para cumplir la funcin de interrupcin y existen compuertas en
tecnologa NMOS, PMOS y CMOS.
La compuerta NMOS corresponde a un transistor MOS de canal N conectado en la configuracin que se muestra en la
figura 9.5.1. En la figura se observa que la fuentese encuentra conectada a tierra. Este transistor puede conducir
corriente en cualquiera de sus dos direcciones (Vsal/Vent o viceversa) cuando la tensin en la compuerta (VG) supere
la tensin de umbral para encenderlo, es decir, aplicando un 1 lgico.
El transistor MOS de canal P conectado en la configuracin de la figura 9.5.2 funciona como compuerta de
transmisin. Su funcionamiento es similar a la compuerta de transmisin NMOS, excepto que la lgica que maneja
para entrar en conduccin es inversa, es decir que la tensin en la compuerta (VG) debe ser negativa para encender el
transistor, en este caso la seal aplicada corresponde a un 0 lgico.
Esta compuerta agrupa algunas caractersticas de las compuertas de transmisin NMOS y PMOS. En la figura 9.5.3 (a)
se ilustra el circuito de esta compuerta, observe que esta compuerta contiene un transistor NMOS, un PMOS y un
Inversor.
Figura 9.5.3. Compuerta de transmisin CMOS
El inversor es empleado para tener una sola seal de control para encender o apagar los transistores. Cuando VC se
encuentra en bajo (0 lgico) el transistor NMOS se apaga al igual que el transistor PMOS, anlogamente, si la
tensin VC cambia alto (1 lgico), los transistores se encenderan. Existe otra representacin de esta compuerta de
transmisin, la cual se ilustra en la figura 9.5.3 (b). Note que la compuerta no tiene incluido el inversor y que las
seales de control son C y C'. Otra opcin de representacin se muestra en la figura 9.5.3 (c).
Los circuitos integrados digitales utilizan habitualmente silicio, sin embargo un semiconductor se puede producir
mediante una mezcla de elementos del grupo tres (III) y cuatro (IV)de la tabla peridica. H. Welker descubri en los
aos cincuenta, que el enlace qumico de estos compuestos permita una gran movilidad de electrones. El silicio a
pesar de permitir el desarrollo del transistor bipolar y el transistor de efecto de campo, no es un semiconductor
universal que d respuesta a todos los inconvenientes que se presentan al tratar de realizar dispositivos en diferentes
aplicaciones prcticas. Por lo tanto se ha generado el inters por desarrollar dispositivos con semiconductores III- IV y
puntualmente, con arseniuro de galio (GaAs), complementarios en la fabricacin de circuitos integrados de gran
velocidad.
Los transistores MOSFET han sido ampliamente utilizados en tecnologas de silicio debido a las caractersticas estables
del xido de silicio que permiten su utilizacin como aislante entre la puerta y el sustrato. Por el contrario, los xidos
de arsenuro de galio presentan grandes dispersiones en sus caractersticas que no permiten tensiones de umbral
constantes.
Por ello se han realizado grandes esfuerzos, con resultados positivos, para realizar en tecnologas GaAs transistores de
efecto de campo de semiconductor y metal(Metal-semiconductor fireld effect transistor (MESFET)) una de cuyas
estructuras bsicas se representa en la figura 9.6.1.
Este transistor se diferencia del MOS al emplear un sustrato semiaislante formado por una zona de alta resistividad
que hace posible que la tensin aplicada entre l y la puerta controle por efecto de campo la anchura del canal entre
el drenador y la fuente o surtidor.
Los transistores MESFET pueden ser, al igual que los CMOS, empobrecidos (depletion) D-MESFET y enriquecidos
(enhancement) E-MESFET. Los D-MESFET conducen con tensin de puerta nula y los E-MESFET necesitan ser
polarizados adecuadamente (positivamente la puerta con respecto al sustrato en transistores en transistores de canal
N).
La familia lgica de diodo Schottky Fet o SDFL (Schottky Diode FET Logic) incluye un inversor. La figura 9.6.2.
muestra un inversor bsico. El dispositivo del lado derecho mantiene conduciendo los diodos conduciendo. Los
dispositivos del lado derecho funcionan como un inversor NMOS con carga activa de deplexin.
En estado lgico uno de salida, el transistor 5 est cortado y 4 est en estado ohmico pero entrega corriente cero.
Figura 9.6.2. Inversor SDFL
MEMORIAS
La mayora de los procesos lgicos en electrnica digital se encuentran constituidos por sistemas que manipulan la
informacin binaria para dar como resultado una o varias salidas.
En el proceso de manipular la informacin, los sistemas requieren del almacenamiento temporal o permanente de los
estados lgicos. Un ejemplo de este tipo de sistemas son los microcomputadores, los cuales necesitan del
almacenamiento tanto de datos como de los programas que manipulan la informacin.
En este capitulo veremos los tipos de memorias que existen, sus aplicaciones y algunos ejemplos de memorias de uso
general disponibles en el mercado.
Las unidades de memoria son mdulos conformados por un conjunto de cerrojos o condensadores agrupados de tal
forma que almacenan varias palabras binarias de nbits. Cada una de ellas tienen la capacidad de almacenar un bit de
informacin (1 o 0), y se conocen con el nombre de celdas de memoria. Las celdas o bits de memoria se ubican
mediante la fila y la columna en la que se encuentra. En la figura 10.1.1 se observa como ubicar un bit y una palabra
dentro de una memoria.
Las palabras binarias se identifican con una direccin la cual define la ubicacin dentro del arreglo y generalmente se
designa con un nmero binario, octal o hexadecimal. En la mayora de las aplicaciones se asocian en grupos de ocho
unidades para formar bytes y el tamao de las palabras en las memorias actuales est entre 4 y 64 bits.
El parmetro bsico de una memoria es su capacidad, la cual corresponde al total de unidades que puede almacenar.
Como ejemplo, la memoria de la figura 10.1.1 tiene una capacidad de 8n bits, que en otras palabras representa
n bytes. Regularmente estas memorias en la actualidad se consiguen en tamaos del orden megabytes.
El tiempo de acceso es otro parmetro importante en las memorias. Este corresponde al tiempo que tarda la memoria
en acceder a la informacin almacenada en una direccin. Generalmente este tiempo se designan como tacc en las
fichas tcnicas de estos dispositivos. En tabla 10.1.1 se indican los tiempos de acceso de las memorias en Circuito
Integrado comparados con los tiempos de otros tipos de memoria.
Tiempo de
Memoria
Acceso
Cinta Magntica 5 ms - 1s
Disco Magntico 10ms - 50 ms
200 ms 400
CD ROM
ms
Memorias Integradas
2ns 300 ns
MOS
Memorias Integradas
0.5ns 30 ns
Bipolares
La funcin bsica de las memorias es almacenar informacin. Sin embargo las memorias tienen la funcin especifica
de escribir y leer los datos en su interior. En la figura 10.1.2 se observa la estructura bsica de una memoria de 1K de
4 bits, en la cual se indican sus partes bsicas.
En la figura 10.1.2 la entrada de direcciones (A0 a A9), como su nombre lo indica, define la posicin a escribir o leer
dentro de la memoria, las entradas y salidas de datos definen los datos a escribir y leer respectivamente, la
entrada WE controla el tipo de operacin que la memoria debe hacer y la entrada OE corresponde a la seal de
habilitacin de la memoria, la cual habilita o deshabilita la memoria para responder a las dems entradas.
En los computadores modernos las memorias actan directamente con la CPU a travs de canales de comunicacin
llamados buses. En la figura 10.1.3 se observa un esquema general, el cul muestra cmo interacta la CPU de un
microcomputador con las memorias a travs de estos canales.
Las operaciones bsicas de una memoria consisten en leer y almacenar informacin mediante el uso del bus de datos
y direcciones. Estas operaciones ocurren en un orden lgico, el cual se indica a continuacin:
Apuntar a la direccin de memoria que se desea leer o escribir mediante el uso del bus de direcciones
Seleccin del tipo de operacin: Lectura o escritura.
Cargar los datos a almacenar (en el caso de una operacin de escritura)
Retener los datos de la memoria (en el caso de una operacin de lectura)
Habilitar o deshabilitar la memoria para una nueva operacin.
Las memorias de Acceso Aleatorio son conocidas como memorias RAM de la sigla en ingls Random Access
Memory. Se caracterizan por ser memorias de lectura/escritura y contienen un conjunto de variables de direccin que
permiten seleccionar cualquier direccin de memoria de forma directa e independiente de la posicin en la que se
encuentre.
Estas memorias son voltiles, es decir, que se pierde la informacin cuando no hay energa y se clasifican en dos
categoras bsicas: la RAM esttica y la RAM dinmica, las cuales se describen en las siguientes dos secciones.
Este tipo de memoria conocida como SRAM (Static Random Access Memory) se compone de celdas conformadas
por flip-flops construidos generalmente con transistoresMOSFET, aunque tambin existen algunas memorias pequeas
construidas con transistores bipolares. En la figura 10.2.1 se observa la estructura tpica de una celda de memoria de
una SRAM.
Como se observa en la figura la celda se activa mediante un nivel activo a la entrada superior y los datos se cargan o
se leen a travs de las lneas laterales.
Las celdas de memoria se agrupan en filas y columnas para conformar el arreglo bsico de la memoria. En la figura
10.2.2 se muestra la disposicin de las celdas de memoria en una SRAM, donde se observa que cada una de las filas
se habilita de forma simultnea para recibir o cargar los datos del bus de entrada/salida.
Existen otras modalidades de funcionamiento de las memorias estticas, entre ellas se pueden nombrar las
siguientes:
SRAM Sincrnica
Al igual que en los sistemas sincrnicos, este tipo de memoria tiene una entrada de reloj, la cual le permite operar en
sincrona con otros dispositivos. Esta caracterstica no aporta mejores beneficios, sin embargo simplifica enormemente
el diseo de sistemas de alta prestaciones, ya que una nica seal controla todos los dispositivos involucrados. La
ventaja de estas memorias viene proporcionada por lo que se podra llamar su funcionamiento automtico, guiado por
la seal de reloj, por lo que no es necesario ocuparse de generar las seales de control.
SRAM de Rfaga
Las memorias de rfagas (burst) son sincrnicas y se caracterizan por incluir un contador que permite que la memoria
genere internamente la direccin a la que debe acceder, consiguiendo de esta forma accesos hasta cuatro posiciones
de memoria con una sola direccin de referencia. Esto permite acceder de forma mas rpida a la informacin en
memoria.
Vemos como funciona este tipo de memoria. La CPU genera una direccin de memoria, la cual se propaga a travs
del bus de direcciones hasta la memoria, decodificndose y accediendo a la posicin correspondiente. Si se ha
configurado la memoria en modo rfaga, una vez obtenido el primer dato, incrementa la direccin y vuelve a acceder.
De esta forma se evita el tiempo de propagacin de las seales por el bus y el tiempo de decodificacin de la
direccin. El numero de palabras ledas o escritas en una rfaga, viene limitado por el tamao del contador interno de
la memoria.
SRAM Pipeline
Con los dos tipos de memorias anteriores se consigue el acceso a posiciones consecutivas de forma rpida. Para
mantener esta velocidad cuando se cambia de secuencia, las memorias pipeline incluyen un buffer para almacenar la
direccin y los datos actuales proporcionados por la memoria. De esta forma, se puede enviar la nueva direccin antes
de terminar la lectura, consiguiendo as que la CPU no espere la finalizacin del acceso a una posicin de memoria
para generar la nueva direccin.
Este tipo de memoria conocida como DRAM (Dinamic Random Access Memory), a diferencia de la memoria esttica se
compone de celdas de memoria construidas con condensadores. Las celdas de memoria son de fabricacin ms
sencillas en comparacin a las celdas a base de transistores, lo cual permite construir memorias de gran capacidad. La
figura 10.2.3 se observa la composicin interna de una de estas celdas.
La operacin de la celda es similar a la de un interruptor, cuando el estado en la fila se encuentra en alto, el transistor
entra en saturacin y el dato presente en el bus interno de la memoria (columna) se almacena en el condensador,
durante una operacin de escritura y se extrae en una operacin de lectura. El inconveniente que tiene este tipo de
memorias consiste en que hay que recargar la informacin almacenada en las celdas, por lo cual estas celdas
requieren de circuitera adicional para cumplir esta funcin. En la figura 10.2.4 se observa la celda completa con sus
aditamentos donde se puede identificar la forma en que se desarrollan las operaciones de escritura, lectura y recarga.
Como se ha notado, existen diferencias entre la memoria Esttica y Dinmica. En La tabla 10.2.1 se indican las
ventajas y desventajas de los dos sistemas de memoria, lo cual permite seleccionar el tipo de memoria dependiendo
de la aplicacin.
La velocidad de acceso es
Mayor densidad y
bajar.
capacidad.
Necesita recargar de la
Menor costo por bit.
DRAM informacin. almacenada
Menor consumo de
para retenerla.
potencia.
Diseo complejo.
Las memorias de solo lectura son conocidas como memorias ROM de la sigla en ingls Read Only Memory. Se
caracterizan por ser memorias de lectura y contienen celdas de memoria no voltiles, es decir que la informacin
almacenada se conserva sin necesidad de energa. Este tipo de memoria se emplea para almacenar informacin de
forma permanente o informacin que no cambie con mucha frecuencia.
Actualmente se dispone de varios tipos de memorias ROM, a continuacin se explicar cada una de ellas con sus
caractersticas bsicas.
Esta memoria se conoce simplemente como ROM y se caracteriza porque la informacin contenida en su interior se
almacena durante su construccin y no se puede alterar. Son memorias ideales para almacenar microprogramas,
sistemas operativos, tablas de conversin y caracteres.
Generalmente estas memorias utilizan transistores MOS para representar los dos estados lgicos (1 0). La
programacin se desarrolla mediante el diseo de un negativo fotogrfico llamado mscara donde se especifican las
conexiones internas de la memoria. En la figura 10.3.1 se muestra la celda de memoria de una ROM de este tipo, en
tecnologas TTL y MOS.
Las celdas de memoria se organizan en grupos para formar registros del mismo tamao y estos se ubican fsicamente
formando un arreglo, como el indicado en la figura 10.3.2.
Memoria PROM
Esta memoria es conocida como ROM programable de la sigla en ingls Programmable Read Only Memory. Este tipo
de memoria a diferencia de la ROM no se programa durante el proceso de fabricacin, en vez de ello la programacin
la efecta el usuario y se puede realizar una sola vez, despus de la cual no se puede borrar o volver a almacenar otra
informacin.
El proceso de programacin es destructivo, es decir, que una vez grabada, es como si fuese una ROM normal. Para
almacenar la informacin se emplean dos tcnicas: por destruccin de fusible o por destruccin de unin.
Comnmente la informacin se programa o quema en las diferentes celdas de memoria aplicando la direccin en
elbus de direcciones, los datos en los buffers de entrada de datos y un pulso de 10 a 30V, en una terminal dedicada
para fundir los fusibles correspondientes. Cuando se aplica este pulso a un fusible de la celda, se almacena
un 0 lgico, de lo contrario se almacena un 1 lgico (estado por defecto), quedando de esta forma la informacin
almacenada de forma permanente. En la figura 10.3.3 se observa la disposicin interna de una celda de memoria y los
fusibles correspondientes.
El proceso de programacin de una PROM generalmente se realiza con un equipo especial llamado quemador. Este
equipo emplea un mecanismo de interruptores electrnicos controlados por software que permiten cargar las
direcciones, los datos y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la figura
10.3.4 se indica de forma esquemtica la funcin del programador.
Figura 10.3.4. Programacin de un PROM
Memoria EPROM
Este tipo de memoria es similar a la PROM con la diferencia que la informacin se puede borrar y volver a grabar
varias veces. Su nombre proviene de la sigla en inglsErasable Read Only Memory.
La programacin se efecta aplicando en un pin especial de la memoria una tensin entre 10 y 25 Voltios durante
aproximadamente 50 ms, segn el dispositivo, al mismo tiempo se direcciona la posicin de memoria y se pone la
informacin a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de
memoria.
La memoria EPROM, tal como las memorias vistas anteriormente se compone de un arreglo de
transistores MOSFET de Canal N de compuerta aislada. En la figura 10.3.5 se observa el transistor funcionando como
celda de memoria en una EPROM.
Cada transistor tiene una compuerta flotante de SiO2 (sin conexin elctrica) que en estado normal se encuentra
apagado y almacena un 1 lgico. Durante la programacin, al aplicar una tensin (10 a 25V) la regin de la
compuerta queda cargada elctricamente, haciendo que el transistor se encienda, almacenando de esta forma
un 0 lgico. Este dato queda almacenado de forma permanente, sin necesidad de mantener la tensin en la
compuerta ya que la carga elctrica en la compuerta puede permanecer por un perodo aproximado de 10 aos.
Por otra parte el borrado de la memoria se realiza mediante la exposicin del dispositivo a rayos ultravioleta durante
un tiempo aproximado de 10 a 30 minutos. Este tiempo depende del tipo de fabricante y para realizar el borrado, el
circuito integrado dispone de una ventana de cuarzo transparente, la cual permite a los rayos ultravioleta llegar hasta
el material fotoconductivo presente en las compuertas aisladas y de esta forma lograr que la carga se disipe a travs
de este material apagando el transistor, en cuyo caso todas las celdas de memoria quedan en 1 lgico. Generalmente
esta ventana de cuarzo se ubica sobre la superficie del encapsulado y se cubre con un adhesivo para evitar la entrada
de luz ambiente que pueda borrar la informacin, debido a su componente UV. En la figura 10.3.6 se observa la
fotografa de una memoria de este tipo.
Memoria EEPROM
La memoria EEPROM es programable y borrable elctricamente y su nombre proviene de la sigla en ingls Electrical
Erasable Programmable Read Only Memory. Actualmente estas memorias se construyen con transistores de
tecnologa MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).
Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la diferencia bsica se encuentra en la capa
aislante alrededor de cada compuesta flotante, la cual es ms delgada y no es fotosensible.
La programacin de estas memorias es similar a la programacin de la EPROM, la cual se realiza por aplicacin de una
tensin de 21 Voltios a la compuerta aisladaMOSFET de cada transistor, dejando de esta forma una carga elctrica,
que es suficiente para encender los transistores y almacenar la informacin. Por otro lado, el borrado de la memoria
se efecta aplicando tensiones negativas sobre las compuertas para liberar la carga elctrica almacenada en ellas.
Esta memoria tiene algunas ventajas con respecto a la Memoria EPROM, de las cuales se pueden enumerar las
siguientes:
Memoria FLASH
La memoria FLASH es similar a la EEPROM, es decir que se puede programar y borrar elctricamente. Sin embargo
esta rene algunas de las propiedades de las memorias anteriormente vistas, y se caracteriza por tener alta capacidad
para almacenar informacin y es de fabricacin sencilla, lo que permite fabricar modelos de capacidad equivalente a
las EPROM a menor costo que las EEPROM.
Las celdas de memoria se encuentran constituidas por un transistor MOS de puerta apilada, el cual se forma con una
puerta de control y una puerta aislada, tal como se indica en la figura 10.3.7. La compuerta aislada almacena carga
elctrica cuando se aplica una tensin lo suficientemente alta en la puerta de control. De la misma manera que la
memoria EPROM, cuando hay carga elctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena
un 1.
Las operaciones bsicas de una memoria Flash son la programacin, la lectura y borrado.
Como ya se mencion, la programacin se efecta con la aplicacin de una tensin (generalmente de 12V o 12.75 V)
a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar 0s. Para
almacenar 1s no es necesario aplicar tensin a las compuertas debido a que el estado por defecto de las celdas de
memoria es 1.
La lectura se efecta aplicando una tensin positiva a la compuerta de control de la celda de memoria, en cuyo caso el
estado lgico almacenado se deduce con base en el cambio de estado del transistor:
Si hay un 1 almacenado, la tensin aplicada ser lo suficiente para encender el transistor y hacer circular corriente
del drenador hacia la fuente.
Si hay un 0 almacenado, la tensin aplicada no encender el transistor debido a que la carga elctrica almacenada
en la compuerta aislada.
Para determinar si el dato almacenado en la celda es un 1 un 0, se detecta la corriente circulando por el transistor
en el momento que se aplica la tensin en la compuerta de control.
El borrado consiste en la liberacin de las cargas elctricas almacenadas en las compuertas aisladas de los
transistores. Este proceso consiste en la aplicacin de una tensin lo suficientemente negativa que desplaza las cargas
como se indica en la figura 10.3.8.
Figura 10.3.8. Proceso de descarga de una celda de memoria FLASH
En la actualidad muchos de los sistemas electrnicos necesitan dispositivos para almacenar y/o leer informacin.
Como ejemplo de este tipo de sistemas podemos mencionar los telfonos electrnicos, televisores, equipos de sonido
y los computadores entre otros.
Esta leccin se centrar en mencionar algunas aplicaciones particulares de las memorias que pueden ser de inters
para desarrollar proyectos.
Memoria RAM
La memoria RAM es uno de los componentes ms importantes en un computador. Cuando se requiere emplear un
archivo de datos o programa, los datos o instrucciones son ledos desde el disco duro o disquete y colocados en una
memoria RAM, para que sean ledos por el microprocesador, permitindole manipularlos, ingresar nuevos datos,
modificar los existentes, hacer clculos, bsquedas, resmenes, etc.
Las memorias para computadores generalmente no se consiguen en chips, sino en mdulos de memoria
empaquetados en dos formatos bsicos: SIMM y DIMM que contienen 8, 16, 32, 64 o 128 MB cada uno. Estos
mdulos se introducen en ranuras o slots en la tarjeta madre de los computadores y en la figura 10.4.1 se muestra su
presentacin de 32 y 72 pines.
Memoria ROM
Programas y Datos
La aplicacin ms difundida en este tipo de memoria ha sido el almacenamiento de cdigos de programas para el
momento del arranque de dispositivos que utilizan microprocesadores, como es el caso de los computadores.
Los Computadores vienen con una memoria ROM, donde se encuentran alojados los programas del BIOS (Basic Input
Output System), el cual contiene las instrucciones y datos necesarios para activar y hacer funcionar el computador y
sus perifricos. Debido a que en esta memoria la informacin est disponible en cualquier momento, los programas en
una ROM son a menudo los cimientos sobre los que se construye el resto de los programas (incluyendo el DOS).
La ventaja de tener los programas fundamentales del computador almacenados en una ROM, es que estn all
disponibles y no hay necesidad de cargarlos en la memoria desde el disco de la misma forma que se carga el DOS.
Comnmente estos programas son llamados Firmware, lo que indica que se encuentran firmemente almacenados en
el Hardware y que no cambian.
Otra aplicacin de estas memorias consiste en el almacenamiento de tablas de datos que permiten generar funciones
matemticas. Por ejemplo existen memorias que almacenan funciones trigonomtricas y hallan el resultado con base
en el valor binario introducido en el bus de direcciones. En la figura 10.4.1, se observa como se puede implementar
un generador de una seal seno, a partir de la informacin almacenada en una memoria ROM.
Figura 10.4.2. Generador de seales con una memoria ROM
Las memorias son circuitos integrados cuyos pines se hayan en ambos lados de la cpsula, formando dos lneas o
hileras de pines (DIP) y generalmente se fabrican con capacidades de orden de Kilobytes o Megabytes mltiplos de 8,
por ejemplo 8k, 16k, 32k, 64k, 128k, o 8M, 16M, 32M, etc.
En la figura 10.5.1 se observa un esquema descriptivo de los pines que generalmente se encuentran en una memoria.
A continuacin se da una explicacin de cada uno de estos pines:
A0...An (Bus de direcciones): Estos pines son las entradas para seleccionar la posicin de memoria a escribir o
leer y su cantidad define la capacidad de palabras que puede almacenar, dada por la expresin 2n, donde n es el
nmero de pines.
D0...Di (Bus de Datos): Corresponde a los pines de entrada y salida de datos. En el mercado se consiguen
generalmente buses de 1, 4, 8 y 16 bits y lo ms usual es encontrar chips tengan 8 entradas de datos.
CS (Chip Select): Este pin se utiliza para seleccionar el chip de memoria que se desea acceder. Esto en el caso del
usar dos o ms memorias similares.
OE (Output Enable): Utilizado para habilitar la salida de datos. Cuando se encuentra en estado activo las salidas
tiene alta impedancia o actan como entradas.
R/W (Read/Write): Entrada utilizada en las memorias RAM para seleccionar la operacin de lectura o escritura
VCC y GND (Alimentacin): Corresponden a los pines de alimentacin del circuito integrado. Algunas tienen
disponible tres pines para este propsito, pero por lo general son dos y el valor de la tensin de alimentacin
depende de la tecnologa de fabricacin del circuito.
En las siguientes secciones se indicaran algunos ejemplos de circuitos integrados de uso general disponibles en el
mercado, dando un ejemplo de cada uno de los tipos de memorias vistas.
Esta memoria fabricada por Motorola y desarrollada con tecnologa CMOS tiene una capacidad de 8K x 8. Los tiempos
de lectura y escritura del integrado son de aproximadamente 12 ns y tiene un consumo de potencia aproximado de
100 mW. En la Figura 10.5.2 se observa la disposicin de los pines del circuito integrado de esta memoria y sus las
caractersticas tcnicas bsicas.
Caractersticas Tcnicas
Referencia
MCM6264C
Tipo
SRAM
Capacidad (bits)
8192 X 8
Tipo de salida
5V
Tiempos de Acceso
12/15/20/25/35 ns
Encapsulado
DIL-28
El CI 4116 es una memoria DRAM de 16K x 1. La estructura interna de este integrado se encuentra constituida por un
arreglo de 128 filas y 128 columnas donde cada uno de los bits se ubican con una direccin de 14 bits. En la figura
10.5.3 se muestra la disposicin de los pines del circuito integrado. Observe que la entrada de direcciones es de
7 bits (A0...A6). La razn de poseer 7 pines y no 14, se debe a que estos tienen funcin doble, por ejemplo la
entrada A0 se utiliza para establecer los valores de los bits A0/A7 de la direccin de memoria que se quiere acceder.
Caractersticas
Tcnicas
Referencia
4116
Tipo
DRAM
Capacidad (bits)
16384 X 1
Tipo de salida
TRI-STATE
Tiempos de Acceso
100/120/150/200 ns
Encapsulado
DIL-16
Para ingresar una direccin de memoria en este integrado se utilizan las seales de entrada RAS y CAS, las cuales
deben estar inicialmente en "1" para recibir los 7 bits menos significativos de la direccin (A6...A0). Despus de ello la
entrada RAS debe cambiar a "0" con lo cual los 7 bits se cargan en el registro de direcciones de memoria y el
dispositivo queda disponible para recibir los 7 bits mas significativos (A7...A14) de la direccin. Una vez se aplican
estos bits, la entrada CAS debe cambiar a "0", cargndolos de esta forma en el registro de direcciones en su
respectiva posicin y permitiendo finalmente acceder a la posicin de memoria para efectuar la operacin de lectura o
escritura.
Esta memoria tiene una capacidad de 512 palabras de 8 bits y la descripcin de sus pines se muestra en la figura
10.5.4
Caractersticas
Tcnicas
Referencia
74S473
Tipo
PROM
Capacidad (bits)
512 X 8
Tipo de salida
OPEN COLECTOR
Tiempos de Acceso
60 ns
Encapsulado
DIL-20
Esta memoria de 24 pines tiene una capacidad de 2048 palabras de 8 bits, es decir 2KB. Las salidas de esta memoria
son triestado, lo que permite escribir o leer los datos con el mismo bus de datos.
Caractersticas Tcnicas
Referencia
27C16B
Tipo
EPROM CMOS
Capacidad (bits)
2048 X 8
Tipo de salida
(5V) (Vp=12.75V)
Tiempos de Acceso
150/250 ns
Encapsulado
DIL-24
Durante la programacin de la memoria, la entrada OE se debe encontrar en 1. En la entrada debe estar presente
una tensin de 5V, as como en los datos y la direccin de memoria. Despus de ello, se aplica pulso de tensin
durante 30 ms aproximadamente, para almacenar los datos.
Como se vi anteriormente, el borrado de este tipo de memoria se efecta mediante la exposicin del integrado a luz
ultravioleta. Una lmpara UV de 12mW, puede ser utilizada para efectuar este proceso, el cual tarda entre 20 y 25
minutos.
Esta memoria tiene una capacidad de 8K X 8 y tiene caractersticas diferentes a las dems. La informacin
almacenada puede perdurar aproximadamente 100 aos y puede soportar hasta 100.000 ciclos de grabado y borrado.
Caractersticas Tcnicas
Referencia
28C64A
Tipo
EEPROM CMOS
Capacidad (bits)
8192 X 8
Tipo de salida
5V
Tiempos de Acceso
120/150/200 ns
Encapsulado
DIL-28 y PLCC-32
En la figura 10.5.6 se indica la disposicin de los pines de esta memoria la cual se encuentra disponible en dos tipos
de encapsulados (DIL y PLCC).
La capacidad de esta memoria es de 32K X 8 y como memoria Flash tiene la caracterstica particular de ser borrada en
un tiempo muy corto (1 seg.). El tiempo de programacin por byte es de 100 ms y el tiempo de retencin de la
informacin es de aproximadamente 10 aos.
Caractersticas
Tcnicas
Referencia
28F256
Tipo
FLASH EEPROM
Capacidad (bits)
32768 X 8
Tipo de salida
(5V) (Vp=12.5V)
Tiempos de Acceso
90/100/120/150 ns
Encapsulado
DIL-28
En la figura 10.5.7 se indica la disposicin de los pines de esta memoria con sus caractersticas tcnicas bsicas.
PROCESADORES DIGITALES
Gran parte de los temas tratados en los captulos precedentes tienen aplicacin en los sistemas digitales actuales, en
especial en los computadores, aunque tambin se emplean en otros equipos de uso cotidiano como: impresoras,
equipos de sonido y televisores, entre otros.
El microprocesador o llamado actualmente Procesador Digital se considera uno de los dispositivos ms importantes en
los computadores, debido a la capacidad que tiene de manejar gran variedad de tareas y rutinas. Este dispositivo y en
general la microcomputadora ser el tema a estudiar a lo largo del capitulo.
Este capitulo pretende mostrar los aspectos bsicos sobre los Procesadores Digitales y su funcionamiento en forma
conjunta con otros dispositivos como memorias y puertos. La profundizacin y/o ampliaciones sobre este capitulo se
dejan al estudiante debido a que el tema podra tomar varios captulos o inclusive un curso completo.
CONFIGURACIN
El procesador digital o microprocesador es el dispositivo que contiene las funciones de la Unidad Central de Proceso
(CPU) en un computador. Este dispositivo se encarga de cumplir las funciones bsicas del computador y puede ser
incorporado en otros sistemas digitales que realizan funciones especiales.
El Procesador en trminos generales es el cerebro de un computador, cuyas partes bsicas son: el contador de
programa, el decodificador de instrucciones, los registros y la unidad aritmtica y lgica. En la figura 11.1.1 se indica
la disposicin de tales partes.
Todos los datos (las instrucciones y los datos) son ledos por la CPU a travs de los registros. Las instrucciones (el
cdigo del programa) son ledas en un registro llamado "Instruction Register" y luego son decodificadas mediante un
decodificador, que interpreta el tipo de instruccin. Dependiendo de la instruccin, se leen a continuacin los datos a
procesar, los cuales se almacenan en un registro llamado "Acumulador" o "Registro de Trabajo" que se encuentra
directamente relacionado con la Unidad Aritmtica y Lgica (ALU). La ALU es un modulo del procesador donde se
realizan todos los procesos lgicos y aritmticos con los datos. Los resultados de laALU son almacenados nuevamente
en el Acumulador, donde pueden ser enviados a una posicin de memoria o a un dispositivo de E/S.
Las seales mas importantes que maneja el procesador corresponden a las del bus del sistema. Este bus cumple un
papel importante en el funcionamiento del microcomputador y sern estudiados en la siguiente leccin.
ARQUITECTURA DE UN MICROCOMPUTADOR
Un microcomputador es un sistema digital que contiene por lo menos tres componentes esenciales: un
procesador (CPU), una Memoria y los Puertos Entrada/Salida. En la figura 11.2.1 se muestra un diagrama de bloques
de estos componentes y su conexin a travs de los buses de direcciones, datos y control, los cuales sern explicados
mas adelante en esta leccin.
Un microcomputador en pocas palabras puede es una computadora de propsito general, como un PC en miniatura, o
un sistema diseado para cumplir una tarea especial, como es el caso de los microcontroladores. En la figura 11.2.2
se muestra la apariencia interna de un microcomputador. Las lneas delgadas que van del centro hacia afuera son los
alambres que conectan los bloques internos del microcomputador con los pines de la cpsula.
Los buses de direcciones, datos y control mostrados inicialmente en la figura 11.2.1 son el "bus del sistema". Este bus
se encuentra separado en tres canales que manejan respectivamente direcciones, datos y seales de control, los
cuales permiten el procesador comunicarse con los dems dispositivos del microcomputador, tales como las memorias
y los dispositivos de E/S.
Bus de Datos
Este bus es bidireccional y es el canal por el cual se conducen los datos entre la CPU y los dems dispositivos
(memorias, puertos y otros).
Bus de Direcciones
El bus de direcciones es un canal unidireccional por el cual la CPU enva las direcciones de memoria para ubicar
informacin en los dispositivos de memoria, puertos u otros dispositivos del microcomputador.
Bus de Control
El bus de control, al igual que el bus de direcciones es unidireccional y se utiliza para efectuar la lectura y escritura en
las memorias y puertos de E/S. Este bus en general lo emplea la CPU para controlar el flujo de los datos y las
direcciones de forma organizada.
El bus de datos depende del tamao de los datos que maneja el procesador, este puede tener 8, 16 o 32 bits y el bus
de direcciones generalmente tiene como mnimo 16 bits. El bus del sistema se utiliza para transferir informacin entre
la CPU y la memoria o para extraer instrucciones almacenadas en memoria y datos presentes en los puertos de E/S.
El intercambio de informacin por el bus del sistema se realiza con dos tipos de operaciones:
Ciclo de Lectura: Cuando los datos en Memoria o puertos de E/S se transfieren a la CPU.
Ciclo de Escritura: Cuando los datos de la CPU se transfieren a la Memoria o a los puertos de E/S.
Las lneas de control son aquellas con las que se controla el flujo de la informacin por los buses, y las ms
importantes son:
CHIPSELECT (CS)
LECTURA (RD)
ESCRITURA (WR)
Cada transferencia empieza con la carga de una direccin en el bus de direcciones. Las lneas correspondientes a la
los bits menos significativos de la direccin se encuentran conectados directamente a las memorias. Las lneas de
direccin de los bits ms significativos se utilizan para seleccionar el dispositivo del cual se desea extraer la
informacin, ya sea una EPROM, RAM o un Puerto de E/S. Entonces, el decodificador de direcciones se encarga de
seleccionar el dispositivo que se debe activar segn la direccin presente en el bus. Para ello, cada dispositivo en el
microcomputador debe tener una nica direccin que lo identifique. En la figura 11.2.3 se muestra un diagrama de los
tiempos de las seales presentes durante el flujo de los datos y direcciones en el bus del sistema.
Figura 11.2.3. Diagrama de tiempos de las seales del bus del sistema.
La seal CS selecciona el dispositivo que debe transmitir los datos por el bus de datos. Luego una de las
seales RD o WR se activa desde la CPU, con lo cual se ordena al dispositivo seleccionado enviar los datos a
la CPU (ciclo de lectura) o recibirlos de la CPU (ciclo de escritura).
Todos los ciclos de lectura y escritura comienzan con una direccin vlida de la CPU. Luego el decodificador de
direcciones genera una seal CS para seleccionar uno de los dispositivos. Entonces la CPU enva una
seal RD o WR para efectuar la lectura o escritura de los datos.
Para una operacin de lectura el dispositivo debe conducir a travs del bus de datos, lo cual toma un tiempo corto (el
tiempo de acceso de los datos), y los datos deben estar disponibles en el bus durante el flanco de subida de la
seal RD. Durante este flanco de subida la CPU toma los datos y los almacena internamente en sus registros.
Durante un ciclo de escritura la CPU por si misma maneja de los datos. En este caso, al igual que en el ciclo de lectura
los datos deben estar disponibles en el bus antes de que ocurra el flanco de subida de la seal WR, para que el
dispositivo seleccionado pueda recibir los datos correctamente.
Arquitecturas de Microcomputadores
Actualmente se conocen dos tipos de arquitecturas en los microcomputadores, conocidas como Von-
Newman y Harvard.
Arquitectura Von-Neuman
Los microcomputadores basados en esta arquitectura se caracterizan por tener un solo bus para direcciones y datos,
es decir, que el mismo bus se emplea para enviar y recibir instrucciones y datos. Ademas de ello, las instrucciones y
los datos son almacenados en una memoria principal. Cuando la CPU se dirige a la memoria principal, extrae la
instruccin y despus los datos con los que se efecta la instruccin.
Arquitectura de Harvard
Esta arquitectura se caracteriza por tener por separado el bus de datos y el bus de direcciones. Esto significa que las
instrucciones y los datos son almacenados en memorias diferentes que son accedidas de forma separada por la CPU.
DECODIFICADORES
En los microcomputadores, la comunicacin entre la CPU y otros dispositivos como memorias y puertos se efecta a
travs del bus del sistema. El bus de direcciones de un microcomputador se encuentra estrechamente relacionado con
los decodificadores, ya que gracias a ellos es posible seleccionar los dispositivos internos del microcomputador y las
posiciones de memoria para efectuar operaciones de lectura y escritura. En la figura 11.3.1 se indica como se los
decodificadores se emplean dentro de un microcomputadro para seleccionar los dispositivos internos.
Esta no es la nica aplicacin de los decodificadores en los microcomputadores. Internamante dentro del
a CPU tambin existe un decodificador, llamado el Instruction Decoder (Decodificador de Instrucciones) el cual
funciona de forma conjunta con el Instruction Register (Registro de Instrucciones) de la CPU.
Segn lo visto en la Leccin 1: Configuracin, sobre la configuracin interna del Procesador Digital (CPU), el registro
de instrucciones es el lugar donde se almacena temporalmente la instruccin que la CPU debe ejecutar. Una vez la
instruccin se carga en este registro se pasa la informacin al decodificador de instrucciones, el cual se encarga de
descifrar la instruccin y sus operandos; despus de ello el decodificador genera las seales correspondientes a los
circuitos lgicos dentro de la CPU que se encargan a su vez de generar las seales de control requeridas para que se
ejecute finalmente la instruccin.
PUERTOS
Los puertos en un microcomputador corresponden a las interfaces de entrada y salida entre el microcomputador y el
mundo exterior. Existen puertos de entrada, salida y bidireccionales (Entrada y Salida).
Una de las funciones bsicas del microcomputador es comunicarse con los dispositivos exteriores, es decir, el
microcomputador debe ser capaz de enviar y recibir datos desde estos dispositivos. Sin esta funcin, el ordenador no
sera operativo porque sus clculos no seran visibles desde el exterior.
El funcionamiento de los puertos es similar al de una posicin de memoria. Al igual que los registros de una memoria,
los puertos son identificados por la CPU con una direccin en la cual se pueden leer y/o escribir datos. Para trabajar
con ellos solo es necesario apuntar a la direccin de memoria que tienen asignada, y el tratamiento es el mismo que
el de una posicin de memoria.
Los puertos y dispositivos de E/S, en general son todas las interfaces de entrada y salida de datos en un
microcomputador. Los dispositivos de E/S ms comunes en aplicaciones son: Teclados, Displays, E/S paralelo, E/S
seriales y E/S anlogas.
Teclado
Este es uno de los perifricos mas importantes en un microcomputador, debido a que gracias a ste, es posible
ingresar informacin para procesar por la CPU. Un teclado tpico en las aplicaciones con microcomputadores es el
teclado matricial 4X4, como el que se muestra en la figura 11.4.1.
La forma como detecta la pulsacin de una tecla, consiste en enviar una seal constantemente a cada una de las filas
a travs de las salidas de un puerto del microcomputador y verificar cual de las columnas se activa a travs de un
puerto de entrada. Este es el mtodo que generalmente se utiliza para detectar una tecla, y se pude implementar con
una rutina de cdigo que funcione de forma cclica.
Displays
Los displays son perifricos muy importantes y su funcin es mostrar informacin proveniente de los puertos de
salida,. Los Displays hacen las veces de monitor en el caso de los computadores de escritorio.
Generalmente se emplean display de 7 segmento, aunque hoy en da se ha venido incrementando el uso de Display
de Cristal Lquido (LCD), el cual tiene menos consumo de energa que el de 7 segmentos y adems permite mostrar
una gran variedad de caracteres.
E/S Paralelo
El puerto paralelo es el tipo de puerto comnmente empleado en las aplicaciones del microcomputador, generalmente
se utiliza para sealizar manejar teclados y habilitar otros dispositivos.
E/S Seriales
Este puerto se emplea para establecer comunicacin con otros dispositivos. Algunos microcomputadores y
microcontroladores tienen incluido uno de estos puertos en su arquitectura con el cual se puede establecer
comunicacin en tres hilos (Trasmisin, Recepcin y Referencia).
E/S Anlogas
Muchas aplicaciones necesitan de una entrada anloga para medir magnitudes fsicas como temperatura o presin.
Algunos microcomputadores tiene conversores A/D que permiten medir estas magnitudes y procesar la informacin en
forma digital. Actualmente se consiguen en el mercado microcontroladores con resoluciones entre 8 y 22 bits.
MEMORIAS
En las lecciones precedentes del captulo, se mencion sobre la necesidad de por lo menos una memoria para el
funcionamiento de los microcomputadores. Esta memoria puede ser interna o externa, ya sea con chips adicionales o
internamente dentro del chip del microcomputador.
La memoria de Programa.
La memoria de Datos.
La memoria de programa se utiliza para almacenar las instrucciones de los programas que ejecuta el
microcomputador. Generalmente el tipo de memoria que se emplea para almacenar el programa es una memoria
ROM, para que la informacin no se pierda cuando se desenergiza el microcomputador. Esta memoria puede ser
una EPROMo una EEPROM, aunque hay microcomputadores que almacenan las instrucciones en memorias RAM, pero
su uso no es muy difundido.
La memoria de datos se emplea para el almacenamiento y lectura de datos que se generan y cambian
constantemente durante la ejecucin del programa y la pila. La pilaes una porcin de memoria dnde la CPU almacena
sus propios datos de uso interno para la ejecucin de subrutinas. Por sus caractersticas, la memoria de datos se
encuentra constituida comnmente por una RAM.
Recordando lo visto en capitulo anterior, en la figura 11.5.1 se indica la disposicin interna de una memoria, donde se
observan las entradas de datos, direcciones y control que se conectan a la CPU.
Los microcomputadores tienen un lenguaje nico que es capaz de reconocer y ejecutar las instrucciones. Este
lenguaje es llamado "Lenguaje de Mquina" y pertenece al procesador del microcomputador. El lenguaje de mquina
est compuesto por una serie de instrucciones, las cuales son reconocidas y ejecutadas nicamente por el procesador.
Este lenguaje es un conjunto de nmeros que representan las operaciones realizadas por los componentes internos
del procesador. Estas instrucciones se encuentran directamente ligadas a la estructura fsica del procesador y no
pueden ser modificadas o cambiadas.
El lenguaje Ensamblador
Es necesario comprender la arquitectura interna del procesador as como sus instrucciones para programar un
procesador. Cada procesador tiene un conjunto de registros internos que puede emplearse de maneras distintas para
manipular nmeros binario. Las instrucciones ejecutadas por el procesador generalmente manipulan los datos
almacenados en la memoria y los registros de trabajo.
Las instrucciones de programa de un procesador se guardan como nmeros binarios en la memoria y se conocen
como cdigos de operacin (op). Los cdigos de operacin son ledos por la CPU y decodificados para determinar cul
es la instruccin que debe ejecutarse. Cada cdigo de operacin se aplica o afecta a otro nmero, tal como el que est
guardado en el "registro de trabajo" o "Acumulador". El nmero binario al que se aplica la instruccin se conoce
como operando. El operando puede ser otro registro o un nmero binario almacenado en la memoria.
Para facilitar la escritura de programas, cada uno de los tipos principales de instrucciones tiene asociado un cdigo
alfanumrico corto que ayuda al programador a recordarlos, y estos cdigos alfanumricos se conocen
como mnemnicos. Este lenguaje es llamado lenguaje ensamblador y su uso es muy frecuente debido a la facilidad
para recordar las instrucciones. A manera de ejemplo en la tabla 11.6.1 se muestra una instruccin en lenguaje
ensamblador, la cual efecta una la trasferencia de datos entre dos registros del procesador:
La palabra "MOV" es una abreviatura que significa "mover" y corresponde a la instruccin que se da al procesador, el
operando "A, B" agrupa los argumentos de la instruccin y en este caso corresponde a dos registros del procesador.
Como regla general en el lenguaje ensamblador de varios procesadores, cuando un operando tiene esta sintaxis,
indica que el registro a la derecha de la coma es la fuente y el registro a la izquierda es el destino.
Existe una correspondencia uno a uno entre las instrucciones en lenguaje de mquina y lenguaje ensamblador y cada
uno de los valores numricos del lenguaje de mquina tiene una representacin simblica de 3 a 5 caracteres como
instruccin en lenguaje ensamblador, como es el caso de la instruccin de ejemplo anterior.
De esta forma los programas pueden ser escritos utilizando nicamente los mnemnicos de las instrucciones y ser
procesados posteriormente con un programa denominado ensamblador, el cual genera los cdigos de operacin. Esta
es una manera mucho prctica de generar un programa en vez de consultar los cdigos de operacin y cargarlos en
memoria manualmente.
Tipos de Instrucciones
Las instrucciones de un procesador se pueden agrupar en tres tipos: Instrucciones de Transferencia, Instrucciones de
Operacin e Instrucciones de Control. A continuacin se describirn las caractersticas bsicas de cada uno de estos
grupos:
Instrucciones de Transferencia
Como su nombre lo indica, este grupo de instrucciones se utiliza para efectuar transferencia de datos entre los
registros de la CPU, la memoria y los puertos de E/S. En la tabla 11.6.2 se indica un ejemplo este tipo de
instrucciones.
Instrucciones de Operacin
Estas instrucciones se emplean para realizar operaciones aritmticas y lgicas entre los registros del procesador y la
memoria. Estas operaciones incluyen suma, resta, incremento decremento, complemento, comparacin y corrimiento.
En la tabla 11.6.3 se muestra un ejemplo de una instruccin de operacin.
Instrucciones de Control
En el lenguaje Ensamblador y en general en cualquier lenguaje de programacin las instrucciones de control juegan
un papel muy importante en el flujo de un programa. Su funcin consiste en alterar el flujo normal del programa,
segn el estado de ciertos registros del sistema que indican alguna condicin despus de ejecutar una instruccin.
Con este tipo de instrucciones es posible tomar el control del flujo del programa. En la tabla 11.6.4 se indica un
ejemplo de una instruccin de control.
La abreviatura JZ corresponde a la frase en ingls Jump If Zero (Saltar si Cero) y la funcin es evaluar el bit del
sistema Z del registro de estado. En caso de estar en 0se ejecuta normalmente la siguiente instruccin, y en caso de
estar en 1 se salta la siguiente instruccin. Este bit del sistema se pone en 1 si una operacin anterior di como
resultado 0.
Hay mucho ms que decir sobre la programacin de un procesador que lo mencionado en esta leccin; sin embargo,
si el estudiante desea comprender ms a fondo la forma en que funciona el microcomputador y c mo se programa,
es conveniente estudiar un poco sobre diagramas de flujo y programacin.
MICROCONTROLADORES
Qu es un Microcontrolador
Muchos de los sistemas digitales pueden disearse empleando procesadores o microcontroladores, la seleccin del
dispositivo depende del tipo de aplicacin y la diferencia bsica que existe entre estos dos dispositivos se explica a
continuacin:
Los procesadores son empleados para procesar informacin. A manera de ejemplo, con un procesador se podra
hallar todas las personas en Bogot entre edades de 15 y 30 aos, de sexo femenino, y ordenados por el Apellido.
Los procesadores usan un conjunto de instrucciones tiles para procesar datos, lo cual los hace muy verstiles para
manejar informacin.
Los microcontroladores son utilizados como su nombre lo indica para controlar. Son muy utilizados para
implementar controles automticos. Como ejemplo, un microcontrolador puede sensar la temperatura de un
proceso, compararla con un valor almacenado en memoria y tomar la decisin de encender un equipo de calefaccin
si la temperatura baja de cierto valor, y adems de ello mostrar el valor en un display.
Los microcontroladores generalmente tienen instrucciones especiales que permiten controlar procesos como el
indicado anteriormente y otros ms complejos; todo depende de la habilidad del programador para generar el cdigo
para manejar el proceso. Un microcontrolador es simplemente un procesador con memoria ROM y RAM, puertos
de E/S y otros dispositivos de propsito especial como conversores A/D, contadores, temporizadores y puertos de
comunicacin, o en otras palabras es un microcomputador con funciones especiales. En la figura 11.7.1 se indica la
estructura interna tpica de un microcontrolador.
Estos dispositivos generalmente incluyen variedad de funciones especiales que se pueden utilizar gracias a los
dispositivos internos incluidos dentro de ellos. Entre las caractersticas mas relevantes de un microcontrolador, se
pueden enunciar las siguientes:
Los microcontroladores se pueden encontrar en varias aplicaciones que se relacionen con medida, almacenamiento,
control, clculo entre otras. Tambin se pueden encontrar dentro de los teclados, mdems, impresoras y otros
perifricos. Como se puede notar los microcontroladores son dispositivos muy verstiles que pueden ser utilizados en
muchas aplicaciones, donde todo el potencial se encuentra en la programacin.
Dentro de cada familia de dispositivos, usted encontrar normalmente una seleccin de varios microcontroladores
dependiendo de los dispositivos internos que tenga disponibles, y la capacidad de memoria de programa y datos.
Los microcontroladores tambin se especifican por la cantidad de bits que pueden procesar por unidad de tiempo. Un
nmero alto de bits indica que se trata de un dispositivo rpido y de altas prestaciones. Los microcontroladores de
8 bits son muy populares y se emplean en proyectos simples, sin embargo se encuentran arquitecturas que manejan
hasta 32 bits, para aplicaciones ms complejas.
El consumo de potencia es otra especificacin que se debe tener en cuenta, sobre todo para sistemas alimentados por
bateras. Los Chips normalmente son fabricados con tecnologa CMOS debido al consumo bajo que ofrece. Algunos de
estos dispositivos CMOS tienen disponible un estado de espera o modo "sleep", como el de los compuatdores cuando
se suspenden, el cual limita el consumo de corriente en unos cuantos microamperios cuando los circuitos se
encuentran inactivos. Usando este modo de funcionamiento, el consumo de potencia puede ser reducido cuando se da
espera a la entrada de datos durante la ejecucin de un programa.
En esta seccin se describen algunos microcontroladores populares que pueden ser empleados para infinidad de
aplicaciones. Lo ms recomendable en la seleccin de un microcontrolador es tener disponible un buen juego de
herramientas de desarrollo y que su costo no sea tan elevado, adems de ello tambin es importante tener acceso a
la documentacin del dispositivo para conocer su arquitectura y funciones. Para iniciarse en la programacin de estos
dispositivos generalmente son recomendables los microcontroladores de INTEL, MOTOROLA y MICROCHIP entre otros,
de los cuales se consiguen con facilidad sus herramientas de desarrollo y documentacin. A continuacin de dar una
breve descripcin de los dispositivos de cada una de estas Marcas.
Los microcontroladores de la serie 8051, son la segunda generacin despus del 8048. Este dispositivo es muy
poderoso y fcil para programar. Tiene arquitectura Harvard, es decir, que los la memoria de datos y programa se
encuentran por separado en su estructura. La memoria del programa es de 64K y la memoria de datos es de 128
bytes y 256 bytes para los 8052. Hay disponible gran cantidad de software de desarrollo para los microcontroladores
de esta familia que puede ser encontrado en Internet.
La tercera generacin de estos microcontroladores son los de la familia 80C196, los cuales manejan palabras de
16 bits. Entre las principales caractersticas de estos dispositivos se pueden enumerar las siguientes: efectan
operaciones de multiplicacin y divisin el hardware multiplica y divide, 6 modos de direccionamiento, Sistema de E/S
de alta velocidad, Conversor A/D, mdulo de comunicacin serial, 8 fuentes de interrupcin, generador de PWM,
Watchdog Timer.
Existe tambin el microcontrolador 80386 EX, el cual tiene toda la potencialidad de un procesador 80386 pero con
dispositivos adicionales que lo convierten en un microcontrolador muy potente y verstil. Este dispositivo tiene puerto
serial, modos de ahorro de energa, contadores y temporizadores, memoria DRAM y fuentes de interrupcin.
El 68HC11 es un microcontrolador de 8 bits. Este microcontrolador tiene bus de direcciones interno de 16 bits con un
juego de instrucciones similar al de sus predecesores de las familias 6801, 6805 y 6809. La arquitectura de estos
microcontroladores es Von-Newman, es decir, que las direcciones y los datos comparten el mismo espacio en
memoria. Dependiendo de la variedad, los 68HC11 tienen EEPROM incorporada, RAM, entradas y salidas digitales,
temporizadores, conversor A/D, generador de PWM, contadores de pulsos, puerto de comunicaciones seriales
sincrnicas y asincrnicas, entre otras funciones.
PIC16C - MICROCHIP
Los microcontroladores de Microchip fueron los primeros dispositivos RISC. RISC significa que el dispositivo tiene un
nmero reducido de instrucciones, lo cual implica simplicidad en su arquitectura y bajo costo. Aunque estos
microcontroladores tienen pocas instrucciones (33 para el PIC16CXX) en la actualidad son muy utilizados por su
facilidad de programacin y costo reducido.
Estos dispositivos son de arquitectura Harvard, por lo cual teien buses de datos y direcciones separados. Los
beneficios que tiene este dispositivo frente a los dems es su sencillez, lo cual permite fabricarlo en chips muy
pequeos, con la ventaja adicional de consumir muy poca energa.
Estos dispositivos son muy populares y generalmente se encuentran en aplicaciones en revistas de electrnica e
Internet. Actualmente existen varias familias de este microcontrolador entre las cuales se pueden destacar la
PIC16C5X, PIC16CXX, y la PIC17CXX, que tambin se pueden conseguir con memoria Flash en las familias PIC16FXXX
FIN ELECTRONICA I
http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/110701.htm