Sunteți pe pagina 1din 119

Unidad 1 / Escenario 1

Lectura Fundamental

Introducción a los sistemas digitales

Contenido

1 Algunos conceptos básicos

2 Sistemas numéricos

3 Operaciones con números binarios

4 Compuertas lógicas básicas

Referencias

Palabras clave: Digital, sistemas numéricos, compuertas lógicas


1. Algunos conceptos básicos

Antes de empezar a trabajar con circuitos lógicos digitales, es necesario comprender las caracterı́sticas básicas de
los sistemas digitales y diferenciarlos de los circuitos análogos. De igual manera, es importante introducir algunos
conceptos de la electrónica análoga y digital que harán más fácil la realización de los montajes tanto en circuitos
fı́sicos como en simuladores.

1.1. Magnitudes analógicas y digitales

Las magnitudes que se encuentran en el ambiente son de tipo analógico, es decir que pueden tener un conjunto
infinito de valores continuos. “Las mediciones del tiempo, velocidad, peso, presión, intensidad luminosa y posición,
son todas analógicas por naturaleza” (Tokheim, 2011).

Un ejemplo de esto sucede al hacer rebotar una pelota. Su posición en el espacio sigue una trayectoria continua.
Si se mide la altura en centı́metros de dicha pelota cada cierto intervalo de tiempo, se obtienen valores discretos
(no continuos), que representan una magnitud digital. La figura 1 permite ver este proceso.

Figura 1: Magnitudes analógicas y digitales. Elaboración propia.

En sı́ntesis...
una magnitud analógica es continua en el tiempo, mientras que una magnitud digital es discreta (o con
valores discontinuos).

1.2. ¿Qué es un sistema digital?

Según Tocci, Widmer, y Moss (2007), un sistema digital es “la combinación de dispositivos diseñados para mani-
pular información lógica o cantidades fı́sicas que se representan en forma digital”. En el contexto de este módulo,
se trabajará con sistemas digitales de tipo electrónico, aunque pueden existir de tipo mecánico, electromecánico,
entre otros.

POLITÉCNICO GRANCOLOMBIANO 1
En la figura 2 se muestra un diagrama de bloques general que representa un sistema digital. Normalmente, el
sistema opera sobre las variables del mundo que lo rodea, por lo que requiere de un procesamiento particular,
tanto para recibir la información de sensores (pulsadores, sensores de luz, temperatura, etc) como para actuar
sobre dicho mundo mediante actuadores (luces, motores, etc). Internamente, el procesador digital se encargar de
manipular, almacenar y/o modificar la información, cumpliendo con las tareas para las que esté diseñado.

Figura 2: Diagrama de bloques de un sistema digital. Elaboración propia.

Los computadores que se utilizan hoy en dı́a son el ejemplo más común de sistemas digitales. Sin embargo, no siem-
pre fue ası́. En el escenario se encuentra la lectura “Historia de la Computación” que permitirá comprender cómo
surge la necesidad del uso de los computadores, partiendo del cálculo manual, hasta llegar al cálculo electrónico.

De acuerdo a la lectura, es claro que en un principio existı́an otros medios analógicos para realizar cálculos. Sin
embargo, a medida que dichos cálculos matemáticos se volvieron más complejos, fue necesario el cambio hacia
los computadores digitales, que proveen mayor capacidad de cómputo. Adicionalmente, los sistemas digitales
reemplazan a los analógicos al proveer capacidad de almacenamiento o de memoria. Este cambio hacia los sistemas
digitales sucede de igual manera con otras tecnologı́as como la televisión, la radio, entre otros.

1.3. Ventajas y desventajas de los sistemas digitales

Además del poder de cálculo, los sistemas digitales se caracterizan por contar con un alto nivel de exactitud en la
información y tener menor susceptibilidad ante el ruido externo, permitiendo una manera más confiable para la
transmisión de información.

Con respecto al almacenamiento, no sólo es más fácil realizarlo con un sistema digital, sino que permiten almacenar
información bien sea por cortos periodos o mantener la información almacenada de manera indefinida.

Otra razón por la que los sistemas digitales son muy usados tiene que ver con la facilidad para su diseño, utilizando
circuitos lógicos de bajo costo o mediante dispositivos programables.

Finalmente, al hablar de desventajas la más importante de ellas es que “el mundo real es analógico” (Tocci y
cols., 2007, p.6) y se requiere un procesamiento adicional para la conversión de señales analógicas a digital y
viceversa, que implica recursos y tiempo extra. En la figura 2, esto se encuentra representado por el conversor A/D
(Análogo/Digital) y el conversor D/A (Digital/Análogo).

POLITÉCNICO GRANCOLOMBIANO 2
1.4. Conceptos eléctricos básicos

De manera general, un circuito eléctrico es un conjunto de elementos interconectados que forma una trayectoria
cerrada y por el cual fluyen cargas eléctricas (corriente). Estas cargas eléctricas se mueven por efecto de diferencias
en el potencial eléctrico entre dos puntos del circuito (voltaje).

En la figura 3 se presenta un circuito eléctrico básico, conformado por una fuente de voltaje (Bat1, baterı́a de 9V),
un pulsador (S1), un LED (D1) y una resistencia (R1). Al oprimir el pulsador el circuito se cierra, la fuente ejerce
una presión (tensión) sobre los electrones, que resulta en una corriente fluyendo a través del circuito, lo
que finalmente enciende el LED. Dicha corriente está limitada por la resistencia R1. Si el valor del resistor es
muy pequeño, la corriente será muy alta y podrı́a quemar el LED. Por el contrario, si el valor es muy grande, la
corriente será muy pequeña y no lograrı́a encenderlo.

(a) Circuito básico. (b) Esquema.

Figura 3: Circuito básico y su representación esquemática. Elaboración propia.

En las próximas unidades se trabajará en la simulación de circuitos lógicos. Es ahı́ donde se aplicarán los conceptos
de voltaje (o tensión), corriente y resistencia.

1.4.1. Forma de onda digital

Cuando una magnitud digital se estudia a lo largo del tiempo, se le suele llamar “señal digital”. Estas señales se
representan como ondas cuadradas ideales, que pueden tomar dos valores posibles “1” o “0”. La transición de un
nivel BAJO a uno ALTO (flanco de subida) o de un nivel ALTO a uno BAJO (flanco de bajada) es una caracterı́stica
a tener en cuenta, dado su uso en circuitos de tipo secuencial. La figura 4 muestra dos formas de onda de tipo digital.

En la práctica las ondas no son exactamente cuadradas, pudiendo presentar rizados (como los que se ven en la figura)
debido a ruidos externos o a caracterı́sticas propias del circuito.

1.4.2. Forma de onda digital

La forma de representar los valores lógicos: “1” y “0” en un circuito digital es mediante diferencias en el valor de
tensión de la señal. Normalmente al nivel “1” le corresponde un valor ALTO de tensión, mientras que al nivel “0” le
corresponde un nivel BAJO. Esto se conoce como lógica positiva (Floyd, 2010, p.7). De acuerdo a la tecnologı́a

POLITÉCNICO GRANCOLOMBIANO 3
Figura 4: Formas de onda digitales. Elaboración propia.

utilizada para la construcción de un circuito integrado, los valores de tensión que indican un nivel lógico pueden
variar.

En la 5 se muestran algunos rangos de voltaje aceptables para que una señal se reconozca como un “0” lógico
(nivel BAJO) o como un “1” lógico (nivel ALTO), según el tipo de tecnologı́a: TTL (Lógica Transistor-Transitor)
y CMOS (Semiconductor Complementario de Óxido Metálico). En esta última, existen las subfamilias HC, HCT y
HCTLS. La diferencia radica en el tipo de transistores utilizados y en las frecuencias máximas de funcionamiento.

Figura 5: Niveles lógicos según tipo de circuito integrado. Elaboración propia.

Esta información es importante en el momento de trabajar con circuitos integrados, especialmente para tener en
cuenta el nivel de voltaje en la alimentación de los diferentes montajes.

POLITÉCNICO GRANCOLOMBIANO 4
2. Sistemas numéricos

Los valores lógicos “1” y “0” hacen parte de un sistema de numeración, llamado sistema binario, en el cual
existen dos posibles estados ALTO y BAJO (Que podrı́an representar un valor Verdadero o Falso, Sı́ o No). Estos
valores permiten representar cualquier cantidad numérica, caracter o información más compleja cuando hacen
parte de una secuencia de bits. La importancia del sistema binario radica en la facilidad de representar los posibles
estados de un dı́gito binario, utilizando valores de tensión.

¿Sabı́as qué...
la palabra bit que tanto se usa en los sistemas digitales es una contracción de binary digit (dı́gito binario)?

El sistema decimal es otro sistema de numeración, utilizado de mayor manera en la vida cotidiana. Este sistema
utiliza los dı́gitos del 0 al 9, y cada uno representa una cantidad diferente. Pero ¿Qué sucede si se desea contar
más allá del número 9? En ese caso, es necesario agregar un dı́gito para las decenas, reiniciando la posición
correspondiente a las unidades. Ası́, después del 9 vendrá el 10; después del 19, vendrá el 20 y se continúa hasta
llegar al número 99.

Además de estos dos sistemas, existen otros dos de uso común en el entorno de los circuitos digitales: El sistema
hexadecimal y el sistema octal. En este momento es necesario regresar al escenario, donde se encuentra un
recurso con las caracterı́sticas particulares de cada sistema numérico. Al finalizar de revisar este documento será
posible una mejor comprensión de la información presente en la tabla 1 y la progresión de los números en cada
sistema.

Decimal 0 1 2 3 ... 7 8 9 10 11 ... 15 16 17


Binario 0 1 10 11 ... 111 1000 1001 1010 1011 ... 1111 10000 10001
Octal 0 1 2 3 ... 7 10 11 12 13 ... 17 20 21
Hexadecimal 0 1 2 3 ... 7 8 9 A B ... F 10 11

Tabla 1: Sucesión de números en diferentes sistemas numéricos. Elaboración propia.

¿Sabı́as qué...
el término base en un sistema numérico se refiere a la cantidad de sı́mbolos disponibles en el sistema?
Ası́, el sistema decimal tiene 10 sı́mbolos (de 0 a 9), el binario 2 (0 y 1), el octal 8 (de 0 a 7) y el hexadecimal
16 (de 0 a F).

En el escenario se presentan algunos ejercicios para practicar la conversión entre sistemas numéricos y verificar si
se está preparado para continuar con el tema.

POLITÉCNICO GRANCOLOMBIANO 5
3. Operaciones con números binarios

Comprender las operaciones aritméticas básicas en el sistema binario será de gran utilidad a lo largo de este
módulo, especialmente para evaluar el funcionamiento de circuitos lógicos combinacionales que realicen este tipo
de operaciones. Aunque dichas operaciones son similares a las utilizadas en el sistema decimal, es necesario repasar
las variaciones de las mismas aplicadas a los números binarios.

3.1. Conteo binario

Para contar en binario, se debe tener en cuenta la posición de los dı́gitos. Nótese en la tabla 2 cómo la columna
de menor peso (a la derecha) alterna entre 0 y 1 con cada cuenta; la segunda columna alternará cada 2 cuentas y
la tercera columna cada 4 cuentas. En el caso de requerir un número más grande que 7, se necesitará agregar un
bit más. En esta nueva columna los datos alternarán cada 8 cuentas, y ası́ sucesivamente, siguiendo la base 2 (1,
2, 4, 8, 16, 32).

22 21 20
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Tabla 2: Conteo en binario. Elaboración propia.

¿Sabı́as qué...
el dı́gito más a la derecha es el de menor peso y se le conoce como “Bit Menos Significativo” (LSB, Less
Significant Bit en inglés). Al dı́gito más a la izquierda se le conoce como “Bit Más Significativo” (MSB, Most
Significant Bit en inglés) y es el que tiene mayor peso. Si en la transmisión de un mensaje se pierde el LSB, el
dato no se afectará tanto. Por el contrario, modificar su MSB cambiarı́a drásticamente la información recibida.

3.2. Suma

Sumar en binario es equivalente en gran parte a la suma en el sistema decimal. Esto se puede ver en la tabla 6,
donde el único caso particular es la suma 1 + 1. Al no existir más sı́mbolos en el sistema binario, esta suma hace
que se genere un acarreo positivo. En el sistema decimal, 1 + 1 = 2, que representado en binario es 1 + 1 = 10 (0
con acarreo de 1). Al sumar números binarios con más dı́gitos, la suma se realiza de derecha a izquierda, llevando
los acarreos de ser necesario.

POLITÉCNICO GRANCOLOMBIANO 6
Suma
0+0=0
0+1=1 1
1+0=1 1 1 1 0 0
1+1=0 + 0 1 0 1 0
(Con acarreo de 1) 1 0 0 1 1 0
(a) Reglas de la suma. (b) Ejemplo de suma.

Figura 6: Suma en binario. Elaboración propia.

3.3. Resta

La resta en binario también es muy similar a la resta en el sistema decimal. El único caso particular sucede cuando se
desea hacer la resta 0 - 1. Al ser menor el minuendo que el sustraendo, es necesario hacer un acarreo negativo. Si se
quiere restar 2 - 1 en el sistema decimal el resultado es 1. Esta resta en binario serı́a 10 - 1 = 1. En la figura 7 se
encuentran las reglas para la resta en binario y un ejemplo (note el acarreo negativo al restar 0 - 1).

Resta
0-0=0
0-1=1 −1
(Con acarreo de -1)
1 1 1 0 0
1-0=1 + 0 1 0 1 0
1-1=0 1 0 0 1 0
(a) Reglas de la resta. (b) Ejemplo de resta.

Figura 7: Resta en binario. Elaboración propia.

Otro método muy utilizado para hacer restas en binario consiste en utilizar el “complemento a 1” o el “complemento
a 2”. La explicación de estos métodos se encuentra en la lectura complementaria “Representación de números en
binario”.

3.4. Multiplicación y división

La multiplicación en binario es exactamente igual que en el sistema decimal. Teniendo en cuenta que cualquier
número multiplicado por 0 es igual a 0 y que si un número se multiplica por 1 es igual al mismo número original.
Esto también se aplica para cuando se requiere multiplicar números de varios dı́gitos (figura 8).

Basado en lo anterior, se puede deducir que la división binaria seguirá las mismas reglas del sistema decimal.

POLITÉCNICO GRANCOLOMBIANO 7
1 0 0 1
Multiplicación x 1 0 1 0
0x0=0 0 0 0 0
0x1=0 1 0 0 1
0 0 0 0
1x0=0 + 1 0 0 1
1x1=1 1 0 1 1 0 1 0
(a) Reglas de la multiplicación. (b) Ejemplo de multiplicación.

Figura 8: Multiplicación en binario. Elaboración propia.

3.5. Otras representaciones

Si todo lo anterior quedó claro, la invitación es a dirigirse nuevamente al escenario y realizar algunos ejercicios de
operaciones con números binarios. Además, en el escenario se encuentra el documento “Representación de números
en binario”, que muestra algunos métodos que permiten aumentar las posibilidades de uso del sistema binario. De
esta manera es posible representar cantidades más complejas, como números con signo y números reales.

4. Compuertas lógicas básicas

Además de las operaciones aritméticas vistas con anterioridad, es posible hacer operaciones de tipo lógico utilizando
datos digitales. Existen 3 operaciones básicas: AND, OR y NOT. Para cada una de estas operaciones se presenta
la compuerta correspondiente y su tabla de verdad. Tenga en cuenta que una tabla de verdad describe “la forma
en que la salida de un circuito lógico depende de los niveles lógicos presentes en las entradas del circuito” (Tocci
y cols., 2007, p.57).

4.1. La compuerta NOT (Inversor)

La operación NOT, también llamada “Inversor”, se aplica a una única variable de entrada y devuelve su comple-
mento o valor inverso. El sı́mbolo para representar la negación es la barra encima de la variable. Ası́, “A negado”
se escribe A.

En la figura 9 se encuentra la tabla de verdad, el sı́mbolo de la compuerta correspondiente y los niveles lógicos
resultado de la operación NOT.

POLITÉCNICO GRANCOLOMBIANO 8
Y

(a) Tabla de verdad. (b) Sı́mbolo. (c) Representación lógica.

Figura 9: Compuerta NOT. Elaboración propia.

4.2. La compuerta OR (O)

La operación OR, también conocida como disyunción lógica, genera en la salida un valor lógico verdadero (“1”
lógico) sı́ cualquiera de las variables es verdadera. Se representa con el sı́mbolo +, pero no se obtienen los mismos
resultados que en una suma (En este caso, 1 + 1 = 1). En la figura 10 se encuentra la tabla de verdad, el sı́mbolo
de la compuerta correspondiente y los niveles lógicos resultado de la operación OR.

Un ejemplo de uso de esta operación sucede cuando se requiere encender un bombillo utilizando dos interruptores
diferentes. Si ambos interruptores están en la posición de apagado, el bombillo también lo estará. En cambio, si
cualquiera de los interruptores pasa a la posición de encendido, el bombillo se encenderá.

(a) Tabla de verdad. (b) Sı́mbolo. (c) Representación lógica.

Figura 10: Compuerta OR. Elaboración propia.

4.3. La compuerta AND (O)

La operación AND, también conocida como conjunción lógica, genera en su salida un valor lógico verdadero
(“1” lógico) solo si todas las variables de entrada son verdaderas. Se representa como una multiplicación binaria
(Operador ·). En la figura 11 se encuentra la tabla de verdad, el sı́mbolo de la compuerta correspondiente y los
niveles lógicos resultado de la operación AND.

POLITÉCNICO GRANCOLOMBIANO 9
Un ejemplo de uso para la operación AND ocurre con la alarma de un vehı́culo. Sólo se desea que la alarma suene
si ésta se encuentra encendida y alguna puerta se abre. En este caso, ambas condiciones deben ser verdaderas para
que la salida de alarma suceda.

(a) Tabla de verdad. (b) Sı́mbolo. (c) Representación lógica.

Figura 11: Compuerta AND. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 10
Índice de figuras

1 Magnitudes analógicas y digitales. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

2 Diagrama de bloques de un sistema digital. Elaboración propia. . . . . . . . . . . . . . . . . . . . .

3 Circuito básico y su representación esquemática. Elaboración propia. . . . . . . . . . . . . . . . . .

4 Formas de onda digitales. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Niveles lógicos según tipo de circuito integrado. Elaboración propia. . . . . . . . . . . . . . . . . . .

6 Suma en binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Resta en binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Multiplicación en binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Compuerta NOT. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 Compuerta OR. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 Compuerta AND. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 11
Índice de tablas

1 Sucesión de números en diferentes sistemas numéricos. Elaboración propia. . . . . . . . . . . . . . .

2 Conteo en binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 12
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)
Tokheim, R. L. (2011). Electrónica Digital: Principios y Aplicaciones. España: McGraw-Hill España. Descargado
2017-05-01, de https://library.biblioboard.com/content/05ed48f3-1297-46d7-97d2-ac0b5bdc2150
(OCLC: 963710488)

POLITÉCNICO GRANCOLOMBIANO 13
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 1: Introducción a los sistemas digitales
Escenario 1: Introducción a los sistemas digitales

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 14
Unidad 1 / Escenario 2
Lectura Fundamental

Álgebra booleana y métodos


de simplificación

Contenido

1 Álgebra booleana

2 Representación de funciones lógicas

3 Simplificación lógica de expresiones booleanas

Referencias

Palabras clave: Álgebra booleana, simplificación, mapas de Karnaugh


1. Álgebra booleana

El álgebra booleana debe su nombre a George Boole, matemático que desarrolló las reglas y leyes que hoy en dı́a se
utilizan en los sistemas lógicos para su análisis y simplificación. Según Floyd Floyd (2010): “El álgebra de Boole es
una forma adecuada y sistemática de expresar y analizar las operaciones de los circuitos lógicos”. Su importancia
radica en que facilita el diseño y análisis de circuitos digitales. Cada circuito digital presente en el mundo actual
tiene implı́citas estas reglas para su funcionamiento básico.

En el escenario anterior se vieron los tres operadores básicos que utiliza el álgebra booleana: NOT (inversor
o negador), OR (suma lógica) y AND (producto lógico). Utilizando estos operadores se pueden hacer diversas
expresiones, que conecten las variables de entrada de un circuito con sus respectivas salidas. Las expresiones
resultantes se pueden representar mediante la combinación de compuertas lógicas.

Por ejemplo, la expresión X(Y + Z) se podrá representar según se muestra en la figura 1. Esto mismo se puede
hacer para representar expresiones más complejas.

Figura 1: Magnitudes analógicas y digitales. Elaboración propia, 2017.

Antes de empezar a ver las leyes y reglas del álgebra de Boole, sugiero revisar en el escenario la siguiente actividad,
que permite verificar si la relación entre una expresión booleana y su circuito está clara.

1.1. Leyes del álgebra booleana

En el álgebra booleana se siguen las mismas leyes básicas del álgebra tradicional. En la tabla 1 se presentan las
leyes, tanto para la suma como para la multiplicación.

Suma Multiplicación
Conmutativa A+B =B+A AB = BA
Asociativa A + (B + C) = (A + B) + C A(BC) = (AB)C
Distributiva A(B + C) = AB + AC

Tabla 1: Leyes del álgebra booleana. Elaboración propia, 2017.

La explicación de cada una de las leyes es la siguiente:

• La ley conmutativa indica que el orden de las entradas, al momento de realizar una operación OR o una
AND, no altera el resultado final.

POLITÉCNICO GRANCOLOMBIANO 1
• La ley asociativa indica que si se tienen más de dos variables al realizar una operación OR o AND, no importa
cómo estas se encuentren agrupadas, el resultado será el mismo.

• La ley distributiva indica que si se desea expandir una expresión, se multiplica dato por dato. Esto también
permite factorizar expresiones con términos comunes.

1.2. Reglas del álgebra booleana

Las diferentes reglas del álgebra booleana se encuentran resumidas en la tabla 2, donde A, B y C son variables
booleanas. Adicionalmente, en el escenario encontrará una explicación más completa de las diferentes reglas. Lo
invito a revisar el recurso mencionado y posteriormente a regresar a esta lectura.

1. A+0=A
2. A+1=A
3. A·0=0
4. A·1=A
5. A+A=A
6. A+A=1
7. A·A=A
8. A·A=0
9. A=A
10. A + AB = A
11. A + AB = A + B
12. (A + B)(A + C) = A + BC

Tabla 2: Reglas del álgebra booleana. Fuente: (Floyd, 2010).

1.3. Teoremas de De Morgan

Se trata de dos teoremas de gran importancia que apoyan el álgebra booleana y que permiten pasar de expresiones
tipo suma a productos, y viceversa. Estos teoremas se pueden ver en la figura 3.

AB = A + B A + B = AB

Figura 2: Teoremas de De Morgan. Elaboración propia, 2017.

POLITÉCNICO GRANCOLOMBIANO 2
1.4. Simplificación mediante álgebra booleana

Según Floyd Floyd (2010): “Una expresión booleana simplificada emplea el menor número posible de puertas en
la implementación de una determinada expresión”. Esta es la importancia de la aplicación de las leyes y reglas
del álgebra de Boole, junto con los teoremas de De Morgan. Estas últimas son ideales para eliminar negaciones
(operación NOT) que estén aplicadas a varias variables al tiempo. A continuación, se encuentran algunos ejemplos
de simplificación de expresiones booleanas.

Dada la expresión:

A+B

Se puede aplicar primero el segundo teorema de De Morgan a toda la expresión, obteniendo:

AB

La doble negación presente en A, se puede eliminar utilizando la regla 9 del álgebra de Boole. Por lo tanto, la
expresión quedarı́a reducida a:

AB

Un ejemplo más complejo puede ser la expresión:

((W + X) + Y )(Y + Z)

En este caso, nuevamente se aplica el primer teorema de De Morgan, para eliminar la negación grande que cubre
todos los términos. Con este fin, se asume que A = ((W + X) + Y ) y B = (Y + Z):

((W + X) + Y ) + (Y + Z)

La nueva expresión tiene dobles negaciones que se pueden eliminar usando la regla 9. A la expresión resultante se
le pueden eliminar los paréntesis y queda:

((W + X) + Y ) + (Y + Z) = W + X + Y + Y + Z

En la expresión obtenida aparecen los términos Y +Y . Aplicando la ley 5, esto es igual Y . Por lo tanto, la expresión
se reduce a:

W +X +Y +Z

POLITÉCNICO GRANCOLOMBIANO 3
(a) Diagrama original. (b) Diagrama simplificado.

Figura 3: Resultado de la simplificación mediante álgebra booleana. Elaboración propia, 2017.

La expresión obtenida es más sencilla tanto de entender como de implementar utilizando compuertas lógicas. Esto
se puede ver en la figura 3.

En este momento, lo invito a volver al escenario, a la siguiente actividad que le permitirá utilizar lo visto en esta
sección sobre la simplificación de circuitos y expresiones lógicas mediante álgebra booleana.

2. Representación de funciones lógicas

En los sistemas digitales es posible representar cualquier tipo de problema mediante tablas de verdad. “Las
tablas de verdad indican el valor que debe tomar la salida o salidas del sistema para cada una de las combinaciones
de las entradas” (Tokheim, 2011). La ventaja de utilizar este método para analizar y diseñar circuitos lógicos
radica en la facilidad para relacionar sus entradas y salidas.

La tabla 3 muestra un ejemplo de tabla de verdad, para un problema con tres entradas y una salida. En este
ejemplo, el sistema sólo puede generar un “1” (o nivel ALTO) siempre que dos (sólo dos) de sus entradas tengan
su valor en “1” al tiempo. Para cualquier otro caso, el sistema genera una salida en “0”.

Entradas Salidas
A B C Y
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

Tabla 3: Representación de un problema mediante una tabla de verdad. Elaboración propia, 2017.

Una vez representado un problema mediante su tabla de verdad, será posible obtener dos tipos de expresiones
estándar: La suma de productos (SOP) y el producto de sumas (POS). Estas expresiones serán posteriormente

POLITÉCNICO GRANCOLOMBIANO 4
utilizadas para generar expresiones simplificadas del problema y su representación mediante compuertas lógicas.

2.1. Suma de productos - SOP

Una expresión “suma de productos” (SOP, Sum Of Products en inglés) está conformada por varios términos
producto (multiplicación booleana) de literales (variable afirmada o negada) que se agrupan en una suma booleana.
Cuando dos o más términos están agrupados en una misma negación (ej: ABC, es necesario aplicar las reglas de
álgebra booleana hasta obtener las variables separadas (literales). Ası́, los siguientes son ejemplos de SOP:

A+B+C

AB + ABC + C

Mientras que el siguiente no es una SOP (Nótese que hay varios términos agrupados en una misma negación):

AB + ABC + C

Partiendo del problema de los números primos, la siguiente tabla de verdad (tabla 4) muestra los mintérminos y
las expresiones correspondientes a cada una de las filas. Un mintérmino es un término en producto que contiene
todas las variables de entrada para una salida en particular y está relacionado con su posición en la tabla de
verdad. Por otra parte, las expresiones corresponden al producto de las variables de entrada, en el estado en el
que se encuentran para una fila en particular: si el valor corresponde a “0” se niega la variable, esto hace que al
aplicar el producto (compuerta AND) el resultado sea “1”.

Entradas Salidas
A B C Y mintérminos Expresión
0 0 0 0 m0 ABC
0 0 1 0 m1 ABC
0 1 0 0 m2 ABC
0 1 1 1 m3 ABC
1 0 0 0 m4 ABC
1 0 1 1 m5 ABC
1 1 0 1 m6 ABC
1 1 1 0 m7 ABC

Tabla 4: Tabla de verdad, mintérminos y expresiones asociadas. Elaboración propia, 2017.

Para obtener la expresión “suma de productos” a partir de esta tabla de verdad, se tienen en cuenta únicamente
los mintérminos asociados con una salida en “1” (marcados en azul). Lo que se desea es obtener las expresiones
necesarias para que al sumar dichos productos el resultado sea “1” únicamente en los casos requeridos por el
problema. Esto se puede expresar de la siguiente manera:

Y = m(3, 5, 6) = m3 + m5 + m6 = A B C + A B C + A B C

El circuito resultante se puede ver en la figura 4 y corresponde a una posible solución del problema.

POLITÉCNICO GRANCOLOMBIANO 5
Figura 4: Circuito correspondiente a la SOP para el problema. Elaboración propia, 2017.

2.2. Producto de sumas - POS

Por otro lado, una expresión “producto de sumas” (POS, Product Of Sums en inglés) está conformada por varios
términos suma (suma booleana) de literales que se agrupan en un producto booleano. Cuando dos o más términos
están agrupados en una misma negación (ej: A + B + C), es necesario aplicar las reglas de álgebra booleana hasta
obtener las variables separadas (literales). Ası́, los siguientes son ejemplos de POS:

A(B + C)(A + C)

(A + B)(A + B + C)C

Partiendo del mismo problema de los números primos, la tabla 5 muestra los maxtérminos y las expresiones
correspondientes a cada una de las filas. Un maxtérmino es un término suma que contiene todas las variables de
entrada para una salida en particular y está relacionado con su posición en la tabla de verdad. Nótese que son
las posiciones opuestas a los mintérminos de la tabla anterior. Además, en este caso los términos se toman con su
valor opuesto ( Si el término en la entrada en “1”, se toma la variable negada).

Entradas Salidas
A B C Y mintérminos Expresión
0 0 0 0 M0 A+B+C
0 0 1 0 M1 A+B+C
0 1 0 0 M2 A+B+C
0 1 1 1 M3 A+B+C
1 0 0 0 M4 A+B+C
1 0 1 1 M5 A+B+C
1 1 0 1 M6 A+B+C
1 1 1 0 M7 A+B+C

Tabla 5: Tabla de verdad, mintérminos y expresiones asociadas. Elaboración propia, 2017.

Para obtener la expresión ”producto de sumas” de esta tabla de verdad, se tienen en cuenta únicamente los
maxtérminos asociados con una salida en ”0”. Lo que se desea es obtener las expresiones necesarias para que el
producto de sumas dé ”0” en los casos que se requiere. Esto se puede expresar de la siguiente manera:

POLITÉCNICO GRANCOLOMBIANO 6
Y = M (0, 1, 2, 4, 7) = (M0 )(M1 )(M2 )(M4 )(M7 ) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)(A + B + C)

El circuito resultante se puede ver en la figura 5, y corresponde a una solución del problema.

Figura 5: Circuito correspondiente al POS para el problema. Elaboración propia, 2017.

Una vez finalizada esta sección, es bueno volver al escenario para la siguiente actividad, que le permitirá practicar
lo visto con respecto a la generación de circuitos dada una tabla de verdad.

3. Simplificación lógica de expresiones booleanas

Hay diferentes métodos para simplificación de expresiones booleanas. Uno de los más utilizados, cuando se trata
de expresiones con pocas variables de entrada (máximo 5) es el método de los mapas de Karnaugh. Hay también
métodos tabulares, como el Quine-McCluskey.

3.1. Mapas de Karnaugh

Los mapas de Karnaugh constituyen un método gráfico que facilita la simplificación de expresiones booleanas hasta
de cinco variables. Sobrepasar ese lı́mite dificulta la generación de los mapas y deja de ser un método práctico. Este
método parte de las expresiones estándar, vistas en la sección anterior, y permite las expresiones más simplificadas
posibles (expresiones mı́nimas).

En las lecturas complementarias encuentra una explicación completa de los mapas de Karnaugh, para la simplifi-

POLITÉCNICO GRANCOLOMBIANO 7
cación de funciones booleanas.

3.2. Método de Quine-McCluskey

Este es de tipo tabular y gráfico. A diferencia de los mapas de Karnaugh, permite trabajar con más variables.
Además, el algoritmo se puede implementar en un programa de computador para resolución de problemas com-
plejos, y asegurando la obtención de las expresiones mı́nimas del problema. Para finalizar este recorrido por los
métodos de simplificación, es importante que regrese al escenario para hacer la actividad de evaluación final.

POLITÉCNICO GRANCOLOMBIANO 8
Índice de figuras

1 Magnitudes analógicas y digitales. Elaboración propia, 2017. . . . . . . . . . . . . . . . . . . . . . .

2 Teoremas de De Morgan. Elaboración propia, 2017. . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Resultado de la simplificación mediante álgebra booleana. Elaboración propia, 2017. . . . . . . . .

4 Circuito correspondiente a la SOP para el problema. Elaboración propia, 2017. . . . . . . . . . . .

5 Circuito correspondiente al POS para el problema. Elaboración propia, 2017. . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 9
Índice de tablas

1 Leyes del álgebra booleana. Elaboración propia, 2017. . . . . . . . . . . . . . . . . . . . . . . . . .

2 Reglas del álgebra booleana. Fuente: (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Representación de un problema mediante una tabla de verdad. Elaboración propia, 2017. . . . . .

4 Tabla de verdad, mintérminos y expresiones asociadas. Elaboración propia, 2017. . . . . . . . . . .

5 Tabla de verdad, mintérminos y expresiones asociadas. Elaboración propia, 2017. . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 10
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Tokheim, R. L. (2011). Electrónica Digital: Principios y Aplicaciones. España: McGraw-Hill España. Descargado
2017-05-01, de https://library.biblioboard.com/content/05ed48f3-1297-46d7-97d2-ac0b5bdc2150
(OCLC: 963710488)

POLITÉCNICO GRANCOLOMBIANO 11
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 1: Álgebra booleana y métodos de simplificación
Escenario 2: Introducción a los sistemas digitales

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 12
Unidad 2 / Escenario 3
Lectura Fundamental

Circuitos lógicos combinacionales I

Contenido

1 Compuertas lógicas compuestas

2 Circuitos lógicos combinacionales

3 Circuitos decodificadores

4 Circuitos codificadores

5 Circuitos conversores

Referencias

Palabras clave: Lógica Combinacional, Decodificadores, Codificadores, Conversores


1. Compuertas lógicas compuestas

Mediante la combinación de las operaciones lógicas básicas AND, OR y NOT, es posible obtener otro tipo de ex-
presiones más complejas, representadas en compuertas lógicas. Las compuertas NAND y NOR son dos compuertas
compuestas de gran importancia, debido a que su fabricación es de menor complejidad que la de las compuertas
AND y OR (Mano, 2014). Otras compuertas compuestas, de gran importancia en el diseño de circuitos digitales
son las XOR y XNOR, principalmente para labores de comparación y suma de los valores de entrada.

1.1. Compuerta NAND

Se trata de una compuerta AND que tiene su salida negada (el término NAND proviene de la unión entre NOT
y AND). En la figura 1 se presenta el sı́mbolo de una compuerta NAND (la salida negada se representa por un
pequeño cı́rculo, para simplificación). En el cuadro 1 se encuentra la relación entre entradas y salidas para la
compuerta, al igual que los niveles lógicos obtenidos como resultado de la operación mediante compuertas lógicas.
Básicamente, la compuerta NAND genera un valor ALTO cuando alguna de sus entradas está en
nivel BAJO, y un nivel BAJO cuando todas sus entradas están en nivel ALTO.

Figura 1: Sı́mbolo de la compuerta NAND. Elaboración propia.

Entradas AND NAND


X1 X0 X1 · X0 Y = X1 · X0
0 0 0 1
0 1 0 1
1 0 0 1
1 1 1 0
(a) Tabla de verdad (b) Representación de la lógica en el circuito

Tabla 1: Funcionamiento de la compuerta NAND.


Fuente: Elaboración propia.

1.1.1. Equivalente Negativa-OR

La compuerta NAND puede representarse como una compuerta OR que tiene todas sus entradas negadas (Figura
2). Esta representación se obtiene al aplicar el teorema de DeMorgan: Y = X1 · X0 = X1 + X0. Dado este
equivalente, una compuerta NAND puede ser usada como una compuerta OR de lógica inversa, es decir, la salida
se pone en ALTO cuando cualquiera de las entradas está en nivel BAJO.

POLITÉCNICO GRANCOLOMBIANO 1
Figura 2: Equivalencia entre una NAND y una Negativa-OR. Elaboración propia.

1.1.2. NAND como elemento lógico universal

Mediante la combinación de compuertas NAND es posible implementar cualquier otro tipo de compuerta lógica,
por lo cuál se puede decir que se trata de una compuerta universal (Floyd, 2010). En la figura 3 se encuentran los
circuitos para las compuertas NOT, AND y OR implementados usando únicamente compuertas NAND.

(a) NOT (b) AND (c) OR

Figura 3: NAND como compuerta universal. Basado en (Floyd, 2010).

1.2. Compuerta NOR

Se trata de una compuerta OR que tiene su salida negada (el término NOR proviene de la unión entre NOT y
OR). En la figura 4 se presenta el sı́mbolo de una compuerta NOR. En el cuadro 2 se encuentra la relación entre
entradas y salidas para la compuerta, al igual que los niveles lógicos obtenidos como resultado de la operación
mediante compuertas lógicas. La compuerta NOR genera un valor ALTO cuando todas sus entradas
están en nivel BAJO, y un nivel BAJO cuando alguna de sus entradas están en nivel ALTO.

Figura 4: Sı́mbolo de la compuerta NOR. Elaboración propia.

1.2.1. Equivalente Negativa-AND

La compuerta NOR puede representarse como una compuerta AND que tiene todas sus entradas negadas (Figura
5). Esta representación se obtiene al aplicar el teorema de DeMorgan: Y = X1 + X0 = X1 · X0. Dado este
equivalente, una compuerta NOR puede ser usada como una compuerta AND de lógica inversa, es decir, la salida
se pone en ALTO sólo cuando las diferentes entradas está en nivel BAJO.

POLITÉCNICO GRANCOLOMBIANO 2
Entradas OR NOR
X1 X0 X1 + X0 Y = X1 + X0
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0
(a) Tabla de verdad (b) Representación de la lógica en el circuito

Tabla 2: Funcionamiento de la compuerta NOR. Elaboración propia.

Figura 5: Equivalencia entre una NOR y una Negativa-AND. Elaboración propia.

1.2.2. NOR como elemento lógico universal

Al igual que con la compuerta NAND, es posible obtener cualquiera de las operaciones booleanas utilizando
únicamente compuertas NOR. En la figura 6 se encuentran los circuitos para las compuertas NOT, AND y OR.

(a) NOT (b) AND (c) OR

Figura 6: NOR como compuerta universal. Basado en (Floyd, 2010).

1.3. Compuerta XOR

La compuerta XOR, también conocida como OR exclusivo, es un tipo de circuito utilizado frecuentemente, formado
por la combinación de compuertas lógicas. La expresión de salida de una XOR está dada por la siguiente relación
entre sus entradas:

Y = X1 · X0 + X1 · X0.

Esta ecuación suele abreviarse con el sı́mbolo ⊕, por lo que la expresión final serı́a:

Y = X1 ⊕ X0.

POLITÉCNICO GRANCOLOMBIANO 3
En la figura 7 se encuentra el circuito completo, basado en la expresión anterior, y el sı́mbolo asignado para la
compuerta XOR.

Figura 7: Circuito XOR y su sı́mbolo. Elaboración propia.

Dada la expresión anterior y el circuito resultante, es posible obtener la tabla de verdad de la compuerta XOR,
ası́ como la verificación de su funcionamiento (Figura 3). Nótese que en la compuerta XOR se obtiene un
nivel ALTO en la salida, únicamente cuando sus dos entradas tienen niveles diferentes. Si ambas
entradas están en un mismo nivel, la salida es BAJO.

Entradas XOR
X1 X0 X1 ⊕ X0
0 0 0
0 1 1
1 0 1
1 1 0
(a) Tabla de verdad (b) Representación de la lógica en el circuito

Tabla 3: Funcionamiento de la compuerta XOR. Elaboración propia.

1.4. Compuerta XNOR

La compuerta XNOR, también conocida comoNOR exclusivo, es otra compuerta compuesta bastante usada con
un funcionamiento opuesto a la XOR. La expresión de salida de una XNOR está dada por la siguiente relación
entre sus entradas:

Y = X1 · X0 + X1 · X0.

Esta ecuación suele abreviarse con el sı́mbolo ⊗, por lo que la expresión final serı́a:

Y = X1 ⊗ X0.

En la figura 8 se encuentra el circuito completo, basado en la expresión anterior, y el sı́mbolo asignado para la
compuerta XNOR.

POLITÉCNICO GRANCOLOMBIANO 4
Figura 8: Circuito XNOR y su sı́mbolo. Elaboración propia.

Dada la expresión anterior y el circuito resultante, es posible obtener la tabla de verdad de la compuerta XNOR,
ası́ como la verificación de su funcionamiento (Figura 4). Nótese que a diferencia de la compuerta XOR, en una
compuerta XNOR se obtiene un nivel ALTO en la salida, únicamente cuando sus dos entradas
tienen el mismo nivel (BAJO o ALTO).

Entradas XNOR
X1 X0 X1 ⊗ X0
0 0 1
0 1 0
1 0 0
1 1 1
(a) Tabla de verdad (b) Representación de la lógica en el circuito

Tabla 4: Funcionamiento de la compuerta XNOR. Elaboración propia.

1.5. Circuitos integrados digitales

Las compuertas lógicas vistas hasta ahora, ası́ como muchas de las funciones lógicas que se verán a lo largo del
curso, están implementadas mediante circuitos integrados (Figura 9), usualmente construidos bajos dos tipos de
tecnologı́a: TTL y CMOS. El tipo de tecnologı́a afecta la tensión de alimentación, velocidad de respuesta y otras
caracterı́sticas, pero las funciones lógicas y conexiones son iguales.

Figura 9: Circuito integrado. Elaboración propia.

La nomenclatura que permite diferenciar entre diferentes tipos de integrados y tecnologı́as se encuentra estandari-
zada. Los primeros números corresponden al tipo de serie, normalmente se trabaja con la 74. Luego de este número

POLITÉCNICO GRANCOLOMBIANO 5
puede o no haber algunas letras, las cuales hacen referencia a la tecnologı́a usada, por ejemplo 74LS corresponde
a TTL, mientras que 74HC es CMOS. Finalmente se encuentran dos o tres dı́gitos que hacen referencia al tipo
de compuerta o circuito. En el cuadro 5 se encuentran algunos tipos y su descripción. En estas tablas se puede ver
que una NAND cuádruple de dos entradas podrı́a tener la denominación 7400, 74LS00 y 74HC00.

Tipo Descripción
00 Cuádruple NAND de dos entradas
Tipo Descripción
02 Cuádruple NOR de dos entradas
74 TTL estándar 04 Inversor séxtuple
74S TTL Schottky 08 Cuádruple AND de dos entradas
74LS TTL Schottky de baja potencia 32 Cuádruple OR de dos entradas
74HC CMOS de alta velocidad 86 Cuádruple XOR
74AC CMOS avanzada 266 Cuádruple XNOR
(a) Nomenclatura según tecnologı́a. (b) Numeración según tipo de circuito.

Tabla 5: Nomenclatura de algunos integrados tı́picos. Tomado de Floyd (2010)

Antes de usar un circuito integrado, es necesario revisar las caracterı́sticas de conexión del mismo. Toda la in-
formación referente a conexiones, caracterı́sticas de operación, entre otras, se encuentra en la hoja de datos del
integrado (datasheet en inglés), el cual puede encontrarse en una búsqueda por internet o en la página web del
fabricante (Por ejemplo Texas Instruments).

En este momento lo invito a regresar al escenario, donde encontrará información complementaria acerca de las
compuertas compuestas y su implementación mediante circuitos integrados.

2. Circuitos lógicos combinacionales

Los circuitos lógicos trabajados hasta ahora, incluyendo las compuertas lógicas compuestas, pueden clasificarse
como circuitos lógicos combinacionales, para los cuales “el nivel lógico de la salida depende de la combinación
de los niveles lógicos presentes en las entradas” (Tocci, Widmer, y Moss, 2007, p. 119). Esto se puede ver en el
diagrama general de la figura 10. En este tipo de circuitos no existe ningún almacenamiento de información o
memoria, por lo tanto cualquier cambio en las entradas se verá reflejado directamente en la salida. Estos circuitos
pueden representarse mediante funciones booleanas y tablas de verdad. Su implementación se realiza utilizando
compuertas lógicas.

Existen circuitos combinacionales más complejos, con funciones especı́ficas como codificación/decodificación, con-
versión y selección de información, ası́ como de tipo aritméticas (sumadores, restadores, multiplicadores), entre
otras.

POLITÉCNICO GRANCOLOMBIANO 6
Figura 10: Circuitos lógicos combinacionales. Elaboración propia.

2.1. Diseño de circuitos combinacionales

Si se tiene la expresión booleana o la tabla de verdad para un problema particular, es posible obtener el circuito
lógico correspondiente de manera casi directa. Pero ¿Qué se debe hacer cuando se parte de un enunciado o problema?
A continuación se encuentra un procedimiento de diseño que permite la obtención de un circuito combinacional para
un problema especı́fico (Tocci y cols., 2007). Cabe mencionar que en este método se hace uso de los mintérminos y la
“Suma de Productos”. El mismo procedimiento podrı́a realizarse utilizando maxtérminos y “Producto de Sumas”,
haciendo los cambios correspondientes.

2.1.1. Análisis del problema

Para el diseño de circuitos combinacionales es necesario realizar un estudio del problema, con el fin de determinar
primero que todo que éste sea solucionable mediante este tipo de circuitos. Esto es ası́ cuando la salida depende
únicamente del estado actual de las entradas. Al interpretar el problema, se debe hacer énfasis en identificar cuáles
son las entradas y salidas del mismo. A cada una de las variables se les identifica con un nombre.

2.1.2. Obtención de la tabla de verdad

Se debe analizar cómo las variables de entrada modifican las variables de salida, y por ende, el resultado del
sistema. Esta relación entre variables se debe expresar mediante una tabla de verdad.

2.1.3. Obtención de mintérminos

De acuerdo a la tabla de verdad obtenida, es necesario verificar en qué casos la salida es 1 o “ALTO”. De esta
manera es posible obtener los mintérminos que hacen parte de la solución del problema.

2.1.4. Obtención de la expresión Suma de Productos

Una vez se han detectado todos los mintérminos, se unen para obtener la expresión Suma de Productos.

POLITÉCNICO GRANCOLOMBIANO 7
2.1.5. Simplificación de la expresión obtenida

Utilizando los métodos de simplificación vistos con anterioridad, bien sea mediante álgebra booleana o mediante
métodos tabulares, como los mapas de Karnaugh.

2.1.6. Implementación del circuito dada la expresión

Para finalizar el diseño, se realiza la implementación del circuito según la expresión simplificada. Tenga en cuenta
que una buena forma de verificar si un circuito es correcto es utilizando en lo posible un programa de diseño asistido
(Logisim). En este momento lo invito a volver al escenario, donde encontrará un recurso con un ejemplo de este paso
a paso.

3. Circuitos decodificadores

De acuerdo a Floyd (2010): “La función básica de un decodificador es detectar la presencia de una determinada
combinación de bits (código) en sus entradas y señalar la presencia de este código mediante un cierto nivel de
salida” (p. 348). Un decodificador, de manera general, permite convertir la información de n lı́neas de entrada a
2n lı́neas de salida. Su funcionamiento está dado por una tabla de verdad, que relaciona entradas con salidas.

Entradas Salidas
X1 X0 Y0 Y1 Y2 Y3 Expresión de salida
0 0 1 0 0 0 Y 0 = X1 · X0
0 1 0 1 0 0 Y 1 = X1 · X0
1 0 0 0 1 0 Y 2 = X1 · X0
1 1 0 0 0 1 Y 3 = X1 · X0
(a) Tabla de verdad (b) Circuito lógico

Tabla 6: Decodificador de 2 a 4. Elaboración propia.

En el cuadro 6 se muestra un ejemplo de decodificador, de 2 entradas y 4 salidas. Como se puede ver en la tabla
de verdad, cada una de las salidas tiene una expresión especı́fica, dada por el estado necesario en las entradas para
activarla. Se hace uso de las compuertas AND e inversores, para formar las combinaciones necesarias para cada
estado de activación.

Existen diferentes tipo de decodificadores, que siguen la misma estructura de diseño del visto previamente. En el
cuadro 7 se pueden ver algunas referencias y sus respectivas descripciones. Además de convertir la información
binaria a otro código, los decodificadores pueden ser usados como elementos de control y selección, para activar o
desactivar diferentes elementos en un circuito, dado un código especı́fico.

POLITÉCNICO GRANCOLOMBIANO 8
Tipo Descripción
74HC42 Decodificador BCD a decimal
74LS47 Decodificador BCD a 7 segmentos
74HC154 Decodificador de 4 lı́neas a 16 lı́neas
74HC238 Decodificador de 3 lı́neas a 8 lı́neas

Tabla 7: Referencias de decodificadores comunes. Elaboración propia.

4. Circuitos codificadores

Un circuito codificador se utiliza normalmente para hacer la tarea inversa del decodificador. Es decir, cuando se
presenta una señal activa en alguna de sus entradas, el decodificador debe generar un código en binario (u otra
codificación) en su salida. Existen además codificadores con prioridad, que evalúan si más de una señal en la
entrada se encuentra activa y generan el código menor o mayor entre las opciones de entrada. En el cuadro 8 se
encuentra el ejemplo de un codificador de 4 lı́neas a 2. Nótese que en este caso, las salidas se encuentran en BAJO
cuando todas las entradas están en BAJO, mientras que cuando se activa alguna de las entradas X0 (1), X1 (2) O
X2 (3), el código binario en la salida es acorde (Este codificador funciona con los dı́gitos decimales del 0 al 3). En
el cuadro 9 se encuentran algunas referencias y sus respectivas descripciones.

Entradas Salidas
X0 X1 X2 X3 Y1 Y0
0 0 0 0 0 0
1 0 0 0 0 1
0 1 0 0 1 0
0 0 1 0 1 1
(a) Tabla de verdad (b) Circuito lógico

Tabla 8: Decodificador de 2 a 4. Elaboración propia.

Tipo Descripción
74HC147 Codificador de decimal a BCD con prioridad
74LS148 Codificador de 8 lı́neas a 3 lı́neas

Tabla 9: Referencias de codificadores comunes. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 9
5. Circuitos conversores

También conocidos como convertidores de código, son circuitos que cambian “los datos que se presentan en cierto
tipo de código binario, a otro código binario” (Tocci y cols., 2007, p. 624). Este es el caso del decodificador de
BCD a 7 segmentos, pero también existen otros circuitos conversores comúnes (Cuadro 10).

Tipo Descripción
74LS47 BCD a 7 segmentos
74184 BCD a binario
74185A Binario a BCD

Tabla 10: Referencias de codificadores comunes. Elaboración propia.

En el caso de los conversores BCD a binario, normalmente su aplicación se requiere cuando se desea hacer una
interfaz entre un sistema de usuario (basado en BCD) y un equipo de cómputo. Esta conversión se hace, debido a
que los números en BCD (cuando tienen más de un dı́gito) pueden ocupar mayor cantidad de Bits que en binario.

POLITÉCNICO GRANCOLOMBIANO 10
Índice de figuras

1 Sı́mbolo de la compuerta NAND. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Equivalencia entre una NAND y una Negativa-OR. Elaboración propia. . . . . . . . . . . . . . . .

3 NAND como compuerta universal. Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . .

4 Sı́mbolo de la compuerta NOR. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Equivalencia entre una NOR y una Negativa-AND. Elaboración propia. . . . . . . . . . . . . . . .

6 NOR como compuerta universal. Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . . .

7 Circuito XOR y su sı́mbolo. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8 Circuito XNOR y su sı́mbolo. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Circuito integrado. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 Circuitos lógicos combinacionales. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 11
Índice de tablas

1 Funcionamiento de la compuerta NAND. Fuente: Elaboración propia. . . . . . . . . . . . . . . . . .

2 Funcionamiento de la compuerta NOR. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

3 Funcionamiento de la compuerta XOR. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

4 Funcionamiento de la compuerta XNOR. Elaboración propia. . . . . . . . . . . . . . . . . . . . . .

5 Nomenclatura de algunos integrados tı́picos. Tomado de Floyd (2010) . . . . . . . . . . . . . . . .

6 Decodificador de 2 a 4. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Referencias de decodificadores comunes. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

8 Decodificador de 2 a 4. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Referencias de codificadores comunes. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . .

10 Codificadores comunes. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 12
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Mano, M. M. (2014). Diseño digital: con una introducción a Verilog HDL. Naucalpan de Juárez, México: Pearson
Educación. (OCLC: 881629816)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)

POLITÉCNICO GRANCOLOMBIANO 13
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 2: Circuitos combinacionales
Escenario 3: Circuitos lógicos combinacionales I

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 14
Unidad 2 / Escenario 4
Lectura Fundamental

Circuitos lógicos combinacionales II

Contenido

1 Multiplexores

2 Demultiplexores

3 Circuitos aritméticos

4 Comparadores de magnitud

5 Generadores y comprobadores de paridad

Referencias

Palabras clave: Lógica Combinacional, Multiplexores, Demultiplexores, Circuitos Aritméti-


cos, Paridad
1. Multiplexores

Un multiplexor (MUX) digital, también conocido como selector de datos, “es un circuito lógico que acepta
varias entradas de datos digitales y selecciona una de ellas en un momento dado para pasarla a la
salida” (Tocci, Widmer, y Moss, 2007, p.599). Dicha selección es controlada mediante las lı́neas o entradas de
selección. Siendo M la cantidad de lı́neas de selección, es posible controlar hasta N = 2M entradas. En la figura
1 se muestra un diagrama funcional del multiplexor, fı́jese que el multiplexor actúa de manera similar que un
selector.

Figura 1: Diagrama funcional de un multiplexor. Basado en Tocci y cols. (2007)

En la figura 2 se encuentra la tabla de verdad para un multiplexor con 4 entradas de datos. Note que las lı́neas de
datos y de salida deben ser del mismo tamaño (En este caso son de 1 bit). Se puede apreciar como, de acuerdo al
código binario que se ponga en las dos entradas de selección S1 y S0, es posible mostrar una de las entradas X0, X1,
X2 o X3 en la salida de datos. En la última columna de la tabla de verdad se encuentran además las expresiones
lógicas para cada una de las posibles salidas, representadas en el circuito lógico mostrado (Este circuito se obtuvo
utilizando la herramienta de Análisis Combinacional de Logisim, vista en el escenario anterior).

Selección Salida
S1 S0 Y Expresión
0 0 X0 S1 S0 X0
0 1 X1 S1 S0 X1
1 0 X2 S1 S0 X2
1 1 X3 S1 S0 X3
(a) Tabla de verdad. (b) Circuito lógico.

Figura 2: Funcionamiento de un Multiplexor de 4 entradas. Elaboración propia.

En la tabla 1 hay algunas referencias de multiplexores comerciales, junto con sus respectivas descripciones. El
74HC151 es un multiplexor con 8 entradas de 1 bit y 3 bits de selección (Figura 3a). Existen también multiplexores
con entradas mayores a 1 bit, como el 74HC157 que cuenta con 2 lı́neas, cada una de 4 bits de entrada y 1 bit

POLITÉCNICO GRANCOLOMBIANO 1
de selección (Figura 3b). Estas referencias de multiplexor, al igual que otros circuitos integrados, cuentan con una
entrada de habilitación EN (Enable), la cual debe estar en BAJO (Lógica inversa) para que a la salida haya un
dato válido.

Tipo Descripción
74HC151 Multiplexor de 8 entradas (de 1 bit).
74HC157 Multiplexor cuádruple de 2 entradas (de 4 bits).

Tabla 1: Referencias de multiplexores comerciales. Elaboración propia.

(a) Multiplexor 74HC151 (b) Multiplexor 74HC157

Figura 3: Diagramas funcionales de dos multiplexores digitales. Elaboración propia.

1.1. Aplicaciones

Existen variadas aplicaciones para los multiplexores: “la selección de datos, el enrutamiento de datos, la secuencia
de operaciones, la conversión de paralelo a serial, la generación de formas de onda y la generación de funciones
lógicas” (Tocci y cols., 2007, p.604). A continuación se estudian dos de ellas.

1.1.1. Enrutamiento de datos

Es la aplicación principal de un multiplexor. Se cuenta con varias fuentes de información y los datos obtenidos
de esas fuentes se quieran llevar a un único elemento que procese o analice dicha información. Un ejemplo clásico
sucede cuando se cuenta con dos displays de 7 segmentos y se desea utilizar un solo conversor de BCD a 7 segmentos
(74LS47). Es posible poner en las entradas del multiplexor (74HC157) los dos números a visualizar, y sincronizar
la entrada de selección con la alimentación de los displays (mediante un decodificador 74LS139, A1 en BAJO
enciende el primer display y en ALTO el segundo). Esto se puede ver en la figura 4.

1.1.2. Generación de funciones lógicas

La implementación de funciones lógicas mediante multiplexores se hace partiendo de la tabla de verdad. El primer
paso es la evaluación de los mintérminos para la generación de una expresión Suma de Productos. Se seleccionan

POLITÉCNICO GRANCOLOMBIANO 2
Figura 4: Enrutamiento de datos - Displays de 7 segmentos. Basado en Floyd (2010).

las entradas de datos que corresponden con un mintérmino y se deja su estado en ALTO, para todas las demás el
estado se deja conectado en BAJO. Las variables de entrada de la tabla de verdad se conectan a las entradas de
selección del multiplexor.

En la figura 5a se presenta una tabla de verdad para un problema particular. En este caso la Suma de Productos
está dada por:

Y = m(0, 1, 4, 7) = m0 + m1 + m4 + m7

Y =C B A+C B A+C B A+C B A

Estos estados corresponden con las entradas D0 , D1 , D4 y D7 del multiplexor y se deben poner en ALTO, los
demás se deben poner en BAJO. En la figura 5(b) se muestra el circuito implementado con dos ejemplos de valores
en la entrada de selección. Note que cuando la entrada de selección se encuentra en 0 0 0, se muestra en la salida
el valor de la entrada D0 (estado C B A) que está conectado en ALTO. Por otro lado, cuando la entrada es 1 0 1
(C B A) la salida es 0.

2. Demultiplexores

Los demultiplexores (DEMUX) realizan la tarea inversa de los multiplexores. Un demultiplexor permite la distri-
bución de datos, desde una única entrada hacia diversas salidas. En la figura 6 se muestra el diagrama funcional
de un demultiplexor. Note cómo en este caso, solo hay una lı́nea de entrada para N salidas. La relación entre las
M entradas de selección y las N salidas es equivalente a la del multiplexor: N = 2M Recuerde que, al igual que
en los multiplexores, las lı́neas de entrada y salida de datos pueden contar con más de 1 bit.

POLITÉCNICO GRANCOLOMBIANO 3
Entradas Salida
C B A Y
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
(a) Tabla de verdad. (b) Circuito lógico.

Figura 5: Generación de funciones lógicas. Elaboración propia.

Figura 6: Diagrama funcional de un demultiplexor.Basado en Tocci y cols. (2007)

¿Sabı́as qué...
los circuitos integrados que se utilizan como demultiplexores, normalmente tienen la capacidad de ser
usados también como decodificadores?

En la tabla 2 hay algunas referencias de demultiplexores comerciales, junto con sus respectivas descripciones. El
74HC138 es un demultiplexor con 1 entrada de 1 bit y 3 bits de selección, para 8 salidas (Figura 7(a)). El 74HC139
funciona como un demultiplexor doble, de 2 a 4 lı́neas (Figura 7(b)) y el 74HC154 cuenta con 4 bits de selección,
para 16 salidas (Figura 7(c)). En el caso de usar estos circuitos como demultiplexores, lo que se hace normalmente
es usar las entradas de selección A (Address), para determinar hacia qué salida se direccionan los datos, mientras
que los datos en sı́ se aplican a las entradas de habilitación (Enable), dejando una entrada para datos y las otras
en un nivel activo.

Tipo Descripción
74LS138 Decodificador/demultiplexor de 1 a 8 lı́neas,
74HC139 Doble decodificador/demultiplexor de 2 a 4 lı́neas.
74HC154 Decodificador/demultiplexor de 4 a 16 lı́neas.

Tabla 2: Referencias de demultiplexores comerciales. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 4
(a) Demultiplexor 74LS138 (b) Demultiplexor 74HC139 (c) Demultiplexor 74HC154

Figura 7: Diagramas funcionales de tres demultiplexores comerciales. Elaboración propia.

En este momento es necesario regresar al escenario. Ahı́ podrá encontrar una lectura que permitirá complemen-
tar lo visto hasta ahora con respecto a generación de funciones lógicas con multiplexores, utilizando también
decodificadores. Además, podrá realizar una actividad para verificar que lo visto hasta ahora esté claro.

3. Circuitos aritméticos

En esta sección se revisarán algunos circuitos combinacionales que permiten realizar operaciones aritméticas bi-
narias. Inicialmente se estudiará todo lo relacionado con los sumadores, luego se hará una explicación de cómo
se puede realizar una resta a partir de un circuito sumador y finalmente, una multiplicación binaria. La impor-
tancia de estas operaciones radica en que los sistemas digitales en algunas ocasiones deben realizarlas para el
procesamiento de datos numéricos.

3.1. Semisumador

Un Semisumador es un circuito combinacional que cuenta con dos bits de entrada (operandos) y dos bits de salida,
uno de suma y otro de acarreo. Se le llama semisumador, pues no tiene en cuenta si existe o no un bit
de acarreo para la entrada. Para poder comprender el circuito del semisumador, es necesario recordar cómo se
realiza la suma binaria. En la figura 8(a) se presenta su tabla de verdad.

La última columna de la tabla de verdad (Y ) muestra el resultado de la suma entre A y B, sin tener en cuenta el
acarreo. Es posible ver que este resultado es equivalente a una operación XOR entre A y B. La tercera columna
(Cout ) representa el acarreo como resultado de la suma, agregando o no un dı́gito a la siguiente potencia. Este
acarreo de salida corresponde a aplicar la operación AND entre A y B. De acuerdo a lo anterior, podrı́a decirse
entonces que:

Y =A⊕B y Cout = A B

POLITÉCNICO GRANCOLOMBIANO 5
A+B
A B Cout Y
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
(a) Tabla de verdad. (b) Circuito.

Figura 8: Semisumador. Basado en (Mano, 2014).

Dadas las expresiones para Y y Cout se obtiene la representación mediante circuitos combinacionales de lo que se
conoce como un semisumador (figura 8b).

3.2. Sumador completo

Un sumador completo es un circuito que, además de recibir en sus entradas los bits de los operandos A y B, tiene
un bit para el acarreo de entrada (Cin ), que normalmente proviene de otra suma para un dı́gito de menor valor.
Esto permite hacer, como su nombre lo indica, una suma completa entre dos dı́gitos de un bit. La tabla de verdad
para este circuito se encuentra en la figura 9a, para las salidas Y y Cout .

Mediante la simplificación de las tablas de verdad por medio de mapas de Karnaugh y álgebra booleana, es posible
obtener el circuito de la figura 9b. Este circuito consta de dos semisumadores que realizan las operaciones A + B y
(A ⊕ B) + Cin . El bit de acarreo del sumador completo resulta de aplicar la operación OR a los dos bits de acarreo
de salida de cada semisumador.
(A + B) + Cin )
A B Cin Cout Y
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
(a) Tabla de verdad. (b) Circuito.

Figura 9: Sumador completo. Basado en (Mano, 2014).

3.3. Sumador binario en paralelo

Utilizando n sumadores completos, es posible realizar la sumar de 2 números binarios de n bits. La suma se realiza
bit a bit, teniendo en cuenta los acarreos de entrada y de salida. Al igual que en la suma binaria vista en la unidad

POLITÉCNICO GRANCOLOMBIANO 6
1, si el resultado de la suma genera un acarreo de salida, el acarreo se ve representado en el siguiente dı́gito como
un acarreo de entrada.

En la figura 10a se presenta el circuito para un sumador de 4 bits. En esta imagen hay varios aspectos a tener en
cuenta. Note que cada caja representa un sumador completo, con sus entradas A y B; a la derecha el acarreo de
entrada Cin y a la izquierda el acarreo de salida Cout ; en la parte inferior se encuentra la salida Y . Con respecto a
los acarreos, Para el bit menos significativo no hay acarreo de entrada (C0 se pone en un nivel BAJO). La salida
está conformada por los 4 bits resultantes de cada suma individual. El bit más significativo de la salida corresponde
al última acarreo de salida (C4 ).

Con el fin de comprender mejor el funcionamiento del circuito, la figura 10b muestra el ejemplo de la suma de los
números A = 1101 y B = 1001, cuyo resultado es 10110.

Y = (A + B)
Sumador 3 2 1 0
Cin 0 0 1 0
A 1 1 0 1
B 1 0 0 1
Y 0 1 1 0
Cout 1 0 0 1
(a) Sumador de 4 bits. Basado en (Mano, 2014). (b) Suma binaria.

Figura 10: Sumador completo. Basado en (Mano, 2014).

Esta forma de conectar los acarreos entre sumadores se conoce como acarreo en serie. Dado que el acarreo se debe
propagar etapa por etapa, se presenta un retardo debido a los tiempos de propagación de la señal de acarreo. Existe
otro método llamado acarreo anticipado, que permite disminuir estos retardos. El método consiste en determinar
mediante lógica combinacional, según el valor de las entradas y del acarreo de entrada, si el sumador va a generar
un acarreo de salida.

En la tabla 3 se presentan dos referencias de sumadores comerciales. Las dos referencias son básicamente iguales,
sin embargo, el 74LS283 es más utilizado debido a que los pines de conexión están ubicados de una manera estándar
(Tierra en pin 8, VCC en pin 16).

Tipo Descripción
74LS83 Sumador paralelo de 4 bits.
74LS283 Sumador paralelo de 4 bits.

Tabla 3: Referencias de sumadores. Elaboración propia.

3.4. Restadores

No existe como tal un circuito integrado que realice la operación de resta. El procedimiento consiste entonces en
utilizar un sumador como restador. Para esto, el sustraendo se debe representar con su complemento a dos.

POLITÉCNICO GRANCOLOMBIANO 7
Cabe recordar que ”el complemento a dos se obtiene calculando el complemento a uno y sumando 1 al bit menos
significativo´´ (Mano, 2014, p.126). Este método permite representar números con signo, de la siguiente manera
(Tocci y cols., 2007, p.300):

• Cuando el número es positivo, se utiliza en el bit más significativo un ’0´ como signo. El resto de los bits
representan el valor real en binario del número. Ası́, el número 9010 (90 en base 10) se representarı́a como
01011010.

• Cuando el número es negativo, en el bit más significativo se pone un ’1´ para representar el signo. El resto
de los bits representan el valor, en complemento a 2, del número en binario. Ahora, el número −9010 se
representarı́a como 10100101.

En la figura 11a se muestra una resta utilizando el complemento a 2. Para implementarla en un circuito (figura 11b),
es necesario complementar a uno el sustraendo (En este caso, invertir B) y sumarle 1 (este paso implica agregar
un acarreo de entrada para convertir dicho número en complemento a 2). El resultado obtenido corresponde a la
resta entre A y B.

Real Binario
A 10 01010
B 6 00110
B+1 -6 11010
A−B 4 00100
A+B+1 4 00100
(a) Resta binaria. (b) Restador de 4 bits, con bit de signo.

Figura 11: Sumador completo. Elaboración propia.

Para el circuito restador mostrado, si A es mayor que B, el resultado será un número positivo (como en el ejemplo).
Si B es mayor que A, el resultado será el bit de signo en 1 y el complemento a 2 del resultado.

3.5. Multiplicadores binarios

De la misma manera que con los restadores, no existe un circuito integrado comercial para la multiplicación, por
lo tanto se debe realizar esta operación utilizando lógica combinacional. Recordando lo visto en la Unidad 1, la
multiplicación de dos números binarios A y B será:

A1 A0
x B1 B0
B 0 ∗ A1 B0 ∗ A0
B 1 ∗ A1 B 1 ∗ A0
Y = B 1 ∗ A1 B0 ∗ A1 + B1 ∗ A0 B0 ∗ A0

POLITÉCNICO GRANCOLOMBIANO 8
Cada uno de los términos del resultado tienen una posición especı́fica en la salida (Y), ası́ Y0 = B0 ∗ A0 , Y1 =
B0 ∗ A1 + B1 ∗ A0 , Y2 = B1 ∗ A1 y el acarreo final de esta suma serı́a el término restante Y3 de ser necesario.
Recuerde que la multiplicación binaria de 1 bit corresponde a la operación AND. Este procedimiento es similar para
multiplicadores de más bits. En la figura 12 se encuentra el circuito combinacional resultante, para la multiplicación
binaria de 2 bits. Este circuito está montado utilizando semisumadores, razón por la cual no se utiliza el acarreo de
entrada. Nótese que se el máximo valor posible de la multiplicación entre 2 números de 2 bits es el 910 , resultado
de multiplicar 310 ∗ 310 (112 ∗ 112 en base binaria). Este valor es el que se muestra en el circuito de la figura.

Figura 12: Multiplicador de 2 bits. Basado en (Mano, 2014)

4. Comparadores de magnitud

Este tipo de circuitos compara dos números binarios (A y B) de n bits en sus entradas. Hay 3 posibilidades: A
y B son iguales (A = B), A es mayor que B (A > B) o A es menor que B (A < B). Para evaluar la igualdad,
recuerde que una compuerta XOR indica si sus dos entradas son diferentes o no. Al negar este resultado se puede
verificar la igualdad entre sus entradas (figura 13a). Esto se puede evaluar bit a bit y pasarlo por una compuerta
AND para verificar que en todos se cumpla la condición.

Con respecto a si un número es mayor que otro, se realiza la evaluación desde el bit superior (n), si An = 1 y
Bn = 0 entonces A > B (figura 13b). De lo contrario, si An = 0 y Bn = 1 entonces A < B (figura 13c). Si ambos
bits son iguales, se procede a revisar el bit inmediatamente inferior (n − 1).

El circuito integrado 74HC85 es un comparador de 4 bits, se puede ver su estructura general en la figura 14a.
El comparador cuenta con 2 entradas de 4 bits y las 3 salidas mencionadas: A = B, A > B y A < B. Además,
cuenta con 3 entradas de cascada, que permiten su funcionamiento para comparación de números con más de 4
bits. Las salidas del comparador se conectan a las entradas de cascada de otro comparador (Que podrı́a estar
comparando los bits A7 A6 A5 A4 con B7 B6 B5 B4 , si A y B son de 8 bits en total). Note que el comparador de bits
menos significativos tiene sus entradas en cascada A > B y A < B conectadas a tierra, mientras que A = B está
conectada a un nivel ALTO.

En este momento lo invito a volver al escenario, donde encontrará una actividad que le permitirá poner a prueba

POLITÉCNICO GRANCOLOMBIANO 9
(a) A = B (b) A > B (c) A < B

Figura 13: Circuito comparador de 1 bit. Elaboración propia.

(a) 74HC85 - Comparador de 4 bits. (b) Comparador de 8 bits.

Figura 14: Comparador 74HC85. Basado en (Tocci y cols., 2007)

los conceptos vistos hasta ahora en cuento a circuitos aritméticos y comparadores.

5. Generadores y comprobadores de paridad

Al realizar comunicación entre dos dispositivos, es posible que se generen errores en la transmisión, modificando el
mensaje original. Esto puede generar errores o problemas mayores en el destinatario del mensaje. Por esta razón,
es necesario aplicar métodos que permitan la detección de errores en los mensajes recibidos. Uno de estos métodos
consiste en agregar un bit de paridad al mensaje. Este bit puede indicar dos cosas:

• Paridad par: Hace que el total de unos en el mensaje sea par.

• Paridad impar: Hace que el total de unos en el mensaje sea impar.

Por ejemplo, si el mensaje a enviar es: 0010 000, y el envı́o tiene paridad par, se agrega un 1 al inicio: 1001 0000.
Si por el contrario, la paridad es impar, se agrega un 0 al inicio: 0001 0000. El receptor del mensaje deberá saber
con qué tipo de paridad fue enviado, para ası́ entrar a verificar el número de unos. De esta forma, será posible
detectar si hay alguna inconsistencia.

El circuito integrado 74LS280 permite la generación/comprobación de paridad de un número binario hasta 9 bits.
A continuación, se presentan dos circuitos combinacionales que permiten comprender el funcionamiento de este

POLITÉCNICO GRANCOLOMBIANO 10
integrado. El primer circuito permite la generación del bit de paridad; el segundo, la detección o comprobación
del mismo.

5.1. Generadores

Un circuito generador de paridad hace uso de compuertas XOR para realizar la suma (sin acarreo) de los bits en
el mensaje. Cuando el número de unos es par (1 + 1 = 0), el resultado es cero. Cuando el número de unos es impar
(1 + 0 = 1), el resultado será un uno. El circuito generador de paridad par, para un mensaje de 4 bits, se puede
ver en la figura 15. Para un generador de paridad impar sólo se deberá invertir el resultado en el bit de paridad.

(a) Salida sin bit de paridad. (b) Salida con bit de paridad.

Figura 15: Generador de paridad. Basado en (Tocci y cols., 2007)

5.2. Comprobadores

Un circuito comprobador de paridad verifica que el mensaje tenga la cantidad de unos adecuados. Se utiliza el
mismo principio de la suma de unos que en el generador. Si el número de unos en el mensaje es par, el resultado
es cero; si es impar, el resultado es uno. En la figura 16 se presentan dos casos para el comprobador, enviando el
mensaje 00101 que tiene paridad par. Si el bit de paridad es correcto, el circuito entrega como salida un cero, que
indica que no hay error (figura 16a). Por el contrario, cuando el mensaje recibido es 10101, la cantidad de unos es
impar y el circuito entrega en su salida un uno, indicando error (figura 16b)

(a) Mensaje correcto. (b) Mensaje incorrecto.

Figura 16: Comprobador de paridad. Basado en (Tocci y cols., 2007)

POLITÉCNICO GRANCOLOMBIANO 11
Índice de figuras

1 Diagrama funcional de un multiplexor. Basado en Tocci y cols. (2007) . . . . . . . . . . . . . . . .

2 Funcionamiento de un Multiplexor de 4 entradas. Elaboración propia. . . . . . . . . . . . . . . . .

3 Diagramas funcionales de dos multiplexores digitales. Elaboración propia. . . . . . . . . . . . . . .

4 Enrutamiento de datos - Displays de 7 segmentos. Basado en Floyd (2010). . . . . . . . . . . . . .

5 Generación de funciones lógicas. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Diagrama funcional de un demultiplexor.Basado en Tocci y cols. (2007) . . . . . . . . . . . . . . .

7 Diagramas funcionales de tres demultiplexores comerciales. Elaboración propia. . . . . . . . . . . .

8 Semisumador. Basado en (Mano, 2014). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 Sumador completo. Basado en (Mano, 2014). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10 Sumador completo. Basado en (Mano, 2014). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 Sumador completo. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12 Multiplicador de 2 bits. Basado en (Mano, 2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 Circuito comparador de 1 bit. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . .

14 Comparador 74HC85. Basado en (Tocci y cols., 2007) . . . . . . . . . . . . . . . . . . . . . . . . .

15 Generador de paridad. Basado en (Tocci y cols., 2007) . . . . . . . . . . . . . . . . . . . . . . . . .

16 Comprobador de paridad. Basado en (Tocci y cols., 2007) . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 12
Índice de tablas

1 Referencias de multiplexores comerciales. Elaboración propia. . . . . . . . . . . . . . . . . . . . . .

2 Referencias de demultiplexores comerciales. Elaboración propia. . . . . . . . . . . . . . . . . . . . .

3 Referencias de sumadores. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 13
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Mano, M. M. (2014). Diseño digital: con una introducción a Verilog HDL. Naucalpan de Juárez, México: Pearson
Educación. (OCLC: 881629816)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)

POLITÉCNICO GRANCOLOMBIANO 14
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 2: Circuitos combinacionales
Escenario 4: Circuitos lógicos combinacionales I

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 15
Unidad 3 / Escenario 6
Lectura Fundamental

Aplicaciones de la lógica secuencial

Contenido

1 Contadores

2 Registros de desplazamiento

Referencias

Palabras clave: Lógica Secuencial, Contadores, Registros


1. Contadores

Los contadores hacen uso de una aplicación importante de los circuitos con Flip-Flops conectados en serie: “la
división de frecuencia”. Cuando se conecta un grupo de Flip-Flops en modo basculante (entradas J y K en ALTO)
como en la figura 1 y se aplica un pulso de reloj al Flip-Flop FF0 y su salida Q0 se conecta a la entrada de reloj
del Flip-Flop FF1, es posible ver en la figura 2 que la salida Q1 se activa a la mitad de la frecuencia del reloj.
En las conexiones sucesivas, para FF2 y FF3 sucede el mismo fenómeno, de tal forma que la salida Q3 tiene una
frecuencia de fCLK /16.

Figura 1: Flip-Flops conectados en serie. Elaboración propia.

Figura 2: Diagrama de tiempos del circuito divisor de frecuencia. Elaboración propia.

Ahora, si se analiza el conjunto de las salidas Q3, Q2, Q1 y Q0, es posible ver que siguen la misma secuencia de
conteo de los números binarios. La figura 2 se modificó para reflejar esta situación (figura 3).

Figura 3: Conteo binario usando las salidas de los Flip-Flops. Elaboración propia.

Existen diferentes 2 tipos principales de contadores: ası́ncronos y sı́ncronos. Estos tipos se explican a continuación.

POLITÉCNICO GRANCOLOMBIANO 1
1.1. Contadores ası́ncronos

El contador presentado anteriormente se conoce como contador de rizo y es el tipo más sencillo de contador
ası́ncrono. El término ası́ncrono se debe a que los cambios de estados no suceden “en sincronı́a” con el pulso de
reloj (Tocci, Widmer, y Moss, 2007, p.363). La razón para esto está en los tiempos de propagación de la señal
de reloj hacia los diferentes Flip-Flops, que generan un retardo pequeño. Por ejemplo, si un Flip-Flop tiene un
tiempo de retardo, desde que llega el pulso de reloj, hasta que se genera un cambio en su salida, de 10µs, luego de
4 Flip-Flops, la salida Q3 cambiará 40µs más tarde que el flanco de bajada del pulso de reloj. Esta es una de las
desventajas importantes de los contadores de rizo.

Otra caracterı́stica importante de los contadores es el módulo o cantidad de cuentas posibles, antes de regresar
al estado inicial. El módulo también está relacionado con la frecuencia de activación del contador, es decir, para
una señal de reloj con frecuencia f , un conteo completo se realizará con una frecuencia de f /M OD, siendo MOD
el módulo del contador.

1.1.1. Contador ası́ncrono de 2 bits

En la figura 4a se presenta otra forma de conectar los Flip-Flops para obtener un contador ası́ncrono ascendente.
En este caso, se trata de un contador de 2 bits, o de módulo 4. Fı́jese que ahora los Flip-Flops son de activación
por flanco ascendente. Además, no se hace uso de la salida Q, sino de Q. Este cambio se puede comprender en el
diagrama de tiempos, que muestra cómo los flancos de subida del reloj concuerdan con los de las salidas Q0 y Q1.

Q1 Q0
0 0
0 1
1 0
1 1
0 0
(a) Circuito (b) Diagrama de tiempos (c) Sucesión de conteo

Figura 4: Contador ası́ncrono de 2 bits. Elaboración propia.

1.1.2. Contador ası́ncrono de 3 bits

En la figura 5 se presenta el diagrama y tabla de secuencia de un contador ası́ncrono de 3 bits. Además, se trata
de un contador de módulo 8. De manera general, siendo N la cantidad de Flip-Flops de un contador, el módulo
máximo que puede tener es M OD = 2N (Tocci y cols., 2007, p.364).

POLITÉCNICO GRANCOLOMBIANO 2
Q2 Q1 Q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 0
(a) Circuito (b) Sucesión de conteo

Figura 5: Contador ası́ncrono de 3 bits. Elaboración propia.

1.1.3. Contador ası́ncrono con secuencia truncada

En ocasiones no es necesario realizar la cantidad máxima de cuentas posibles para un contador. Por ejemplo, si se
quiere visualizar en un reloj digital los números del 0 al 5, serı́a necesario reiniciar el contador después de realizar
6 cuentas.

Generalmente, un Flip-Flop cuenta con dos entradas ası́ncronas: una entrada de establecimiento (SET, para ponerlo
en un nivel ALTO) y una de reseteo (llamada CLR o CLEAR, para ponerlo en un nivel BAJO), que no dependen
del pulso de reloj. La entrada CLR se puede aprovechar para reiniciar el conteo.

La forma como se usa esta entrada es analizando en qué valor se debe truncar la cuenta y decodificando dicho
valor mediante una compuerta AND. En el ejemplo del reloj, el valor a utilizar es el número 6 (110), de tal forma
que cuando se detecte ese valor se envı́e la señal de CLR a los Flip-Flops. Esto sucederá por un tiempo muy corto,
pues en el momento en el que los Flip-Flops se ponen en CLEAR, la condición de que activó la AND deja de
existir.

En la figura 6a se presenta el circuito mencionado. En este caso no fue necesario tener en cuenta el 0 del bit menos
significativo para las entradas de la AND, pues un nivel ALTO en Q2 y Q1 es suficiente para determinar que el
conteo debe reiniciar (esta condición nunca sucede previamente). La tabla de sucesión de estados muestra cómo
después de llegar a 5, el siguiente valor posible del contador es 0.

Q2 Q1 Q0
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
0 0 0
(a) Circuito (b) Sucesión de conteo

Figura 6: Contador de módulo 6 (MOD6). Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 3
Sabı́as que...
Aunque el valor que resetea un contador ası́ncrono con secuencia truncada no se presenta en la salida
sino por un periodo corto de tiempo, este periodo puede ser suficiente para generar errores en otros circuitos
de mayor velocidad a los del contador. Esta, junto con los tiempos de retardo en la propagación del reloj,
forman dos desventajas importantes al momento de implementar un contador ası́ncrono.

1.1.4. Contador BCD de rizo

El diseño de un contador BCD ası́ncrono sigue los mismos lineamientos del contador de secuencia truncada. En
este caso, el valor a decodificar es el 10 (1010), para lo cual basta con detectar un nivel ALTO en las salidas Q3 y
Q1. El circuito de contador BCD de rizo y la tabla de secuencias se encuentran en la figura 7.

Q3 Q2 Q1 Q0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
0 0 0 0
(a) Circuito (b) Sucesión de conteo

Figura 7: Contador de BCD de rizo (MOD10). Elaboración propia.

1.2. Contadores sı́ncronos

A diferencia de los contadores ası́ncronos, “un contador sı́ncrono es aquel en el que todos los Flip-Flops del contador
reciben en el mismo instante la señal de reloj” (Floyd, 2010, p.487). De esta manera se evita el inconveniente de
los tiempos de propagación: todos los Flip-Flops reciben el pulso de reloj en un mismo momento. Los contadores
sı́ncronos también se conocen como contadores en paralelo.

En la figura 8 se encuentra un contador sı́ncrono de 2 bits. Las entradas J y K de FF0 siguen estando conectadas
a ALTO para que basculen con cada pulso de reloj. La salida Q0 se conecta a las entradas J y K del FF1, de tal
forma que cuando Q0 está en ALTO, Q1 va a bascular en el siguiente pulso de reloj.

Para secuencias de conteo mayores, es necesario encontrar las condiciones para las cuales los Flip-Flops superiores
deben cambiar su estado. En la figura 9 se muestra el circuito correspondiente. Note que la condición es Q1 Q0 ,
equivalente al máximo número que pueden contar los dos bits previos. Un contador de 4 bits utiliza el contador
de 3 bits mostrado y en la entrada del FF4 toma la condición Q2 Q1 Q0 para bascular.

POLITÉCNICO GRANCOLOMBIANO 4
Figura 8: Contador sı́ncrono de 2 bits. Basado en (Floyd, 2010).

Figura 9: Contador sı́ncrono de 3 bits. Basado en (Floyd, 2010).

En la tabla 1 se encuentran algunas referencias de contadores sı́ncronos y ası́ncronos comúnes. El diseño de


contadores sı́ncronos se revisará nuevamente en el escenario 8. En este momento lo invito a regresar al escenario
para revisar el diseño de contadores modulares y hacer algunos ejercicios de refuerzo de la temática vista hasta el
momento.

Tipo Descripción
74LS93 Contador binario ası́ncrono de 4 bits.
74HC162 Contador de décadas BCD sı́ncrono
74HC163 Contador binario sı́ncrono de 4 bits
74HC190 Contador de décadas ascendente/descedente

Tabla 1: Algunas referencias de contadores. Elaboración propia.

2. Registros de desplazamiento

Un registro consiste en un grupo de Flip-Flops interconectados, que pueden o no tener elementos de lógica com-
binacional para realizar transiciones o paso de información entre ellos. Debido a la capacidad que se tiene para
mover datos, se les conoce también como registros de desplazamiento. Según Mano (2014): “Un registro de n bits
consiste en un grupo de n Flip-Flops capaces de almacenar n bits de información binaria” (p.217).

De acuerdo a la manera como se realiza el desplazamiento de la información y según sea la disposición de entradas

POLITÉCNICO GRANCOLOMBIANO 5
y salidas del registro, un registro de desplazamiento puede ser:

• Con entrada y salida en serie.

• Con entrada en serie y salida en paralelo.

• Con entrada en paralelo y salida en serie.

• Con entrada y salida en paralelo.

• Anulares o con rotación.

2.1. Entrada y salida en serie

Se trata del registro más sencillo, cuenta únicamente con una entrada y una salida. La información se va desplazando
por el conjunto de Flip-Flops de manera interna, hasta llegar a la salida. En la figura 10 se presenta un circuito
formado por dos Flip-Flops tipo D, con activación por flanco positivo. Un ejemplo de funcionamiento puede ser el
siguiente:

1. El registro se encuentra inicialmente sin datos en los Flip-Flops.

2. La señal de datos D se pone en ALTO. En el siguiente flanco positivo, el estado de FF0 se pone en SET
debido a esta entrada.

3. La señal de datos D pasa a BAJO. En el siguiente flanco positivo, FF0 se pone en RESET y el dato que
estaba en FF0 pasa a FF1 (Se pone en SET).

4. La señal de datos D se mantiene en BAJO. En el siguiente flanco positivo, FF0 se mantiene en RESET y
FF1 pasa a RESET.

Figura 10: Registro con entrada y salida en serie. Elaboración propia.

El análisis realizado se ve reflejado en el diagrama de tiempos de la figura 11. Tenga en cuenta que en este tipo
de registros no hay acceso a la información de los Flip-Flops intermedios, solo a lo que hay en la salida. En ese
sentido, se trata de una estructura FIFO (First In First Out, el primero que entra es el primero en salir). Note
además que la señal de entrada aparece reflejada en la salida dos pulsos de reloj después (este tiempo está dado
por los dos Flip-Flops que tiene que atravesar para llegar a la salida).

En los diagramas de tiempos es importante tener en cuenta la información que hay en los registros en el momento
exacto del flanco de activación (positivo o negativo). Esto se puede ver en el tiempo 1, cuando el flanco es de
subida, aparentemente D está en ALTO, pero realmente esto sucede un tiempo después.

POLITÉCNICO GRANCOLOMBIANO 6
Figura 11: Diagrama de tiempos de un registro con entrada y salida en serie de 2 bits. Elaboración propia.

2.2. Entrada en serie y salida en paralelo

En este tipo de registros, existe una entrada de datos y n salidas (según la cantidad de Flip-Flops). En este
caso, por cada pulso de reloj la información que se encuentra en la entrada de datos D se va propagando a FF0,
luego a FF1 y ası́ sucesivamente. La diferencia con el anterior tipo de registro está en que los datos se encuentran
disponibles en paralelo. En la figura 12 se encuentra un circuito de este tipo y en la figura 13 su diagrama de
tiempos.

Figura 12: Registro con entrada en serie y salida en paralelo. Elaboración propia.

Figura 13: Diagrama de tiempos de un registro con entrada en serie y salida en paralelo. Elaboración propia.

2.3. Entrada en paralelo y salida en serie

Este tipo de registro cuenta con una entrada de carga LOAD, con nivel activo bajo para cargar datos en el registro
de forma paralela. Si la entrada se pone en ALTO se toma como una señal de habilitación SHIFT, que permite
desplazar los datos y en el registro. Un registro de este tipo, de 4 bits, se encuentra en la figura 14.

POLITÉCNICO GRANCOLOMBIANO 7
Figura 14: Registro con entrada en paralelo y salida en serie. Elaboración propia.

En la figura 15 se presenta un diagrama de tiempos de ejemplo. En este diagrama se puede ver cómo en la primera
parte la señal de control está activa en LOAD (Nivel BAJO en la entrada). En ese momento, la salida Q solo
puede tomar el valor cargado en FF3. Posteriormente, la señal pasa a nivel ALTO, activando el modo SHIFT, que
desplaza la información almacenada en el registro (FF3:1, FF2:0, FF1:1 y FF0:0). Este desplazamiento se realiza
durante 4 pulsos de reloj. Tenga en cuenta que la entrada del Flip-Flop FF0 está en 0, por lo tanto el registro
se va borrando (se pone en nivel BAJO) a medida que pasan los pulsos de reloj. En el flanco de subida 6, el
registro vuelve a cargar información de sus entradas (FF3:0, FF2:0, FF1:1 y FF0:1) y empieza a desplazarse para
los flancos siguientes.

Figura 15: Diagrama de tiempos de un registro con entrada en paralelo y salida en serie. Elaboración propia.

2.3.1. Entrada y salida en paralelo

El registro de entrada y salida en paralelo cuenta con n entradas y n salidas, según la cantidad de Flip-Flops que
lo conformen. Básicamente este registro presenta en sus salidas lo que esté en las entradas, de acuerdo al pulso
de reloj. En la figura 16 se muestra el circuito correspondiente y en la figura 17 se encuentra un ejemplo con su
diagrama de tiempos.

POLITÉCNICO GRANCOLOMBIANO 8
Figura 16: Registro con entrada y salida en paralelo. Elaboración propia.

Figura 17: Diagrama de tiempos de un registro con entrada en paralelo y salida en serie. Elaboración propia.

2.3.2. Anulares o con rotación

En este tipo de registros existe una realimentación de la salida en la entrada. El desplazamiento puede ser en un
sentido o en el otro, dependiendo de la construcción del registro. La única diferencia con un registro de entrada
serie y salida serie con uno anular, es la realimentación de la salida. La rotación puede hacerse también de manera
bidireccional.

2.4. Aplicaciones de los registros

Los registros tienen diversas aplicaciones en los circuitos digitales. Una de ellas es la conversión de datos seriales
a paralelos y viceversa. También son útiles para generar retardos de tiempo (usando registros de entrada y salida
serial, como se mostró en su momento). Finalmente, es posible hacer contadores utilizando registros anulares o de
rotación.

Para finalizar, en la tabla 2 se presentan a continuación algunas referencias de circuitos integrados aplicables a los
registros.

Lo invito a regresar nuevamente a la lectura para verificar sus conocimiento sobre los registros, diagramas de
tiempos y su funcionamiento. Encontrará además algunas lecturas sobre memoria ROM y RAM, que complementan

POLITÉCNICO GRANCOLOMBIANO 9
Tipo Descripción
74HC164 Registro de desplazamiento de 8 bits, con entrada serie y salida paralelo.
74HC165 Registro de desplazamiento de 8 bits, con entrada paralelo/serie y salida serie.
74HC194 Registro de desplazamiento de 4 bits, universal bidireccional.
74HC195 Registro de desplazamiento de 4 bits, con entrada y salida en paralelo.

Tabla 2: Algunas referencias de registros. Elaboración propia.

lo visto con respecto a los registros.

POLITÉCNICO GRANCOLOMBIANO 10
Índice de figuras

1 Flip-Flops conectados en serie. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Diagrama de tiempos del circuito divisor de frecuencia. Elaboración propia. . . . . . . . . . . . . .

3 Conteo binario usando las salidas de los Flip-Flops. Elaboración propia. . . . . . . . . . . . . . . .

4 Contador ası́ncrono de 2 bits. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Contador ası́ncrono de 3 bits. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Contador de módulo 6 (MOD6). Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Contador de BCD de rizo (MOD10). Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . .

8 Contador sı́ncrono de 2 bits. Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . . . . . .

9 Contador sı́ncrono de 3 bits. Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . . . . . .

10 Registro con entrada y salida en serie. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . .

11 Diagrama de tiempos de un registro con entrada y salida en serie de 2 bits. Elaboración propia. . .

12 Registro con entrada en serie y salida en paralelo. Elaboración propia. . . . . . . . . . . . . . . . .

13 Diagrama de tiempos de un registro con entrada en serie y salida en paralelo. Elaboración propia. .

14 Registro con entrada en paralelo y salida en serie. Elaboración propia. . . . . . . . . . . . . . . . .

15 Diagrama de tiempos de un registro con entrada en paralelo y salida en serie. Elaboración propia. .

16 Registro con entrada y salida en paralelo. Elaboración propia. . . . . . . . . . . . . . . . . . . . . .

17 Diagrama de tiempos de un registro con entrada en paralelo y salida en serie. Elaboración propia. .

POLITÉCNICO GRANCOLOMBIANO 11
Índice de tablas

1 Algunas referencias de contadores. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

2 Algunas referencias de registros. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 12
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Mano, M. M. (2014). Diseño digital: con una introducción a Verilog HDL. Naucalpan de Juárez, México: Pearson
Educación. (OCLC: 881629816)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)

POLITÉCNICO GRANCOLOMBIANO 13
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 3: Diseño con lógica secuencial
Escenario 6: Aplicaciones de la lógica secuencial

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 14
Unidad 3 / Escenario 5
Lectura Fundamental

Introducción a los circuitos


secuenciales

Contenido

1 Introducción a la lógica secuencial

2 Multivibradores Biestables (Flip-Flops)

3 Multivibradores Monoestables y Aestables

Referencias

Palabras clave: Circuitos secuenciales, Flip-flop, Latches, Multivibradores


1. Introducción a la lógica secuencial

Por lo general, los sistemas digitales cuentan con dos grupos de componentes: circuitos de lógica combinacional
y circuitos de lógica secuencial (figura 1). Los primeros se encargan de las diferentes tareas vistas en la unidad
pasada: selección, decodificación, conversión entre códigos, entre muchas otras. Como ya se ha dicho, estos circuitos
toman lo que hay en sus entradas, lo operan y generan una salida.

Los circuitos de lógica secuencial, por otro lado, tienen capacidad de almacenamiento de información. Es decir,
pueden guardar datos binarios, que indican el estado interno del circuito. De esta manera, la salida de un circuito
secuencial no sólo depende de lo que hay en sus entradas, sino que es afectada por dicho estado. En otras palabras
“un circuito secuencial se especifica como una sucesión temporal de entradas, salidas y estados internos” (Mano,
2014, p.168). La información almacenada puede estar ahı́ por tiempo indefinido

Los circuitos secuenciales pueden ser de tipo sincrónico (dependen de una señal de reloj) o asincrónico (el cambio
de estado sucede tan pronto como se hace el cambio en las entradas).

Figura 1: Sistemas digitales generales. Basado en (Tocci y cols., 2007).

En los circuitos secuenciales de tipo sincrónico, una de las variables importantes a tener en cuenta es la señal
de reloj, la cual indica al elemento de memoria que evalúe las señales en sus entradas, para modificar o no su
estado. Una señal de reloj es una señal digital que tiene una frecuencia especificada. Esta señal de reloj tiene dos
caracterı́sticas importantes que pueden ser medidas: el nivel lógico en un tiempo dado y la transición entre niveles
(flancos). En la figura 2 se pueden ver las caracterı́sticas mencionadas.

Figura 2: Señal de reloj. Elaboración propia.

Existen circuitos osciladores de gran utilidad, llamados multivibradores, que tienen la capacidad de generar ondas

POLITÉCNICO GRANCOLOMBIANO 1
cuadradas. Esta caracterı́stica permite la generación de pulsos de reloj, pero también el almacenamiento de energı́a.
Los multivibradores pueden ser:

• Biestables: que tienen dos estados posibles (BAJO y ALTO). Dada una señal de excitación en sus entradas
pueden cambiar de estado y una vez cambian, son capaces de mantenerse en él (siempre y cuando haya
alimentación en el circuito).

• Monoestables: son circuitos que, dada una excitación en sus entradas, generan un pulso de onda cuadrada
de ancho fijo, dado por las condiciones del circuito. Al finalizar el pulso, regresan a un estado estable.

• Aestables: son circuitos oscilatorios que nunca se mantienen en un estado fijo.

Para el caso del almacenamiento de información, los circuitos más adecuados son los biestables, los cuales pueden
dividirse en dos tipos: latches y Flip-Flops. Estos circuitos se estudiarán a continuación.

2. Multivibradores Biestables (Flip-Flops)

El almacenamiento de información en un circuito secuencial suele hacerse mediante un elemento llamado Flip-
Flop (FF). Este elemento biestable está formado por compuertas lógicas, con una realimentación cruzada de las
señales de salida hacia sus entradas, lo cual hace que el circuito se mantenga o no en un estado determinado.

Normalmente un Flip-Flop cuenta con dos salidas: Q y Q (Que es el valor de Q negado). Se dice que el Flip-Flop
está en estado SET, cuando Q = 1 y Q = 0. Por otro lado, se dice que el Flip-Flop está en estado CLEAR o
RESET, cuando Q = 0 y Q = 1.

2.1. Latches (Cerrojos)

Un latch es un tipo de Flip-Flop, que tiene en cuenta el nivel de las señales de entrada para cambiar de estado. El
nivel de activación puede ser BAJO o ALTO, dependiendo del tipo de compuertas utilizadas en su construcción.

2.1.1. Latch SET-RESET

El latch SET-RESET (también conocido como latch S-R), cuenta con dos entradas, una de establecimiento (S,
por SET) y otra de restablecimiento (R, por RESET) (Mano, 2014, p.169). Los dos tipos de circuitos se pueden
ver en la figura 3. El primero de ellos tiene el nivel de activación en ALTO y está construido con compuertas NOR
(figura 3a). El otro circuito tiene su nivel de activación en BAJO, está construido con compuertas NAND y se
conoce como latch S-R.

En la figura 4 se muestra el funcionamiento del latch S-R, el cuál se describe a continuación:

POLITÉCNICO GRANCOLOMBIANO 2
(a) Latch S-R (b) Latch S-R

Figura 3: Dos tipos de latches (Cerrojos). Basado en (Floyd, 2010).

1. El latch inicia en un estado RESET o de restablecimiento. Esto se evidencia en el estado de sus salidas Q = 0
y Q = 1. El latch se mantiene en este estado debido a que la entrada S se encuentra en un nivel ALTO y la
realimentación de la salida Q está también en ALTO (figura 4a).

2. El latch cambia a estado SET o de establecimiento. Esto sucede cuando la entrada S pasa a BAJO (recuerde
que este latch funciona con nivel de activación en bajo). Cuando esto pasa, la compuerta NAND superior
deja de tener una de sus entradas en ALTO, y por lo tanto la salida Q se fuerza a estar en ALTO. Esta
salida en ALTO, realimentada en la NAND inferior, hace que esta NAND genere una salida Q en BAJO. A
su vez, esta salida se ve reflejada en la entrada realimentada en la compuerta NAND superior (figura 4b).

3. El latch se mantiene en estado SET. Esto gracias a que la realimentación de Q se mantiene en ALTO y la
de Q en BAJO (figura 4c).

4. El latch cambia a estado RESET. Debido a que la entrada R pasa a BAJO. Cuando esto sucede, la compuerta
NAND inferior deja de tener una de sus entradas en ALTO, y por lo tanto la salida Q se fuerza a estar en
ALTO. Esta salida en ALTO, realimentada en la NAND superior, hace que esta NAND genere una salida Q
en BAJO. A su vez, esta salida se ve reflejada en la entrada realimentada en la compuerta NAND inferior
(figura 4d).

Es importante tener en cuenta que en el latch S-R el estado S = 0 y R = 0 no es válido, pues genera estados
de salida indeterminados (ambas salidas en nivel ALTO), lo cual es una desventaja para el uso de estos circuitos.
En el latch S-R el estado no válido es cuando las entradas S = 1 y R = 1. El funcionamiento de estos circuitos
está resumido en la tabla 1. El latch S-R tiene un cambio de estados similar a lo explicado previamente, pero con
niveles de activación en ALTO.

S R SALIDA S R SALIDA
0 0 No hay cambio 0 0 Condición inválida
0 1 Estado RESET: Q = 0 y Q = 1 0 1 Estado SET: Q = 1 y Q = 0
1 0 Estado SET: Q = 1 y Q = 0 1 0 Estado RESET: Q = 0 y Q = 1
1 1 Condición inválida 1 1 No hay cambio
(a) Latch S-R, activación en ALTO. (b) Latch S R, activación en BAJO.

Tabla 1: Resumen de funcionamiento de los latches S-R y S-R. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 3
(a) Estado inicial RESET - S = 1 y R = 1 (b) Cambio a estado SET - S = 0 y R = 1

(c) Mantiene el estado SET - S = 1 y R = 1 (d) Cambio a estado RESET - S = 1 y R = 0

Figura 4: Funcionamiento del latch S-R. Elaboración propia.

Las señales que reciben en sus entradas los circuitos secuenciales normalmente no son estáticas, y varı́an en el
tiempo. Por esta razón, es importante comparar, para cada uno de los tiempos de una señal de entrada, cómo se
comporta el latch. Esto se hace ubicando las señales, una debajo de la otra, y verificando en los cambios de nivel.
La figura 5 muestra un ejemplo de esto. La gráfica corresponde a un latch S-R, por lo tanto se deberá evaluar con
respecto a la tabla 1a.

Figura 5: Diagrama de tiempos de un latch S-R. Elaboración propia.

El análisis que se puede hacer es:

• En t0 , el problema deberı́a dar el valor de Q inicial en esta posición. Para la gráfica, se asumió que Q = 1.

• Entre t0 y t1 , las dos entradas están en BAJO, por lo tanto la salida se mantiene en el valor que tenı́a en t0 .

• Entre t1 y t2 , las dos entradas están en ALTO, y se genera un nivel inválido o ambiguo. No es posible saber
en qué nivel está el latch para ese periodo.

POLITÉCNICO GRANCOLOMBIANO 4
• Entre t2 y t3 , la entrada S está en ALTO y R en BAJO, el latch se mantiene en estado SET.
• Entre t3 y t4 , las dos entradas están en BAJO, por lo tanto la salida se mantiene en el valor que tenı́a en t3 .
• Entre t4 y t5 , la entrada R está en ALTO y S en BAJO, el latch se pone en estado RESET.
• Se continúa evaluando por intervalos hasta llegar al final de la señal.

Existe otro tipo de latch, el latch S-R con entrada de habilitación, el cual tiene además de las entradas S y R, un
pin de ENABLE o habilitación. Si dicho pin no está en ALTO, no se presenta cambio de estado, ası́ las entradas
S o R cambien. En la figura 6 se muestra el circuito. Fı́jese que se trata de un latch S-R internamente, pero la
conexión hacia los pines de entrada pasa por otro conjunto de compuertas NAND, haciendo que hacia el exterior,
el circuito funcione como un latch S-R con entradas de activación en ALTO y el pin de habilitación (EN). Este
pin debe tenerse en cuenta también, al momento de analizar el diagrama de tiempos.

S R EN SALIDA
X X 0 No hay cambio
0 0 1 No hay cambio
0 1 1 Estado RESET
1 0 1 Estado SET
1 1 1 Condición inválida
(a) Circuito. (b) tabla de funciones.

Figura 6: Latch S-R con entrada de habilitación. Elaboración propia.

2.1.2. Latch D con entrada de habilitación

El latch D obtiene su nombre por su capacidad de almacenamiento de datos (Mano, 2014, p.172). Cuenta con una
entrada de datos y el pin de habilitación, aunque internamente es un circuito similar a los ya analizados. En este
caso, el pin D de entrada se pasa como SET y el valor negado de D se pasa a la conexión RESET. De esta manera,
cuando D = 0 entonces D = 1, haciendo que se active el estado RESET. En el caso cuando D = 1 entonces D = 0,
haciendo que sea el estado SET el que se active. La entrada de habilitación debe permanecer en ALTO para que
esto suceda, de lo contrario, no hay cambios en el estado interno del latch, y las salidas Q y Q se mantienen. En
la figura 7 se muestra el circuito y la tabla de funciones para un latch D.

La simbologı́a para los diferentes latches vistos en esta sección se presenta en la figura 8. Además, en la tabla 2
se presentan dos referencias de circuitos integrados. Antes de continuar con los Flip-Flops, lo invito a regresar al
escenario, donde encontrará una actividad que permitirá verificar qué tan claros están los diferentes latches.

2.2. Flip-Flops

El término Flip-Flop se aplica a los multivibradores biestables que cambian de estado cuando reciben un flanco
especı́fico de la señal de reloj (sea positivo o negativo, sólo se detecta uno de los dos flancos). Por esta razón se dice

POLITÉCNICO GRANCOLOMBIANO 5
D EN SALIDA
X 0 No hay cambio
0 1 Estado RESET
1 1 Estado SET
(a) Circuito. (b) tabla de funciones.

Figura 7: Latch D con entrada de habilitación. Elaboración propia.

(a) Latch S-R (b) Latch S-R (c) Latch S-R con habilitación (d) Latch D con habilitación

Figura 8: Simbologı́a para los diferentes latches presentados. Elaboración propia.

que son de tipo sı́ncrono (Floyd, 2010, p.421). Cuando se detecta dicho flanco, se envı́a una señal de habilitación
(también llamada de control, C), de tal forma que cuando se detecta el flanco, el Flip-Flop verifica el estado de
su(s) entrada(s), para entrar en modo SET, RESET o mantener el dato almacenado.

La ventaja de utilizar los flancos positivos (de subida) o negativos (de bajada) para realizar el cambio de estado
o activación del Flip-Flop (en comparación con la detección del nivel de la señal, que se hacı́a en los latches),
radica en que en los Flip-Flops este cambio se realiza de manera casi instantánea y el estado se mantiene hasta
un nuevo cambio de flanco. En los latches, durante todo el tiempo que el pulso de reloj se mantenga en el nivel de
habilitación, es posible que se presente un cambio en los estados de salida no deseado. Esto supone una desventaja,
y hace que los latches no sean tan utilizados para sistemas secuenciales.

Los Flip-Flops activados por flanco cuentan con una entrada de reloj (CLK). Internamente cuentan además con
un circuito que detecta la transición, bien sea de un nivel BAJO a uno ALTO (flanco positivo o de subida), o de
un nivel ALTO a un nivel BAJO (flanco negativo o de bajada). La construcción de este circuito está basada en
los retardos que se generan entre la entrada y salida de una señal en un circuito integrado (Tocci y cols., 2007,
p.227). Este circuito envı́a la señal de ENABLE siempre que detecta el flanco correspondiente.

POLITÉCNICO GRANCOLOMBIANO 6
Tipo Descripción
74LS279 Cuádruple latch S-R.
74LS75 Cuádruple latch D, con entrada de habilitación.

Tabla 2: Referencias de latches. Elaboración propia.

2.2.1. Flip-Flop S-R

En la figura 9a se muestra el circuito de un Flip-Flop S-R. El único cambio con respecto al latch es el detector de
flancos, que genera la señal de habilitación cada vez que se detecta un flanco positivo o negativo (positivo en este
caso). Además, se muestra la tabla de funciones (figura 9b), que no tiene cambios considerables con respecto al
latch S-R con habilitación. En este caso, la habilitación se hace en el flanco de subida. En la figura 10 se muestran
dos Flip-Flop J-K activados por flancos, el sı́mbolo de la figura10a determina que la entrada de reloj (CLK) se
activa con flancos positivos, mientras que el de la derecha muestra la activación por flancos negativos (Con la
entrada CLK negada).

S R CLK SALIDA Q
0 0 ↑ Q - No hay cambio
0 1 ↑ 0
1 0 ↑ 1
1 1 ↑ Condición inválida
(a) Circuito interno de un Flip-Flop S-R. (b) tabla de funciones.

Figura 9: Flip-Flop S-R con entrada de habilitación. Basado en (Tocci y cols., 2007).

(a) Flip-Flop S-R con activación por flanco positivo (b) Flip-Flop S-R con activación por flanco negativo

Figura 10: Simbologı́a de los Flip-Flop S-R. Elaboración propia.

Al igual que se evaluó en los latches, cuando se trabaja con Flip-Flops es necesario verificar las señales en sus
entradas, teniendo en cuenta que la activación se realiza únicamente en un flanco, sea positivo o negativo. La
figura11 muestra las entradas de un Flip-Flop S-R, incluyendo la entrada de reloj (CLK). Para estas entradas, la
salida se ve reflejada en Q. El análisis se hace con respecto a los flancos, para este caso el Flip-Flop tiene activación
por flanco positivo:

• En t0 se asume que Q = 1.

POLITÉCNICO GRANCOLOMBIANO 7
• En t1 el flanco es de bajada y no se tiene en cuenta la información de las entradas. El estado se mantiene
igual.

• En t2 el flanco es de subida, la entrada S está en BAJO y R en ALTO, el Flip-Flop se pone en estado RESET.

• En t4 el flanco es de subida, las dos entradas están en BAJO, por lo tanto el estado no cambia y se mantiene
en RESET.

Figura 11: Diagrama de tiempos de un Flip-Flop S-R con activación por flanco positivo. Elaboración propia.

2.2.2. Flip-Flop D

El Flip-Flop D, activado por flanco, sigue el mismo principio del Flip-Flop S-R, usando un detector de flancos en
su entrada de habilitación. El circuito y la tabla de funciones se pueden ver en la figura 12. Funciona de manera
similar al latch D, se pasa el dato directo a la entrada S, y se niega para dejarla en la entrada R.

D CLK SALIDA Q
0 ↑ 0
1 ↑ 1
(a) Circuito interno de un Flip-Flop D. (b) tabla de funciones.

Figura 12: Flip-Flop D con activación por flanco. Basado en (Tocci y cols., 2007).

2.2.3. Flip-Flop J-K

El Flip-Flop J-K es similar en funcionamiento al Flip-Flop S-R, sólo que en su construcción se elimina la condición
inválida cuando las dos entradas se encuentran en ALTO. En cambio, cuando esto sucede, se presenta el Flip-Flop
entra en modo de “basculación” (en inglés, toggle) (Floyd, 2010, p.427). En este modo, la salida del Flip-Flop es

POLITÉCNICO GRANCOLOMBIANO 8
J K CLK SALIDA Q
0 0 ↑ Q - No hay cambio
0 1 ↑ 0
1 0 ↑ 1
1 1 ↑ Basculación - Q - Conmuta Q
(a) Circuito interno de un Flip-Flop J-K. (b) tabla de funciones.

Figura 13: Flip-Flop J-K con activación por flanco. Basado en (Floyd, 2010).

invertida, es decir, si el valor en la salida es Q = 1, pasará a Q = 0 y viceversa. En la figura 13 se muestra el


circuito de un Flip-Flop J-K (basado en un S-R), además, la tabla de funciones del mismo.

En la figura 16 se presenta el análisis en el tiempo de un par de señales en las entradas de un Flip-Flop J-K con
activación por flanco negativo. El análisis es el siguiente:

• En t0 se asume que Q = 1.

• En t1 el flanco es de bajada, las entradas J y K están en ALTO, el Flip-Flop entra en modo basculación y
la salida pasa de Q = 1 a Q = 0.

• En t2 el flanco es de subida y no se tiene en cuenta la información de las entradas. El estado se mantiene


igual.

• En t3 el flanco es de bajada, la entrada J está en ALTO y K está en BAJO, el Flip-Flop se pone en estado
SET.

• En t4 el flanco es de subida y no se tiene en cuenta la información de las entradas. El estado se mantiene


igual.

• En t5 el flanco es de bajada, la entrada J está en BAJO y K está en ALTO, el Flip-Flop se pone en estado
RESET.

Figura 14: Diagrama de tiempos de un Flip-Flop J-K con activación por flanco negativo. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 9
En la figura 15 se presentan la simbologı́a más común para representar los diferentes Flip-Flops vistos, bien sea con
activación por flancos positivos o negativos. Además, en la tabla 3 se encuentran algunas referencias comerciales
de circuitos integrados tipo Flip-Flop, a nivel comercial los Flip-Flops más comunes son el tipo D y J-K.

Es importante tener en cuenta que algunos Flip-Flops cuentan con entradas ası́ncronas (que no dependen del pulso
de reloj). Una de ellas se conoce como de inicialización (PRE: Preset), la cual pone el estado del Flip-Flip en SET.
El otro tipo de entrada ası́ncrona es de borrado (CLR: Clear), la cual pone el Flip-Flop en estado RESET.

Cómo mejorar...
Además de las caracterı́sticas de funcionamiento vistas en la lectura, para latches y Flip-Flops, es impor-
tante conocer otras caracterı́sticas como retardos de propagación, tiempos de establecimiento y mantenimiento,
frecuencia máxima de reloj, entre otros. Toda esta información se encuentra en los datasheets de los circuitos
integrados en las tablas de la lectura.

Lo invito nuevamente a regresar al escenario, donde encontrará una actividad a realizar, para complementar lo
visto hasta ahora sobre el tema.

(a) Flip-Flop S-R con activa- (b) Flip-Flop S-R con activa- (c) Flip-Flop D con activación (d) Flip-Flop D con activa-
ción por flanco positivo. ción por flanco negativo. por flanco positivo. ción por flanco negativo.

(e) Flip-Flop J-K con activa- (f) Flip-Flop J-K con activa-
ción por flanco positivo. ción por flanco negativo.

Figura 15: Simbologı́a de los Flip-Flops. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 10
Tipo Descripción
74L71 Flip-Flop S-R maestro-esclavo.
74HC73 Doble Flip-Flop J-K con activación por flanco negativo.
74HC74 Doble Flip-Flop D con activación por flanco positivo.
74HC174 Sı́xtuple Flip-Flop D, con estado Clear

Tabla 3: Algunas referencias de Flip-Flops. Elaboración propia.

3. Multivibradores Monoestables y Aestables

3.1. Multivibradores Monoestables

Un multivibrador monoestable es aquel que tiene un sólo estado estable, pero que puede generar un pulso de un
ancho fijo cuando se aplica un pulso en su entrada de disparo (trigger ) (Floyd, 2010, p.442). Estos elementos
funcionan aprovechando las caracterı́stica de carga y descarga de los circuitos con resistencias y condensadores.
Por esta razón, aunque normalmente tienen un ancho de pulso mı́nimo, es posible utilizar ecuaciones para escoger
los elementos que permitan un ancho de tamaño mayor, conectados externamente (R y CEXT ). Un monoestable
como el 74121 tiene anchura ajustable entre 30 nanosegundos y 28 segundos.

Figura 16: Sı́mbolo de un monoestable, con la conexión externa de resistencia y condensador. Elaboración propia.

En el momento en el que el monoestable se activa, dado un disparo externo, entra en un estado inestable y se
mantiene ası́ hasta que pasa el tiempo del pulso. Si el monoestable acepta más disparos mientras se encuentra en
el estado inestable, se le conoce como un monoestable redisparable. Si, por el contrario, no acepta más pulsos de
disparo, se le llama no redisparable. Para comprender mejor esta situación, fı́jese en la figura 17. Q1 muestra la
salida de un monoestable no redisparable. Cuando la señal de disparo llega en t1 se genera el pulso en la salida por
un tiempo tw , ignorando la nueva señal de disparo en t2 . Por otro lado, Q2 muestra la salida de un monoestable
redisparable, que se activa igualmente en t1 con la señal de disparo. En este caso, cuando sucede el nuevo disparo
en t2 la señal de salida se mantiene en ALTO, esperando un tiempo tw adicional, a partir de t2 para desactivarse.

En la tabla 4 se presentan dos referencias de circuitos integrados monoestables con sus respectivas ecuaciones para
calcular el ancho del pulso.

POLITÉCNICO GRANCOLOMBIANO 11
Figura 17: Diagrama de tiempos para un monoestable no redisparable y uno redisparable. Elaboración propia.

Tipo Descripción Ecuación


74121 Monoestable no redisparable. tw = 0.7RCEXT
74LS122 Monoestable redisparable. tw = 0.32RCEXT (1 + 0.7/R)

Tabla 4: Algunas referencias de monoestables y sus ecuaciones para tw . Elaboración propia.

3.2. Multivibradores Aestables

Un multivibrador aestable es aquel circuito que no cuenta con un estado estable, sino que oscila a una frecuencia
definida, con una forma de onda no sinusoidal. Normalmente esta oscilación depende de circuitos RC o sólo
mediante condensadores.

El circuito integrado LM555 es un circuito versátil, que permite ser configurado en los modos monoestable y
aestable. Para más información con respecto a este integrado, lo invito a regresar al escenario y buscar la lectura
complementaria “Temporizadores integrados: El CI 555”.

POLITÉCNICO GRANCOLOMBIANO 12
Índice de figuras

1 Sistemas digitales generales. Basado en (Tocci y cols., 2007). . . . . . . . . . . . . . . . . . . . . .

2 Señal de reloj. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Dos tipos de latches (Cerrojos). Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . . . . . . .

4 Funcionamiento del latch S-R. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Diagrama de tiempos de un latch S-R. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

6 Latch S-R con entrada de habilitación. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

7 Latch D con entrada de habilitación. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . .

8 Simbologı́a para los diferentes latches presentados. Elaboración propia. . . . . . . . . . . . . . . . .

9 Flip-Flop S-R con entrada de habilitación. Basado en (Tocci y cols., 2007). . . . . . . . . . . . . .

10 Simbologı́a de los Flip-Flop S-R. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . .

11 Diagrama de tiempos de un Flip-Flop S-R con activación por flanco positivo. Elaboración propia. .

12 Flip-Flop D con activación por flanco. Basado en (Tocci y cols., 2007). . . . . . . . . . . . . . . . .

13 Flip-Flop J-K con activación por flanco. Basado en (Floyd, 2010). . . . . . . . . . . . . . . . . . .

14 Diagrama de tiempos de un Flip-Flop J-K con activación por flanco negativo. Elaboración propia.

15 Simbologı́a de los Flip-Flops. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16 Sı́mbolo de un monoestable, con la conexión externa de resistencia y condensador. Elaboración propia.

17 Diagrama de tiempos para un monoestable no redisparable y uno redisparable. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 13
Índice de tablas

1 Resumen de funcionamiento de los latches S-R y S-R. Elaboración propia. . . . . . . . . . . . . . .

2 Referencias de latches. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Algunas referencias de Flip-Flops. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

4 Algunas referencias de monoestables y sus ecuaciones para tw . Elaboración propia. . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 14
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Mano, M. M. (2014). Diseño digital: con una introducción a Verilog HDL. Naucalpan de Juárez, México: Pearson
Educación. (OCLC: 881629816)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)

POLITÉCNICO GRANCOLOMBIANO 15
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 3: Diseño con Lógica Secuencial
Escenario 5: Introducción a los circuitos secuenciales

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 16
Unidad 4 / Escenario 7
Lectura Fundamental

Máquinas de Estados Finitos

Contenido

1 Introducción a las Máquinas de Estados ¿Qué son?

2 Máquinas de Moore

3 Máquinas de Mealy

4 Algunos ejemplos

Referencias

Palabras clave: Máquinas de estados, Moore, Mealy, Diagramas de estados, Tablas de


estados
1. Introducción a las Máquinas de Estados ¿Qué son?

Las máquinas de estados finitos (FSM, del inglés, Finite-State Machine), son una herramienta teórica que permite
modelar sistemas en los que los valores de las salidas para un momento dado dependen tanto de las entradas como
de la historia del sistema. Esto es, el valor de las salidas depende del valor presente y los valores pasados de las
entradas.

Para simplificar el modelado de este tipo de sistemas, se ha tomado el concepto de ESTADO que surge de otras
disciplinas, particularmente del control automático. Un estado puede definirse como:

El menor conjunto de variables que, conocidas para un momento del tiempo, junto con la entra-
das del sistema, permite determinar completamente el comportamiento del sistema en cualquier
momento posterior. (Ogata, 2001)

De esta manera, una máquina de estados se puede decir que consta de estados y de transiciones entre dichos
estados. Aunque la definición pueda parecer un poco confusa, su aplicación en los sistemas digitales secuenciales
no es tan compleja, teniendo en cuenta que las variables del sistema serán de tipo discreto. De manera general,
una máquina de estados, basada en lógica secuencial, está formada “por una etapa de lógica combinacional y una
sección de memoria (flip-flops)” (figura 1 (Floyd, 2010, p.499). La etapa de memoria se utiliza para almacenar los
estados, mientras que la lógica combinacional permite codificar y decodificar dichos estados para que el sistema
pueda actuar adecuadamente.

Figura 1: Máquina de estados con circuitos digitales. Basado en (Floyd, 2010)


.

Existen dos elementos sobre los que se apoya el diseño e implementación de las máquinas de estado, uno gráfico y
uno tabular: los diagramas de estados y las tablas de estados.FSM-CircuitoSecuencial

1.1. Diagramas de estados

El diagrama de estados es en esencia un grafo, compuesto por nodos y arcos, que muestra de manera gráfica el
comportamiento dinámico del sistema modelado mediante la máquina de estados (figura 2).

Cada cı́rculo (nodo) en el diagrama representa un estado. El texto que aparece dentro del cı́rculo hace referencia

POLITÉCNICO GRANCOLOMBIANO 1
Figura 2: Diagrama de estados simple. Elaboración propia.

a un nombre arbitrario que posteriormente se codifica de manera adecuada. El nombre del estado tı́picamente
describe el comportamiento del sistema en ese estado en particular y responde a preguntas como: ¿Qué ocurre en
el sistema? ¿Cómo está el sistema en este momento? ¿Qué está “haciendo” el sistema?. El estado inicial permite
indicar el primer estado en el que se encuentra la máquina una vez se enciende.

Por otro lado, cada flecha (arco) indica la condición necesaria para pasar de un estado a otro (transición). Esta
condición se refiere especı́ficamente a los valores de las entradas requeridos para cambiar del estado de donde sale
el arco hacia el estado al que llega el arco. Es posible que para que las transiciones sucedan se requiera del pulso de
reloj (máquina sı́ncrona) o que se realicen monitoreando únicamente las variables de entrada (máquina ası́ncrona).
Las variables que se evalúan también se conocen como variables de estados y son por lo tanto las encargadas
de controlar en qué estado se encuentra la máquina.

1.2. Tabla de estados

La tabla de estados, también llamada tablas de transición (Mano, 2014, 181) relaciona toda la información conte-
nida en el diagrama de manera extensiva. Está formada por cuatro secciones:

• Estado presente: muestra el estado actual del sistema. En términos de circuitos secuenciales, en esta sección
se indica el estado actual de los flip-flops que conforman la máquina de estados.

• Entrada: muestra todos los posibles valores de la variable (o variables) de entrada para cada estado presente.

• Estado siguiente: muestra el estado al que pasará la máquina, dada la combinación entre estado presente
y la variable de entrada. En el circuito, esto hace referencia al estado en el que quedarán los flip-flops, si la
entrada se mantiene y hay un pulso de reloj (para un circuito sı́ncrono).

• Salida: muestra la variable de salida, para el estado actual y la entrada presente. Este valor puede hacer
referencia a las salidas de los flip-flops de un circuito secuencial, dependiendo de si el circuito cuenta con
lógica combinacional a la salida o no.

POLITÉCNICO GRANCOLOMBIANO 2
Para el diagrama de la figura 2 la tabla de estados asociada podrı́a tener la siguiente forma:

Estado presente Entrada Estado siguiente Salida


Inicio V ariable Inicio Inactiva
Inicio V ariable Estado A Activa
Estado A V ariable Estado A Activa
Estado A V ariable Estado B Inactiva
Estado B V ariable Estado B Inactiva
Estado B V ariable Estado A Activa

Tabla 1: Ejemplo de tabla de estados. Elaboración propia.

Nótese que la tabla de estados incluye también la salida del sistema, que hasta el momento no habı́a aparecido
en el diagrama de estados de manera explı́cita. La razón para esto, es que existen dos modelos de máquinas de
estados y la ubicación del valor de las salidas en el diagrama depende del tipo de máquina que se esté empleando
para modelar el sistema.

Los dos modelos de máquina de estados que se mencionan son: Maquinas de Moore y Máquinas de Mealy.
Cada uno de estos tipos de máquinas tiene sus caracterı́sticas particulares, ası́ como unas ventajas y desventajas
asociados. Por esta razón, es adecuado conocer los dos tipos y evaluar cual resulta más pertinente de acuerdo con
el comportamiento deseado del sistema que se modela y las restricciones en su implementación.

2. Máquinas de Moore

En una máquina de estados de Moore, el valor de las salidas depende únicamente del estado en el que la maquina
se encuentra. Este “aislamiento” entre el valor instantáneo de las entradas y las salidas del sistema presenta
una ventaja importante: la lógica que calcula el valor de las salidas del sistema resulta comparativamente más
simple que el de una máquina equivalente de Mealy, (por cuanto tienen un menos número de variables). Como
contrapartida, esto generalmente implica un mayor número de estados para conseguir la misma funcionalidad de
una Máquina de Mealy equivalente.

En la figura 3 se encuentra el diagrama de estados para una máquina de Moore. Dependiendo de la variable de
entrada los estados cambian en un sentido (ABCDA) o en el sentido contrario (ADCBA). Esta configuración podrı́a
ser usada por ejemplo para crear un contador ascendente/descendente. En este caso, cada estado se encuentra
asociado a una salida y su valor (o valores) se escribe debajo del nombre del estado. En la tabla 2 se muestra la
información detallada de los estados para la misma máquina.

POLITÉCNICO GRANCOLOMBIANO 3
Figura 3: Diagrama de estados de una máquina de Moore. Elaboración propia.

Estado presente Entrada Estado siguiente Salida


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

Tabla 2: Tabla de estados para una máquina de Moore. Elaboración propia.

3. Máquinas de Mealy

En una máquina de estados de Mealy, el valor de las salidas del sistema depende del estado en el que se encuentre y
del valor de la entrada. Una ventaja importante de este tipo de máquinas es que permite tener cambios instantáneos
en la salida al cambiar la entrada, sin que estos cambios estén limitados por la velocidad del reloj general del sistema.
Esto es especialmente útil en aplicaciones en las que la velocidad de respuesta del sistema es de gran importancia.

En la figura 5 se presenta el diagrama de estados para una máquina de Moore, siguiendo el mismo ejemplo anterior.
Fı́jese que los cambios en las salidas se representan en los arcos, debajo del nombre de las condiciones de entrada.
En la tabla 3 se muestra la tabla de estados.

Una forma alterna de ver la tabla de estados para el diagrama se presenta en la tabla 4. Difiere un poco de lo que
se ha estudiado, pues para un mismo estado presente, las salidas, dadas por la variable “x” en este caso, van a
cambiar.

POLITÉCNICO GRANCOLOMBIANO 4
Figura 4: Diagrama de estados de una máquina de Mealy Elaboración propia.

Estado presente Entrada Estado siguiente Salida


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

Tabla 3: Tabla de estados para una máquina de Moore. Elaboración propia.

Con el fin de conocer mejor las caracterı́sticas, ventajas y desventajas de las máquinas de Moore y de Mealy, lo
invito a regresar al escenario, donde encontrará un recurso con esta información.

4. Algunos ejemplos

Las máquinas de estados pueden ser utilizadas en la solución de problemas de diferentes áreas. Se pueden encon-
trar casos como el control para un semáforo o controles para electrodomésticos en los que se presenten estados
diferenciados, como hornos, lavadoras, etc. En un ámbitro industrial también es usual modelar procesos que desean
controlarse utilizando FSM. La implementación puede diferir dependiendo del problema y el escenario en el que
se aplica. Las tecnologı́as de circuitos integrados MSI y LSI son las que usualmente se emplean en los primeros
casos, mientras que en los ámbitos industriales se prefiere el uso de controladores Lógicos Programables (PLC)
que permiten interactuar con diversos tipos de sensores y actuadores teniendo además la posibilidad de modificar
el modelado de los sistemas/procesos mediante programación.

POLITÉCNICO GRANCOLOMBIANO 5
Estado presente Estado siguiente / Salida
x=0 x=1
A D/1 B/1
B A/0 C/0
C B/1 D/1
D C/0 A/0

Tabla 4: Tabla de estados alterna para una máquina de Mealy. Elaboración propia.

4.1. Un ejemplo de aplicación

Para ilustrar el uso de la teorı́a de máquinas de estados, a continuación se estudiará como podrı́a abordarse la
resolución de un problema de diseño de un sistema de control para la conmutación de un LED basada en un
pulsador.

El comportamiento deseado es el siguiente:

1. Al iniciar el sistema el LED se encuentra apagado.

2. Al oprimir el pulsador (P) el LED (L) se enciende y permanece encendido mientras que el pulsador (P) no
vuelva a ser activado.

3. Si el LED se encuentra encendido y el pulsador (P) es activado, el LED (L) se apaga y permanece apagado
mientras que el pulsador (P) no sea activado.

4. Si el LED se encuentra apagado y el pulsador (P) es activado, el LED (L) se enciende y permanece encendido
mientras que el pulsador (P) no sea activado.

5. El comportamiento se repite de manera cı́clica.

4.1.1. Diagrama de bloques

Un primer paso para el diseño consiste en hacerse una idea de los elementos generales sobre los que actúa el
sistema, es decir: sensores y actuadores. Claramente, en este ejemplo existen dos elementos identificados:

• El pulsador P envı́a al sistema el valor 1 cuando es activado (pulsado) y 0 cuando es liberado.

• El LED L se enciende al recibir un nivel ALTO y se apaga al recibir un nivel BAJO.

4.1.2. Identificación de entradas y salidas

El siguiente paso consiste en reconocer, de acuerdo a nuestro sistema, cuáles son aquellas entradas que permitirán
el cambio entre estados y cuáles salidas reflejan dicho cambio de estados. En el ejemplo tenemos:

POLITÉCNICO GRANCOLOMBIANO 6
Figura 5: Diagrama de bloques del sistema. Elaboración propia.

• Entradas: Pulsador P, entrada de 1 bit.

• Salidas: LED L, salida de 1 bit.

4.1.3. Solución empleando máquinas de Moore

Al tratarse de una máquina de Moore, cada estado presenta un valor especı́fico de salida que se incluye en el grafo
(figura 6 especificando el valor de la salida bajo el nombre del Estado. Esto se ve reflejado también en la tabla de
estados (tabla 5).

Figura 6: Diagrama de estados, para la máquina de Moore del ejemplo. Elaboración propia.

Estado presente Entrada Estado siguiente Salida


0 Inicio
Inicio 0
1 Encendido
0 Encendido
Encendido 1
1 Apagado
0 Apagado
Apagado 0
1 Encendido

Tabla 5: Tabla de estados, para la máquina de Moore del ejemplo. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 7
4.1.4. Solución empleando máquinas de Mealy

En este caso, tratándose de una máquina de Mealy el valor de la salida (L) depende tanto del estado en el que
se encuentra el sistema como del valor de la entrada (P) (figura 7). Esto se ve reflejado también en la tabla de
estados (6).

Figura 7: Diagrama de estados, para la máquina de Mealy del ejemplo. Elaboración propia.

Estado presente Estado siguiente / Salida


x=0 x=1
Inicio Inicio / 0 Encendido / 1
Encendido Encendido / 1 Apagado / 0
Apagado Apagado / 0 Encendido / 1

Tabla 6: Tabla de estados, para la máquina de Mealy del ejemplo. Elaboración propia.

Hasta el momento se ha hecho solamente el diseño a nivel de diagrama de estados y de tablas. En el siguiente
escenario se aborda el diseño desde los circuitos secuenciales, aplicando lo visto en la anterior unidad.

Ahora lo invito a regresar al escenario, donde encontrará otro ejemplo detallado sobre el diseño de máquinas de
estados, sus diagramas y las tablas de estados asociadas.

POLITÉCNICO GRANCOLOMBIANO 8
Índice de figuras

1 Máquina de estados con circuitos digitales. Basado en (Floyd, 2010) . . . . . . . . . . . . . . . . .

2 Diagrama de estados simple. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3 Diagrama de estados de una máquina de Moore. Elaboración propia. . . . . . . . . . . . . . . . . .

4 Diagrama de estados de una máquina de Mealy Elaboración propia. . . . . . . . . . . . . . . . . . .

5 Diagrama de bloques del sistema. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

6 Diagrama de estados, para la máquina de Moore del ejemplo. Elaboración propia. . . . . . . . . . .

7 Diagrama de estados, para la máquina de Mealy del ejemplo. Elaboración propia. . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 9
Índice de tablas

1 Ejemplo de tabla de estados. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Tabla de estados para una máquina de Moore. Elaboración propia. . . . . . . . . . . . . . . . . . .

3 Tabla de estados para una máquina de Moore. Elaboración propia. . . . . . . . . . . . . . . . . . .

4 Tabla de estados alterna para una máquina de Mealy. Elaboración propia. . . . . . . . . . . . . . .

5 Tabla de estados, para la máquina de Moore del ejemplo. Elaboración propia. . . . . . . . . . . . .

6 Tabla de estados, para la máquina de Mealy del ejemplo. Elaboración propia. . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 10
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Mano, M. M. (2014). Diseño digital: con una introducción a Verilog HDL. Naucalpan de Juárez, México: Pearson
Educación. (OCLC: 881629816)
Ogata, K. (2001). Modern control engineering (4th ed.). Upper Saddle River, NJ, USA: Prentice Hall PTR.

POLITÉCNICO GRANCOLOMBIANO 11
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 4: Máquinas de Estados Finitos (FSM)
Escenario 7: Máquinas de Estados Finitos

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 12
Unidad 4 / Escenario 8
Lectura Fundamental

Aplicación de las FSM

Contenido

1 Contadores sı́ncronos con FSM

2 Análisis de problemas empleando FSM

Referencias

Palabras clave: Máquinas de estados, Contadores sı́ncronos, Diseño


Retomando los elementos teóricos del escenario anterior y haciendo uso de las lógicas combinacionales y elementos
de memoria, se abordará en esta sección el diseño de soluciones empleado como herramienta las máquinas de
estados finitos, implementadas sobre lógicas de función fija de tecnologı́a MSI/LSI. En la primera parte de la
lectura se aborda una metodologı́a para el diseño de contadores sı́ncronos (sin salidas). En la segunda parte se
trata un problema más general, con entradas y salidas.

1. Contadores sı́ncronos con FSM

Inicialmente, se estudiará el diseño de contadores sı́ncronos, en los que el análisis se facilita dado que los contadores
más básicos no requieren el uso de entradas y salidas. Un circuito que funcione mediante FSM puede funcionar
únicamente con sus variables de estado y la lógica combinacional adecuada, que permita cambiar de estado en
cada pulso de reloj. Basados en lo que presenta Floyd (2010), los pasos para el diseño de contadores sı́ncronos son:

• Obtener el diagrama de estados y la tabla de estados.

• Evaluar la tabla de transiciones de los flip-flops.

• Simplificación y expresiones lógicas.

• Implementación del circuito.

1.1. Obtener el diagrama de estados y la tabla de estados

Al igual que en los ejemplos anteriores, normalmente se parte de un diagrama de estados que permita comprender
fácilmente los estados existentes y sus transiciones. En la figura 1 se muestra el diagrama para un contador binario
de 2 bits, que sigue la secuencia 00 - 01 - 10 - 11 de manera cı́clica con cada pulso de reloj.

Figura 1: Contador binario. Elaboración propia.

Debido a que en el diagrama no se especifican entradas ni salidas, la tabla de estados (tabla 1) se reduce a la
verificación de las variables de estado de cada uno de las salidas en los flip-flops. La cantidad de flip-flops que
se requerirán para representar este problema está relacionada con la cantidad n estados, siendo log2 (n) el valor
mı́nimo de bits para representarlos (el valor se aproxima a la siguiente cifra). Por esta razón, para representar

POLITÉCNICO GRANCOLOMBIANO 1
4 estados se requerirán 2 flip-flops F F1 y F F0 . Tenga en cuenta que las variables de estado se asumen como las
salidas de cada flip-flop Q1 y Q0

Estado presente Estado siguiente


Q1 Q0 Q1 Q0
0 0 0 1
0 1 1 0
1 0 1 1
1 1 0 0

Tabla 1: Tabla de estados para el contador binario. Elaboración propia.

1.2. Evaluar la tabla de transiciones de los flip-flops

Una vez se tienen los diagramas y tablas, es necesario analizar cómo suceden las transiciones en los flip-flops. En
la tabla 2 se presentan las transiciones en un flip-flop J-K, pasando de un estado presente a un estado futuro. Las
X representan condiciones de “no importa”, es decir, no es necesario tener en cuenta esa variable. Esta situación
será útil más adelante con los mapas de Karnaugh para obtener las ecuaciones del problema. En la tabla 3 se
presentan las transiciones en un flip-flop D, el cual presenta unas condiciones simplificadas para el análisis.

Transición en salidas Entradas del flip-flop


QN QN +1 J K
0 → 0 0 X
0 → 1 1 X
1 → 0 X 1
1 → 1 X 0

Tabla 2: Transiciones en flip-flop J-K. Basado en (Floyd, 2010)


.

Transición en salidas Entradas del flip-flop


QN QN +1 D
0 → 0 0
0 → 1 1
1 → 0 0
1 → 1 1

Tabla 3: Transiciones en flip-flop D. Basado en (Floyd, 2010)


.

1.3. Simplificación y expresiones lógicas

Los mapas de Karnaugh permiten obtener las expresiones para la lógica combinacional de entrada de cada uno de
los flip-flops. El procedimiento consiste en hacer un mapa evaluando las transiciones de las variables de estado Q1

POLITÉCNICO GRANCOLOMBIANO 2
y Q0 , de un estado presente a un estado siguiente, para cada una de las entradas de los flip-flops. Ası́, si se usan
flip-flops J-K, se debe hacer un mapa para cada una de las entradas J1 , K1 , J0 y K0 (figura 2). En cambio, si se
usan flip-flops D, se hará un mapa de Karnaugh para D1 y D0 (figura 3).

Los mapas de las figuras 2 y 3 se obtuvieron a partir de la tabla 1. Por ejemplo, en la primera fila de dicha tabla,
en la columna 2 “Estado presente de Q0 ”, y 4 “Estado siguiente de Q0 ”, el valor de Q0 pasa del estado 0 al estado
1. Si se va a hacer el circuito con flip-flops J-K, se evalúa en la tabla 2 qué se requiere en las entradas del flip-flop
para que esta transición suceda, en este caso la entrada J0 debe estar en 1 y la entrada K0 debe estar en X. Esta
información se consigna en el mapa de Karnaugh en la posición Q1 = 0 y Q0 = 0. Por otro lado, si se va a realizar
el montaje con flip-flops D, la entrada D0 debe estar en 1 (tabla 3).

Continuando, se evalúa en la segunda fila de la tabla 1 la columna 2 “Estado presente de Q0 ” y 4 “Estado siguiente
de Q0 ”. El valor Q0 pasa del estado 1 al estado 0. Para un flip-flop J-K, la entrada J0 debe estar en X y la entrada
K0 debe estar en 1. Esta información se consigna en el mapa de Karnaugh en la posición Q1 = 0 y Q0 = 1. Si se
va a realizar el montaje con flip-flops D, la entrada D0 debe estar en 0.

Una vez se termina el análisis para Q0 , se procede a mirar las transiciones en Q1 de estado presente a estado
siguiente, agregando la información a los mapas de Karnaugh correspondientes. Este procedimiento se sigue para
todos los estados presentes de la tabla 1.

(a) Salida J1 (b) Entrada K1 (c) Salida J0 (d) Entrada K0

Figura 2: Mapas de Karnaugh y expresiones para flip-flop tipo J-K. Elaboración propia.

(a) Entrada D1 (b) Entrada D0

Figura 3: Mapas de Karnaugh y expresiones para flip-flop tipo D. Elaboración propia.

Una vez se tienen todos los mapas de Karnaugh, se procede a realizar la obtención de expresiones mı́nimas para
la activación de cada flip-flop (parte inferior de cada una de las figuras 2 y 3)

POLITÉCNICO GRANCOLOMBIANO 3
Cómo mejorar...
Las tablas de verdad se pueden trabajar en la opción “Análisis combinacional” de Logisim. Partiendo de
ahı́, la generación de mapas de Karnaugh y de los diagramas lógicos correspondientes es muy sencilla.

1.4. Implementación del diagrama lógico

Para finalizar, se procede a generar los circuitos lógicos de control de cada entrada, según los resultados de la
simplificación. En las figuras 4 y 5 se presentan los dos circuitos resultantes, para flip-flops tipo J-K y tipo D. Note
cómo, a pesar de tener un diseño más engorroso, el circuito con flip-flops J-K es menos complejo, pues se vale del
efecto basculante. En el caso del circuito con flip-flops tipo D, la expresión de la entrada D1 = Q1 Q0 + Q1 Q0 es
equivalente a una compuerta XOR, por lo tanto D1 = Q1 ⊕ Q0 .

Figura 4: Contador binario, con flip-flops J-K. Elaboración propia.

Figura 5: Contador binario, con flip-flops D. Elaboración propia.

En este momento lo invito a regresar al escenario donde podrá encontrar una actividad para comprender mejor y
aplicar los conocimientos adquiridos en esta sección de la lectura.

POLITÉCNICO GRANCOLOMBIANO 4
2. Análisis de problemas empleando FSM

Utilizando una metodologı́a similar a la explicada, es posible realizar máquinas de estados para problemas más
generales. Volviendo al ejemplo que se desarrollo en el escenario pasado (encendido y apagado de un LED), a
continuación se muestran los diagramas de las máquinas de Moore y Mealy que se hallaron:

(a) Máquina de Moore (b) Máquina de Mealy

Figura 6: Diagramas de estados del ejemplo de LEDs. Elaboración propia.

Con el fin de poder implementar estas soluciones sobre las tecnologı́as de circuitos integrados, se hace necesario
seguir una serie de pasos correspondientes en:

• Codificación de los estados.

• Definición de la arquitectura.

• Dimensionalidad de los componentes.

• Diagramas lógicos.

2.1. Codificación de los estados

Si bien los nombres descriptivos de los estados que se emplearon hasta ahora ayudan a la comprensión del fun-
cionamiento de la solución, resulta poco eficiente emplearlos en la implementación. Por esta razón, a cada estado
se le asignará un código en binario (Similar a lo realizado en los contadores). Ası́, para representar 3 estados,
se requerirán 2 bits. Este cálculo permite realizar la codificación de los estados en el menor número
posible de bits, dado que de esta forma se logra el menor requerimiento de elementos de memoria (flip-flop).
En la tabla 4 se muestra la propuesta para nombrar cada uno de los estados de la máquina de estados a diseñar.
La implementación requiere entonces tantos flip-flop como sean necesario para codificar en binario, la totalidad de
los estados.

Los diagramas de estados y las tablas de estados se deberán actualizar entonces con la codificación adecuada,
reemplazando los nombres de estados.

POLITÉCNICO GRANCOLOMBIANO 5
Nombre del estado Código del estado
Inicio 00
Encendido 01
Apagado 10

Tabla 4: Ejemplo de tabla de estados. Elaboración propia.

2.2. Definición de la arquitectura

La arquitectura de la solución a implementar tendrá algunas variaciones en función del tipo de máquina que se desee
implementar Moore (figura 7) o Mealy (figura 8). Según funcionalidad, se encuentran 3 grupos de componentes
principales (Tocci, Widmer, y Moss, 2007, p.426):

1. Circuito combinacional de Entrada: Se encarga de calcular el estado siguiente (SS) a partir de las
entradas y el estado presenten (SP).

2. Elementos de Memoria: Permiten almacenar el estado presente de la FSM.

3. Circuito combinacional de Salida: Se encarga de calcular el valor de la salida. En este combinacional y


su interconexión lógica se evidencia si se trata de una maquina Moore o una máquina Mealy, para el primer
tipo, el valor de la salida se calcula únicamente a partir del código del estado presente, mientras que para el
segundo tipo, el combinacional de salida calcula el valor de la salida a partir del estado presente y la entrada.

Figura 7: Arquitectura de una máquina de Moore. Elaboración propia.

2.3. Dimensionalidad de los componentes

A partir de la función asociada a cada uno de los componentes principales, se procede a dimensionar cada uno. En
este paso es importante acudir a las tablas de estados, con el fin de verificar qué variables afectan el comportamiento
de las salidas.

POLITÉCNICO GRANCOLOMBIANO 6
Figura 8: Arquitectura de una máquina de Mealy. Elaboración propia.

2.3.1. Combinacional de entrada

Teniendo cuenta que el rol funcional de este circuito combinacional es calcular el estado siguiente, en esta sección se
calculan tantas funciones Boolenas (salidas del combinacional) como bits se requieran para codificar la totalidad de
los estados. De igual manera, teniendo en cuenta que el estado siguiente SS se calcula a partir del estado presente
y la entrada, este combinacional tendrá un número de variables igual al número de bits necesarios para codificar
el número de estado más el de bits de entrada que tenga el sistema. Para el caso que se está estudiando:

• SS0 (P, SP1 , SP0 ), esto indica que el bit 0 del estado presente depende de P(Entrada) y los dos bits del estado
pasado.

• SS1 (P, SP1 , SP0 ), esto indica que el bit 1 del estado presente depende de P(Entrada) y los dos bits del estado
pasado.

Con lo anterior establecido puede usarse la tabla de estado (columnas 1, 2 y 3 para calcular la funciones Boolenas
SS0 (P, SP1 , SP0 ) y SS1 (P, SP1 , SP0 ) ası́:

Entradas al combinacional Salidas del combinacional


Estado presente Entrada Estado siguiente
SP1 , SP0 P(Entrada) SS1 , SS0
00 0 00
00 1 01
01 0 01
01 1 10
10 0 10
10 1 01
11 0 XX
11 1 XX

Tabla 5: Tabla de estados para el circuito combinacional de entrada. Elaboración propia.

Nótese que las dos últimas filas de la tabla corresponden a condiciones de no importa dado que el estado 11 no se
codifica en la FSM.

POLITÉCNICO GRANCOLOMBIANO 7
2.3.2. Elementos de memoria

Tı́picamente se emplea un flip-flop tipo D por cada bit requerido para codificar el número total de estado. La
elección de este tipo de flip-flop facilita el diseño y disminuye la cantidad de elementos necesarios para el circuito.
En este caso se requerirán entonces 2 flip-flop.

2.3.3. Combinacional de salida

Es en este momento donde se debe tener en cuenta el tipo de arquitectura que se está diseñando. Pueden existir
dos casos, dependiendo de si se diseña una máquina de Moore o una de Mealy.

Moore: Para la maquina tipo Moore el valor de la salida depende únicamente del estado presente, por tanto el
combinacional de salida calculará tanta funciones Booleanas como bits de salida tenga el sistema y estas dependerán
de tantas variables Booleanas como se requieran para codificar el número total de estados: L(SP1 , SP0 ), la tabla
de verdad para esta función Booleana puede leerse en las columnas 1 y 4 de la tabla de estados.

Estado presente P(Entrada) Estado siguiente L(Salida)


0 00
00 0
1 01
0 01
01 1
1 10
0 10
10 0
1 01

Tabla 6: Tabla de estados, para la máquina de Moore del ejemplo. Elaboración propia.

Estado presente L(Salida)


00 0
01 1
10 0
11 X

Tabla 7: Tabla de verdad para el combinacional de salida, de una máquina de Moore. Elaboración propia.

En este caso, la tabla de verdad se completa con las filas necesarias de condiciones de no importa, dado que el
estado 11 no se codifica para este ejemplo.

Mealy: en esta máquina, el valor de la salida depende del estado presente y del valor de la entada, por tanto el
combinacional de salida calculará tanta funciones Booleanas como bits de salida tenga el sistema y estas dependerán
de tantas variables Booleanas como se requieran para codificar el número total de estados más tantas como bits
de entrada tenga el sistema, para el caso: L(P, SP1 , SP0 ), la tabla de verdad para esta función Booleana puede
leerse en las columnas 1, 2 y 4 de la tabla de estados.

Una vez más la tabla de verdad se completa con las filas necesarias de condiciones de no importa.

POLITÉCNICO GRANCOLOMBIANO 8
Estado presente P(Entrada) Estado siguiente L(Salida)
00 0 00 0
00 1 01 1
01 0 01 1
01 1 10 0
10 0 10 0
10 1 01 1

Tabla 8: Tabla de estados, para la máquina de Mealy del ejemplo. Elaboración propia.

Estado presente Entrada Salida


00 0 0
00 1 1
01 0 1
01 1 0
10 0 0
10 1 1
11 0 X
11 1 X

Tabla 9: Tabla de verdad para el combinacional de salida, de una máquina de Mealy. Elaboración propia.

2.4. Diagramas lógicos

Teniendo las diferentes tablas de verdad para cada uno de los componentes a implementar, se procede a realizar
el diseño de los diagramas lógicos. Esta parte del trabajo se puede realizar de manera manual, calculando las
simplificaciones de los circuitos mediante los mapas de Karnaugh, o es posible también ayudarse de las herramientas
de diseño asistido por computador (CAD) vistas hasta ahora.

A continuación se muestran los diagramas de implementación realizados en Logisim. Se desarrolló la solución


únicamente para la máquina de estados de Moore. De la misma manera, es posible hacer el diseño de los circuitos
para las máquinas de Mealy. Recuerde que para que los elementos de memoria funcionen adecuadamente, se debe
utilizar una señal de reloj externo. Por esta razón, estos circuitos son de tipo sı́ncrono.

En este momento lo invito a volver al escenario, donde encontrará una lectura sobre otra metodologı́a de diseño
de máquinas de estados, que podrá resolver algunas dudas acerca de los procedimientos acá realizados. Además
encontrará algunos ejercicios de diseño de máquinas de estados.

POLITÉCNICO GRANCOLOMBIANO 9
Figura 9: Diagrama lógico, combinacional de entrada Elaboración propia.

Figura 10: Diagrama lógico, combinacional de salida Elaboración propia.

Figura 11: Máquina de estados para el problema. Elaboración propia.

POLITÉCNICO GRANCOLOMBIANO 10
Índice de figuras

1 Contador binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Mapas de Karnaugh y expresiones para flip-flop tipo J-K. Elaboración propia. . . . . . . . . . . . .

3 Mapas de Karnaugh y expresiones para flip-flop tipo D. Elaboración propia. . . . . . . . . . . . . .

4 Contador binario, con flip-flops J-K. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . .

5 Contador binario, con flip-flops D. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . .

6 Diagramas de estados del ejemplo de LEDs. Elaboración propia. . . . . . . . . . . . . . . . . . . . .

7 Arquitectura de una máquina de Moore. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

8 Arquitectura de una máquina de Mealy. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . .

9 Diagrama lógico, combinacional de entrada Elaboración propia. . . . . . . . . . . . . . . . . . . . .

10 Diagrama lógico, combinacional de salida Elaboración propia. . . . . . . . . . . . . . . . . . . . . .

11 Máquina de estados para el problema. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . .

POLITÉCNICO GRANCOLOMBIANO 11
Índice de tablas

1 Tabla de estados para el contador binario. Elaboración propia. . . . . . . . . . . . . . . . . . . . . .

2 Transiciones en flip-flop J-K. Basado en (Floyd, 2010) . . . . . . . . . . . . . . . . . . . . . . . . .

3 Transiciones en flip-flop D. Basado en (Floyd, 2010) . . . . . . . . . . . . . . . . . . . . . . . . . .

4 Ejemplo de tabla de estados. Elaboración propia. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Tabla de estados para el circuito combinacional de entrada. Elaboración propia. . . . . . . . . . . .

6 Tabla de estados, para la máquina de Moore del ejemplo. Elaboración propia. . . . . . . . . . . . .

7 Tabla de verdad para el combinacional de salida, de una máquina de Moore. Elaboración propia. .

8 Tabla de estados, para la máquina de Mealy del ejemplo. Elaboración propia. . . . . . . . . . . . .

9 Tabla de verdad para el combinacional de salida, de una máquina de Mealy. Elaboración propia. . .

POLITÉCNICO GRANCOLOMBIANO 12
Referencias

Floyd, T. L. (2010). Fundamentos de sistemas digitales. Pearson Prentice Hall. (OCLC: 893578510)
Tocci, R. J., Widmer, N. S., y Moss, G. L. (2007). Sistemas digitales: principios y aplicaciones. México [etc.:
Pearson Educación. (OCLC: 804512544)

POLITÉCNICO GRANCOLOMBIANO 13
INFORMACIÓN TÉCNICA

Módulo: Sistemas digitales y ensambladores


Unidad 4: Máquinas de Estados Finitos (FSM)
Escenario 8: Aplicación de las FSM

Autor: Gabriel Eduardo Ávila Buitrago

Asesor Pedagógico: Jeimmy Lorena Romero Perilla


Diseñador Gráfico: Leonardo Stiglitch Campos
Asistente: Jhon Edwar Vargas Villa

Este material pertenece al Politécnico Grancolombiano.


Por ende, es de uso exclusivo de las Instituciones
adscritas a la Red Ilumno. Prohibida su reproducción
total o parcial.

POLITÉCNICO GRANCOLOMBIANO 14

S-ar putea să vă placă și