M. en C. Orlando Beltrán Navarro INSTITUTO POLITECNICO NACIONAL

Anuncio
INSTITUTO POLITECNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA ELÉCTRICA
UNIDAD-CULHUACÁN
APUNTES DE CIRCUITOS DIGITALES
M. en C. Orlando Beltrán Navarro
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Unidad I. Introducción 1.1
Diferencias entre señal Analógica y Señal Digital
1.1.1 Conceptos básicos de lógica simbólica y álgebra de proposiciones
1.1.2 Sistemas numéricos
1.2
Compuertas lógicas básicas (and, or, not, nand, nor)
1.3
Métodos de reducción
1.3.1 Algebra de boole
1.3.1.1 Definiciones
1.3.1.2 Postulados, Leyes y Teoremas
1.3.1.3 Implementaciones
1.3.1.4 Función Booleana
1.3.2 Mapas de Karnaugh
1.3.2.2 Procedimientos de utilización
1.3.2.3 Mapas de 2 a 5 variables
1.3.2.4Condiciones de indiferencia
1.3.2.5Aplicaciones: Convertidores de Código
I.
Introducción
Los sistemas digitales forman parte de la currícula de las carreras de ingeniería en
comunicaciones y electrónica desde que fueron diseñados en la década de los 70. El diseño
y aplicaciones modernos han variado sustancialmente, sin embargo los principios y técnicas
permanecen invariables y sustentan el enorme avance tecnológico que se vive en la
actualidad.
En éste capítulo se analizan los conceptos fundamentales para el diseño con circuitos
lógicos y su utilización en el diseño de sistemas complejos como microprocesadores,
microcontroladores, etc.
1.1 Diferencias entre señal Analógica y Señal Digital
El principal elemento utilizado para la interpretación de fenómenos ocurridos en ingeniería
se denomina señal. Las señales se obtienen de sensores, transductores, por medio de
instrumentos, mediante procesos matemáticos, representaciones pictóricas etc.
Aunque existen múltiples clasificaciones, para el análisis desarrollado en la materia se
utilizan dos tipos básicos de señales: las analógicas y las digitales.
Señales analógicas: Se conocen también como señales continuas ya que se caracterizan por
no presentar discontinuidades; se dimensionan en dos ejes principales, el eje de amplitud, a
menudo representado en unidades de voltaje o de corriente y el eje de tiempo, representado
en segundos o submúltiplos de segundos.
2
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 1.1 Dos ejemplos de señales analógicas obtenidas con osciloscopios digitales
Señales digitales: Tienen en teoría solo dos niveles de amplitud, un nivel alto o verdadero
y un nivel bajo o falso, sin embargo en la práctica existen niveles de transición entre
estados como puede apreciarse en las señales mostradas en la figura 1.2. El cambio entre
niveles teóricamente no debe existir pues idealmente se trata de señales discontinuas. En
estricto sentido se trata de señales binarias ya que cuentan con solo dos niveles prácticos y
al agruparse se convierten en dígitos binarios de tamaño específico, dando origen al término
de señales digitales.
Fig 1.2 Dos ejemplos de señales digitales obtenidas con osciloscopios digitales
3
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 1.3 Dos ejemplos de señales digitales obtenidas con un analizador lógico
En este curso se emplea la lógica positiva, que asigna el nivel de voltaje mas alto al nivel
lógico 1 y el nivel de voltaje mas bajo al nivel lógico 0. (Cuando se utilizan circuitos TTL
estos niveles son 5 V. y 0 V. respectivamente).
Ir al inicio
1.1.1 Conceptos básicos de lógica simbólica y álgebra de proposiciones
La lógica simbólica tiene sus raíces en la filosofía y las matemáticas elementales. Se basa
en la representación de sentencias mediante símbolos. Las sentencias mas simples se
representan mediante letras minúsculas o mayúsculas y estas pueden ser de dos tipos;
sentencias válidas o verdaderas y sentencias inválidas o falsas.
A
Ā
sentencia válida o verdadera
sentencia inválida o falsa
El álgebra de proposiciones es el método de conectar las sentencias de la lógica simbólica.
Las conexiones básicas son: conexión Y o AND, conexión O u OR, conexión XOR y
algunas conexiones derivadas.
La conexión AND se representa generalmente con un punto entre dos letras, indicando la
conjunción entre los elementos A y B
A•B
implica A y B
4
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
La conexión OR se representa generalmente con un signo mas entre dos letras, indicando la
disyunción entre los elementos A y B
A+B
implica A o B
La conexión XOR se representa generalmente con un signo mas dentro de un círculo entre
dos letras, indicando la disyunción exclusiva entre los elementos A y B
A⊕ B
implica exclusivamente A o B
Ir al inicio
1.1.2
Sistemas numéricos
El sistema numérico utilizado en sistemas digitales es el sistema binario.
Para comprender cualquier tipo de sistema, es necesario repasar algunos conceptos de
sistemas numéricos mediante el sistema más comúnmente utilizado, el sistema decimal.
El sistema decimal es un sistema posicional, lo que implica que las cifras que lo representan
tienen valor dependiendo de la posición en que se localizan.
93401. 72514
Cienmilésimos
Diezmilésimos
Milésimos
Centésimos
Decimos
Decenas de millar
Unidades de millar
Centenas
Decenas
Unidades
Fig 1.4 Sistema decimal representado como sistema posicional
Otra forma de representarlo es mediante potencias de base 10 relacionadas con la posición
de las cifras respecto al punto decimal. A la derecha del punto decimal el exponente o la
potencia son negativos y decrecen mientras a la izquierda son positivos y crecen
9 x10 4 + 3x10 3 + 4 x10 2 + 0 x101 + 1x10 0 + 7 x10 −1 + 2 x10 −2 + 5 x10 −3 + 1x10 −4 + 4 x10 −5
5
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
De esta manera, puede construirse un sistema numérico con diferente base, siendo b un
número cualquiera y los dígitos dependientes de la base utilizada
1xbn −1 + 1xbn −2 + • • • + 1xb 3 + 1xb 2 + 1xb1 + 1xb 0 + 1xb −1 + 1xb −2 + • • • + 1xb − m
Si la base utilizada es 20, el sistema es un sistema vigesimal (como el utilizado por la
civilización Maya);
Los mayas usaban un sistema numérico posicional vigesimal que empleaba tres símbolos
básicos: el punto representando una unidad, la raya representando cinco unidades y una
concha que representa al cero.
Fig 1.5 Primeros 30 dígitos de la Numeración Maya
En la numeración maya, se escriben las cifras verticalmente, con las unidades en la parte
inferior. Existe una irregularidad: la tercera posición no cuenta grupos de 400 (20×20) sino
grupos de 360 (20×18). Esta irregularidad se debe a que es el número más cercano a la
duración del año. Esta irregularidad se conserva en las posiciones subsiguientes: la cuarta
cuenta grupos de 7200 (20×18×20), la quinta grupos de 144.000 (20×18×20×20), etc.
6
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Si la base es 10, se trata del sistema decimal; si se utiliza la base 16 tenemos el sistema
hexadecimal utilizado en sistemas computacionales y si la base es 2 tenemos el sistema
binario, utilizado también en sistemas de cómputo y diseño digital, basado solo en dos
valores, el cero y el uno.
Ejercicio: De los números proporcionados en clase, obtener su valor en decimal, binario,
hexadecimal y vigesimal.
El sistema de numeración binario es el más usado en todos los sistemas de cómputo debido
a que solo involucra dos valores que pueden reproducirse con dos niveles de voltaje. Con
este sistema puede representarse cantidades positivas y negativas e inclusive hacer
aritmética. En sistemas de cómputo también se utiliza el sistema hexadecimal
Decimal
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Hexadecimal
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Binario puro
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Tabla 1.1 equivalencias entre sistemas decimal, hexadecimal y binario puro
Ir al inicio
1.2 Compuertas lógicas básicas (and, or, not, nand, nor, xor)
Los tres circuitos lógicos básicos o compuertas básicas que se utilizan en diseño de
circuitos digitales son AND, OR y NOT
7
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Compuerta AND: Realiza la función de conjunción lógica expresada por la función
X=A • B .
La salida X es verdadera cuando la entrada A y la entrada B son verdaderas
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta AND
B
0
1
0
1
X
0
0
0
1
Fig 1.6 Compuerta AND y su tabla de verdad
Compuerta OR: Realiza la función de disyunción lógica expresada por la función
X=A + B
La salida X es verdadera cuando la entrada A o la entrada B son verdaderas
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta OR
B
0
1
0
1
Fig 1.7 Compuerta OR y su tabla de verdad
8
X
0
1
1
1
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Compuerta NOT: Realiza la función de negación lógica expresada por la función
X=Ā
La salida X es verdadera cuando la entrada A es falsa
Tabla de verdad
A
X
A
0
1
X
1
0
Compuerta NOT
Fig 1.8 Compuerta NOT y su tabla de verdad
Además de las compuertas básicas, se tienen dos compuertas modificadas que se utilizan
ampliamente pues permiten diseños mas complejos con la utilización de solo un tipo de
ellas, lo que da origen a su denominación de compuertas universales.
Las dos compuertas universales son NAND y NOR
Compuerta NAND: Realiza la función de conjunción lógica negada, expresada por la
función X= A • B
La salida X es falsa cuando la entrada A y la entrada B son verdaderas
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta NAND
B
0
1
0
1
Fig 1.9 Compuerta NAND y su tabla de verdad
9
X
1
1
1
0
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Compuerta NOR: Realiza la función de disyunción lógica negada, expresada por la
función X=A + B
La salida X es falsa cuando la entrada A o la entrada B son verdaderas
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta NOR
B
0
1
0
1
X
1
0
0
0
Fig 1.10 Compuerta NOR y su tabla de verdad
En teoría, cualquier diseño lógico puede realizarse con la utilización de un solo tipo de
compuerta universal, ya sea compuertas NAND o compuertas NOR
Por último, existe un tipo de compuerta compuesta. La compuerta O exclusiva, denominada
XOR
Compuerta XOR: Realiza la función de disyunción lógica exclusiva, expresada por la
función X=A ⊕ B
La salida X es verdadera, exclusivamente cuando la entrada A o la entrada B son
verdaderas
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta XOR
B
0
1
0
1
Fig 1.11 Compuerta XOR y su tabla de verdad
10
X
0
1
1
0
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Tablas de verdad: Todo tipo de circuitos lógicos se caracterizan a través de tablas de
verdad, en las que se colocan las entradas al circuito del lado izquierdo y las salidas del
lado derecho. El número de renglones viene dado por el número de combinaciones de las
señales de entrada al circuito, de manera que un circuito con una entrada se caracteriza con
una tabla de verdad de 2 renglones, uno de dos entradas con cuatro renglones, etc.
Ejercicio: Diseñe la tabla de verdad de diferentes circuitos propuestos en clase.
Ejercicio: Diseñe la compuerta XOR utilizando a) compuertas básicas, b) compuertas
universales NAND y c) compuertas universales NOR
Ir al inicio
1.3 Métodos de reducción
Inicialmente, se debe aplicar un método para obtener ecuaciones a partir de las tablas de
verdad de circuitos digitales.
Método de Shannon*: Consiste en obtener ecuaciones a partir de una tabla de verdad
propuesta utilizando ya sea los unos o valores verdaderos o los ceros o valores falsos.
*Claude Elwood Shannon (30 de abril de 1916 (Michigan) - 24 de febrero de 2001) recordado como "el
padre de la teoría de la información".
Los primeros años de su vida los pasó en Gaylord, donde se graduó de la secundaria en 1932. Desde
joven, Shannon demostró una inclinación hacia las cosas mecánicas. Resaltaba respecto a sus compañeros
en las asignaturas de ciencias. Su héroe de la niñez era Edison, a quien luego se acercó bastante en sus
investigaciones.
En 1932 ingresó en la Universidad de Michigan, siguiendo a su hermana Catherine, Doctora en
matemáticas. En 1936 obtuvo los titulos de ingeniero eléctrico y matemático. Su interés por las
matemáticas y la ingeniería continuó durante toda su vida.
En 1936 aceptó la posición de asistente de investigación en el departamento de ingeniería eléctrica en el
Instituto de Tecnología de Massachusetts (MIT). Su situación le permitió continuar estudiando mientras
trabajaba por horas para el departamento, obteniendo como resultado la calculadora más avanzada de esa
era.
En ese momento surgió su interés hacia los circuitos de relevadores complejos, sumado a su gusto por la
lógica y el álgebra boleana. Estos nuevos intereses pudo desarrollarlos durante el verano de 1937, que
pasó en los laboratorios Bell en la ciudad de Nueva York.
En su tesis doctoral en el M.I.T., demostró como el álgebra boleana se podía utilizar en el análisis y la
síntesis de la conmutación y de los circuitos digitales. La tesis despertó un interés considerable cuando
apareció en 1938 en las publicaciones especializadas. En 1940 le fue concedido el Premio a ingenieros
americanos del Instituto Americano Alfred Nobel de Estados Unidos, una concesión dada cada año a una
persona de no más de treinta años. Un cuarto de siglo más tarde H. H. Goldstine, en su libro "Las
computadoras desde Pascal hasta von Neumann", citó su tesis como una de las más importantes de la
historia... que ayudó a cambiar el diseño de circuitos digitales.
11
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Durante el verano de 1938 efectuó trabajos de investigación en el M.I.T.y le fue concedida la beca Bolles
cuando trabajaba como ayudante de enseñanza mientras realizaba un doctorado en matemáticas.
En 1940 estudió un master en ingeniería eléctrica y se doctoró en filosofía matemática.
Shannon pasó quince años en los laboratorios Bell, una asociación muy fructífera con muchos
matemáticos y científicos de primera línea como Harry Nyquist, Brattain, Bardeen y Shockley, inventores
del transistor; George Stibitz, quien construyó computadoras basadas en relevadores y muchos otros más.
Durante este período Shannon trabajó en muchas áreas, siendo lo mas notable todo lo referente a la teoría
de la información, un desarrollo que fue publicado en 1948 bajo el nombre de "Una Teoría Matemática de
la Comunicación". En este trabajo se demostró que todas las fuentes de información (telégrafo, teléfono,
radio, la gente que habla, las cámaras de televisión, etc, ... )se pueden medir y que los canales de
comunicaciones tienen una unidad de medida similar. Mostró también que la información se puede
transmitir sobre un canal si y solamente si la magnitud de la fuente no excede la capacidad de transmisión
del canal que la conduce y sentó las bases de la corrección de errores, supresión de ruidos y redundancia.
En el área de las computadoras y de la inteligencia artificial, publicó en 1950 un trabajo que describía la
programación de una computadora para jugar ajedrez, convirtiéndose en la base de posteriores
desarrollos.
A lo largo de su vida recibió numerosas condecoraciones y reconocimientos de universidades e
instituciones de todo el mundo.
Shannon debe ser considerado dentro de los personajes mas importantes del siglo XX, aunque su nombre
es desconocido para el público en general.
Claude Shannon falleció el 24 de febrero del año 2001, a la edad de 84 años, después de una larga lucha
en contra la enfermedad de Alzheimer.
* Tomado de wikipedia http://es.wikipedia.org/wiki/Claude_E._Shannon
a) Si se utilizan los valores verdaderos de las salidas, se colocan en disyunción
(función “or”) las combinaciones (conjunciones o funciones “and”) de las señales
de entrada que las producen. Por ejemplo, tomando como base la tabla de verdad de
la compuerta XOR
A
B
A
0
0
1
1
X
B
0
1
0
1
X
0
1
1
0
X = A⋅ B + A⋅ B
Fig 1.12 Método de Shannon con valores verdaderos
12
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
b) Si se utilizan los valores falsos de las salidas, se colocan en conjunción (función
“and”) las disyunciones (función “or”) de las señales de entrada que las producen,
pero con valores cambiados. Por ejemplo, tomando nuevamente como base la tabla
de verdad de la compuerta XOR
A
B
A
0
0
1
1
X
B
0
1
0
1
X
0
1
1
0
X = ( A + B) ⋅ ( A + B)
Fig 1.13 Método de Shannon con valores falsos
Para comprobar este segundo postulado, pueden utilizarse los valores que producen un
valor falso a la salida
X = A⋅ B + A⋅ B
X = A⋅ B + A⋅ B
y utilizando la ley de Morgan para la reducción de una ecuación negada, en la que se
cambian disyunciones por conjunciones, la ecuación queda
X = ( A + B) ⋅ ( A + B)
Que es la ecuación obtenida en el segundo postulado.
Ejercicio: Obtenga las ecuaciones de las tablas proporcionadas en clase, utilizando los
métodos de reducción analizados
13
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Los principales métodos de reducción son el álgebra de Boole y los mapas de Karnaugh
aunque para mayor número de variables se usa el método tabular (Quine McCluskey)
Ir al inicio
1.3.1 Algebra de boole*
Son ecuaciones que relacionan las variables de una tabla de verdad y se rigen por
postulados básicos
* George Boole, (2 de noviembre de 1815 - 8 de diciembre de 1864) fue un matemático y filósofo. Como
inventor del álgebra de Boole, la base de la aritmética computacional moderna, Boole es considerado
como uno de los fundadores del campo de las Ciencias de la Computación.
Su padre fue un comerciante de limitados recursos, pero de carácter estudioso y una mente activa.
Presentó especial interés en las ciencias matemáticas, donde el padre le dio sus primeras lecciones a su
hijo; pero las extraordinarias cualidades de George Boole para las matemáticas no se les mostró a ellos a
una edad temprana. En primer lugar, su asunto favorito fueron las obras clásicas. Hasta los 17 años no
desarrolló sus cualidades matemáticas, y su progreso se vio retardado al no disponer de una ayuda
eficiente. A los 17 años aproximadamente se convirtió en asistente del profesor en una escuela privada
de Doncaster, y permaneció desde entonces hasta el final de su vida en un grado y otro relacionado con
la profesión escolar. Pocos hombres distinguidos, de hecho, han tenido una vida menos agitada. Los
únicos cambios significativos fueron su acertado traslado a la escuela de Lincoln, su traslado a
Waddington, su nombramiento en 1849 como profesor de matemáticas en Queen's College, Cork en
Irlanda, y su casamiento en 1855 con Miss Mary Everest, quién, como la Señora de Boole, después
escribiría varios trabajos educativos útiles en los inicios de su marido.
Para el público Boole sólo fue conocido como el autor de numerosos trabajos abstrusos en diferentes
materias matemáticas, y el autor de tres o cuatro publicaciones distinguidas que llegaron a ser estándares
de trabajo. Sus primeras publicaciones fueron sobre "Teoría de Transformaciones Analíticas", impreso
en la Cambridge Mathematical Journal de 1839, que permitió el establecimiento de una relación de
amistrad entre Boole y D.F. Gregory, el editor de la revista, la cual perduró hasta la muerte prematura de
este último en 1844. Una larga lista de memorias y papeles sueltos, tanto de asuntos de lógica como
matemáticos, fueron encontrados en el Catalogue of Scientific Memoirs publicado por la Royal Society,
y en el volumen suplementario de Ecuaciones Diferenciales, editado por Isaac Todhunter. Para la
Cambridge Mathematical Journal y su sucesora, la Cambridge and Dublin Mathematical Journal, Boole
contribuyó con 22 artículos. En las series tercera y cuarta de la Philosophical Magazine se encontrarían
16 documentos. La Royal Society imprimió 6 importantes memorias en la Philosophical Transactions, y
otras cuantas memorias fueron encontradas en las Transactions of the Royal Society of Edinburgh and of
the Royal Irish Academy, en el Bulletin de l'Académie de St-Pétersbourg de 1862 (bajo el nombre G
Boldt, vol. iv. pp. 198-215), y en Crelle's Journal. A esta lista se debería añadir un trabajo en la lógica
básica matemática, publicado en la Mechanic's Magazine de 1848. Los trabajos de Boole fueron de este
modo recogidos en unos 50 artículos dispersos y en unas cuantas publicaciones separadas.
Sólo dos tratados sistemáticos en materias matemáticas fueron completados por Boole durante su vida.
El bien conocido Tratado sobre Ecuaciones Diferenciales aparecido en 1859, y al año siguiente, el
Tratado sobre los Cálculos de Diferenciales Finitas, diseñado como continuación del anterior. Estos
tratados son valiosas contribuciones a las importantes ramas de las matemáticas en cuestión, y Boole, al
componerlas, parecía haber combinado la exposición elemental con la profundidad investigadora del
aspecto filosófico del tema de una forma difícilmente mejorable. Estos trabajos incorporan hasta cierto
punto los descubrimientos más importantes de su autor. En los capítulos 16 y 17 de Ecuaciones
14
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Diferenciales se encuentra una lúcida narración del método simbólico general, un hábil desarrollo que le
condujo a alcanzar sus principales descubrimientos, y de un método general en el análisis, descrito
originalmente en su famosa memoria impresa en el Philosophical Transactions de 1844. Boole fue uno
de los más eminentes de aquellos que percibieron que las opreaciones simbólicas podrían separarse y
formar objetos distintos del cálculo. Su principal característica era la perfecta certeza en cualquier
resultado obtenido en el tratamiento simbólico de acuerdo a sus leyes primarias y condiciones, y que
unos niveles de habilidad y poder casi inalcanzables fuera de estos resultados.
Durante los últimos años de vida Boole se dedicó constantemente a prolongar sus investigaciones con el
objeto de producir una segunda edición de sus Ecuaciones Diferenciales con una mayor completitud que
la primera; y parte de su última vacación la pasó en las librerías de la Royal Society y en el British
Museum. Pero su nueva edición nunca se completó. Incluso los manuscritos que dejó tras su muerte
estaban tan incompletos que Todhunter, quién puso sus manos en ellos, los encontró imposibles de usar
en la segunda edición de su tratado original, y se imprimieron en 1865 como un volumen auxiliar.
Con la excepción de Augustus de Morgan, Boole fue probablemente el primer inglés matemático desde
tiempos de John Wallis quién también escribió sobre la lógica. Sus originales puntos de vista sobre el
método lógico se debían a la misma confianza profunda en el razonamiento simbólico de la cual él había
confiado con éxito en la investigación matemática. Las especulaciones referentes a un cálculo de
razonamiento tuvo ocupada en diferentes épocas la atención de Boole, pero no fue hasta la primavera de
1847 cuando plasmó sus ideas en el panfleto llamado Análisis Matemático de la lógica. Posteriormente
observó que esto era una precipitada e imperfecta exposición de su sistema lógico, y deseaba que su
mayor trabajo, Una Investigación de las Leyes del Pensamiento, en las cuales están basadas las Teorías
Matemáticas de la Lógica y de la Probabilidad (1854), pudieran ser consideradas como una opinión
madura de sus puntos de vista. Sin embargo, hay un encanto de originalidad sobre su trabajo lógico
anterior que ningún lector capaz puede despreciar.
El no observó la lógica como una rama de las matemáticas, como el título de sus primer panfleto puede
hacer pensar, él apuntaba una profunda relación entre el álgebra simbólica y lo que podía hacer, en su
opinión, para representar formas lógicas y silogismos, que nos podían apenas ayudar a decir que las
matemáticas estaban restringidas a dos cantidades, el 0 y el 1. Por su unidad Boole denotó el universo de
objetos imaginables; símbolos literales, tales como x, y, z, v, u, etc., fueron usados con el significado
elegido al de sus adjetivos y sustantivos comúnes. Así, si x=cornúpeta e y=oveja, entonces, los sucesivos
actos de elección representados por x e y, si son realizados como unidad, dan la clase completa de oveja
cornúpeda. Boole mostró que la elección de los símbolos de este tipo obedecía a las mismas leyes
principales de la combinación algebraica de símbolos, de donde indujo que podrían ser sumados,
substraidos, multiplicados e incluso divididos, casi de igual forma que los números. Así, 1-x debería
representar la operación de seleccionar cualquier cosa en el mundo exceptuando cosas cornúpetas, y (1 x) (1 - y) debería devolvernos todas las cosas que no son ni cornúpetas ni ovejas. Por el uso de tales
proposiciones simbólicas podrían ser reducidas a formas ecuacionales, y la conclusión silogística de dos
premisas se obtendrían eliminando la mitad de los términos de acuerdo a las reglas algebraicas ordinales.
Aún más original y notable, sin embargo, era esa parte de su sistema, indicado completamente en sus
Leyes del Pensamiento, que formó un método simbólico general de la inferencia lógica. Dadas
cualesquieras proposiciones que involucrasen cualesquieras terminos numéricos, Boole demostró como,
por el puro tratamiento simbólico de premisas, alcanzar cualquier conclusión lógica contenida en las
mismas. La segunda parte de las Leyes del Pensamiento contenían un intento de descubrir un método
general en las probabilidades, el cual debería darnos de cualquier probabilidad de un sistema de eventos
determinar la secuencia de probabilidad de cualquier otro evento conectado logicamente con el dado.
Aunque Boole realizó pocas publicaciones, exceptuando sus trabajos matemáticos y lógicos, su
conocimiento sobre la literatura general era vasto y profundo. Dante fue su poeta favorito, y el prefería el
Paraiso al Infierno. La metafísica de Aristóteles, la ética de Spinoza, los trabajos filosóficos de Cicerón,
y muchos trabajos del estilo, fueron también frecuentes temas de estudio. Sus reflexiones sobre ciencia,
filosofía y religión están contenidas en cuatro direcciones, El Genio Sir Isaac Newton, El Correcto Uso
del Tiempo Libre, Las reivindicaciones de la Ciencia y Los Aspectos Sociales de la Cultura Intelectual,
15
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
los cuales fueron entregados e imprimidos en diferentes épocas.
El caracter personal de Boole inspiró a todos sus amigos con la estima más profunda. Poseía la modestia
del genio verdadero, y su vida se dio a la búsqueda de la verdad. Aunque recibió la medalla de la Royal
Society por sus memorias de 1844, y el grado honorario de LL.D. de la Universidad de Dublín, no buscó
ni recibió las recompensas correspondientes a los descubrimientos que hizo. El 8 de diciembre de 1864,
en plenas facultades mentales, murió de un ataque de fiebre, afectándole a los pulmones.
*tomado de wikipedia http://es.wikipedia.org/wiki/George_Boole
Ir al inicio
1.3.1.1 Definiciones
Con base en los trabajos de Boole y trabajando con relevadores (interruptores) Shannon
elabora las siguientes definiciones
0
Interruptor abierto, constante 0
1
Interruptor cerrado, constante 1
A
Variable. Valor 0 o 1
1.3.1.2 Postulados, Leyes y Teoremas
Postulados básicos
0
0⋅0 = 0
0
0
0
=
Conjunción (función and) relacionada con un circuito serie
1
=
0
0 ⋅1 = 0 = 1⋅ 0
16
=
1
0
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
1
1
1+1 = 1
=
1
Disyunción (función OR) relacionada con un circuito paralelo
0
1
=
1
1
0
=
1+ 0 = 1 = 0 +1
Ahora, introduciendo variables
0
A
=
0
A⋅0 = 0 = 0⋅ A
1
A
=
A ⋅1 = A = 1 ⋅ A
A
1
=
A
1
A +1 = 1 = 1+ A
A
0
=
A+0 = A = 0+ A
17
A
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Dualidad: Para obtener el dual de una función se cambian ceros por unos y viceversa,
disyunciones por conjunciones y viceversa mientras las variables permanecen sin cambio.
Ejemplo
0 ⋅1 = 0 = 1⋅ 0
A⋅ 0 = 0 = 0⋅ A
su función dual es
1+ 0 = 1 = 0 +1
su función dual es
A +1 = 1 = 1+ A
Ejercicio: Obtenga el dual de las funciones proporcionadas en clase, dibujando también sus
diagramas
Redundancia: Una variable en una función de mini términos, hace redundantes a los
términos que la contengan en conjunción (función AND) y los cancela (igualándolos a
cero)
f = A + A⋅ B + A⋅C + A⋅ B ⋅C = A
Una variable en una función de maxi términos, hace redundantes a los términos que la
contengan en disyunción (función OR) y los cancela (igualándolos a uno)
f = X ⋅ (X + Y ) ⋅ (X + Z) ⋅ (X +W ) = X
Ejercicio: comprobar los postulados de redundancia anteriores mediante diagramas de
interruptores
Ir al inicio
1.3.1.3 Implementación
Es la realización de funciones a partir de determinado circuito.
18
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ejemplo, analizar el siguiente circuito, implementar las funciones booleanas que lo
describen y tratar de simplificarlo por medio de los teoremas analizados con anterioridad.
A
B
C
X
Fig 1.14 Circuito para comprobación de método de Shannon
X = A⋅C + A⋅ B ⋅C + A⋅C
X = A ⋅ (C + B ⋅ C + C )
X = A ⋅ (C + C )
X = A ⋅1 = A
Ejercicios: Desarrolle las ecuaciones booleanas y reduzca cuando sea posible en los
circuitos proporcionados en clase.
Ir al inicio
1.3.1.4. Función booleana
Las funciones booleanas están formadas por minitérminos y maxitérminos: Se denomina un
minitérmino a los términos algebraicos que incluyen en conjunción a todas las variables del
sistema; Se denominan maxitérminos a los términos algebraicos que incluyen en
disyunción a las variables del sistema. En un sistema de 3 variables, sería un minitérmino
A•B•C y un maxitérmino A+B+C
Ir al inicio
19
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
1.3.2
Mapas de Karnaugh
Son elementos visuales que permiten tabular las ecuaciones booleanas ya descritas. Se
basan en el uso sistemático de minitérminos y maxitérminos.
Para comprender su uso, podemos basarnos en los “diagramas de Venn”
A
A
A
A
0
A
1
A
Fig 1.15 Diagrama de Venn para la variable A y su equivalente en mapas de Karnaugh
A
B
20
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
A,B
A
B
0
1
/A /B
A/B
/AB
AB
00
/A/B
/AB
10
11
01
AB
A/B
0
1
Fig 1.16 Diagrama de Venn para las variables A y B y su equivalente en mapas de
Karnaugh
La condición para ordenar las variables dentro del mapa es que las celdas sean adyacentes,
esto es que no varíen en más de un valor a la vez. Por ello las celdas 01 y 10 no deben
quedar juntas
Ejercicio: Elaborar los correspondientes diagramas de Venn y mapas de Karnaugh para mas
de dos variables
Ir al inicio
1.3.2.2 Procedimientos de utilización
En el mapa de Karnaugh, cada casilla representa un minitérmino de una ecuación booleana.
Se mapea una función colocando en el mapa de Karnaugh un 1 para los términos
verdaderos y un 0 para los falsos.
Ejemplo, elaborar el mapa de la compuerta básica AND a partir de la tabla de verdad y su
ecuación booleana
Tabla de verdad
A
A
0
0
1
1
X
B
Compuerta AND
B
0
1
0
1
X
0
0
0
1
Fig 1.16 Circuito y tabla de verdad de ejemplo
21
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
La ecuación booleana que la representa es X=A • B lo que implica que la salida X es
verdadera solamente cuando A y B son verdaderas, en cualquier otro caso será falsa por lo
que el único minitérmino verdadero es AB mientras los restantes son falsos.
Llevando esto a un mapa de Karnaugh para dos variables tenemos:
A
0
B
0
1
1
0
0
0
1
Fig 1.17 Mapa de Karnaugh resultante
Ejercicio: Obtener el mapa de Karnaugh para todas las compuertas básicas.
Ir al inicio
1.3.2.3 Mapas de 2 a 5 variables
Resumiendo, se muestran mapas de Karnaugh para 1, 2, 3, 4 y 5 variables
A
0
1
/A
A
Fig 1.18 Mapa de Karnaugh para una variable
22
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
A
B
0
1
0
1
/A /B
A/B
/AB
AB
Fig 1.19 Mapa de Karnaugh para dos variables
A
B
/A /B/C
/A/BC
A /BC
A/B/C
/AB/C
/ABC
ABC
AB/C
C
Fig 1.20 Mapa de Karnaugh para tres variables
A
/A/B/C/D
/A/BC/D
A/BC/D
A/B/C/D
/A/B/CD
/A/BCD
A/BCD
A/B/CD
D
/AB/CD
/ABCD
ABCD
AB/CD
/AB/C/D
/ABC/D
ABC/D
AB/C/D
B
C
Fig 1.21 Mapa de Karnaugh para cuatro variables
23
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
A
A
/A/B/C/DE /A/BC/DE A/BC/DE A/B/C/DE
/A/B/C/D/E
A/BC/D/E
/A/BC/D/E
/A/B/CDE /A/BCDE A/BCDE
/A/B/CD/E
A/B/CDE
ABCDE
A/BCD/E
/A/BCD/E
D
/AB/CDE /ABCDE
A/B/C/D/E
/AB/CD/E
AB/CDE
A/B/CD/E
ABCD/E
/ABCD/E
B
D
AB/CD/E
B
/AB/C/DE /ABC/DE ABC/DE
/AB/C/D/E
AB/C/DE
C
/ABC/D/E
ABC/D/E
AB/C/D/E
C
E
Fig 1.22 Mapa de Karnaugh para cinco variables
Ir al inicio
1.3.2.4 Condiciones de indiferencia
El proceso de simplificación con mapas de Karnaugh consiste en:
a) Agrupar todos los unos ( o ceros ) del mapa
b) Los agrupamientos deben ser base 2 ( 2, 4, 8, etc)
c) Debe intentarse obtener las agrupaciones mas grandes ya que implicam mayor
simplificación
d) No importa que un uno ( o cero ) pertenezca a diferentes agrupamientos
e) En resumen se trata de tener el menor número de agrupamientos lo mas grandes
posibles
Ejemplo: Simplificar la función de 4 variables en el mapa de Karnaugh propuesto
X = A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D +
A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D
24
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
A
B
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
D
C
Fig 1.23 Mapa de Karnaugh para el ejercicio propuesto
Aplicando los conceptos de simplificación propuestos anteriormente, la función puede
reducirse a X = A ⋅ B ⋅ D + A ⋅ B ⋅ D + C ⋅ D + C ⋅ D
1
1
0
1
0
1
1
0
0
1
1
0
1
0
1
1
Fig 1.24 Mapa de Karnaugh mostrando agrupaciones para reducción del circuito
Ir al inicio
1.3.2.5 Aplicaciones: Convertidores de Código
Aplicar las técnicas anteriores para realizar un convertidor de código binario puro a código
gray como el mostrado en la tabla siguiente
25
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
B3
a
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
B2
b
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
B1
c
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
B0
d
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
G3
A
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
G2
B
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
G1
C
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
G0
D
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
Fig 1.25 Tabla de verdad de un convertidor de código binario a gray
Ir al inicio
127V @ 12V
7805
5V @ 1A
Diodos 1N4001-4007
1000 uF @ 50V
Fig 1.26 Fuente de alimentación propuesta para laboratorio.
26
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Unidad II. Circuitos Lógicos Combinatorios 2.1
2.1.1
2.1.2
2.1.3
2.1.4
2.2
2.2.1
2.2.2
2.2.3
2.3
2.3.1
2.3.2
Circuitos aritméticos
Operaciones aritméticas
Representación de números con signo
Sumadores, Restadores y Sumador Restador
Comparador lógico
Codificadores – Decodificadores
El decodificador como generador de minitérminos
Decodificador de BCD a 7 segmentos
Codificador para teclado
Multiplexores – Demultiplexores
Aplicaciones del multiplexor en la solución de funciones booleanas
Método de optimización del multiplexor
2.1
Circuitos aritméticos
Una de las aplicaciones principales de los circuitos digitales es la realización de
operaciones aritméticas. En base binaria estas tienen reglas muy sencillas. Para ilustrar lo
anterior analicemos el caso de la suma de dos caracteres binarios A y B cuyo valor puede
ser 0 o 1 y las combinaciones posibles mostradas en la columna de la sumatoria.
Con esta información se obtiene la siguiente tabla de verdad y el circuito en bloques donde
sigma representa el bit de la suma resultante y C el acarreo
A
Σ
B
C
A
0
0
1
1
B
0
1
0
1
C
0
0
0
1
Σ
0
1
1
0
Fig 2.1 Circuito y tabla de verdad de un sumador simple
27
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
De los cuales se obtienen las ecuaciones siguientes
Σ = A⋅ B + A⋅ B
C = A⋅ B
Y ubicando en mapas de Karnaugh
A
B
0 1
1 0
Fig 2.2 Mapa de Karnaugh de un sumador simple para la salida ∑
La función no puede simplificarse puesto que los unos caen en celdas no adyacentes. En
conclusión, las ecuaciones de salida no pueden simplificarse, por lo que el circuito final
queda:
Α
Β
Σ
C
Fig 2.3 Implementación de un sumador simple
Ejercicio: Implementar el circuito para la función descrita anteriormente utilizando
exclusivamente a) compuertas NAND y b) compuertas NOR
Ir al inicio
28
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
2.1.1
Operaciones aritméticas
Una de las ventajas que proporciona la implementación de circuitos lógicos es la
realización de operaciones lógicas. De acuerdo a las reglas de diseño analizadas en el
capítulo 1, se pueden plantear diferentes operaciones aritméticas y realizarse a partir de
sistemas digitales. Algunas otras operaciones que pueden implementarse son: suma de
palabras binarias, resta y otros.
Ir al inicio
2.1.2
Representación de números con signo
Números positivos y negativos en binario.
Para la representación de números con signo se utilizan dos sistemas, el sistema con bit más
significativo como signo y el de complemento a dos.
El sistema con MSB utilizado como signo fue utilizado para intentar representar elementos
negativos y positivos, sin embargo la realización de operaciones aritméticas se complicaba
demasiado pues los algoritmos utilizados proporcionaban resultados erróneos al considerar
o no el bit de signo dentro de la operación.
La introducción del sistema en complemento a dos eliminó completamente el error
producido en operaciones aritméticas ya que el bit más significativo representa al signo y el
peso por la posición que ocupa. Esto hace que al efectuar operaciones aritméticas, las cifras
obtenidas consideren el valor posicional del MSB y el algoritmo utilizado solo debe
considerar el signo inicial de los operandos para ajustar el signo del resultado.
Las equivalencias entre un sistema binario puro con el MSB tomado como signo y un
sistema en complemento a dos, ambos de cuatro bits y el sistema decimal se muestran en la
tabla 2.1
29
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Binario con
MSB = signo
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Valor Decimal
con signo
+0
+1
+2
+3
+4
+5
+6
+7
-0
-1
-2
-3
-4
-5
-6
-7
Binario en
Complemento a 2
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Valor Decimal
con signo
+0
+1
+2
+3
+4
+5
+6
+7
-8
-7
-6
-5
-4
-3
-2
-1
Tabla 2.1 Representación de números negativos y positivos mediante dos sistemas
Ejercicio: Realizar las operaciones aritméticas indicadas en clase con números binarios con
MSB de signo, números en complemento a 2 y números en binario puro
Ir al inicio
2.1.3
Sumadores, Restadores y Sumador Restador
Como se muestra en la sección 2.1, se puede diseñar un circuito para la operación de suma
mas elemental, la suma de dos dígitos binarios aislados sin considerar que puedan formar
parte de una palabra digital por lo que a menudo recibe el nombre de semisumador (half
adder) , sin embargo los dígitos binarios se agrupan a menudo para formar palabras de mas
de un bit lo que añade complejidad a los procesos matemáticos y los circuitos que los
realizan. A continuación se muestra el proceso de diseño de un sumador completo (full
adder) que puede ser utilizado para sumar cualquier par de bits en una palabra considerando
además el acarreo producido por la suma de los bits que le anteceden y produce un acarreo
para la suma de los bits que le preceden.
Como se muestra en el siguiente circuito, el sumador completo debe tener como entradas
los dígitos An y Bn y Cn-1 correspondientes a los dígitos binarios A y B ubicados en la
posición n dentro de una palabra digital y el acarreo C producido por la suma de los dos
bits ubicados en la posición n-1 y las salidas sigma y C correspondientes a la posición n
mencionada. Este circuito se puede utilizar para realizar la suma de cualquier par de dígitos
por lo que se conoce como sumador completo (full adder)
30
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
An
Bn Cn-1
SUMADOR
Cn
Σn
Fig 2.4 Función del sumador completo (full adder)
Su tabla de verdad se muestra a continuación
An
0
0
0
0
1
1
1
1
Bn
0
0
1
1
0
0
1
1
Cn-1
0
1
0
1
0
1
0
1
Σn Cn
0
1
1
0
1
0
0
1
0
0
0
1
0
1
1
1
Fig 2.5 Tabla de verdad de un sumador completo (full adder)
De la tabla de verdad se obtienen las funciones de salida
Σn = A n • B n • Cn − 1 + A n • Bn • C n − 1 + An • B n • C n − 1 + An • Bn • Cn − 1
Cn = A n • Bn • Cn − 1 + An • B n • Cn − 1 + An • Bn • C n − 1 + An • Bn • Cn − 1
Las cuales se muestran introducidas en los mapas de Karnaugh correspondientes
31
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
An
Cn-1
An
0
1
0
1
1
0
1
0
Cn-1
0
0
1
0
0
1
1
1
Bn
Bn
Fig 2.6 Mapas de Karnaugh de un sumador completo (full adder)
Como puede observarse, en el mapa de la izquierda, correspondiente a ∑n, no existe
posibilidad de reducción, mientras en el de la derecha, correspondiente a Cn, si existe
reducción. De esta manera, las funciones de salida quedan
Σn = A n • B n • Cn − 1 + A n • Bn • C n − 1 + An • B n • C n − 1 + An • Bn • Cn − 1
Cn = An • Bn + Bn • Cn − 1 + An • Cn − 1
Y la implementación final del circuito
An
Bn
SEMISUMADOR
2
3
1
C1
Σ1
Cn
Cn-1
SEMISUMADOR
C2
Σn
Fig 2.7 Implementación del circuito sumador completo (full adder)
Ejercicio: El alumno implementará basado en el ejemplo del sumador completo los
circuitos restador y sumador-restador
Ir al inicio
32
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
2.1.4
Comparador lógico
Un comparador lógico es capaz de comparar dos caracteres binarios y determinar si son
iguales o uno de ellos es mayor. En este caso el circuito se representa como un sistema con
dos entradas correspondientes a los dígitos a comparar y tres salidas las cuales indicaran si
los números son iguales o uno es mayor
A
B
COMPARADOR
A<B
A>B
A=B
Fig 2.8 Función del circuito comparador
La tabla de verdad del circuito se muestra a continuación
A
0
0
1
1
B
0
1
0
1
A>B
0
0
1
0
A=B
1
0
0
1
A<B
0
1
0
0
Fig 2.9 Tabla de verdad del circuito comparador
Las funciones de salida son:
A⟨ B = AoB
A ⟨ B = A o B + Ao B = Ao B + A o B
A ⟩ B = Ao B
Y su implementación en mapas de karnaugh puede omitirse por la sencillez de las
funciones resultantes
La implementación final se muestra en el siguiente circuito
33
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
1
A
2
1
1
A
A
3
A
A>B
2
2
3
2
A
1
A=B
1
B
2
3
A
A<B
Fig 2.10 Circuito comparador
Ir al inicio
2.2
Codificadores – Decodificadores
Cuando se utilizan circuitos binarios, estos pueden agruparse y generar combinaciones muy
largas. Para simplificar dichas combinaciones pueden utilizarse circuitos codificadores. Por
ejemplo, el sistema tradicional de memoria utilizado en computadoras puede seleccionar
una de n palabras digitales para el almacenamiento palabras, donde n puede ser tan grande
como 1024, 2048, 4096, etc. Si la selección de cada palabra se hiciera mediante un bit, el
circuito resultante sería demasiado grande. Para ello se utiliza un circuito codificador.
En el siguiente ejemplo se diseña un codificador de 5 entradas y 32 salidas. El circuito tiene
las entradas A0 – A4 y las salidas S0 – S31. La combinación de palabras digitales colocadas
en las entradas A proporciona la activación de solo una salida S a la vez como se muestra
en la tabla de verdad
34
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 2.11 Tabla de verdad de un decodificador de 5 entradas y 32 salidas
S31
S30
S29
S28
S27
S26
S25
S24
S23
S22
S21
S20
S19
S18
S17
S16
A
A4
1
2
A
A3
1
2
A
A2
1
2
A
A1
1
2
A
2
A0
1
S15
S14
S13
S12
S11
S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
Fig 2.12 Circuito decodificador de 5 entradas y 32 salidas
Ir al inicio
35
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
2.2.1
El decodificador como generador de minitérminos
Como puede inferirse del análisis de la tabla de verdad y del circuito para el decodificador
de 5 entradas a 32 salidas, es posible tomar cada una de las salidas S como expresión de un
minitérmino conformado por las señales de entrada A0, A1, A2, A3 Y A4. De esta manera,
puede usarse un decodificador semejante para simplificar el diseño de circuitos lógicos con
ecuaciones complejas o que no presentan reducciones significativas. Sin embargo,
comercialmente se puede adquirir el 74154 que decodifica solo 4 entradas a 16 salidas, por
lo que dicha técnica solo se podría aplicar en circunstancias donde se cuenta con cuatro
entradas y si existe un mayor número de ellas deberá implementarse un arreglo más
complejo basado en circuitos 74154.
Ir al inicio
9
2.2.2
Decodificador de BCD a 7 segmentos
Otro circuito de utilidad es el utilizado para operar un display de siete segmentos (en
realidad este tipo de circuitos cuenta con ocho leds internos, 7 para mostrar un carácter y
uno para mostrar un punto decimal). La siguiente figura muestra la disposición de dos
circuitos de este tipo. Se encuentran en el mercado circuitos de tipo ánodo común, lo que
implica que cada segmento del display está conectado al cátodo de cada LED indvidual por
medio de las terminales 1-8, mientras la terminal número 9 se debe polarizar a Vcc por
medio de un resistor como el mostrado en la figura de la izquierda. En este tipo de
circuitos, basta poner un 0 lógico en un segmento para que este encienda mientras un 1
lógico lo apaga También se encuentran circuitos de tipo cátodo común, lo que implica que
cada segmento del display está conectado al ánodo de cada LED indvidual por medio de las
terminales 1-8, mientras la terminal número 9 se debe polarizar a tierra por medio de un
resistor como el mostrado en la figura de la izquierda. En este tipo de circuitos, es necesario
polarizar cada segmento por medio de una resistencia a Vcc y al colocar un 0 lógico en la
entrada 1-8 el segmento se apaga mientras que con un 1 lógico se enciende.
a VCCNC
b
a
c
f
d
g b
e
fed c
g
dp
dp
10
1
2
3
4
5
6
7
8
a
NC
b
a
c
d f g b
e
fed c
g
dp
dp GND
10
9
1
2
3
4
5
6
7
8
Fig 2.12 Circuitos display de ánodo común (izquierda) y de cátodo común (derecha)
En el mercado pueden conseguirse diferentes tipos de circuitos de la serie 74 que
proporcionan salidas para diferentes tipos de display. En la siguiente figura se muestra la
configuración de terminales del 74LS47 que permite la utilización directa de un display de
ánodo común mediante ocho salidas negadas como respuesta a una combinación BCD en
sus cuatro entradas.
36
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 2.13 Configuración de terminales del circuito 74LS47
La siguiente figura muestra la tabla de verdad para el 74LS47. La figura 2.15 muestra la
configuración interna de dicho circuito.
Fig 2.14 Tabla de verdad del circuito 74LS47
37
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 2.15 Configuración interna del 74LS47 y mapa de caracteres mostrados
Ir al inicio
El alumno puede, con ayuda de las técnicas aprendidas hasta el momento comprobar la
congruencia de la tabla de verdad del dispositivo con el circuito final implementado a fin de
reforzar los conocimientos adquiridos.
2.2.3
Codificador para teclado
En circuitos digitales y en otras diferentes aplicaciones, se hace necesario contar con
dispositivos de entrada a base de interruptores. Tal es el caso de las prácticas desarrolladas
en las que se proporcionan entradas a los circuitos diseñados mediante DIP switch, los
cuales deben polarizarse de acuerdo al diseño especificado y conmutarse para proporcionar
un 0 o un 1 lógicos. La siguiente figura ilustra un codificador CDP1871A de Intersil para
interfaz con un microprocesador. El circuito es capaz de generar 53 códigos ASCII y 32
códigos hexadecimales por medio de una matriz de teclas.
38
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 2.16 Circuito CDP1871A de Intersil
Ir al inicio
2.2
Multiplexores – Demultiplexores
En ocasiones, es necesario seleccionar una entrada de un conjunto de diferentes entradas
proporcionadas. Por ejemplo en los circuitos telefónicos que comunican entre sí a los
usuarios del servicio (abonados) con una central que los concentra y que se comunica a su
vez con diferentes centrales que también concentran a un número definido de abonados. En
este contexto, cada abonado que desea efectuar una comunicación es seleccionado mediante
un circuito multiplexor para transmitir su mensaje a través de la terminal troncal que
conecta a las dos centrales mientras que el abonado que recibe la llamada debe localizarse
en la central que recibe la comunicación, mediante un circuito complementario denominado
demultiplexor. La siguiente figura ilustra el caso
39
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
1
1
2
2
3
3
CENTRAL TELEFONICA A
CENTRAL TELEFONICA B
4
troncal telefonica
.
.
.
n
Fig 2.17 Comunicación entre dos centrales telefónicas
La siguiente figura muestra la configuración de terminales y la tabla de verdad del circuito
selector de datos o multiplexor de ocho entradas a una salida 74LS251
Fig 2.18 Circuito selector de datos o multiplexor de ocho entradas a una salida 74LS251
Y la siguiente figura muestra su configuración interna
40
4
.
.
.
m
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig 2.19 Configuración interna del circuito selector de datos o multiplexor de ocho
entradas a una salida 74LS251
La siguiente figura muestra la configuración de terminales y diagrama interno del
demultiplexor o decodificador de cuatro entradas a 16 salidas 74LS154.
Fig. 2.20 configuración de terminales y diagrama interno del demultiplexor o
decodificador de cuatro entradas a 16 salidas 74LS154.
Y la siguiente figura muestra su tabla de verdad.
41
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig. 2.21 tabla de verdad del demultiplexor o decodificador de cuatro entradas a 16
salidas 74LS154.
Ir al inicio
2.3.1
Aplicaciones del multiplexor en la solución de funciones booleanas
Cuando se desea simplificar el diseño de circuitos complicados, puede usarse el multiplexor
como circuito simplificado para proporcionar las salidas deseadas sin necesidad de elaborar
soluciones complejas. Por ejemplo, supóngase que se desea diseñar el circuito de la tabla de
verdad propuesta a continuación, la cual corresponde a una de las posibles salidas de un
sumador completo y la cual, de acuerdo a su mapa de Karnaugh no tiene simplificación.
An
0
0
0
0
1
1
1
1
Bn
0
0
1
1
0
0
1
1
Cn-1
0
1
0
1
0
1
0
1
Cn
0
0
0
1
0
1
1
1
Como puede fácilmente comprobarse, puede usarse un circuito multiplexor de tres entradas
a ocho salidas 74LS251 con las señales An, Bn y Cn-1 conectadas a las entradas A, B y C del
circuito, mientras las terminales de datos D0 a D7 se colocan con los valores descritos en la
columna Cn de la tabla de verdad, lo cual produce el mismo resultado para la salida Cn que
implementar el circuito de la figura 2.7.
42
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ir al inicio
2.3.2
Método de optimización del multiplexor
La forma de utilización del circuito descrito en el punto anterior puede optimizarse
mediante el análisis cuidadoso de los estados de entrada correspondientes y las
combinaciones que las producen pues en algunos casos puede simplificarse al utilizar las
terminales de CS con que cuenta el circuito multiplexor.
Ir al inicio
43
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Unidad III. Diseño de Circuitos Lógicos Secuenciales 3.1
3.1.1
3.1.2
3.1.3
3.2
3.2.1
3.3
3.3.1
3.3.1.1
3.3.1.2
3.3.1.3
3.3.1.4
3.4
3.4.1
3.4.2
3.5
3.5.1
3.5.1.1
3.5.1.2
Introducción
Modelo general de los circuitos secuenciales
Clasificación
Algoritmo de análisis y diseño
Multivibradores (Flip – Flops)
Tabla de estados y excitación
Circuitos secuenciales síncronos
Modalidad de reloj
Análisis
Diseño
Reducción por observación
Registros de corrimiento
Métodos formales de reducción
Partición de estados
Implicación de estados
Circuitos secuenciales asíncronos modalidad de pulso
Diseño de máquinas de estado
Tipo Mealy
Tipo Moore
3.1
Introducción
En este capítulo se analizan los circuitos digitales y su clasificación. Básicamente pueden
contarse dos tipos. Los circuitos combinatorios son capaces de producir una o mas salidas
en respuesta a un arreglo actual de señales de entrada. Mientras los circuitos secuenciales
son configuraciones cuya respuesta depende no solo de las señales de entrada actuales sino
también del valor de su o sus salidas; Esto implica que los circuitos secuenciales tienen que
ver con el tiempo y presentan por ello un efecto de “memoria”
Ir al inicio
3.1.1
Modelo general de los circuitos secuenciales
COMBINATORIOS
CIRCUITOS LOGICOS
ASINCRONOS
SECUENCIALES
SINCRONOS
Ir al inicio
44
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
3.1.2
Clasificación
CIRCUITOS COMBINATORIOS: Son aquellos capaces de producir una o mas salidas
en respuesta a un arreglo actual de las señales de entrada. Tal como los analizados en el
capítulo I.
A
B
C
D
E
F
G
Z
Y
X
W
V
U
T
A
A
A
B
C
D
E
F
G
T
U
V
W
X
Y
X
Fig 3.1 Ejemplos de circuitos combinatorios
CIRCUITOS SECUENCIALES: Son configuraciones cuya respuesta depende no solo de
las señales de entrada actuales sino también del valor de una o mas salidas retardadas
utilizadas como entrada realimentada. Esto implica que los circuitos combinatorios tienen
que ver con en tiempo y representan por ello un efecto de “memoria”
Retardos de
tiempo
∆τ
Entradas
primarias
A
Circuito
de
entrada
Trayectorias de realimentacion
(solo valen 0 o 1)
Circuito
de
salida
V
B
1
2
Entradas
secundarias
Circuitos
combinatorios
∆τ
Fig 3.2 Diagrama general de un circuito secuencial
Las entradas primarias pueden ser controladas por el usuario mientras que las entradas
secundarias son controladas por el propio circuito. En estos circuitos, a pesar de que las
entradas primarias se suprimieran, este no se queda sin entradas
45
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
CIRCUITOS SECUENCIALES ASINCRONOS: Son circuitos cuyas señales de
realimentación tienen diferentes retrasos en tiempo debidos a sus trayectorias por lo que al
actuar como entradas secundarias a un circuito pueden no ser simultáneas
Retardos de
tiempo
distintos
∆τ1
f
Entradas
primarias
F
Circuito
de
entrada
A
Circuito
de
salida
B
1
Entradas
secundarias
o excitaciones
V
2
g
G
∆τ2
Fig 3.3 Diagrama de un circuito secuencial asíncrono
Donde
F = f ( A, B, f , g )
G = f ( A, B, f , g )
V = f ( A, B, f , g )
(Cuando en las funciones que determinan las señales de salida intervienen letras
mayúsculas y minúsculas, se trata de un circuito secuencial pues en el interviene el tiempo)
CIRCUITOS SECUENCIALES SÍNCRONOS: Son circuitos cuyas señales de
retroalimentación son proporcionadas por multivibradores biestables sincronizadas por un
reloj. Los multivibradores utilizados son en si diseños secuenciales elementales (tipo T, D,
SR, JK, SOC, COS, etc.)
Cuando las salidas del circuito son las propias salidas de los multivibradores (Qn), se tiene
lo que se conoce como maquinas MOORE mientras que si se toman del circuito
combinatorio de salida se tienen las denominadas maquinas MEALY.
46
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Unidades de retardo sincronizadas
por un reloj (MV`s biestables)
Q1
Q1
Entradas
primarias
F
Circuito
de
entrada
A
Circuito
de
salida
B
Z
1
Entradas
secundarias
o excitaciones
Y
2
Q2
G
Q2
Reloj
Fig 3.4 Diagrama de un circuito secuencial síncrono
Ir al inicio
3.1.3
Algoritmo de análisis y diseño
El análisis de circuitos secuenciales consiste en lograr, a partir de una configuración lógica
dada, el diagrama de estados de la configuración que, como se sabe, es la representación
pictórica de la operación dinámica del circuito. Tanto el análisis como la síntesis de estos
circuitos se lleva a cabo en dos dominios: Combinatorio y Secuencial.
47
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Síntesis
Análisis
El dominio combinatorio se caracteriza por el uso de funciones y mapas de Karnaugh.
Mientras que el dominio secuencial opera con tablas de estados, diagramas de estados, etc.
Ejemplo:
Analizar la operación del siguiente circuito secuencial
A
Z
B
g
(respuesta)
G
(excitación)
Nota: Se trata de un circuito secuencial que opera en modo fundamental, con dos entradas
primarias y una secundaria. No tiene circuito de salida por lo que G = Z y
g = Z en los
estados estables.
1. A partir del circuito se obtienen las funciones para G y Z (en este caso son iguales)
G = Z = A⋅ B + A⋅ g + B ⋅ g
48
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
2. Se elabora el mapa de la excitación G
A
0
0
0
1
0
1
1
1
g
B
3. Recordando que en los estados estables G = g y en los estados inestables G ≠ g . Se
identifican en el mapa de la excitación los valores que son estables y los inestables
(los de valor igual a la variable son estables mientras los de valor contrario son
inestables). Todo dentro del mapa corresponde a G. Los renglones corresponden
uno a g falsa y el otro a g verdadera. Las condiciones estables se encierran en un
circulo mientras las inestables se dejan como están
A
g
0
0
0
1
0
1
1
1
B
A
1
g
1
2
4
3
6
5
6
B
4. Con la información obtenida del punto 3, se construye la tabla de transiciones en la
que se observa que los movimientos horizontales (derecha/izquierda) son producto
de cambios en las variables de entrada primarias (externas) mientras los
movimientos arriba/abajo provienen de cambios en la entrada secundaria.
5. Es conveniente clasificar los estados estables e inestables para obtener la tabla de
estados del circuito (la clasificación es arbitraria)
49
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ir al inicio
3.2
Multivibradores (Flip – Flops)
Un multivibrador biestable, también llamado flip-flop en inglés, es un circuito capaz de
permanecer en un estado determinado o en el contrario durante un tiempo indefinido
(estado estable). Esta característica es ampliamente utilizada en electrónica digital para
memorizar información. El paso de un estado a otro se realiza variando sus entradas.
Dependiendo del tipo de dichas entradas los multivibradores biestables se clasifican en:
Multivibradores biestables
(FLIP-FLOP’s)
Tipo T (Trigger)
Tipo D (Data)
Tipo SR (Set-Reset)
Tipo JK (Mejora del SR)
Tipo SOC (Set Overrides Clear)
Tipo COS (Clear Overrides Clear)
Las características de cualquier multivibrador biestable suelen darse a través de las formas
de onda que describen su operación (diagrama de flujo), de su tabla de verdad o de su
descripción.
Multivibrador biestable tipo T (Trigger): Es un circuito con una entrada T y una salida
Q. Cambia su estado a la salida cuando se le aplica un filo (cambio de nivel de voltaje), ya
sea descendente o ascendente, según lo requiera el diseño. Como puede inferirse de las
figuras, la aplicación mas importante de este tipo de multivibradores es como circuitos
divisores de frecuencia pues la señal de entrada en T se presentará en Q con la mitad de
frecuencia, con un ciclo de trabajo de 50% en estado alto y 50% en estado alto, sin importar
el ciclo de trabajo de la señal de entrada.
T
Q
Fig 3.5 Representación de un multivibrador tipo T (Trigger)
50
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
T
Q
Filos ascendentes
Fig 3.6 Formas de onda de un multivibrador tipo T (Trigger), diseñado con filos
ascendentes
T
Q
Filos descendentes
Fig 3.7 Formas de onda de un multivibrador tipo T (Trigger), diseñado con filos
descendentes
Multivibrador biestable tipo D (Data): Es un circuito con dos entradas, D y G (Data y
Gate) y una salida Q. En este circuito, la información presente en D se transfiere a Q
siempre que G sea verdadera. En caso contrario, cambios de D no se transfieren a Q.
Observe en el diagrama de flujo, que la salida Q solo cambia (conserva su estado) hasta que
G es verdadera pero no vuelve a cambiar hasta un nuevo cambio de G.
D
Q
G
Fig 3.8 Representación de un multivibrador tipo D (Data)
51
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
D
G
Q
Fig 3.9 Formas de onda de un multivibrador tipo D (Data)
Multivibrador biestable tipo SR (Set - Reset): Es un circuito con dos entradas, S y R (Set
y Reset) y una salida Q. El circuito se diseña para las siguientes condiciones de operación:
a) S=R=0; La salida Q del circuito no cambia de estado, independientemente del
estado en que se encontraba. Condición de no cambio.
b) S=1, R=0; La salida del circuito cambia a 1 si estaba en estado 0 o permanece en 1
si estaba en estado 1. Condición de Set to One (mostrada en los estados a, b y e del
diagrama de flujo del multivibrador)
c) S=0, R=1; La salida del circuito cambia a 0 si estaba en estado 1 o permanece en 0
si estaba en estado 0. Condición de Reset to Zero (mostrada en los estados c, d y f
del diagrama de flujo del multivibrador)
d) S= R=1; La salida del circuito presenta un estado imposible de definir, por lo que
esta condición no está permitida. Condición prohibida.
S
Q
R
Fig 3.10 Representación de un multivibrador tipo SR (Set - Reset)
52
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
S
R
Q
?
a b
c d
e f
g
Fig 3.11 Diagrama de flujo del multivibrador tipo SR (Set - Reset)
Para ilustrar mas abundantemente la operación de este multivibrador, se utiliza su tabla de
verdad, en la que se considera el tiempo. El valor Q representa el estado de la salida del
circuito antes de ocurrir el cambio en las variables de entrada y el valor de Q+ el estado de
la salida, una vez ocurrido el cambio en dichas variables.
S
0
0
0
0
1
1
1
1
R
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
0
0
1
1
?
?
Fig 3.12 Tabla de verdad del multivibrador tipo SR (Set - Reset)
Como puede observarse en la tabla, la salida Q permanece en el estado previo al cambio de
las variables de entrada cuando estas son igual a cero, ya sea verdadero o falso (condición
de no cambio). Cuando las terminales de entrada están en S=0 y R=1, la salida permanece
en cero si su estado era cero o cambia a cero si su estado era uno (condición de Reset to
Zero). Cuando las terminales de entrada están en S=1 y R=0, la salida cambia a uno si su
estado era cero o permanece en uno si su estado era uno (condición de Set to One). Y en la
condición S=1 y R=1, la salida no puede definirse, por lo que no se muestra ningún estado.
Multivibrador biestable tipo JK (J=Set to one, K=Reset to zero): Es una extensión del
tipo SR, en el que las terminales de entrada si pueden adoptar el estado 1 1, en cuyo caso, la
salida Q cambia de estado, cualquiera que este sea, de esta manera el circuito se comporta
como un multivibrador tipo T. De esta manera, el circuito cumple las siguientes
condiciones de operación:
53
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
a) J=K=0; La salida Q del circuito no cambia de estado, independientemente del
estado en que se encontraba. Condición de no cambio.
b) J=1, K=0; La salida del circuito cambia a 1 si estaba en estado 0 o permanece en 1 si
estaba en estado 1. Condición de Set to One (mostrada en los estados a, b y e del
diagrama de flujo del multivibrador)
c) J=0, K=1; La salida del circuito cambia a 0 si estaba en estado 1 o permanece en 0 si
estaba en estado 0. Condición de Reset to Zero (mostrada en los estados c, d y f del
diagrama de flujo del multivibrador)
d) J= K=1; La salida del circuito cambia de estado, sin importar la condición que tenía
previamente. Condición de cambio de estado (mostrado en los estados g y h del
diagrama de flujo del multivibrador).
J
Q
K
Fig 3.13 Representación de un multivibrador tipo JK (Set – Reset mejorado)
J
K
Q
a
b
c
d
e
f
g
h
Fig 3.14 Tabla de verdad del multivibrador tipo SR (Set - Reset)
En la siguiente figura se muestra la tabla de verdad del dispositivo para ilustrar las mejoras
introducidas respecto al multivibrador tipo SR, ahora con el estado de entrada J=1 y K=1
permitido.
54
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
0
0
1
1
1
0
Fig 3.15 Tabla de verdad del multivibrador tipo JK (Set – Reset mejorado)
Existen dos variantes poco conocidas del multivibrador JK en las que el estado 11 se usa
como un estado S (multivibrador conocido como SOC=Set Overrides Clear) o como un
estado R (multivibrador conocido como COS=Clear Overrides Set). Sin embargo el circuito
más utilizado es el tipo JK descrito anteriormente.
En las siguientes figuras se ilustran las tablas de verdad y diagramas de flujo para los
multivibradores tipo SOC y COS
J
K
Q
a
b
c
d
e
f
g
h
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
0
0
1
1
1
1
Fig 3.16 Diagrama de flujo y tabla de verdad del multivibrador tipo SOC (Set overrides
Clear)
55
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
J
K
Q
a
b
c
d
e
f
g
h
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
Q+
0
1
0
0
1
1
0
0
Fig 3.17 Diagrama de flujo y tabla de verdad del multivibrador tipo COS (Clear overrides
Set)
Ir al inicio
3.2.1
Tabla de estados y excitación
Las tablas o diagramas de estados son representaciones pictóricas que permiten analizar con
facilidad la dinámica de funcionamiento de todo circuito secuencial. Los estados se refieren
a las condiciones estables que puede adoptar un circuito. Como éstas condiciones las
proporcionan multivibradores biestables, el número de estados corresponde al número de
multivibradores presentes en el circuito. Los estados estables se representan por medio de
círculos y las transiciones entre ellos por segmentos dirigidos, los cuales llevan información
sobre las señales de entrada que provocan o no la transición entre estados. A esta
información se le denomina excitación.
B
A
C
Fig 3.18 Tabla de estados y excitaciones de un circuito cualquiera
Los multivibradores pueden representarse también mediante este tipo de diagramas de
estados y excitaciones. En la siguiente figura se ilustra un diagrama de estados de un
multivibrador genérico en el que pueden identificarse cuatro situaciones posibles. El
cambio de estado de 0 a 1, el cambio de estado de 1 a cero y la permanencia en el estado 0
o en el estado 1.
56
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Indica que permanece en 0
0
Indica el cambio de 1 a 0
Indica el cambio de 0 a 1
1
Indica que permanece en 1
Fig 3.19 Tabla de estados y excitaciones de todo circuito multivibrador
Por ejemplo, en el diagrama siguiente se muestra la tabla de estados y de excitaciones del
multivibrador tipo D, en la que se ha agregado a las trayectorias de las excitaciones, el valor
del dato de entrada que las produce.
D=0
0
D=0
D=1
1
D=1
Fig 3.19 Tabla de estados y excitaciones del multivibrador tipo D.
S=0, R=1
S=R=0
0
J=0, K=1
J=K=0
0
S=1, R=0
J=1, K=0
J=K=1
J=K=1
J=0, K=1
S=0, R=1
S=R=0
1
1
J=K=0
S=1, R=0
J=1, K=0
Fig 3.20 Tabla de estados y excitaciones de los multivibradores tipo SR y JK.
57
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ir al inicio
3.3
Circuitos secuenciales síncronos
Son circuitos digitales gobernados por señales de reloj, generalmente divididos en dos
grandes categorías: Máquinas MOORE cuando los estados útiles de la configuración se
toman de los propios multivibradores y Máquinas MEALY cuando el diseño requiera un
circuito de salida. Los sistemas secuenciales emplean por lo general un solo tipo de
multivibrador, solo en casos muy particulares se requiere mas de un tipo de ellos. En este
tipo de circuitos se tienen diferentes técnicas de análisis y diseño.
Salidas (Maquinas MOORE)
Q1
Multivibradores biestables
(elementos de memoria)
MV1
Salida (Maquina MEALY)
Entradas primarias
A
Z
B
Circuito de entrada
Circuito de salida
Entradas secundarias
MVn
Qn
Reloj (no es entrada)
Fig 3.21 Diagrama a bloques de un sistema secuencial asíncrono.
Ir al inicio
3.3.1
Modalidad de reloj
Es un conjunto de técnicas de análisis y diseño en las que se parte de la definición del
problema, se establece la tabla de estados o el diagrama de estados inicial, se busca la
reducción de los estados del circuito y se selecciona el tipo de multivibradores para la
implementación del circuito cuando se habla de diseño y, en sentido inverso cuando se
habla del análisis de los circuitos.
Ir al inicio
58
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
3.3.1.1
Análisis
Para el proceso de análisis se debe observar inicialmente el circuito propuesto para
determinar diferentes características. Por ejemplo, analizaremos el circuito de la siguiente
figura.
VCC
Q0 (LSB)
J
Q1(MSB)
Q
J
K
Q
K
Ck
Ck
Reloj
Fig 3.22 Circuito a analizar.
Como las salidas del circuito son las salidas de los multivibradores, la primera conclusión
es que se trata de una máquina MOORE. Asumiendo que ambos circuitos parten de un
estado de reposo donde sus salidas son igual a cero, se establece en el análisis que el
multivibrador 0 (a la izquierda en la figura) se comporta como un multivibrador tipo T, que
permanentemente cambia de estado pues siempre tiene entradas en 1, mientras que el
multivibrador 1 (a la derecha en la figura) también se comporta como un tipo T pero con
posibilidad de variar entre el estado de entrada 0 que no presenta cambios en la salida Q y
el estado 1 que permite el cambio de Q. Por ello, puede establecerse un diagrama de
tiempos o diagrama de flujo en el que el filo de disparo se elige al azar (de ascenso para
este caso) como el siguiente.
1
2
3
4
1
2
3
Reloj
Q0 (LSB)
Q1(MSB)
Fig 3.23 Diagrama de flujo del circuito.
A partir del diagrama de flujo puede establecerse la tabla de verdad del circuito que a su
vez nos indicará la configuración de los estados que lo conforman.
59
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
J0 K0 J1 K1
Q0Q1
1 1
0 0
0 0
1 1
1 1
1 0
1 1
0 0
0 1
1 1
1 1
1 1
1 1
0 0
0 0
1 1
1 1
1 0
1
2
3
4
Fig 3.24 Tabla de verdad del circuito.
Del análisis de la tabla de verdad se desprende que el estado de reposo se repite cada cuatro
estados, por lo que si se utiliza solamente la salida del multivibrador 1, el circuito es un
divisor de frecuencias entre cuatro, mientras que si se utilizan ambas salidas de los
multivibradores, se trata de un contador módulo cuatro, con código 1,2. Por lo tanto, el
diagrama de estados del circuito es el mostrado en la siguiente figura
00
01
10
11
Fig 3.25 Diagrama de estados del circuito.
Ir al inicio
3.3.1.2
Diseño
Para mostrar la metodología de diseño de este tipo de circuitos, se inicia con una tabla de
verdad que muestra una secuencia deseada para un contador de módulo 5 compuesto por
multivibradores JK.
Q2 Q1 Q0
0
0
0
0
0
1
0
1
0
0
1
1
0
0
0
Estados iguales
Fig 3.26 secuencia deseada en el diseño del circuito.
Ir al inicio
60
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Usando el método general de diseño, se tiene la siguiente tabla de excitaciones
Entradas al circuito
combinatorio
Q2 Q1 Q0
Proximo
Estado
Q2 Q1 Q0
Salidas del circuito
combinatorio
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
X1
0
1
0
0
1
1
0 X
X0
1 X
0
1
1
1
0
0
1 X
X1
X1
1
0
0
0
0
0
X1
0 X
0 X
Fig 3.27 tabla de excitaciones del circuito.
3.3.1.3
Reducción por observación
Los mapas de excitaciones se muestran en la siguiente figura, de las que puede inferirse por
observación que:
J2 K2
Q0
J1 K1
0X 0X 1X 0X
Q0
0 X X0 X1 1 X
Q2
Q2
0 X XX XX XX
Q1
J2
0
1
0
X
X
XX XX
0 X XX XX XX
Q1
K2
0
Q0
1 X 1 X X1 X1
Q2
X1 XX XX XX
J2=Q0 Q1
J0 K0
J1
X
X
X
1
X
XX XX
K2=1
X
Q1
K1
0
X
X
1
0
X
XX XX
J1=Q0
J0
X
0
1
X
X
X
XX XX
K1=Q0
K0
1
1
X
X
0
X
XX XX
J0=/Q2
Con lo que el circuito final queda como se muestra en la siguiente figura
VCC
J
Q
K
Q1
J
Q
K
Ck
Ck
1
A
3
Fig 3.29 circuito final.
61
J
Q
K
/Q
Ck
Reloj
2
Q2(MSB)
VCC
X
1
X
X
XX XX
K0=1
Fig 3.28 mapas de excitaciones.
Q0 (LSB)
X
1
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ir al inicio
3.3.1.3
Registros de corrimiento
Un registro es un arreglo de multivibradores conectados en cadena que se usan como
memorias temporales. Su operación es asíncrona. En general hay dos tipos de registros: Los
registros fijos y los registros de corrimiento.
Los registros fijos permiten la carga y la descarga de información en paralelo, como se
ilustra en la siguiente figura.
Entrada paralelo de la informacion
Reloj
Salida paralelo de la informacion
Fig 3.30 Registro fijo, con carga y descarga de datos en paralelo.
Los registros de corrimiento permiten la operación de desplazamiento de la información, ya
sea a la derecha, denominados registros de corrimiento a la derecha o con posibilidad de
carga y descarga en paralelo y desplazamiento a la derecha o a la izquierda, denominados
registros universales, como se muestra en la siguiente figura.
Entrada paralelo de la informacion
Entrada/Salida serie
Entrada paralelo de la informacion
Entrada serie
Salida serie
Salida/entrada serie
Reloj
Reloj
Salida en paralelo de la informacion
Corrimiento de los datos a la derecha
Fig 3.31 Registros de corrimiento (shift register).
Ir al inicio
3.4
Métodos formales de reducción
Cuando se enuncia un problema relacionado con el diseño de un circuito, suele
especificarse el tipo de multivibrador que debe utilizarse pues un mismo diseño puede ser
realizado con diferentes multivibradores. En esencia, el diseño de los circuitos secuenciales
sincrónicos consiste en indagar todas las excitaciones necesarias para que las unidades de
memoria (multivibradores) funcionen como lo exige la aplicación. Esto se logra recurriendo
sistemáticamente a la tabla de excitación de del tipo de multivibrador especificado para el
diseño. Es evidente que dichas excitaciones solo pueden lograrse a partir de las salidas de
los propios multivibradores, de las señales de entrada y de niveles lógicos constantes (ceros
y unos).
Conocido el enunciado del problema y elaborada la tabla de estados del mismo, el siguiente
paso es la elaboración de la tabla de excitaciones que consta de 3 secciones, como se
muestra en la figura 3.32.
62
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
De dicha tabla se derivan los mapas de las excitaciones que dependen exclusivamente de
Q0, Q1, . . . Qn. Por último, se aplica la reducción del circuito, por medio de mapas de
Karnaugh.
Ir al inicio
3.4.1
Partición de estados
Las tablas de estados utilizadas en sesiones anteriores, a diferencia de las mostradas en el
diseño de circuitos combinatorios y que contienen entradas primarias y salidas, contienen
información del estado presente del circuito, el estado próximo y la salida.
La sección del estado presente contiene tantos renglones como estados pueden producir los
multivibradores. La sección del próximo estado, tendrá tantas columnas como
combinaciones de entradas primarias existan y los mismos renglones que la sección del
estado presente. La sección de salida incluirá tantas columnas como combinaciones de
entradas primarias.
Estado presente
Qn . . . . . . Q1 Q0
x1 x2
00
11 10
Proximo estado
Qn . . . . . . Q1 Q0
x1 x2
00
11 10
Salidas
Z .. Z Z Z Z
2 a la n columnas si
se tienen n entradas
primarias
4 columnas por ejemplo
si se tienen una salida y
2 entradas primarias
Fig 3.32 Formato general de una tabla de estados particionada.
Ir al inicio
3.4.2
Implicación de estados
Las ecuaciones de estados son las expresiones algebraicas que describen totalmente la
operación de un circuito secuencial sincrónico. De esta forma, es posible realizar un diseño
a partir de ellas prácticamente en forma directa. Lo esencial es saber obtener las ecuaciones
correspondientes a partir de la tabla de estados, lo cual se logra recordando que: Los
estados de la primer sección de la tabla están definidos antes de la llegada del pulso de
reloj, por lo que se identifican con el subíndice n. Los estados de la segunda sección
corresponden a la respuesta del circuito después del pulso de reloj, por lo que se identifican
con el subíndice n+1.
Ir al inicio
3.5
Circuitos secuenciales asíncronos modalidad de pulso
Se dice que un circuito secuencial corresponde a la modalidad de pulso cuando alguna de
sus entradas primarias es un pulso, además del pulso de reloj, el cual no se considera una
señal de entrada. De esta manera, los cambios internos ocurren como respuesta a la
ocurrencia de dicho pulso presente en las entradas primarias. Cabe señalar que la duración
del pulso debe ser tal que logre el disparo en los multivibradores que deben diferenciar tal
63
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
pulso de una señal de ruido y que no deben ocurrir en las entradas pulsos simultáneos. En
esta modalidad de diseño existen dos tipos de circuito. Las máquinas MOORE y las
máquinas MEALY.
Ir al inicio
3.5.1
Diseño de máquinas de estado
El diseño de una máquina de estados (conocida también como máquina de estados finitos),
debe seguir la estructura siguiente:
a)
b)
c)
d)
e)
f)
g)
3.5.1.1
Enunciado del problema
Obtención del diagrama de estados a partir del enunciado del problema
Definición de dichos estados y el número de multivibradores que los realiza
Codificación de los estados en función de los multivibradores propuestos
Elaboración de la tabla de excitaciones y salidas
Simplificación o reducción por mapas de Karnaugh
Realización física del circuito y pruebas
Ir al inicio
Tipo Mealy
El nombre "Máquina de Mealy" viene del promotor del concepto: G. H. Mealy, un pionero
de las máquinas de estados, quien escribió Un Método para sintetizar Circuitos
Secuenciales, Bell System Tech. J. vol 34, pp. 1045–1079, September 1955.
Una máquina de Mealy puede definirse como una función de
* un conjunto finito de estados (S)
* un estado inicial S0 el cual es un elemento de (S)
* un conjunto finito de señales de entrada
* un conjunto finito de señales de salida
* una función de transiciones
* una función de salida
En general, una máquina MEALY es un sistema secuencial sincrónico que requiere un
circuito de salida. La siguiente figura muestra el esquema general de este tipo de circuitos
Fig 3.33 mapa de estados de una máquina MEALY simple.
64
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Ir al inicio
3.5.1.2
Tipo Moore
El nombre Moore machine viene de su diseñador: Edward F. Moore, un pionero de las
máquinas de estados, quien escribió Gedanken-experiments on Sequential Machines, pp
129 – 153, Estudios de Autómatas, Anales de los Estudios Matemáticos, no. 34, Princeton
University Press, Princeton, N. J., 1956.
Una máquina de Moore puede ser definida como una función de
* un conjunto finito de estados ( S )
* un estado inicio (también llamado estado inicial) S0 el cual es un elemento de (S)
* un conjunto finito de señales de entrada
* un conjunto finito de señales de salida
* una función de transición mapeando un estado y una entrada al siguiente estado
* una función salida
En general, una máquina MOORE es un sistema secuencial sincrónico en el que las salidas
del circuito son tomadas de las salidas de los mltivibradores. La siguiente figura muestra el
esquema general de este tipo de circuitos
Fig 3.34 mapa de estados de una máquina MOORE simple.
Ir al inicio
65
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Unidad IV. Dispositivos programables 4.1
4.1.1
4.1.2
4.2
4.2.1
Contexto de la memoria de un sistema de cómputo
Clasificación y tecnologías
Memoria EPROM
Dispositivos de lógica programable (PLD’s)
Arreglos lógicos programables (GAL’s)
4.1
Contexto de la memoria de un sistema de cómputo
La memoria en un sistema de cómputo permite almacenar datos y códigos: Los datos
consisten en la información del sistema y permiten la realización de operaciones lógicas y
aritméticas, el intercambio de información y la ejecución de múltiples tareas; Los códigos
son microinstrucciones escritas en lenguaje de máquina y son escritas de acuerdo a las
especificaciones del fabricante del procesador contenido en el sistema de cómputo. Dichos
códigos escritos y ejecutados en forma secuencial constituyen el programa que ejecuta el
sistema y se relaciona con los datos de manera que pueden efectuarse diferentes
operaciones.
Fig. 4.1 La persistencia de la memoria. Salvador Dalí
Ir al inicio
4.1.1 Clasificación y tecnologías
La memoria en sistemas electrónicos se clasifica de muy diversas maneras. Por ejemplo:
66
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
a) Por sus características físicas: Electromecánicas y electrónicas; Todos los tipos de
memoria electromecánica requieren de elementos móviles para los procesos de
lectura/escritura de información, lo que naturalmente se efectuaba en forma lenta.
Durante algún tiempo representaron el menor costo por cantidad de información
almacenada.
Fig. 4.2 Memoria de tambor magnético
Las memorias electrónicas en cambio son elementos estáticos que mantienen la
información por medio de niveles de voltaje y su principal característica es la
velocidad de respuesta.
Fig. 4.3 memoria electrónica comparada con memoria de núcleos magnéticos
67
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
b) Por su jerarquía: Principales y Auxiliares. Las memorias principales son aquellas
que, por su velocidad de operación interactúan directamente con el microprocesador
de un sistema de cómputo mientras las memorias auxiliares son sistemas mas lentos
que requieren tiempos de acceso mayores por lo que requieren circuitos que las
operen mediante sistemas de almacenamiento temporal (buffers).
Fig. 4.4 circuitos de memoria principal para una PC.
Fig. 4.5 circuito de memoria auxiliar.
c) Por su forma de acceso a la información: Aleatorias, serie y asociativas. En las
memorias de acceso aleatorio, el tiempo de lectura y el tiempo de escritura de un
dato es el mismo y es completamente independiente del lugar físico en donde se
ubica el mencionado dato. En las memorias de acceso en serie, el tiempo de acceso
a los datos depende del lugar en el que se localice físicamente dicho dato como en el
68
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
caso de cintas magnéticas o el conjunto de discos denominado “jukebox”. En las
memorias asociativas, denominadas CAM (content addressable memory), la
búsqueda de información requiere de un dato de entrada para compararlo con el
contenido de cada localidad.
d) Por su relación con la alimentación: Volátiles y no volátiles. En las memorias
volátiles es necesario mantener permanentemente la alimentación para retener los
datos que ésta contiene pues en cuanto dejan de contar con ella, todos los datos
almacenados se pierde. En las memorias no volátiles, la información almacenada
permanecerá indefinidamente en las condiciones normales de operación del circuito.
e) Por el tipo de elemento de almacenaje utilizado: Estáticas y dinámicas. Las
memorias estáticas emplean multivibradores como elementos de almacenaje de
información por lo que siempre que se encuentren alimentadas conservarán dicha
información. En las memorias dinámicas se emplea un elemento capacitivo para la
retención de información por lo que requieren ser “refrescadas” periódicamente. La
ventaja de estas ultimas es que aunque requieren de circuitos de refresco, pueden
fabricarse en mayor densidad que las estáticas pues por cada celda binaria de
memoria estática pueden fabricarse 4 celdas binarias de memoria dinámica.
f) Por el tipo de acceso a los datos: Memorias de lectura/escritura y memorias de
solo lectura. Las memorias de lectura/escritura se utilizan específicamente para el
almacenamiento de datos dentro de un sistema de cómputo y se requiere que dicha
operación se efectúe en el menor tiempo posible. Las memorias de solo lectura se
utilizan para almacenar código y requieren que la información permanezca en ellas
de forma indefinida para que siempre se encuentre disponible el programa grabado
en ellas.
Un ejemplo de la forma en que la construcción de circuitos cada vez más compactos y
eficientes impacta tecnológicamente, lo constituye el diseño de memorias a partir de
multivibradores.
En la siguiente figura se muestra una celda binaria a partir de compuertas NAND
DATA IN
1
2
3
*A
9
10
*C
S
8
MC74HC00AN
1
2
*A
3
10
MC74HC00AN
1
2
*A
3
4
5
12
6
*B
13
*D
R
11
*C
8
4
*B
6
13
Q9
10
12
5
6
9
*D
11
DATAOUT
12
*C
8
13
*D
MC74HC00AN
5
*B
4
READ/WRITE
Fig. 4.6 circuito de celda binaria, formado con NAND´s.
69
11
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
En celdas como la mostrada en la figura anterior, se distinguen la terminal de salida de
datos, la de entrada de datos y la de control de lectura/escritura que permite guardar un bit o
leer el bit guardado en la celda.
En el diseño de circuitos de memoria se añade una terminal de control adicional para
formar una celda binaria típica, como se muestra en el circuito siguiente
S
I
O
BC
RW
Fig. 4.7 circuito de celda binaria mostrando sus terminales de control y de datos.
En el circuito mostrado, S es la terminal de selección que permite en estado verdadero que
la celda actúe como tal, esto es, leer un dato binario o mostrarlo. Mientras que en estado
falso, el circuito se coloca en estado de alta impedancia (tercer estado) para no actuar en el
circuito en que se pudiera conectar. Esta condición permite que la celda pueda insertarse en
arreglos muy grandes y ejecutar acciones de lectura/escritura por palabras.
En el siguiente circuito se muestran ocho celdas binarias conectadas de manera que forman
una localidad de memoria, en la que se puede almacenar una palabra digital de 8 bits.
I7
O7
Selección de la palabra
I
S
BC
O
RW
I6
I
O6
S
BC
O
RW
I5
I
O5
S
BC
O
I4
I
RW
O4
S
BC
O
RW
I3
I
O3
S
BC
O
RW
I2
I
O2
S
BC
O
RW
I1
I
O1
S
BC
O
I0
I
RW
O0
S
BC
O
RW
RWde la palabra
Fig. 4.8 circuito de celdas binarias formando una localidad de memoria de 8 bits.
Nótese que el circuito tiene ahora un orden implícito, pues aunque todas las celdas son
iguales, cada una almacenará un bit de diferente “peso”, por lo que la celda de la derecha
albergará al bit menos significativo (LSB=Least Significant Bit) y la de la izquierda al mas
significativo (MSB=Most Significant Bit).
70
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Una simplificación adicional en circuitos de memoria, consiste en la fabricación de
terminales bidireccionales, las cuales tienen la propiedad de manejar datos en un sentido o
en otro y se utilizan para sustituir terminales separadas para la entrada y salida de datos.
Dichas terminales constan de un circuito de control gobernado por la terminal R/W y
formado como se muestra en la siguiente figura
I/O
I
I
O
I/O
O
R/W
Fig. 4.8 circuito de control de terminales bidireccionales.
De este modo, la localidad de memoria mostrada en la figura 4.8, se transforma en la
mostrada en la siguiente figura
Selección de la palabra
D7
D6
S
I/O
D5
S
BC
RW
I/O
D4
S
BC
RW
I/O
D3
S
BC
I/O
RW
D2
S
BC
RW
I/O
D1
S
BC
RW
I/O
D0
S
BC
RW
I/O
S
BC
I/O
RW
BC
RW
RWde la palabra
Fig. 4.9 Localidad de memoria de 8 bits y terminales de datos bidireccionales.
Agrupando más de una palabra en un circuito, considerando que las terminales de
entrada/salida de datos se deben conectar en paralelo para cada bit de cada palabra y que las
terminales de control deben conectarse en un arreglo matricial que permita la selección de
una palabra a la vez y la activación de la terminal R/W en todas las celdas al mismo tiempo,
se forma lo que se denomina una “memoria” como la que se muestra en el siguiente
circuito, el cual representa una memoria de 8 localidades de 8 bits cada una.
71
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
S0
D7
D6
D5
D4
D3
D2
D1
D0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
S1
S2
S3
S4
S5
S6
S7
RW
Fig. 4.10 circuito de memoria de 8 localidades de 8 bits cada una.
La cual representa la forma en la que se organizan las celdas binarias para formar un
arreglo que permita la lectura o escritura de una palabra en una localidad determinada. Para
lograr dicho objetivo, se selecciona la localidad deseada, colocando a uno lógico la S
correspondiente y a cero lógico todas las terminales S restantes. Enseguida se coloca la
palabra que se desea escribir en las terminales bidireccionales de datos y se activa la
terminal R/W en su modo de escritura. Si por el contrario se activa en modo de lectura, en
las terminales bidireccionales se muestra el contenido de las celdas de la localidad
seleccionada.
72
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Este proceso es sencillo si se trata de pocas localidades pero en el mercado se tienen
memorias de miles o millones de localidades, por lo que se requiere de un circuito que
permita la selección de cada localidad con la ayuda de pocas terminales. Un circuito como
el diseñado en la sección 2 de estos apuntes ilustra el caso. Se trata del diseño de un
selector de 5 entradas y 32 salidas cuya tabla de verdad se muestra en la siguiente figura
Fig. 4.11 Tabla de verdad de un selector de 5 entradas y 32 salidas.
En dicha tabla se muestran las terminales de selección S para cada una de 32 localidades de
memoria posibles y las combinaciones de entrada que las activan. Una combinación posible
por cada terminal S. En la siguiente figura se muestra el circuito resultante
S31
S30
S29
S28
S27
S26
S25
S24
S23
S22
S21
S20
S19
S18
S17
S16
A
A4
1
2
A
A3
1
2
A
A2
1
2
A
A1
1
2
A
2
A0
1
S15
S14
S13
S12
S11
S10
S9
S8
S7
S6
S5
S4
Fig. 4.12 circuito selector de 5 entradas y 32 salidas.
73
S3
S2
S1
S0
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
De esta manera, pueden generalizarse circuitos de n localidades de memoria con la
apropiada circuitería para selección de localidades. La siguiente figura muestra un circuito
con n localidades de memoria de 8 bits
S0
D7
D6
D5
D4
D3
D2
D1
D0
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
BC
S1
S2
S3
Sn
RW
Fig. 4.13 circuito de memoria de n localidades de 8 bits cada una.
Las dos figuras siguientes muestran las hojas de especificaciones de dos tipos de memoria
típicas utilizadas en el diseño de circuitos digitales.
74
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Fig. 4.14 . hoja de especificaciones de la memoria ROM 27c256.
Fig. 4.15 hoja de especificaciones de una memoria RAM de 8096 palabras de 8 bits cada
una.
Ir al inicio
75
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
4.1.2
Memoria EPROM
Son las siglas de Erasable Programmable Read-Only
Memory (ROM borrable programable). Es un tipo de
circuito integrado de memoria ROM inventado por el
ingeniero Dov Frohman que retiene los datos cuando
la fuente de energía se apaga. En otras palabras, es no
volátil. Está formada por celdas de FAMOS (Floating
Gate Avalanche-Injection Metal-Oxide
Semiconductor) o transistores de compuerta flotante.
Se programan mediante un dispositivo electrónico que
proporciona voltajes superiores a los normalmente
utilizados en los circuitos convencionales. Las celdas
que reciben carga se leen entonces como un 1. Una
vez programada, una EPROM se puede borrar
solamente mediante exposición a una fuerte luz
ultravioleta. Esto es debido a que los fotones de la luz
excitan a los electrones de las celdas provocando que
se descarguen. Las EPROMs se reconocen fácilmente
por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede
ver el chip de silicio y que admite la luz ultravioleta durante el borrado.
Ir al inicio
4.2
Dispositivos de lógica programable (PLD’s)
Antes de la invención de los PLDs, se podían utilizar memorias tipo ROM para crear
funciones lógicas combinacionales arbitrarias ya que se programaban de manera que una
combinación de entrada produjera una salida deseada de acuerdo a una tabla de verdad sin
necesidad de implementar los circuitos lógicos que la produjeran, solamente almacenando
la palabra binaria necesaria como respuesta. Este tipo de diseños se crearon para reproducir
funciones en una emergencia pues el circuito era subutilizado ya que las palabras restantes
se desperdiciaban.
En 1970, Texas Instruments desarrolló un circuito integrado, el TMS2000, programado con
una estructura de multivibradores JK internos para configurar diferentes operaciones
lógicas elementales. En 1971, General Electric Company (GE) desarrolló un dispositivo
lógico programable basado en la nueva tecnología PROM, sin embargo, una vez que Intel
introdujo en el mercado la tecnología de compuerta flotante borrable con luz ultravioleta,
inmediatamente fue introducida para producir el primer circuito PLD programable y
borrable. En 1973, National Semiconductor desarrolla el DM7575 En 1974 GE participa
en un acuerdo con la compañía Monolithic Memories para desarrollar un dispositivo lógico
programable que incorporara las innovaciones tecnológicas de GE. El dispositivo fue
denominado Programmable Associative Logic Array o PALA. El MMI 5760 se completó
en 1976 con casi 100 compuertas de tipo secuencial o multinivel.
76
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
El circuito fue desarrollado en ambiente de diseño de General Electric donde las ecuaciones
booleanas eran convertidas a patrones en una máscara para configurar el dispositivo. Sin
embargo el circuito no se vendió en el mercado.
PAL (Programmable array logic)
En 1978, MMI introduce un circuito denominado Programmable Array Logic o PAL cuya
arquitectura era mas simple que la del FPLA de Signetics FPLA debido a que omitía el
arreglo programable basado en compuertas OR, lo que hacía al dispositivo mas rápido,
pequeño y barato, en configuración DIP de 20 terminales. Adicionalmente, el manual PAL
Handbook desmitificó el proceso de diseño para hacerlo mas amigable con el uso del
software PALASM (PAL Assembler), el cual convierte las ecuaciones Booleanas de diseño
a un patrón de fusibles en la PAL. A partir de ese momento, los circuitos PAL se producen
también por National Semiconductor, Texas Instruments y AMD. Posteriormente a la
exitosa introducción de los circuitos PAL de 20 terminales, AMD introduce el 22V10, una
PAL de 20 terminales con características adicionales. Posteriormente, AMD adquiere MMI
(en 1987), para formar la compañía Vantis, que más tarde fuera adquirida por Lattice
Semiconductor en 1999.
Ir al inicio
4.2.1 Arreglos lógicos programables (GAL’s)
En 1985 Lattice introduce en el Mercado una innovación en las PAL, el dispositivo
denominado GAL (generic array logic), con las mismas propiedades de una PAL pero con
la característica adicional de permitir borrarle y reprogramarle, por lo que fue enormemente
aceptada en el diseño y depuración de prototipos lógicos. Dicha programación se puede
efectuar mediante programadores de PAL o utilizando la técnica de programación incircuit diseñada para determinados circuitos. Las GAL de Lattice combinan las tecnologías
CMOS y las compuertas flotantes eléctricamente borrables (E2) para proporcionar alta
velocidad y bajo consumo de potencia.
Un dispositivo similar, denominado PEEL (programmable electrically erasable logic) fue
introducido por International CMOS Technology (ICT) corporation.
CPLD (complex PLDs)
Las PAL y GAL´s solo pueden adquirirse en la actualidad en formatos de solo cientos de
compuertas lógicas. Para circuitos lógicos con mayor número de componentes se pueden
utilizar los CPLD (complex PLDs o CPLDs). Dichos dispositivos contienen el equivalente
de varias PAL enlazadas mediante conexiones programables en un solo circuito integrado
por lo que sustituyen a cientos o hasta miles de compuertas lógicas. Algunos CPLD’s
pueden programarse usando un programador convencional de PAL’s, pero este método
resulta inconveniente para dispositivos de cientos de terminales. Un método alternativo
consiste en soldar el circuito a la placa de circuito impreso en donde operará normalmente y
proporcionarle una cadena de datos seriales desde una PC. El circuito contiene un
dispositivo que decodifica los datos seriales y configura al CPLD para ejecutar la función
lógica especificada.
77
APUNTES DE CIRCUITOS DIGITALES M. en C. Orlando Beltrán Navarro
Cada fabricante tiene sistemas propietarios para este sistema de programación, por ejemplo
Lattice Semiconductor lo denomina "in-system programming", sin embargo estos sistemas
han migrado a un estándar denominado JTAG (Joint Test Action Group).
FPGAs (Field-programmable gate array)
Mientras el desarrollo de circuitos programables evolucionaba hacia GAL’s y CPLD’s,
ocurría otro tipo de desarrollos denominados FPGA’s (field-programmable gate array) por
parte Sygnetics. Este tipo de dispositivos introducidos en 1970, se basa en la tecnología de
matrices de compuertas que pueden ser configuradas en campo (de ahí su nombre fieldprogrammable gate array). Los FPGA’s utilizan una matriz de compuertas lógicas similar a
las usadas en otros dispositivos programables con la diferencia que la programación se hace
por parte del usuario después de haber sido soldados en la tarjeta de circuito impreso, de
manera similar a los CPLD’s. En algunos FPGA’s muy grandes, la configuración es volátil
y debe ser recargada cada vez que se alimenta el dispositivo mediante una memoria PROM,
o EEPROM via JTAG.
Ir al inicio
78
Descargar