Está en la página 1de 61

Electrónica Digital: Diseño y

Lógica Secuencial

Profesor:
Ing Andrés Felipe Suárez
Grupo de Investigación en Percepción
y Sistemas Inteligentes.

Email:
Andres.suarez@correounivalle.edu.co
Tabla de Contenido
• Recordando lógica combinacional
– Algebra booleana
– Procedimiento de diseño
– Ejemplo.

• Lógica secuencial
– Realimentación
– Latch SR
– Flip-flop D
– Flip-flop JK
– Contador asíncrono
– Contador síncrono

• Aplicación
Algebra Booleana
• El algebra booleana es la matemática de los circuitos
lógicos, describe diferentes tipos de operaciones lógicas
sobre variables booleanas, que son aquellas que solo pueden
tomar dos valores: 0 ó 1 .

• Estos variables pueden representar, además de un número


binario, diferentes estados o situaciones:

• 0 = Falso, Apagado, Sin tensión, Interruptor Abierto


• 1 = Verdadero, Encendido, Tensión, Interruptor cerrado

• Reglas:

1. A +0=A 5. A +A=A 9. A=A


2. A +1=1 6. A +A=1 10. A + AB = A
3. A ·0=0 7. A ·A=A 11. A + AB = A + B
4. A ·1=A 8. A ·A=0 12. (A + B)(A + C) = A + BC
Procedimiento de Diseño
• El diseño de circuitos lógicos parte de la especificación del problema
y culmina en un diagrama lógico del circuito o en un conjunto de
funciones booleanas.

• Procedimiento:

1. Deduzca el número de entradas y salidas del circuito y asigne


un nombre a cada una.
2. Deduzca la tabla de verdad que define la relación entre las
entradas y las salidas.
3. Obtener las funciones booleanas simplificadas para cada
salida en función de las entradas.
4. Realizar el circuito lógico y verificar.
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

1. Identificar las entradas y las salidas

Circuito lógico

4 bits 1 bit

Nombres: a b c d Nombre = f
A3 A2 A1 A0
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1
detecte los números primos entre 0 0 1 0
el 0 y el 15 0 0 1 1
0 1 0 0

2. Relacionar las entradas y las 0 1 0 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0
el 0 y el 15 0 0 1 1
0 1 0 0

2. Relacionar las entradas y las 0 1 0 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1
0 1 0 0

2. Relacionar las entradas y las 0 1 0 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0

2. Relacionar las entradas y las 0 1 0 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1
Procedimiento de Diseño –
Ejemplo A B C D F
0 0 0 0 0
• Diseñar un circuito lógico que 0 0 0 1 1
detecte los números primos entre 0 0 1 0 1
el 0 y el 15 0 0 1 1 1
0 1 0 0 0

2. Relacionar las entradas y las 0 1 0 1 1

salidas: Tabla de verdad 0 1 1 0 0


0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte 0 0 1 0 1
los números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte 0 0 1 0 1
los números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte 0 0 1 0 1
los números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 +𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte los 0 0 1 0 1
números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte los 0 0 1 0 1
números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte los 0 0 1 0 1
números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 0 1 1 1 1
+𝐀𝑩𝑪𝑫 1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño – A B C D F
Ejemplo 0 0 0 0 0
0 0 0 1 1
• Diseñar un circuito lógico que detecte los 0 0 1 0 1
números primos entre el 0 y el 15
0 0 1 1 1
0 1 0 0 0
3. Deducir el circuito lógico 0 1 0 1 1
0 1 1 0 0
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫+ 0 1 1 1 1
𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫 1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 0
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫

F=
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫

F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪(𝑫 + 𝐃) + 𝑨 𝑩𝑫(𝑪 + 𝑪) +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫

Realizar factor
común ubicando
los términos con
mayor semejanza
para eliminar
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫


F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪(𝑫 + 𝐃)+ 𝑨 𝑩𝑫(𝑪 + 𝑪)+𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪+ 𝑨 𝑩𝑫+𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝐂𝐃 + 𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪𝑫 +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫


F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪(𝑫 + 𝐃) + 𝑨 𝑩𝑫(𝑪 + 𝑪) +𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫
F=𝑨 𝑩𝑪𝑫 + 𝑨 𝑩𝑪+ 𝑨 𝑩𝑫+𝐀𝑩𝑪𝑫 + 𝐀𝑩𝑪𝑫
F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪)+ 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫

De nuevo buscar
factores comunes
y aplicar las
reglas
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪)+ 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫


F=𝑨 𝑩 (C + 𝐃)+ 𝑩𝑫(𝑨 +𝑪)+𝐀𝑩𝑪𝑫
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪) + 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫


F=𝑨 𝑩 (C + 𝐃) + 𝑩𝑫(𝑨 +𝑪)+𝐀𝑩𝑪𝑫
F=𝑨 𝑩 C + 𝑨 𝑩 𝐃+ 𝑨 𝑩𝑫+𝑩𝑪𝑫+𝐀𝑩𝑪𝑫
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪) + 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫


F=𝑨 𝑩 (C + 𝐃) + 𝑩𝑫(𝑨 +𝑪)+𝐀𝑩𝑪𝑫
F=𝑨 𝑩 C + 𝑨 𝑩 𝐃+ 𝑨 𝑩𝑫+𝑩𝑪𝑫+𝐀𝑩𝑪𝑫
F=𝑩 C(𝑨 +𝐀𝐃)+ 𝑨 𝑫(𝑩 + 𝑩) +𝑩𝑪𝑫
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪) + 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫


F=𝑨 𝑩 (C + 𝐃) + 𝑩𝑫(𝑨 +𝑪)+𝐀𝑩𝑪𝑫
F=𝑨 𝑩 C + 𝑨 𝑩 𝐃+ 𝑨 𝑩𝑫+𝑩𝑫C+𝐀𝑩𝑪𝑫
F=𝑩 C (𝑨 +𝐀𝐃)+ 𝑨 𝑫(𝑩 + 𝑩) +𝑩𝑪𝑫
F=𝑩 C (𝑨 +𝐃)+ 𝑨 𝐃+𝑩𝑪𝑫
Procedimiento de Diseño –
Ejemplo
• Diseñar un circuito lógico que detecte los números primos entre
el 0 y el 15

4. Reducir y dibujar el circuito.

F=𝑨 𝑩 ( 𝑪𝑫 + 𝑪) + 𝑩𝑫(𝑨 +𝐀𝑪)+𝐀𝑩𝑪𝑫


F=𝑨 𝑩 (C + 𝐃) + 𝑩𝑫(𝑨 +𝑪)+𝐀𝑩𝑪𝑫
F=𝑨 𝑩 C + 𝑨 𝑩 𝐃+ 𝑨 𝑩𝑫+𝑩𝑫C+𝐀𝑩𝑪𝑫
F=𝑩 C (𝑨 +𝐀𝐃)+ 𝑨 𝑫(𝑩 + 𝑩) +𝑩𝑪𝑫
F=𝑩 C (𝑨 +𝐃)+ 𝑨 𝐃+𝑩𝑪𝑫
F=𝑨 𝑩C+𝑩C𝐃+ 𝑨 𝐃+𝑩𝑪𝑫
Lógica Secuencial: Latch,
Flip-Flop y Temporizadores
Lógica Secuencial
• Los circuitos vistos hasta el momento son combinacionales,
es decir, que dependen únicamente de las entradas que
actualmente se le estén aplicando al sistema.

• Aunque cada sistema digital debe tener circuitos


combinacionales, la mayoría de los circuitos en la práctica
requieren de elementos de memoria, y ahora el circuito va
ha depender además de las entradas, del estado anterior
del sistema.
Salidas
Entradas Circuito
Combinacional
Elementos
de memoria
Realimentación en Circuitos
Lógicos
• Al introducir una realimentación sobre un circuito lógico se
proporciona memoria a los circuitos lógicos
Realimentación en Circuitos
Lógicos
• Una forma de “limpiar el registro” (esto es, borrar la
memoria) es añadiendo unos componentes de la siguiente
manera:
Lógica Secuencial – Latch SR
• Los Latch son circuitos secuenciales asíncronos.

• Esta compuesto de 2 entradas R representando el RESET y S


representando el SET.

• Cuando se construye con compuertas NAND se activa con


niveles bajos y con NOR con niveles altos.
R S Q Q´
0 1 0 1
1 0 1 0
Activo bajo
1 1 Q Q´
0 0 Estado no
definido
Lógica Secuencial – Latch SR

• El símbolo del lach SR es la caja negra de la figura

R S Q Q´
0 1 0 1
1 0 1 0
1 1 Q Q´
0 0 Estado no
definido
Lógica Secuencial – Latch SR
con Habilitación
• La salida no cambia hasta que la entrada EN este en ALTO y
habilite el circuito, se muestra un ejemplo de latch con
compuertas NOR
Lógica Secuencial – Latch D

• Una única entrada de datos D, se cambia el estado si EN está


en ALTO, se elimina el estado indefinido

EN D Q Q´
0 1 Q Q´
0 0 Q Q´
1 1 1 0
1 0 0 1

EN D Q Q´
0 x Q Q´
Simplificada 1 D D 0
Lógica Secuencial – Latch D

• 74XX75. Se pueden almacenar 4 bits


Lógica Secuencial
• Ya se mostraron dispositivos de memoria, pero para que sean
del tipo secuencial se requiere de una señal de
síncronización denominada la señal de RELOJ (CLK)

Entradas . . Salida
. Lógica .
Combinatoria

Elementos de
Memoria
Clock (Flip-Flops)
Lógica Secuencial – Flip-Flop SR

• Los flip flops son dispositivos disparados por flanco, de salida


síncrona que implica que para realizar un cambio en su
estado requiere de una señal de reloj (CLK)

S R CLK Q
S
Q 0 0  Qo memoria
Pulse
CLK
transition
detector
0 1  0 reset

Q' 1 0  1 Set
R
1 1  ? invalida

 : Flanco de reloj
Lógica Secuencial – Flip-Flop D
• Es útil cuando se requiere almacenar un único bit.

D CLK Q Q
D Q
0  0 1

1  1 0
CLK Q
 : Flanco de reloj
Lógica Secuencial – Flip-Flop D,
Entradas Asíncronas
• Se tienen 2 entradas adicionales que actúan sin PR
reloj para inicializar el estado del flip-flop, PR D Q
(Preset) coloca un 1 en Q y el CLR (Clear) un 0

CLK Q
CLR

PR CLR CLK D Q Q´
PRESET CLEAR CLOCK DATA

1 1  0 0 1
1 1  1 1 0
0 1 X X 1 0 Asynchronous Preset
1 0 X X 0 1 Asynchronous Clear
0 0 X X 1 1 ILLEGAL CONDITION
Lógica Secuencial – Flip-Flop JK

• Es el más versátil y el más usado, se elimina el estado


indefinido del flip-flop SR

J K CLK Q
J Q
Q0 No
CLK 0 0 
Change

K Q 0 1  0 Clear

1 0  1 Set
Q0
1 1  Toggle

 : Rising Edge of Clock


Q : Complementof Q
Lógica Secuencial – Contador
Asíncrono
• Con asíncrono se refiere a que los sucesos no tienen una
relación temporal fija entre ellos.
Lógica Secuencial – Contador
Asíncrono
• Se puede expandir para contar hasta el número requerido, con
tres flip-Flops JK se puede contar hasta 7.
• Contadores asíncronos tienen problemas si la frecuencia de
reloj es alta.
Lógica Secuencial – Contador de
Décadas Asíncrono
• Un contador tiene la capacidad para contar hasta 2N donde N
es el número de flip-flops. Se pueden configurar para contar
hasta un número menor a 2N haciendo uso del la señal de CLR
asíncrona.
• Ejemplo: Contador de década de 0000 hasta 1001, para ser
usado con un decodificador y un display de 7 segmentos.
Lógica Secuencial – Ejemplo
Contador
• Ejemplo: Generar un contador de módulo 12, es decir que
cuente desde 0000 hasta 1100
Lógica Secuencial – Contador
Comercial
• Una referencia comercial como contador de 4 bits se
encuentra el 74xx93.
Lógica Secuencial – Contador
Síncrono Binario
• Los flip-flops comparten la
misma señal de reloj.

• Los cambios en las salidas se


producen al mismo tiempo.

• No existe la desventaja del


efecto dominó (ripple effect).
Lógica Secuencial – Aplicaciones
del Contador

Acondicionamiento
de Señal
Lógica Secuencial – Registro de
Desplazamiento

• Los datos que ingresan son desplazados la


cantidad de flip flops que hay en el circuito.
Lecturas Complementarias
• Capítulos 5 y 6, John F. Wakerly, «Diseño Digital Principios y
Prácticas», Prentice-Hall, 2001.

• Capítulos 7 - 9, Thomas Floyd, «Fundamentos de Sistemas


Digitales», Pearson, 2006.
Preguntas?

También podría gustarte