You are on page 1of 114

SISTEMAS DIGITALES SECUENCIALES

GEORFFREY ACEVEDO GONZÁLEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD


FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
MEDELLÍN 2008

Actualización del 11 de enero de 2008

Para recibir actualizaciones y anexos de este material se debe dirigir la solicitud al e-


mail: georffrey.acevedo@unad.edu.co
General
MÓDULO
SISTEMAS DIGITALES SECUENCIALES
PRIMERA EDICIÓN
Editor de texto OpenOffice 2.3.1

© Copyright
Universidad Nacional Abierta y a Distancia

ISBN

2008
Medellín, Colombia

2 __________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com
¡OH dicha de
entender, mayor que la de
imaginar o la de sentir!
Borges.

El curso de Sistemas Digitales Secuenciales, es un curso introductorio en el


a apasionante tema de la electrónica Digital Secuencial. Ha sido diseñado para ser
un curso de tercer nivel en los programas de Ingeniería o Tecnología Electrónica.

Para leer el módulo se necesitan los conceptos básicos de la teoría


conjuntos, la lógica proposicional, álgebra Booleana, las técnicas de simplificación
de Mapas de Karnaugh y analítica al igual que los conceptos básicos de
electrónica digital combinacional, como lo son los diferentes tipos de compuertas y
el diseño de circuitos de aplicación.

La intención es que el estudiante pueda aprender de este módulo por sí


mismo, en este sentido es un texto escrito más para los estudiantes que para el
profesor y tiene la pretensión de motivar la generación de preguntas antes de
comenzar a ofrecer cualquier información.

Los sistemas digitales secuenciales introducen el concepto de memoria a


los circuitos combinacionales, lo que nos permitirá dar solución a nuevos y
apasionantes problemas.

La posibilidad de recordar el estado actual y “tomar una decisión” para


entregar luego una salida abre el abanico de las posibilidades en el diseño de
dispositivos digitales electrónicos, tanto en el control de procesos industriales como
en la electrónica de consumo.

El área del conocimiento que corresponde este curso académico es ciencias


básicas e ingeniería, específicamente el campo de formación profesional
específico, adquiriendo importancia, pues es el encargado de fundamentar el
estudio de los sistemas digitales que conservan la “memoria” de sus estados
anteriores, condición que permite el diseño de circuitos que pueden establecer
secuencias.

Tiene como propósito que el estudiante domine los conceptos básicos sobre
almacenamiento y procesamiento de información digital; así, el estudiante estará
en capacidad de realizar diseños básicos usando temporizadores, comprenderá las
secuencias y protocolos para el almacenamiento y lectura en memoria, diseñará
contadores y estará en capacidad de seguir un proceso adecuado en el diseño de
circuitos secuenciales.
Algunos aspectos esenciales, que resalta el curso son:

Aplicar las etapas del diseño de circuitos digitales secuenciales para la


solución de problemas propios del campo de aplicación de la Electrónica Digital a
nivel de Ingeniería y de Tecnología.
Conocer las diferentes herramientas del diseño que sirven como
componentes básicos para el desarrollo de dispositivos electrónicos digitales.

Mediante el desarrollo de las unidades didácticas se pretende ubicar al


estudiante en un ambiente ideal para la apropiación de conceptos y destrezas
indispensables para la comprensión y diseño de sistemas digitales secuenciales y
sus aplicaciones en la solución de problemas prácticos. Este desarrollo de
habilidades y competencias propias del área digital tendrá aplicables en otros
campos de su formación que permitirán proyectar el curso como herramienta vital
en el campo de la investigación.

Que estas páginas os brinden muchas horas de diversión.

Agradezco a todos los estudiante y tutores su valiosa colaboración.

Georffrey Acevedo G.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

2
Sistemas Digitales Secuenciales

CONTENIDO

Unidad 1

INTRODUCCIÓN A LAS UNIDADES DIGITALES BÁSICAS DE


ALMACENAMIENTO

capítulo 1 Conceptos previos


Álgebra de variables lógicas
Tablas de verdad
Función de variables lógicas
Funciones de dos variables
Compuertas lógicas
Tecnología TTL y CMOS
Teoremas para dos variables
MInterms y Maxterms
Diseño de un Multiplexor en VHDL

capítulo 2 Almacenamiento en registros


-objetivo general
-objetivos específicos
LATCH
-compuerta or
LATCH set
LATCH reset
LATCH set-reset
-diseño
-símbolo
-tabla de verdad
-diagrama de estados
LATCH sr con línea de control
LATCH tipo data
-vhdl latch tipo data
LATCH d con señal de control
LATCH tipo jk
LATCH tipo jk con señal de control
LATCH tipo toggle
LATCH tipo t con señal de control

3
capítulo 3 Aplicaciones al diseño de Multivibradores

Circuitos Multi-vibradotes
Circuitos de tiempo
-Módulo temporizador de precisión 555
-555 como astable:
- Frecuencia de oscilación
-555 como monoestable

Unidad 2 FLIP-FLOPS y DISEÑO DE MAQUINAS DE ESTADO

capítulo 1 Flip-Flops

Flip-Flop activos por flanco positivo y flanco negativo


-Flip-Flop activo por flanco Positivo
-Flip-Flop activo por flanco Negativo
Circuitos generadores de Flanco
Diseño de Sistemas Síncronos en VHDL
VHDL Flip-Flop Data con circuito detector de Flanco
Circuitos generadores de Flanco
Diseño de circuitos generadores de flanco
-Señal de reloj a la salida del circuito detector de flancos de
bajada
-Señal de reloj a la salida del circuito detector de flancos de
subida
-Circuito detector de Flanco de Subida
-Circuito detector de Flanco de Bajada
VHDL Flip-Flop Data Sícrono
Circuitos de PRESET y RESET asíncronos:
VHDL F-F tipo D con puesta a cero y a uno asíncronas:

capítulo 2 Aplicaciones de los Flip-Flop

Almacenamiento paralelo de datos


División de frecuencia
Contadores
Contadores Asíncronos
VHDL Circuito Contador Ascendente O Descendente
VHDL Definición de paquetes

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

4
Sistemas Digitales Secuenciales

Capítulo 3 Modelo de un circuito secuencial


-Etapas del diseño de circuitos
-Etapa lógica
-Etapa de memoria
-Circuito secuencial sincronizado
-Diagrama de estados
-Tabla de estados
-Tabla de estado futuro

Capítulo 4 Circuitos Moor y Meeley


Etapas del diseño
-Diagrama de estados
-Identificación del Número de estados
-Tabla de estados
-Asignación de estados
-Tabla de transición
Memorias
-Bus de dirección
-Bus de datos
-Señales de control

Anexos

Anexo A – Instalacón de Xilinx 7.1i


Anexo B – Cómo crear un proyecto esquemático en Xilinx 7.1i

5
Unidad 1
Introducción a las unidades digitales
básicas de almacenamiento

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

6
Sistemas Digitales Secuenciales

OBJETIVO GENERAL

Estudiar, analizar y profundizar los conceptos fundamentales de la teoría del


diseño y manejo de datos, mediante cerrojos, y el almacenamiento en Latches,
Latch S-R, Latch D, Flip flops disparados por flanco (Flip- Flop Maestro esclavo,
Flip-Flop tipo JK, Flip-flop tipo Toggle, Flip-flop tipo Data, con aplicaciones con
Monoestables, astables, y por último en cada capítulo se aplicará al diseño en
FPGA y programación en VHDL.

OBJETIVOS ESPECÍFICOS

1.Identificar los dispositivos de almacenamiento básicos.


2.Distinguir las diferentes clases Latch.
3.Representar una función usando diagramas de tiempos.
4.Realizar diseños usando LATCH.
5.Aplicar los diagramas de tiempo para el análisis de un circuito secuencial.

7
Capítulo 1:

Fase de reconocimiento

En esta lección reforzaremos algunos conceptos de Sistemas Digitales Básicos y


VHDL que se deben tener para poder hacer la lectura significativa del curso:

Álgebra de variables lógicas:

Características de las variables lógicas:

La variable lógica debe ser excluyentes:


Debemos poder determinar su valor de verdad, definiéndola como verdadera o
falasa.

La variable lógica debe ser diferenciable:


Debeos poder decir con claridad si son o no son verdaderas o falsas. (Que la
variable exprese sentencias claras). Por ejemplo:

P = La temperatura es de 250C.

Esta es una variable de la cual podemos afirmar con claridad que sea verdadera o
falsa.

Los valores de verdad podemos representarlos así:

Verdadera = ON = VERDE = 1

Falasa = OFF = ROJO = 0

Como los valores de verdad son mutuamente excluyentes podemos usar la


siguiente representación:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

8
Sistemas Digitales Secuenciales

_____
Verdadero = Falso
_________
Falso = Verdadero
Aquí la línea horizontal representa la negación del valor que tiene debajo.

Representación de las variables lógicas:


Para representar las variables lógicas usamos las últimas letras del alfabeto como
p, q, r, s, t. v. x. y. z.

Si usamos como variable lógica la p, ésta podrá tomar uno sólo de los valores de
verdad del conjunto:
{verdadero, falso}.

Es decir que p puede ser verdadera o falsa pero no tener los dos valores de
verdad al mismo tiempo de acuerdo a la propiedad de ser excluyente.

Tablas de verdad:
Una tabla de verdad esta constituida por los posibles valores de la variable lógica y
las posibles funciones de la variable.

Variables Función
Posibles Posibles
Valores de Valores de
Verdad de la Verdad de la
variable función

Función de las variables lógicas:


La función de dichas variables lógicas la representamos comúnmente por la letra
F. Y está determinada por su tabla de verdad.

Función de una variable lógica:


F(p) = se lee “efe de P”. Y será la función de la variable lógica p. F(p) al igual que
p también toma un valor de verdad del conjunto:

{verdadero, falso}.

Pero dicho valor de verdad siempre estará determinada por el valor de verdad de
la variable p. En otras palabras F(p) depende del valor de p.

9
F(p) = Verdadero.
F(p) = Falso.

Observemos como en la siguiente tabla de la función, las posibles funciones de la


variable son en total 4.

Este número de posibilidades podemos calcularlo como 22.

Posibles Variable. Posibles funciones de la variable


p F1(p) F2(p) F3(p) F4(p)
F F V F V
V F F V V

En términos de la variable p, estas funciones podemos definirlas como sigue:

F1(p) = F
__
F2(p) = p

F3(p) = p

F4(p) = V

Funciones de dos variables p y s:

Las posibles funciones de las variables son en total 16. Este número de
posibilidades podemos calcularlo como 24, en donde el cuatro son el número de
posibles combinaciones verdadero y falso para dos variables es así:

(Dos valores de verdad)22 (dos variables)

p s F1(p,s) F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16


F F F V F V F V F V F V F V F V F V
F V F F V V F F V V F F V V F F V V
V F F F F F V V V V F F F F V V V V
V V F F F F F F F F V V V V V V V V

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

10
Sistemas Digitales Secuenciales

En términos de la variable p y de s, estas funciones podemos definirlas como


sigue:

F1(p,s) = F
F2(p,s) = p NOR s
F3(p,s) = (p EXOR s). s
F4(p,s) = No p
F5(p,s) = (p EXOR s). p
F6(p,s) = NO s
F7(p,s) = p EXOR s
F8(p,s) = p NAND s
F9(p,s) = p AND s
F10(p,s) = p EXNOR s
F11(p,s) = s
F12(p,s) = NO[(p EXOR s). p]
F13(p,s) = p
F14(p,s) = NO[(p EXOR s). s]
F15(p,s) = p OR s
F16(p,s) = V

Las funcione subrayadas corresponden a las funciones más utilizadas, las cuales
especificaré a continuación:

P S NO P P AND S P OR S P EXOR S
F F V F F F
F V V F V V
V F F F V V
V V F V V F

Nemotécnicamente podemos definirlas así:

AND: Verdadero-verdadero para ser verdadero...... x


OR: Falso-falso para ser falso.............. +
EXOR: Iguales para ser falso. .......... ⊕

11
Funciones de más de dos variables lógicas:

Son las funciones que para establecer su valor de verdad dependen de más de
dos variables lógicas:

Ejemplo:
Representación de una función de tres variables lógicas:

Primero debemos determinar el número de las posibles combinaciones de valores


de verdad para las tres variables, que en este caso denominaremos A, B y C. Y los
valores de vedad los representaremos por 1 para Verdadero y 0 para falso.

Como se trata de combinara 3 variables lógicas diferentes, y los valores de verdad


posibles son dos Verdadero y Falso, son necesarias:

23 = 8 Ocho combinaciones posibles.

Ahora sí podemos construir la tabla de verdad para la función:

A B C F(A,B,C) = Z
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Z, está definida por todos aquellos valores que la afirman. Es decir únicamente por
los valores que observamos resaltados en la tabla de verdad.

Representación gráfica de las funciones lógicas:

Por comodidad usaremos las letras A y B para representar las variables:

La representación gráfica de las funciones coincide con la representación en


diagrama de bloque de un sistema:

Señales de Función
entrada COMPUERTA OUT
__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

12
Sistemas Digitales Secuenciales

1-Función Inversora. (Invierte el valor de verdad de las funciones lógicas)

A Ā

2-Función AND.
Es equivalente a decir: A and B = A . B = AB

A
A and B
B

3-Función OR.
Es equivalente a decir: A or B = A + B

A
A+ B
B

3-Función XOR.
Es equivalente a decir: A xor B = A B
A
B A B

4-Función BUFFER.
Mantiene la señal.

A Ā

5-Función NAND.
13
A
A and B
B

6-Función NOR.

A
A+ B
B

7-Función EXNOR.

A
B A B

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

14
Sistemas Digitales Secuenciales

Tecnología TTL y CMOS:

TTL:
Significa tecnología de transistor a transistor y maneja los siguientes umbrales de
voltaje para determinar el 1 o el 0 lógico en sus entradas:
5V Hmáx

2V Hmín 1 lógico

0.8V Lmín Margen de


seguridad.
0 lógico

CMOS:
Significa tecnología metal oxido semiconductor y maneja los siguientes umbrales
de voltaje para determinar el 1 o el 0 lógico en sus entradas:

5V Hmáx

3.5V Hmín 1 lógico

Margen de
1.5V Lmín seguridad.
0 lógico

La notación de los valores de verdad tendrá entonces la siguiente representación:

1 para el VERDADERO
0 para el FALSO

Haciendo uso de estas representaciones y de esta notación, podemos representar


la función Z de una variable lógica así:

1. Definimos la función Z por su tabla de verdad,

15
La función Z como vimos, está definida arbitrariamente. Pero dependerá de los
valores de verdad de las variables A; B y C tal y como lo determine la tabla de
verdad siguiente:
B C F(A,B,C) = Z
A
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

2. Recordemos que Z, está definida por todos aquellos valores que la afirman.
Es decir únicamente por los valores que observamos resaltados en la tabla de
verdad.

La función Z es: Z = A’B’C + A’BC + AB’C + ABC

El circuito lógico de la variable Z es como sigue:

A BC A’ B’C’ Z

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

16
Sistemas Digitales Secuenciales

Representación en diagramas de bloques:

CIRCUITO
LOGICO

Técnicas De Simplificación

Teoremas del álgebra Booleana:

I- Teoremas para una variable:


A = A

A+0 = A

A+1 = 1
A+ A = A

A+A = 1
Teoremas Duales:
A.0 = 0

A.1 = A

A.A = A

A.A = 0

A manera de nemotectnia, observemos como las operaciones de suma y producto


coinciden para las funciones OR y AND:

0+
= 0 0. 0 = 0
0
0+ 0.
= 1 = 0
1 1
1+ 1.
= 1 = 1
1 1

17
Teoremas para dos variables:

1) A + AB = A
Demostración: A(1 + B) = A(1) = A

2) A + AB = A + B
Demostración: A + AB +AB = A + B(A + A) = A + B
(Aplicando el criterio anterior).

3) AC + AB + BC = AC + AB

4) AC + AB = (A + B)(A + C)

Teoremas DUALES para dos variables:

1) A(A + B) = A

2) A(A + B) = AB

3) (A + C)(A + B)(B + C) = (A + C)(A + B)

4) (A + C)(A + B) = AB + AC

Observemos que el truco para obtener estas funciones consiste en cambiar + por *
y * por +. Esto es gracias al teorema de Morgan.

Teorema de Morgan:

A.B.C = A + B + C

Igualmente podemos expresar el teorema en su dualidad:

A + B + C = A. B. C

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

18
Sistemas Digitales Secuenciales

Formas estándar de las funciones lógicas:

Las funciones lógicas se pueden expresar como suma de productos o productos


de sumas lógicas. Estos productos son llamados estándar, es decir, involucran
todas las variables. Ejemplo:
A B C F(A,B,C) = Z
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Como suma de productos:


Z estará dada por los valores de Z que la hacen verdadera (1)

La función Z es: Z = A’B’C’ + A’B’C + A’BC + AB’C + ABC’ + ABC

Como producto de sumas:


Z estará dada por los valores de Z que la hacen falsa (0). Pero al contrario de del
caso anterior, las variables se complementan donde están afirmadas y no se
complementan donde están negadas.

La función Z es: Z =(A + B’ + C) (A + B’ + C’)

Las representaciones anteriores de Z reciben el nombre de Minterms y Maxterms:

Z como Minterms mi: Z = Σ(m0 , m1 , m3 , m5 , m6 , m7 )

Z como Maxterms mi: Z = ΠM(2,4)

Niveles de integración de los circuitos digitales básicos


Según el número de puertas lógicas los circuitos integrados se clasifican como:
Nombre Significado Compuertas lógicas
SSI Small-scale-integrated <12
MSI Medium-scale-integrated 12 - 100
LSI Large-scale-integrated 100 - 1000
VLSI Very-large-scale-integrated

Un ejemplo de SSI es la 7408, de MSI un multiplexor y de LSI una memoria.

19
DECODIFICADOR PARA DISPLAY

Display de 7 segmentos:

a a

f b f b
g g

e c e c

d d
Ánodo Cátodo
común común Integrado
a

7447 7448 Usar

Internamente, se trata de siete diodos dispuestos de la siguiente manera


respectivamente:

Vcc

R R
E E
S S

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

20
Sistemas Digitales Secuenciales

Diseño de un Multiplexor en VHDL:

En esta lección haremos un reconocimiento de los conocimientos adquiridos en


sistemas digitales básicos sobre VHDL, para lograr nuestro objetivo diseñaremos
un multiplexor dos a 1 en VHDL, retomando y analizando las etapas del programa:

Recordemos que un circuito multiplexor 2 a 1 permite seleccionar entre dos


canales de entrada cual será el canal que podrá salir por la única línea de salida:

MULTIPLEXOR 2 a 1

Canal A

Salida un
único canal

Canal B

Selecciona la salida
( Es la señal de control)

Selecciona el
canal A con 0 y el
Canal B con 1

Este es un circuito de multiplexión en el tiempo (TDM) muy común en


telecomunicaciones; imaginemos que Venn y Aristóteles desean comunicarse de
Natunga a Macondo pero entre los dos destinos sólo existe un único canal de
comunicaciones. ¿Cómo usar este único canal para que las dos personas puedan
estar en comunicación con Macondo al mismo tiempo? ....La solución es muy
simple: permitimos que Aristóteles se comunique por unas fracciones de segundo y
que en la siguiente fracción de segundo lo haga Venn, pero debemos hacerlo a
una velocidad tal que los usuarios no se percaten del asunto.

La tarea de conectar y desconectar rápidamente los canales A y B (usuarios de


Natunga) de la única señal de salida es realizada por el circuito multiplexor.

21
Veamos la tabla de estados:

Tabla de estados:
Caso A B Control C Salida
0 0 0 0 0
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 1

Obtengamos la función lógica:


(Puedes repasar estos conceptos en el captítulo de Álgebra Booleana del módulo
de Lógica Matemática y complementarlos con el Módulo de Sistemas Digitales
Básicos)

f(A,B,Control) = A'BC + AB'C' + ABC' + ABC


Simplificación:
f(A,B,Control) = (A'BC + ABC) + (AB'C' + ABC')
f(A,B,Control) = BC(A' + A) + AC'(B' + B)
f(A,B,Control) = BC(1) + AC'(1)
f(A,B,Control) = BC + AC'

Recordimos que el algoritmo en VHDL consta de básicamente tres etapas:

1. Definición de las librerías

2. Declaración de las variables de entrada y salida

3. Arquitectura, donde se describe el comportamiento lógico del sistema.

A continuación hacemos la descripción detallada de éstas etapas.. (No olvides


retomar todos éstos conceptos en el módulo de Sistemas Digitales Básicos).

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

22
Sistemas Digitales Secuenciales

Agoritmo en VHDL:

Definiciones:
Librerías y paquetetes a utilizar
ieee. : Librería a utilizar
library ieee; std_logic_1164.all: Paquete a utilizar; más completo que el tipo
use ieee.std_logic_1164.all; bit, al incluir los estados de alta impedancia y de no importa.

Entidad
entity MUX2a1_a is port( Donde se definen las señales de entrada y salida del sistema:
A, B: in std_logic;
A SISTEMA
C: in std_logic;
Y: out std_logic); IN B Y OUT
end MUX2a1_a; f(A, B, C)
Sel

architecture funcionamiento of MUX2a1_a is


begin
Arquitectura
Y<= ( B and C ) or
( A and not(C) ); Donde se define la función del circuito
end funcionamiento;
Funición del sistema:
f(A, B, C) = Y = B*C + A*~C

Otra forma de resolverlo es:

library ieee;

use ieee.std_logic_1164.all;

entity mux2a1 is port(


entrada: in std_logic_vector(3 downto 0); --Definimos las entradas A, y B
control: in std_logic; --Definimos las señales ce dontrol C1
y: out std_logic);
end mux2a1;

23
architecture archmux2a1 of mux2a1 is
begin
p1: process (entrada,control)
begin
case control is
when "0" => y<=entrada(0);
when "1" => y<=entrada(1);
when others => y<=entrada(0);
end case;
end process;
end archmux2a1;

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

24
Sistemas Digitales Secuenciales

Capítulo 2:

Almacenamiento en Registros

Sistema Secuencial

Sistema
Combinacional

Sistema de
Retroalimentación

25
Lección 1. Latch

En esta lección aprenderemos a diseñar una unidad básica de almacenamiento a


partir de los conocimientos adquiridos en el curso de sistemas digitales básicos.

1.1.1 LATCH

Un LATCH es la unidad de almacenamiento básico es y la unidad fundamental


para construir los diferentes tipos de FLIP-FLOP que estudiaremos más adelante.

Partamos de considerar un LATCH como un sistema con una variable de entrada y


una variable de salida, tal y como se muestra en la siguiente figura:

Entrada LATCH Salida


IN OUT
Figura 1

Estamos buscando diseñar un circuito que permita el almacenamiento de la


mínima unidad lógica, es decir, de un bit. Esto es, pretendemos diseñar un circuito
que nos permita almacenar un uno lógico o un cero lógico. En otras palabras,
queremos almacenar o retener 5Voltios ó 0Voltios en un punto específico de un
circuito hasta que lo deseemos.

La pregunta ahora es, ¿qué utilidad práctica podría tener dicho circuito digital?,
¿De qué puede servirnos almacenar un dígito?

Dejemos volar la imaginación y propongamos una aplicación a nuestro primer


circuito digital de almacenamiento de un bit:

Resulta que nuestro amigo Boole ha puesto en la jaula de su hermoso canario un


nuevo columpio pero ha pasado horas sin lograr determinar si su canario hace o no
uso del nuevo juguete. ¿Cómo podemos ayudar a Boole con ésta fatigante tarea?

Circuito
Figura 2
Señal de entrada Señal de salida
__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

26
Sistemas Digitales Secuenciales

Muy bien, ya tenemos nuestro primer problema por resolver, ahora procederemos
a diseñar un sistema tal que una luz permanezca encendida una vez que nuestro
canario halla hecho uso del columpio.

Necesitamos entonces que la luz no se apague hasta que Boole la observe.


¿Cómo podemos hacer uso de la electrónica digital para crear nuestra primera
unidad de almacenamiento de información?

Para dar inicio al proceso de diseño debemos hacer un repaso de algunos de los
conceptos aprendidos en el curso de Sistemas Digitales Básicos y lógica
Matemática. El primer concepto que repasaremos es el de las compuertas OR.

Repaso: COMPUERTA OR:


Recordemos los posibles valores de verdad para la compuerta OR, nuestra unidad
fundamental en el diseño de un LATCH:

Las señales de entrada a la compuerta lógica OR son respectivamente P y Q. La


salida depende del estado lógico de la entrada, ésta será cero cuando ambas
entradas sean cero, es decir, basta con que una de las entradas se active, P ó Q
para que la salida también esté activa:

P
PνQ
Q
Figura 3
Compuerta OR

P Q PνQ
TABLA DE 0 0 0
VERDAD 0 1 1
1 0 1
1 1 1

1.1.1.1 LATCH SET

LATCH que tiene una señal de entrada que obliga a la salida a tomar el valor de
uno (1). Esta diseñado con una compuerta OR, aunque también puede ser
diseñado por compuertas AND. Lo que hacemos a continuación es introducir un
laso de retroalimentación de la señal de salida Q a la señal de entrada P en la
compuerta OR, tal y como se muestra en la figura 4:

27
0
Q
S 0
0 Estado Inicial,
todo en Cero
Figura 4 LATCH SET

El estado inicial de la compuerta OR es el de todas sus señales de entrada y salida


en cero lógico.

De acuerdo con la tabla de verdad para la OR cualquier uno en las entradas


obligará un uno en la salida, este uno de la salida Q será retroalimentado hacia la
entrada como se muestra en la figura 5:

1
Q
S 1 El uno de la salida Q
1 se retroalimenta a la
Figura 5 entrada
LATCH SET

Observamos que poner S =1 obligó a que la salida Q se convirtiera en 1

Suponiendo que la señal de entrada S se pone en alto cuando el canario se posa en el nuevo
columpio, logramos que la salida Q correspondiente a la bombilla se ponga también en alto
(encienda), ahora necesitamos que este estado alto de la bombilla se conserve hasta que
nuestro amigo Boole así lo determine.

Para verificar que el sistema conserva el estado alto en la salida (Bombilla


encendida) supongamos que el canario se retira del columpio produciéndose una
señal de cero en la entrada S del sistema. ¿Continuará la bombilla encendida?
Veamos:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

28
Sistemas Digitales Secuenciales

Finalmente llevemos la entrada S a cero observemos lo que pasa:

1
Q
S 1 El uno que
0 permanece en la
entrada, obliga un
LATCH SET
uno en la salida Q,
sin importar el
Figura 6 nuevo estado de S

Logramos memorizar un 1 en la salida Q del circuito, ya que ésta salida no


cambiará, es decir, la bombilla no se apagará aunque el canario se retire del
columpio o se vuelva a posar en él.
115VAC
Veamos como queda el sistema:
5V
Circu
ito de
acopl
e de
poten
cia.
S
Q
Etapa de acople de
Señal de entrada potencia con
Optoacoplador y
Triac
Al posarse el ave la entrada S se
desconecta de tierra produciendo un 1
lógico en la entrada de la compuerta
TTL

Figura 7
¿Qué deberá hacer Boole para apagar el LED y la Bombilla?.

29
Una vez que el estado lógico alto queda almacenado en el circuito es imposible
apagar la bombilla por medio de un cambio en nuestra única señal de entrada S,
Boole deberá desenergizar el circuito digital, es decir, deberá interrumpir el
suministro de energía de 5 Voltios.

Boole ha encontrado que el canario tiene miedo de usar el balancín, para obligar a
usarlo, Boole desea ahora que el sistema funcione al contrario, es decir, que la
bombilla permanezca encendida hasta que el canario se pose en el columpio.
Dado que al canario no le gusta la presencia de la luz, Boole espera que el canario
aprenda a apagarla parándose en el columpio. Igual que en el sistema anterior la
bombilla debe permanecer apagada a pesar de que el canario se retire del
columpio.

Para dar solución a este nuevo reto, procedemos a diseñar el Latch Reset:

Esta vez la
bombilla
inicia
encendida

Circuito

Señal de entrada Señal de salida


Lección 2. Latch Reset

1.1.1. 2 LATCH RESET

LATCH que tiene una señal de entrada que obliga a la salida a tomar el valor de
cero (0).

Para el diseño de este nuevo LATCH es necesario que recordemos la función


lógica de la compuerta NOT:

P P ~P TABLA DE
P’
VERDAD
0 1
1 0
__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

30
Sistemas Digitales Secuenciales

Figura 8 Compuerta NOT

Para este diseño, partimos del LATCH SET en su estado inicial:

0
Q
S 0
0 Estado Inicial,
todo en Cero
Figura 9 LATCH SET

Adicionamos dos inversoras, lo que no producirá ninguna alteración en la salida:

0 Q ~Q
Q
S 0
0
Figura 10
Ahora convertiremos la señal intermedia ~Q en la nueva señal de salida:

0
Figura 11 Q
R ~Q
0 1
0
Ahora cambiemos el estado de R (de Cero a Uno ) y veamos que pasa:

1
Q
R 1
~Q
0
1
Figura 12
LATCH RESET 31
Como en el caso del LATCH SET, al cambiar nuevamente el estado de R
observaremos que el 1 a la entrada de la OR no permitirá el cambio en el estado
de la salida de ésta, permaneciendo ~Q en 0, y este estado se mantendrá hasta
que el circuito sea desenergizado.

Redibujemos el LATCH RESET:

Q
R
LATCH RESET

Dibujando nuevamente todo el sistema tendremos que al posarse el ave en el nuevo columpio se
apagará la bombilla y a pesar de que el ave se retire, la bombilla no volverá a encender:
115VAC

5V Circu
ito de
acopl
e de
poten
cia.
Q
R

Etapa de acople de
Señal de entrada potencia con
Optoacoplador y
Triac
Al posarse el ave la entrada S se
desconecta de tierra produciendo un 1
lógico en la entrada de la compuerta
TTL

¿Qué debe hacer Boole ahora para activar nuevamente el sistema, es decir de
apagar la bombilla en el caso de usar un LATCH SET o de encender nuevamente
la bombilla en el caso de usar un LATCH RESET si no desea interrumpir el
suministro de corriente del circuito digital?

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

32
Sistemas Digitales Secuenciales

Como te habrás dado cuenta, el hecho de tener que desenergizar “desconectar” el


circuito para retornarlo a su estado original, puede resultar en un inconveniente.
Para solucionar esto, hagamos un nuevo diseño: El Latch Set-Reset, un circuito
tal que permita el cambio de estado de la salida sin necesidad de interrumpir el
suministro de energía al circuito digital:

Lección 3. Latchset- reset

1.1.1. 3 LATCH SET- RESET

Es el LATCH que tiene dos entradas, una entrada que obliga a la salida a tomar el
valor de cero (0) y otra entrada que obliga a la salida a tomar el valor de uno (1).

Para su diseño, partimos del LATCH SET:

0
Q ~Q Q
S 0
0
Figura 14

Recordemos que por medio de una compuerta OR podemos diseñar una


compuerta inversora:

P P’
=
Figura 15
Reemplacemos una inversora por una OR:

0
Q ~Q
Q
S 0
Figura 16 0

33
Ahora procedemos a separar una de las entradas de la compuerta NOR a manera
de señal de control, señal que denominaremos R(RESET):

~Q
Q
S
R
Figura 17
A continuación procedemos a analizar las salidas Q y ~Q al variar los estados de
las entradas S y R:

1) Si S = R = 0

1.1) Si Q estaba en 0 y hacemos S = R = 0, observaremos que Q continúa siendo


cero:

~Q
1 Q
S 0
R 0
0
Figura 18

1.2) Si Q estaba en 1 y hacemos S = R = 0, observaremos que Q continúa siendo


uno:

~Q
0 Q
S 0
R 1
0
Figura 19

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

34
Sistemas Digitales Secuenciales

Luego, podemos concluir que con S y R en cero se conserva el estado anterior.


NO hay cambios.

2) Si S = 0 y R = 1
2.1) Si Q estaba en 0 y hacemos S = 0 y R = 1, observaremos que el estado de la
salida Q se conserva:

~Q
1 Q
S 0
R 0
1

Figura 20

2.2) Si Q estaba en 1 y hacemos S = 0 y R = 1, observaremos que Q se vuelve


cero:

~Q
0 Q
S 0
R 10
1
Figura 21
Luego, podemos concluir que con R en uno se resetea el estado de la salida, es
decir, la salida se vuelve cero.

3) Si S =1 y R = 0
3.1) Si Q estaba en 0 y hacemos S = 1 y R = 0, observaremos que Q se vuelve
uno:

10 ~Q
Q
S 1
R 0 01
Figura 22

3.2) Si Q estaba en 1 y hacemos S = 1 y R = 0, observaremos que el estado de la


salda Q se conserva igual:
35
~Q
0 Q
S 1
R 11
0
Figura 23
Luego, podemos concluir que con S en uno se pone en estado de SET , es decir,
la salida se vuelve UNO.

4) Si S =1 y R = 1

4.1) Si Q estaba en 0 y ~Q en 1 hacemos S = 1 y R = 1, observamos que:

~Q
1 0 Q
S 1
R 00
1
4.1) Si Q estaba en 0 y ~Q en 0 hacemos S = 1 y R = 1, observamos que:

~Q
0 Q
S 1
R 1 10

Observa como en estos dos casos Q y ~Q toman valores iguales, lo que nos
representa un estado no deseado: (Se trata de no dar las ordenes de Reseteo y
de Set al mismo tiempo.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

36
Sistemas Digitales Secuenciales

Reorganicemos la el diagrama y construyamos con la información anterior una


tabla que comprenda todos los cuatro casos vistos:

S 0 ~Q

Q
R

LATCH SET - RESET


Entrada de
excitación
SET RESET Estado actual Estado siguiente
Función
S R Q ~Q Q ~Q

0 0 0 1 0 1 PERMANECE
0 0 1 0 1 0 (Q no cambia)
0 1 0 1 0 1
RESET
0 1 1 0 0 1
1 0 0 1 1 0
SET
1 0 1 0 1 0
ESTADO
1 1 0 1 X X
PROHIBIDO
1 1 1 0 X X
(No Válido)

TABLA DE ESTADOS LATCH SET - RESET

S LATCH
~Q
R SR Q
DIAGRAMA DE BLOQUE
DEL LATCH SR

37
Circuito de aplicación:

Cómo podemos ver la aplicación útil de este sistema sobre el circuito detector que
venimos diseñando para el canario de nuestro amigo Boole?

Ahora disponemos de un circuito que tiene dos señales de entrada, una entrada S
ó SET que permite encender nuevamente la bombilla si ésta se ha apagado antes
usando la entrada R ó RESET. Es decir, si ingresamos un 1 en SET y la bombilla
está apagada, ésta se encenderá y únicamente podrá apagarse mediante un 1 en
la señal de RESET.

Si la bombilla está apagada e ingresamos un 1 por la entrada de RESET, la


bombilla se apagará y no podrá encenderse tornando a 0 la señal de RESET.
Únicamente se puede encender mediante un 1 en la señal de SET.

Pero el sistema tiene una falencia, debemos cuidar de no enviar las señales de
SET y RESET al mismo tiempo ya que la respuesta del sistema será impredecible,
es por esto que en la tabla de estados marcamos ésta condición como estado
prohibido.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

38
Sistemas Digitales Secuenciales

Con éste circuito Boole tiene los dos LATCH, SET y RESET, en uno sólo y podrá
poner a funcionar el sistema como desee:

1.Si desea que la bombilla se encienda cuando el ave se pose en el columpio,


entonces deberá conectar la señal del columpio a la entrada SET. Y así, él podrá
apagar la bombilla mediante una señal en la entrada RESET, sin necesidad de
desconectar el circuito de las baterías.
2.Si desea que la bombilla se apague cuando el ave se pose en el columpio,
entonces deberá conectar la señal del columpio a la entrada RESET. Y así, él
podrá encender nuevamente la bombilla cuando lo desee mediante una señal en la
entrada SET, sin necesidad de desconectar el circuito de las baterías.

115VAC
pulsador

5V 5V Circu
ito de
S acopl
e de
poten
cia.
R Q

Señal de entrada

39
Lección No.4 Latch SR con NAND

Representación del LATCH SR usando compuertas NAND:

S 0 ~Q

Q
R

LATCH SET – RESET


CON NAND

Ahora, vamos a suprimir las compuertas inversoras; En este caso, decimos que las
entradas S y R S son activas en bajo:

LATCH SET – RESET


CON NAND y ENTRADAS ACTIVAS
EN BAJO.

LATCH
SR

SÍMBOLO DEL
LATCH SET – RESET
CON ENTRADAS ACTIVAS EN
BAJO.
__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

40
Sistemas Digitales Secuenciales

Función Lógica del LATCH SET-RESET:

De la tabla de estados del LATCH SET – RESET, tomando como variables de


entrada a S y R y como función de salida el estado actual Q* . Con estos datos
obtendremos la función lógica para el LATCH SET-RESET:

SET RESET Estado Estado


Actual siguiente
S R Q *
Q
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 X
1 1 1 X

1) Observa como esta tabla de estados corresponde a la siguiente tabla de


verdad:

41
2) De la tabla de verdad obtenemos la siguiente función lógica:

f (S, R, Q) = Q* = S' R’ Q + S R' Q' + S R' Q

3) Simplifiquemos usando Mapas de Karnaugh:

La función simplificada es:

f (S, R, Q) = Q* = S + R’ Q

Ejercicio 1

Asigna a S, y R los valores posibles y observa el valor así obtenido para la


función, luego compáralos con los valores de la tabla de estado.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

42
Sistemas Digitales Secuenciales

Lección No.5 Diagrama de Estados.

Diagrama de ESTADOS para el LATCH SR:

Si el estado actual es un
SR CERO en la salida;
Cuando S=1 y R=0
podemos pasar al estado en
10 que la salida es 1, la flecha
( )indica este cambio de
estado.

0X 0 1 X0

01 Si el estado actual es un UNO en la


salida, Con, ningún valor de S
producirá un cambio de estado. Solo
cuando S=0 y R= 1 podemos pasar
al estado en que la salida es 0, la
flecha ( ) indica este cambio de
estado.

43
Hemos aprendido que el LATCH-SR tiene un estado prohibido, en el cual S y R
toman el valor de 1, produciendo cambios indeseados en las salidas Q y ~Q del
Latch.

¿Cómo podemos evitar el estado prohibido?

Recordemos que con una compuerta AND, sólo se obtendrá un uno (1) a la salida
siempre y cuando ambas entradas estén también en uno (1), luego, si tomamos
una de las entradas como entrada de control. Mientras esta entrada esté en cero,
la salida también será cero.

Entrada
Salida = Entrada
Control Solo cuando
Control ≠ 0
En otro caso es = 0
Compuerta AND

1.1.1.4 LATCH SR CON LÍNEA DE CONTROL:

Aplicando la compuerta NAND, podemos bloquear las ambas entradas (SR); esto
es, habilitar o deshabilitar el LATCH.

C LATCH
SR

LATCH SET – RESET


CON SEÑAL DE CONTROL.
Símbolo para el LATCH-SR con señal de control:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

44
Sistemas Digitales Secuenciales

LATCH
C SR con
Control
SÍMBOLO DEL
LATCH SET – RESET
CON SEÑAL DE CONTROL.

Ejercicio 2

1. Construye una tabla de verdad para la función Q* . Recuerda que ahora


esta nueva función depende del estado de las variables: CSRQ
2. Luego obtén la función sin simplificar.
3. Usando los mapas de Karnaugh encuentra una función simplificada.
4. Verifica que tu función cumpla la tabla de verdad.
5. Consulta y grafica Integrados comerciales que contengan el LATCH SR
6. Consulta que es un circuito antirrobote.
7. Consulta como usar el LATCH SR para eliminar los rebotes.

45
Lección No.6 Latch Tipo Data

1.1.1.5 LATCH TIPO DATA:

Existe otra forma de evitar que las entradas S y R tomen el valor de 1 al mismo
tiempo, y es usando una compuerta inversora entre las dos señales, así, cuando S
sea Uno (1), R será (0), y cuando S sea Cero(0), R será UNO (1):

D
0 S Q Q
LATCH
Un cero en S se R
SR Q Q
transforma en 1 1
para R LATCH DATA

De esta manera, un 1 en S da la orden de SET que pone la salida Q en alto (1) y


un 0 en S da la orden de RESET que pone la salida Q en bajo (0).

Tabla de verdad LATCH D:

Ejercicio 3

1.Elabora un diagrama de estados para el LATH DATA.


2.Consulta y grafica Integrados comerciales que contengan el LATCH DATA.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

46
Sistemas Digitales Secuenciales

VHDL flip-flop tipo data:

library ieee;
use ieee.std_logic_1164.all;

Definición de la entidad:

En la entidad definimos el nombre de la unidad funcional que estamos creando


(entidad), definimos las señales de entrada, que en este caso serán la señal de
entrada de datos (data) representada en la letra d, y finalmente definimos la señal
de salida q, recordemos que para definir estas variables como entradas y salidas
usamos las palabras clave in y out respectivamente.
entity biestD is port(

d: in std_logic;
q: out std_logic);

end entity;

Observemos que también se definió el tipo de variable como std logic.

Definición de la arquitectura:

En la arquitectura definimos la función lógica que determinará el comportamiento


del sistema como un flip-flop tipo data; dado que en un flip-flop data la señal de
salida Q sigue a la entrada D, éste queda bien representado por la instrucción:
q <= d

Equivalente a d llévele q, a la salida llévele la entrada.

Definidas éstas características el flip-flop data, queda completamente definido así:


architecture archbiestD of biestD is

begin

p: process(d)
begin
q<=d;
end process;

end;

47
1.1.1.6.1 LATCH D CON SEÑAL DE CONTROL:

Como ya habrás deducido, es poco práctico que la salida Q siga a la entrada D


frente a cualquier cambio. Ya que si se produce una señal indeseada en D, esta
pasará inmediatamente a la salida S. Para tener un control sobre la salida,
podemos adicionar una señal de control o habilitación del LATCH:

Adicionemos una línea de habilitación partiendo del LATCH SR con señal de


control:

D S Q Q
LATCH
R SR con
C Control Q Q
C

LATCH DATA CON SEÑAL DE CONTROL.

Diagrama de ESTADOS para el LATCH DATA CON LÍNEA DE CONTROL:

CD
11

0X Ó 0 1 0X Ó 11
10
10
__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

48
Sistemas Digitales Secuenciales

Ejercicio 4
1.Elabora una tabla de verdad y halla la función lógica para el LATH DATA.
2.Simplifica la función lógica obtenida y verifica los datos que ésta
entrega.
3.Elabora un diagrama de tiempos para le LATH DATA.

49
Lección No.7 Latch Tipo JK

1.1.1.7 LATCH TIPO JK:

Al juntar las señales S y R del LATCH SR mediante una inversora, no solo


eliminamos el estado prohibido, sino, que también eliminamos el interesante
estado de permanencia.

¿Cómo podemos eliminar el estado prohibido, sin eliminar el estado de


permanencia?

Para lograrlo, partiremos del LATCH Data:

De acuerdo a la tabla de verdad del LATCH DATA, podemos interpretar éste como
un seguidor de la entrada, tengamos esto en cuenta para nuestro diseño:

D Q

Q
Observa también que para el siguiente circuito retroalimentado, si la salida es
inicialmente cero, ésta continuará siendo cero a pesar de los cambios de estado
que se produzcan en la señal de entrada:

0
0
010

Igualmente, si el estado de la salida es inicialmente un 1, éste se conservará sólo


mientras la entrada sea un 0. Una vez que la entrada asuma el valor de 1 la salida
será cero y el circuito quedará enclavado en salida cero.

1
1
0 1

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

50
Sistemas Digitales Secuenciales

Ahora, analicemos el mismo circuito pero con las señales de entrada invertidas:

1 0
1
010
Tendremos el efecto inverso: Si la salida es inicialmente un 1, ésta seguirá
siendo uno, sin importar el estado de la señal de entrada.

0 1
0
0

Igualmente, si el estado de la salida es inicialmente un 0, éste se conservará sólo


mientras la entrada sea un 0. Una vez que la entrada asuma el valor de 1 la salida
será uno y el circuito quedará enclavado en salida uno.

Conclusión:

0 1 0
0 1

Circuito para enclavar un cero Circuito para enclavar un uno

Si procedemos a juntar los dos circuitos tendremos:

0
0
K
0

Observa como en las condiciones de la gráfica, solo la entrada J podrá cambiar el


estado de la salida tomando el valor de 1. Pero una vez en este estado, solo K
podrá cambiar el estado de la salida.
51
Lección No.8 Resumen Latch Tipo D
---La Clave:----
Como en un LATCH TIPO DATA, la salida es transparente a la entrada, podemos
adicionar el LATCH D sin afectar nuestro diseño, lo que nos permitirá generar ~Q y
CONSERVAR EL ESTADO almacenado, siempre y cuando le adicionemos luego
una señal de control C, de lo contrario, no tendrá sentido adicionar el LATCH TIPO
DATA:

K
0 Q
D LATCH
J DATA Q Q

LATCH JK
Ahora que logramos llegar tan deliciosamente (mediante un proceso analítico) a un
diseño interesante, como lo es el de un LATCH JK, usaremos las herramientas
que aprendimos en lógica matemática y sistemas digitales básicos, tales como
tablas de verdad y simplificación de funciones lógicas, para llegar al mismo diseño,
si bien mecánicamente, no de una manera menos divertida:

Partimos de la tabla de verdad de la función lógica deseada:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

52
Sistemas Digitales Secuenciales

Función lógica deseada:

Q* = J’K’Q + JK’Q’ + JK’Q + JKQ’

Simplificación usando mapas de K:

Función lógica deseada:

Q* = JQ’ + K’Q

Circuito lógico correspondiente a la función lógica simplificada:

K’Q
K
K’
D0 LATCH Q
DATA
J JQ’
Q Q

LATCH JK
Llegamos a obtener el mismo circuito, pero, ¿recuerdas que justifica la presencia
del LATCH DATA? ...Busca la respuesta en la siguiente página...

53
1.1.1.7.1 LATCH TIPO JK CON SEÑAL DE CONTROL:

Resumen

Recordemos, que el LATCH SR nos dio la posibilidad de desenclavar sin


desenergizar pero usando dos señales de entrada diferentes (S y R), luego el
LATCH D nos otorgó la misma posibilidad con una sola señal de entrada a cambio
de esto, desapareció el estado de permanencia y el estado prohibido.
Posteriormente, adicionamos una señal de control al LATCH D para no perder el
dato almacenado. Luego, el LATCH JK nos permitió adicionar la propiedad de
permanencia perdida con el LATCH D, y eliminó el estado prohibido convirtiéndolo
en el estado complementario.

Ahora, con el objeto de conservar el dato de la salida, adicionemos una señal de


control:

K’Q
K
K’ 0 Q Q
D LATCH
J JQ’ DATA
C Q Q
C

LATCH JK
Línea de Control

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

54
Sistemas Digitales Secuenciales

Lección No.9 Latch tipo Toggle

1.1.1.8 LATCH TIPO TOGGLE:

Este latch también es conocido como latch tipo T.

Toggle significa cambiar alternadamente el estado de la salida cuando se genere


un cambio de flanco en la entrada T.

Entrada de excitación
Estado Estado
actual siguiente
TOGGLE SET RESET
Función Nombre de la
deseada Función
T J K Q Q*

0 0 0 0 PERMANECE
0
0 0 1 1 Q no cambia
ESTADO
1 1 0 1
1 COMPLEMENTA
1 1 1 0
RIO

Observemos que de la siguiente tabla de estados para el latch Jk podemos


obtener la función deseada restringiendo el la tabla a la función de estado
complementario y de permanencia únicamente:

Como J y K tienen el mismo valor, éstas pueden unirse en una nueva función que
llamaremos togglie T

Q
0
T J LATCH
JK
K Q Q
LATCH T
En conclusión, el latch tipo T siempre estará cambiando el estado de la salida por
cambio en el estado de la señal de entrada.

55
1.1.1.8.1 LATCH TIPO T CON SEÑAL DE CONTROL:

Para controlar el latch, introducimos la señal de control:

T 0
J D
K C
Q Q
C

LATCH T
Con señal de control
Línea de Control

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

56
Sistemas Digitales Secuenciales

Capítulo 3:

Aplicación al diseño de
Multivibradores

57
Lección No.10 Multi-vibradores

1.8 Circuitos de aplicación

1.8.1 Multi-vibradores

Monoestable o One-shot:

•Son circuitos de almacenamiento digital con un único estado estable.

•Se pueden llevar temporalmente a un estado transitorio mediante un cambio


de estado, es decir mediante una transición de 0 a 1 o 1 a 0 en su entrada:

1
One-Shot

IN
0

Flanco de subida Tiempo controlado por


la red RC externa.
1
One-Shot

IN
0

Flanco de bajada
Con uno de los dos flancos se produce un cambio de estado
en la salida.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

58
Sistemas Digitales Secuenciales

•El One-Shot conservará su salida en el nuevo estado durante el tiempo


especificado por una red RC que se conecta en sus pines.

Los One-Shot puedenser:

1.Redisparables:
Si se produce una transición en su entrada, éste vuelve a comenzar
el ciclo de tiempo programado, descartando el tiempo ya contado.
Ej: SN74122 y SN74123.

2.No Redisparables:
Si ya se ha iniciado un ciclo de tiempo, cualquier cambio producido
en las entradas es ignorado hasta que finalice el ciclo de tiempo
programado.
Ej: SN74121.

59
Lección 11. Multi-vibradores

1.8. 2 CIRCUITOS DE TIEMPO

1.8.2.1 MÓDULO TEMPORIZADOR DE PRECISIÓN 555:

Es un dispositivo de memoria que se utiliza para muchas aplicaciones, pues puede


configurarse para ser utilizado como monoestable o one-shot y como un
multivibrador astable o reloj.

8
Vcc
Cont 5

7
DISCH
4
R1
RESET
R
6 AO1 Q

THRES
R AO2 3
2 R
Out
TRIG R Q1

1
La siguiente lista es un resumen de las funciones de los pines:

Vcc: Voltaje entre 4.5V y 8V DC.

CONT: Control. Normalmente conectada a tierra por medio de un


condensador de 0.01μf con el fin de obtener mejor estabilidad
en la frecuencia de salida del sistema.

RESET: Pin de poner a cero activo en bajo.


Pin4 = 0 → Pin 3 = 0
DISCH: Descarga. (Discharge)

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

60
Sistemas Digitales Secuenciales

Si la salida Q del latch se pone en uno, este pin 7 será


conectado internamente a tierra por medio del transistor de
descarga Q1, ya que un nivel alto en la base del transistor lo
llevará a la región de saturación o estado de ON.

Pin 3 = 0 
→ Pin
= 7 GND
Por el contrario, si la salida Q del latch se pone en uno, este
pin 7 estará aislado o en estado de alta impedancia, ya que un
nivel bajo bajo en la base del transistor lo llevará a la región de
corte o estado de OFF.
Pin 3 = 1  → Pin 7 = ↑ Z

Los pines Threshold y Trigger son las entradas que controlan las salidas de los
comparadores analógicos AO1 y AO2. La salida de cualquier comparador es 1
lógico si su entrada superior tiene un voltaje mayor que su entrada inferior.

Los voltajes de referencia para las comparaciones son de 2/3 Vcc para AO1 y 1/3
Vcc para AO2. Estos voltajes se obtienen mediante el divisor de tensión formado
por las tres resistencias iguales R.

THRES: Límite superior, Umbral (threshold) o entrada del comparador


superior AO1.

Si el voltaje en este pin 6 es mayor que dos tercios de Vcc (2/3


Vcc), será aplicado un 1 lógico a la entrada R del latch
borrándolo, lo que podrá en cero la salida 3, ya que este pin
esta conectado internamente a la salida negada del latch –Q
conectada al inversor. Ver nota 1.

2Vcc
Threshold >  → Pin 3 = 0
3

61
TRIG: Disparador o Trigger.
Si esta entrada 2, es inferior a 1/3 de Vcc, se aplica un 1 lógico
a la entrada S del latch (estableciéndolo), lo que pone un 1
lógico en el pin 3 del integrado. Ver nota1.

Vcc
Trigger <  → Pin 3 = 1
3
Disparo: Definimos el disparo como una transición de alto a
bajo en el pin 2.

Trigger de 1 a 0  → Pin 3 = 1

Nota:
Se debe tener cuidado de no producir el estado prohibido del latch: S = R = 1.

En conclusión podemos resumir las funciones de los pines como sigue:

RESET Desactivar
Pin 4 = 0 
→ Pin 3 = 0
DISCHARGE A tierra o
Pin 3 = 0 
→ Pin 7 = descarga.
Alta
Pin 3 = 1 
→ Pin 7 = ↑ Z impedancia
o Carga.
THRESHOLD Comparador
2Vcc
Threshold >  → Pin 3 = 0 del nivel
3 superior.
Como
Vcc comparador
Trigger <  → Pin 3 = 1 de nivel
3
TRIGGER inferior.
Como
Trigger de 1 a 0  → Pin 3 = 1 disparo.

Aprovechando estas propiedades del 555 podemos configurarlo como:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

62
Sistemas Digitales Secuenciales

Lección No.12 555 como astable:


Vcc

RA 8
Vcc
4 RL
RESET
7

6 DISCH 3 Señal cuadrada


RB
THRES Out 5
2

C TRIG Cont
0.01μf
1
GND

Sensores de nivel
C = Condensador de fijación de tiempo.
RA = Resistencia de Carga.
RB = Resistencia de Carga y descarga.
RL = Resistencia de Carga. Load. (Carga aquí tiene el sentido de peso
o trabajo).

Funcionamiento:

Básicamente para que en el sistema se comporte como un astable, sin


necesidad de entradas para funcionar, hacemos que el 555 se dispare a sí
mismo, activando y desactivando las entradas de disparo y de límite mediante
un circuito RC.

63
I) Carga y Descarga:

3Cuando el pin 7 este en estado de alta impedancia el condensador de fijación


de tiempo estará cargándose por medio de las resistencias RA y RB, Lo que se
dará mientras la salida 3 esté en 1 lógico.

En conclusión, si denominamos Tc el tiempo de carga, podemos


calcularlo como:
Tc = 0.693 × (R A + R B ) × C
4Cuando el pin 7 este conectado a tierra el condensador de fijación de tiempo
estará descargándose por medio de la resistencia RB, Lo que se dará mientras
la salida 3 esté en 0 lógico.

Esto nos permite calcular el tiempo de descarga Td como:

Td = 0.693 × R B × C
Como el tiempo de carga Tc coincide con un 1 lógico en la salida,
podemos llamar a este tiempo el tiempo de ON o TON. Igualmente Td
puede ser denominado tiempo de OFF o TOFF, ya que durante este la
salida permanece en 0 lógico.

II) Ciclo repetitivo:

1.Inicialmente el condensador de fijación de tiempo está descargado.


2.El comparador inferior leerá que su entrada superior(Directa) es mayor
que la inferior(Inversora) generando un 1 lógico en el pin SET del latch, esta
acción pondrá en 1 lógico la salida 3.
3.Un 1 lógico en la salida dará inicio al proceso de carga a través de las
resistencias RA y RB, hasta que el voltaje en los pines Disparador y Límite
sea lo suficientemente alto como para generar un cambio de estado en el
latch SR interno. Tal que R=1 y S=0.
4.Cuando el pin 6 de límite llegue a un voltaje mayor que 2/3 de Vcc el
comparador superior generará un 1 lógico en el pin R del latche, esta acción
pondrá en 0 lógico la salida 3 conectando internamente a tierra el pin 6 para
permitir la descarga del condensador C por medio de la resistencia RB,
hasta que el voltaje sea lo suficientemente bajo como para poducir R=0 y
S=1.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

64
Sistemas Digitales Secuenciales

5.Una vez producido el estado R=0 y S=1 estaremos en el paso inicial de


condensador descargado generándose un ciclo que se repetirá
indefinidamente.

Notas:
a)Obsérvese que con esta conexión estamos evitando el estado prohibido del
latch R=1 y S=1.
b)Por los pines 6 de Umbral y 2 de disparo no circula corriente hacia el circuito
integrado, es decir, que no existen para el condensador. Esto se debe a que las
entradas de comparadores son de muy alta impedancia.
c)El pin de RESET permanecerá desactivado para que el latch funcione.

Observaciones:
Aplicando la ley distributiva para la ecuación de Tc obtenemos:
Tc = 0.693 × R A × C + 0.693 × R B × C
Como se ve, en esta ecuación esta presente el tiempo de descarga Td, luego:
Tc = 0.693 × R A × C + Td
Luego el tiempo de carga siempre será mayor que el tiempo de descarga en
una cantidad igual a 0.693RAC gráficamente podemos darle la siguiente
representación:

Vcc
2/3 Vcc

1/3 Vcc

0.693RAC Td Td

T O N = Tc T O FF
Por esta razón siempre que necesitemos calcular RA y RB dados los tiempos de
carga y descarga, es necesario comenzar por la ecuación que contiene el
tiempo de descarga.

Teniendo en cuenta lo anterior, si fijamos el valor del condensador de tiempo,


podemos obtener los valores de RA y RB usando las siguientes ecuaciones:
Td
RB =
0.693 × C

65
Tc - Td
RA = con Tc > Td
0.693 × C
Lección 13. FRECUENCIA DE OSCILACIÓN

1.8.2.1 FRECUENCIA DE OSCILACIÓN:

Recordemos algunos conceptos:

Periodo:
Es el tiempo que emplea la señal para repetirse y esta dado en segundos:

T
Son dos formas de
T
medir el período de la
.
señal
Frecuencia:
Es el número de veces que se repite la señal por unidad de tiempo y está
dada en 1/s es decir en Hertz Hz

Conociendo el periodo podemos hallar la frecuencia y conociendo la


frecuencia podemos hallar el periodo.

La frecuencia f de oscilación puede determinarse como el inverso del


periodo T. Así:

1
f =
T

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

66
Sistemas Digitales Secuenciales

Cálculo de la Frecuencia de oscilación:

La frecuencia de oscilación depende del valor de las resistencias RA , RB y


del capacitor C. Dividiendo la señal de salida en dos componentes de
tiempo que llamaremos TON y TOFF, podemos calcular el periodo de la señal
como la suma de dichos tiempos y con ellos calcular la frecuencia de
oscilación:

TON TOFF

Periodo de la señal:

T = TON + TOFF
T = TC + TD
T = ( 0.693 × RA × C + TD ) + TD
T = 0.693 × RA × C + 2TD
T = 0.693 × RA × C + 2 × 0.693 × RB × C
T = 0.693 × C × ( RA + 2 × RB )
T = 0.693C ( RA + 2 RB )

Frecuencia de oscilación:
1
f =
TON + TOFF
1
f =
0.693C ( R A + 2 RB )
1,44
f =
C ( R A + 2 RB )

67
Observemos que en la última ecuación hay tres incógnitas, por lo tanto para
obtener una frecuencia en particular es necesario suponer el valor de dos
componentes (parámetros) para calcular luego el faltante.

Si los parámetros conocidos son C y RA podemos usar la siguiente fórmula


para calcular el parámetro desconocido RB:

1,44
RB = − RA
2× f × C
1,44 − R A × f × C
RB =
2× f × C

Si los parámetros conocidos son C y RB podemos usar la siguiente fórmula


para calcular el parámetro desconocido RA:

1,44
RA = − 2 × RB
f×C
1,44 − 2 × R B × f × C
RA =
f× C

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

68
Sistemas Digitales Secuenciales

Lección 14. 555 como monoestable

1.555 como monoestable, one-shot, timer o temporizador:

Vcc

8
RS RC
Vcc
4
RL
RESET
7 Pulso de
DISCH
6 3 duración T
THRES Out
2 5
TRIG Cont
C 0.01μf
GND
1

Disparo Censor de nivel

RC = Es la resistencia de carga.

RS = Es la resistencia del Switch para reestablecer Vcc.

Funcionamiento:
Cuando se produzca el disparo la salida saltará a 1 lógico cambiando la
salida, de modo que el estado regresa en forma automática a su valor
predefinido después de cierto tiempo de carga del condensador T calculado
por la red de carga RC como:

T = 1.1× R C × C
Este será el tiempo estimado para que el condensador llegue al nivel de
Threshold. Una vez superado este nivel el comparador superior pondrá la
salida en 0 lógico, descargando casi instantáneamente el condensador.

69
En este caso la descarga del condensador no afecta la entrada de disparo,
la cual estará “esperando” siempre la señal externa del pulsador.

El tiempo T es también llamado período de temporización.

Este monoestable es No Redisparable:


Si producimos un disparo mientras la salida está en ON, el condensador
continuará su carga normal, en otras palabras no le “hará caso” al nuevo
disparo.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

70
Sistemas Digitales Secuenciales

Unidad 2
Flip-flops y diseño de
máquinas de estado.

71
Capítulo 1:

Flip-flops

Lección 15. Flip-Flops.

Los Flip-Flops no son mas que latch con señal de control. A diferencia de los
Latch sin señal de control, éstos se pueden habilitar o deshabilitar a discreción.

Esta línea de control, recibirá ahora el nombre de señal de Reloj o CLK (Clock).

Recordemos que cuando la señal de reloj tienen una línea superior, ésta hace
referencia al complemento que se estudió en Lógica Matemática. Es decir, la línea
es habilitada en bajo:

CLOCK

En este caso, si se desea mantener deshabilitado el Flip-Flop, debes mantener en


1 la señal de Reloj.

Si la línea de CLOK no tiene ninguna raya superior, el Flip-flop se deshabilita con


un cero (0).

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

72
Sistemas Digitales Secuenciales

A continuación se representa gráficamente una señal de reloj, el cambio del nivel


alto al nivel bajo recibe el nombre de flanco de Bajada y el cambio de nivel bajo a
nivel alto recibe el nombre de flanco de subida.

Flanco de
Bajada
Nivel alto

Nivel Bajo
Flanco de
Subida

Los Flip-Flop se activan en un flanco determinado de la señal de reloj, ya


sea el flanco de subida o el flanco de bajada. Para representar el tipo de
flanco en que es activado el Flip-Flop, usamos la siguiente representación:

La señal introducida por el pin de flanco, también se denomina señal de


control o señal de reloj. Para indicar esto, usamos la palabra CLK (por el
nombre en inglés para reloj CLOCK)

2.1 Flip-Flop activo por Flanco Positivo y Flanco Negativo:

2.1.1 Flip-Flop activo por flanco Positivo:

0
D LATCH
JK
Q Q
Señal de reloj

Flip Flop Tipo Data Activo Por Flanco Positivo


73
2.1.2 Flip-Flop activo por flanco Negativo:

0
D LATCH
JK
Q Q
Señal de reloj

Flip Flop Tipo Data Activo Por Flanco Negativo


Lección No.16 Circuitos generadores de Flanco.

2.1.3Circuitos generadores de Flanco:

Observemos la siguiente situación:

En un Flip-Flop tipo Data activo por Flanco Positivo, mientras la señal de reloj está
activa, indeseablemente, es decir en 1 lógico, cualquier pequeño cambio que se
halla producido en los niveles de la señal de entrada Data (D) podrá generar
cambios en la salida, éstas señales así generadas reciben el nombre de
transcientes indeseables o ruido. Con el ánimo de evitar este ruido, proponemos a
continuación un circuito detector de flancos, tal que un flanco de subida generado
en la señal de reloj, genera únicamente un pequeño pulso en la nueva señal de
reloj de salida, siempre y cuando se trate del circuito diseñado para detectar
flancos de subida, igualmente debe ocurrir con el circuito diseñado par detectar los
flancos de bajada; se debe generar un pequeño pulso, únicamente cuando en la
señal de reloj se produzca un flanco de bajada.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

74
Sistemas Digitales Secuenciales

Señal de reloj original:

Flanco de
Bajada
Nivel alto

Nivel Bajo
Flanco de
Subida
Señal de reloj a la salida del circuito detector de flancos de bajada:

Nivel alto

Nivel Bajo

Señal de reloj a la salida del circuito detector de flancos de subida:

Nivel alto

Nivel Bajo

75
Diseño de Sistemas síncronos en VHDL:

Recordemos que lo que diferencia a un sistema síncrono de un sistema asíncrono


es la presencia de una señal de reloj que normalmente se está representada por
las letras CLK.

En un flip-flop síncrono los datos de las señales de entrada se transfieren a las


salidas del flip-flop sólo con el flanco de disparo del impulso del reloj. Por esto
decimos que decimos que los datos se transfieren sincronizados con la señal de
reloj.

Para definir un sistema síncrono en VHDL, simplemente debemos generar un


proceso que involucre un ciclo de espera relacionado con la variable de entrada de
la señal del reloj clk como condición para ejecutar el proceso.

Diagrama de flujo para detectar un cambio de flanco en la señal de reloj:

CLK = 0

¿CLK = NO
1?
Se ha generado un
NO flanco de subida.
¿CLK =
0?

Se ha generado un
flanco de bajada.

En VHDL es más fácil, dado que existe una función que evalúa tanto un cambio en
el estado de la señal de reloj como la espera del tipo de flanco par tomar una
acción:

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

76
Sistemas Digitales Secuenciales

La instrucción VHDL es la siguiente:

if clk'event and clk='1' then

Aquí van las instrucciones a ejecutar luego de la señal de


reloj.

end if;

En este algoritmo, la función de la palabra clk'event es la de detectar los cambios


en la señal de reloj clk y la función de de la clk='1' es la de detectar el flanco de
subida del reloj.

Las instrucciones en VHDL para detectar el flanco de bajada de reloj es la


siguiente:

if clk'event and clk='0' then

Aquí van las instrucciones a ejecutar luego de la señal de


reloj.

end if;

77
Flip Flop Tipo Data con circuito detector de Flanco:

0
D LATCH
JK
Cto detector de Q Q
Flanco

Nueva señal de
reloj

Flip Flop Tipo Data con circuito detector de Flanco

Diseño de los circuitos generadores de flanco:

Circuito generador de flanco de subida:

CLK
Nueva señal de reloj

Circuito generador de flanco de bajada:

CLK
Nueva señal de reloj

Ejercicio 5
1.Se propone al estudiante demostrar la operabilidad del diseño, se
recomienda usar diagramas de tiempos y funciones lógicas para construir
la tabla de excitación.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

78
Sistemas Digitales Secuenciales

VHDL Flip-flop Data síncrono.

Recordemos que en un flip-flop síncrono los datos de las señales de entrada se


transfieren a las salidas del flip-flop sólo con el flanco de disparo del impulso del
reloj.

En otras palabras, decimos que los datos se transfieren sincronizados con la señal
de reloj.

Recordemos la tabla de estados del flip-flop tipo Data asíncrono:

D Qn Qn+1
0 0 0
0 1 0
1 0 1
1 1 1

Recordemos la tabla de estados del flip-flop tipo Data síncrono:

Clock D Qn Qn+1
010 0 0 0
010 0 1 0
010 1 0 1
010 1 1 1

library ieee;
use ieee.std_logic_1164.all;

Definición de la entidad:
En la entidad definimos el nombre de la unidad funcional que estamos creando
(entidad), definimos las señales de entrada, que en este caso serán la señal de
reloj clk y la señal data representada en la letra d, y finalmente definimos la señal
de salida q, recordemos que para definir estas variables como entradas y salidas
usamos las palabras clave in y out respectivamente.
entity biestD is port(
clk,d: in std_logic;
q: out std_logic);
end entity;

Observemos que también se definió el tipo de variable como std logic.

79
Definición de la arquitectura:

En la arquitectura definimos la función lógica que determinará el comportamiento


del sistema como un flip-flop tipo data; dado que en un flip-flop data la señal de
salida Q sigue a la entrada D, éste queda bien representado por la instrucción:
q<=d

Equivalente a d llévele q, a la salida llévele la entrada.


Como se trata del diseño de un sistema síncrono en VHDL debe determinarse si el
flip-flop será activado por flanco de subida o por flanco de bajada. Para éste flip-
flop usaremos el flanco de bajada, luego la instrucción de detección de flanco
deberá ser clk='0'

Definidas éstas características el flip-flop data síncrono, activo por flanco de bajada
queda completamente definido así:

architecture archbiestD of biestD is


begin
p: process(clk,d)
begin

if clk'event and clk='1' then

q<=d;

end if;

end process;
end;

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

80
Sistemas Digitales Secuenciales

Circuitos de PRESET y RESET asíncronos:

RESET

S
Q

R ~Q

PRESET

Actividad:
Consultar el circuito integrado 74LS74, 74LS175

Ejercicio:

Diseñe el circuito requerido para almacenar el número de personas que ingresan al


ascensor utilizando un flip-flop tipo data con las nuevas señales de PRESET y
RESET.

81
VHDL F-F tipo D con puesta a cero y a uno asíncronas:

La mayoría de los circuitos integrados flip-flop aparte de las entradas síncronas,


también pueden tener entradas asíncronas. Estas entradas no dependen de la
señal de reloj para cambiar el estado de las señales de salida del flip-flop.

Estas señales reciben el nombre de inicialización o preset (PRE)y señal de borrado


ó clear (CLR).

La señal de preset permite poner en estado de SET el flip-flop y la señal de CLR


pone en estado de RESET el flip-flop.

Normalmente estas señales son activas en bajo, luego estas señales deben
mantenerse en alto para que el dispositivo pueda funcionar.
library ieee;
use ieee.std_logic_1164.all;

Definición de la entidad:
Para el proceso de declaración de variables es necesario definir aparte de las
señales clk, d y q, declarar las señales de entrada set y reset:
entity biestD is port(
clk,d: in std_logic;
set,reset: in std_logic;
q: out std_logic);
end entity;

Definición de la arquitectura:
Para lograr que las señales de SET y de RESET no estén afectadas por la señal
de reloj es necesario que en el ciclo
architecture archbiestD of biestD is
begin
p: process(clk,d,set,reset) Donde se
begin verifican los
if reset='1' then q<='0'; estados de
elsif set='1' then q<='1'; RES ET Y SET
elsif clk'event and clk='1' then
q<=d; Flip-flpo Data
end if; síncrono activo
end process; por flanco de
end; subida.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

82
Sistemas Digitales Secuenciales

Capítulo 2:

Aplicaciones de los Flip-flop

83
Aplicaciones de los Flip-Flop:

Dispositivos de almacenamiento
La unidad más elemental de memoria es el FLIP.FLOP, la cual nos permite
almacenar 1 bit. En esta lección veremos como un arreglo de bits nos permite
diseñar un registro o vector de almacenamiento.

Los arreglos de registros constituyen lo que llamamos una MEMORIA.

Lección 17. Almacenamiento paralelo de datos

D0 Q Q0
D0
Q Q

D1 Q1
D0 Q
Q Q

D2 Q2
D0 Q
Q Q

D3 Q Q3
D0
Q Q

CLK

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

84
Sistemas Digitales Secuenciales

Divisor de frecuencia:

Vcc

Q1 Q2
J J f/4
f/2

Frecuencia
de entrada f C C

K K

Al conectar dos flip-flops se obtiene un divisor de frecuencia por 2


Al conectar dos flip-flops se obtiene un divisor de frecuencia por 4

¿Cuantos flip-flops se deben conectar para obtener una frecuencia de 3 Khz a


partir de una frecuencia de 24KHz?

Una forma de deducir la función que permita resolver el problema es partir del
diagramas de tiempos.

85
Lección 18. Contadores:

“En la puerta de un ascensor hay un contador de personas que va de 0 a 15. Se


requiere almacenar el número de personas que ingresaron al ascensor a las
8:00AM como parte de un conjunto de estadísticos que requiere la administración.”

Para proceder al diseño del contador, debemos partir de determinar el número de


bits requeridos para representar un número decimal de 0 a 15 y éstos son cuatro
bits, es decir un nible.

4
Con un sistema binario se requieren cuatro bits, ya que 2 = 16,
luego son 16 combinaciones diferentes para 16 números decimales..

El número 16 es conocido como el módulo del contador, es decir el número


máximo de la cuenta.

El siguiente diagrama de tiempos nos muestra la secuencia que deben seguir las
salidas Q1, Q2, Q3 y Q4 para poder seguir la secuencia.

CLK

Q0 0 1 0 1 0 1 0 1 0

0 0 1 1 0 0 1 1 0
Q1

0 0 0 0 1 1 1 1 0
Q2
0 0 0 0 0 0 0 0 1
Q3

0 1 2 3 4 5 6 7 8

Números decimales equivalentes


Estos son los números equivalentes en decimal con la respectiva tabla de verdad
veamos la tabla para comprenderlo mejor; observa cómo en la tabla se resalta el
mismo dígito que el diagrama de tiempos.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

86
Sistemas Digitales Secuenciales

Q3 Q2 Q1 Q0 Decimal equivalente
0 0 0 0 0
0 0 0 0 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 0 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15

Una manera de diseñar este contador es usando varios flip-flop JK enclavados en


el estado de conmutación:
Vcc Vcc Vcc Vcc

J0 Q0 J0 Q1 J0 Q2 J0 Q3
K K K K
O O O O

87
La administración ahora requiere que el número de personas que ingresa al
ascensor a las 8:00AM se sume al número 1.

Para dar solución a este nuevo requerimiento, es necesario garantizar que el


contador inicie en 1 a las 7:30AM, y continúe el conteo. En este caso se requiere
controlar el estado de las salidas Q0, Q1, Q2 y Q3 sin importar que haya iniciado o
no la secuencia de reloj.

Este nuevo estado lo denominamos PRESET o SET asíncrono, ya que debe


permitir cargar un dato inicial de conteo independientemente del estado de la señal
de reloj.

Igulamente, cuando el estado a almacenar en las salidas Q0 a Q3 es un cero, la


señal recibe el nombre de CLEAR (CLR) o RESET asíncrono.

Contadores Asíncronos

Para dar continuidad al diseño del circuito contador de personas en el ascensor,


procedemos ahora a diseñar el circuito contador de eventos, en este caso los
eventos son los pulsos generados cada que una persona cruza el ascensor para
ingresar en éste.

Con el conteo es de máximo 15 personas, el contador debe ser módulo 16; un


contador que genere la secuencia de cero a 15, para lo cual se requieren
únicamente cuatro bits.

Ejercicio
1.. Siga la secuencia del diagrama de tiempos e identifique a Q0,Q1, Q2 y
Q3 en el esquema del contador.
2.2. Consulte los siguientes circuitos integrados: 74160, 74163, 74176,
74177, 74191 y 74293.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

88
Sistemas Digitales Secuenciales

VHDL Contadores:

Contador ascendente-descendente con carga paralela síncrona y reset asíncrono:

Clk

Datos de Salida
precarga Vector q
Vector d Contador

Up Load Reset

Up = 1 indica conteo ascendente


Load = 1 carga los datos de entrada en la salida luego de un flanco de subida en
la señal de reloj
Reset = pone todas las señales de salida en bajo
Clk = Señal de reloj

Definición de paquetes:
Antes de iniciar el programa es necesario hacer algunas aclaraciones sobre los
paquetes a usar . En palabras de Medrano C.(2005):

“std_logic_arith
Define el tipo unsigned y la operación suma "+" de unsigned con enteros

std_logic_unsigned
Este paquete puede tratar en ciertas situaciones un std_logic_vector como
un unsigned (y sumarlo a un entero por ejemplo).

buffer
Permite usar variables de salida a la derecha de ecuaciones.

Sobre vectores:
Es importante recordar que en la definición de un vector como 3 downto 0,
el bit 0 es el menos
significativo.

Un vector definido como x"00" es un vector hexadecimal que equivale a 8 ceros


binarios.”
library ieee;
use ieee.std_logic_1164.all;
89
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

entity contador is port(


clk,load,up,reset: in std_logic;
d: in std_logic_vector(7 downto 0);
q: buffer std_logic_vector(7 downto 0));
end entity;

Diagrama de flujo del algoritmo desarrollado en la arquitectura:

CLK = 0

SI
¿Reset = Q=0
1?

NO

NO
¿
?

¿ Load= SI Q=D
1?

¿ up = 1? SI Q= Q + 1

Q= Q - 1

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

90
Sistemas Digitales Secuenciales

Algoritmo en VHDL equivalente:

architecture archcontador of contador is

begin
p: process(clk,d,q,load,up,reset) Reset
begin asíncrono
if reset='1' then q<=x"00";
elsif clk'event and clk='1' then
if load='1' then q<=d; Precarga
elsif up='1' then q <=q+1; síncrona
else q<=q-1;
end if;
end if;
end process;

end architecture;

91
Capítulo 3:

Modelo de un circuito secuencial


Modelo de un circuito Secuencial:

Un circuito secuencial es en realidad una Máquina de estados ó máquina


generadora de estados ó etapas ó secuencias. Por ejemplo: en un circuito que
genera los estados o secuencias 1 – 2 – 3 – 1 – 2 – 3 – 1 – 2 – 3, llamamos a cada
momento de la secuencia un estado.

Etapas de un circuito secuencial:

Un circuito secuencial está conformado por dos etapas: una etapa lógica y una
etapa de memoria.

Etapa lógica:

Es la etapa conformada por circuitos combinacionales. A esta etapa ingresan tanto


las entradas (I0, I1,…Im) como las variables de estado (Q0,Q1,…Qx), para generar
las entradas (Y0,Y1, …,Yp) de excitación a la etapa de memoria.

Etapa de memoria:

Es la etapa que está conformada por las unidades de memoria ó flip-flops. Esta
etapa permite al sistema avanzar de un estado denominado estado actual a un
estado futuro (Q0,Q1,…Qn) también denominado estado siguiente está
determinado por las líneas de excitación (Y0,Y1, …,Yp) y el estado actual de las
variables de estado (Q0,Q1,…Qx)

Circuito secuencial sincronizado:

Es el circuito secuencial que tienen una entrada de reloj en la etapa de memoria.


Un impulso de reloj permite el avance entre el estado actual y el estado siguiente o
futuro.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

92
Sistemas Digitales Secuenciales

1. Diagrama de estados:

Este diagrama permite mostrar la progresión de los diferentes estados por los que
va avanzando el sistema.

El diagrama de estados o circuito secuencial más básico es el de un contador, el


cual no posee más señales de entrada que la señal de reloj.

A continuación se presenta un diagrama de estados de un contador de 0 a 7:


0

6 1

7 3

5 2

Como se trata de diseñar un sistema digital, debemos construir el diagrama de


estados en binario:

000

110 001

111 011

010
101

100
93
Tabla de estados:
La tabla de estados consiste en la representación del diagrama de estados
mediante una tabla en la cual cada fila corresponde a un estado:

Veamos la tabla de estados equivalente al diagrama propuesto:

Secuencia deseada Q2 Q1 Q0
0 0 0 0
1 0 0 1
3 0 1 1
2 0 1 0
4 1 0 0
5 1 0 1
7 1 1 1
6 1 1 0

2. Tabla del estado futuro

La tabla del estado futuro muestra cada estado actual del contador con su
correspondiente estado futuro, es decir, con el estado al cual pasa el contador
desde su correspondiente estado actual:

Estado actual Estado futuro


Secuencia deseada Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 1 1
1 0 0 1 0 1 1 3
3 0 1 1 0 1 0 2
2 0 1 0 1 0 0 4
4 1 0 0 1 0 1 5
5 1 0 1 1 1 1 7
7 1 1 1 1 1 0 6
6 1 1 0 0 0 0 0

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

94
Sistemas Digitales Secuenciales

3. Tabla de los filp-flops a usar:

Es una tabla en la cual se muestran todas las posibles transiciones de salida,


indicando el cambio de la salida Q del flip-flop al pasar éste de cada estado actual
al estado futuro.

Qn es el estado actual del flip-flop

Qn+1 es el estado futuro del flip-flop

X indica los estados indiferentes del flip-flop.

Para el flip-flop JK las entradas son precisamente J y K

Estado Salida Estado Siguiente


actual de cada
estado
Qn Qn+1 J K
0 0 0 X
0 1 1 X
1 0 X 1
1 1 X 0

Recordemos que esta tabla nos está indicando tres cosas:

1. Que si el estado actual es 0, el estado futuro se tornará 1 cuando J sea 1


2. Que si el estado actual es 1, el estado futuro se tornará 0 cuando K sea 1
3. En cualquier otra condición el estado actual se conserva en el futuro.

¿Cuantos flip-fliop se requiere usar?

Como se deben generar tres salidas Q0, Q1 y Q2. Se requiere de tres flip-flop para
generar cada un de ellas.

Lo que debemos lograr ahora es generar las señales de entrada J y K para cada
uno de los flip-flop, tal que se generen las transiciones de estado que se plantean
en la tabla de estados.

Es decir, necesitamos generar los estados futuros Q0, Q1 y Q2 de los estados


actuales dados, ¿cómo deberán ser entonces J0K0, J1K1 y J2K2 para que éstos
cambios de estado se generen?

95
Como las salidas de los flip-flop Q0, Q1 y Q2 no son sistemas aislados, es decir,
deben interactuar todos juntos, los estados de las variables J y K de cada flip-flop
deberán armonizar con los estados de Q0,Q1 y Q2.

Analicemos el caso de Q0:

Tomemos los valores de Q0 de la tabla de estado y veamos que valores deben


tomar J0 y K0 para generar las transiciones de Q0 de acuerdo con la tabla del flip-
flop JK:

Qn Qn+1
J0 K0
Secuencia deseada Q0 Q0
0 0 1 1 X
La
1 1 1 X 0 correspondencia
3 1 0 X 1 con el flip-flop
2 0 0 0 X debe buscarse
4 0 1 1 X horizontalmente
5 1 1 X 0
7 1 0 X 1
6 0 0 0 X

Para obtener las funciones de J0 y K0 debemos realizar el mapa de Karnaugh de


J0 y K0 el cual, como ya lo habíamos analizado debe depender de Q0, Q1 y Q2.

Secuencia
Q2 Q1 Q0 J0 Q2 Q1 Q0 K0
deseada
0 0 0 0 1 0 0 1 X
1 0 0 1 X 0 1 1 0
3 0 1 1 X 0 1 0 1
2 0 1 0 0 1 0 0 X
4 1 0 0 1 1 0 1 X
5 1 0 1 X 1 1 1 0
7 1 1 1 X 1 1 0 1
6 1 1 0 0 0 0 0 X

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

96
Sistemas Digitales Secuenciales

Mapas de Karnaugh:

Mapa de Karnaugh para J0:

Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’


00 01 11 10
Q2’ = 0 1 x x 0
Q2 = 1 1 x x 0
Función
lógica de J0:
J0 = Q1’ + Q0

Mapa de Karnaugh para K0:

Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’


00 01 11 10
Q2’ = 0 x 0 1 x
Q2 = 1 X 0 1 x

Función lógica de K0:

K0 = Q1 + Q0’

Ahora que hemos aprendido a obtener las funciones podemos diseñar una única
tabla de estados que las contenga a todas:

Estado actual Estado futuro para Q2 para Q1 Para Q0


Q2 Q1 Q0 Q2 Q1 Q0 J0 K0 J1 K1 J2 K2
0 0 0 0 0 0 1 1 1 X 0 X 0 X
1 0 0 1 0 1 1 3 X 0 1 X 0 X
3 0 1 1 0 1 0 2 X 1 x 0 0 X
2 0 1 0 1 0 0 4 0 X x 1 1 X
4 1 0 0 1 0 1 5 1 X 0 X X 0
5 1 0 1 1 1 1 7 X 0 1 X X 0
7 1 1 1 1 1 0 6 X 1 x 0 X 0
6 1 1 0 0 0 0 0 0 X x 1 X 1

97
Mapa de Karnaugh para J1:

Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’


00 01 11 10
Q2’ = 0 0 1 x x
Q2 = 1 0 1 x x

Función lógica de J1:


J1 = Q1 + Q0

Mapa de Karnaugh para K1:

Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’


00 01 11 10
Q2’ = 0 x x 0 1
Q2 = 1 X x 0 1
Función
lógica de K1:
K1 = Q1’ + Q0’

Mapa de Karnaugh para J2:


Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’
00 01 11 10
Q2’ = 0 0 0 0 1
Q2 = 1 X x x x

Función lógica de J2:


J2 = Q2 + Q1Q0’

Mapa de Karnaugh para K2:


Q1’Q0’ Q1’Q0 Q1Q0 Q1Q0’
00 01 11 10
Q2’ = 0 x X X x
Q2 = 1 0 0 0 1

Función lógica de K2:

K2 = Q2’ + Q1Q0’

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

98
Sistemas Digitales Secuenciales

Las funciones Jk de los flip-flop quedan:

J0 = Q1’ + Q0
K0 = Q1 + Q0’
J1 = Q1 + Q0
K1 = Q1’ + Q0’
J2 = Q2 + Q1Q0’
K2 = Q2’ + Q1Q0’

A manera de ejercicio, se deja al estudiante la tarea de construir y verificar el


circuito.

Podemos resumir el diseño de circuitos secuenciales en las siguientes etapas:

Establecer secuencia

Identificar números de estados

Asignación de estados

Tabla de transición

Ecuaciones excitación

Ecuaciones de la salida

Circuito

Básicamente existen dos técnicas para el diseño de circuitos secuenciales


conocidas como circuitos Moore y circuitos Mealy.

Cada etapa de un circuito secuencial recibe el nombre de estado. Así, un contador


de 0 a 5 tendrá seis estados: los estados 0 - 1 - 2 - 3 - 4 -5, en cada uno de éstos
estados se almacena un recuerdo de la historia o estados anteriores del circuito, lo
que permite determinar el estado futuro, en otras palabras, para que un circuito
contador pase del estado 3 al 4, debe saber que su estado anterior es 3 para poder
pasar al estado 4.

99
Capítulo 4:

Circuitos Moor y Meeley


Lección 19 Circuitos Moor y Meeley

Circuitos Moore:

En éstos circuitos, las salidas únicamente son función del estado.

Circuitos Mealy:

En éstos circuitos, las salidas son función del estado y de las entradas.

Veamos mediante un diagrama la diferencia entre los circuitos Moore y los Mealy:

MOORE MEALY

Transición de Variable de entrada


Estado acuerdo con Salida
(Q) el valor de la Estado
variable de
Salida entrada (X)
(Z)

Z = f (... X 1... XI , Q1...., Qi )


Z = F (Q0 ...Q1 )
La salida Z depende del
La salida sólo depende estado y del valor de la
del estado Q, es por variable de entrada.
esto que la salida Z se
introduce dentro del
estado

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

100
Sistemas Digitales Secuenciales

Desarrollemos el concepto partiendo de un ejemplo:


En este ejercicio se diseñará un sistema en el cual la salida Z del circuito sea 1
cuando ingresen tres unos seguidos, es decir, un circuito secuencial que identifica
la secuencia 1-1-1.

Diagrama de bloques del sistema:

x z

CLK
X 0011 10 0 111 101 0 1 1 1 0
Z (Moore) 0000 01 0 000 110 0 0 0 0 1
Z (Mealy) 0000 10 0 001 100 0 0 0 1 0
Diagrama de tiempos

Señal de reloj
CLK

Señal de
entrada
X

Señal de
salida
MOORE
Z

Señal de
salida
MELY
Z
Circuito
secuencial Mealy.
101
1/1

0/0
0/0
B 0/0

1/1 1/0 0/0 D


C
C
1/0
1/0
F 0/0

DE OTRA
FORMA
Mealy:

1/1

0/0 0/0
B

1/1 0/0
1/0
C
0/0
1/0
F

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

102
Sistemas Digitales Secuenciales

MOORE:

A/1
A/
0 0 1

B/0
0
1
0
C/0 D/0
1

Del ejemplo propuesto podemos concluir que existen diferentes formas de


establecer la secuencia de estados para un mismo comportamiento circuital, a
continuación analicemos otro par de ejemplos en los que partimos de un estado
inicial en ceros:

A continuación veamos dos ejemplos de sistema Moore con entradas en


ceros:

Partimos de definir el estado A como el estado que tomará el sistema en un ciclo


de reloj si en el estado anterior la entrada X=0.

Una vez que nos encontramos en el estado A y X toma el valor de 0 nuevamente,


¿es necesario que el sistema cambie de estado?, la respuesta es no, mientras la
entrada continúe siendo 0, el sistema debe permanecer en el mismo estado A,
esperando a que ingrese un 1.

103
X=0

A/0

X=1
X=0
B/0
X=1
X=0
C/0

X=0 X=1
D/1

Si estando en el estado A ocurre que X = 1, este evento debe memorizarse, lo cual


se logra evolucionando a otro estado (el estado B), en este estado, la salida
continuará siendo cero, ya que sólo se ha detectado un 1.

Si estando en el estado B ocurre que X=0, el sistema debe regresar al estado A


para eliminar el 1 que se había memorizado.

Pero si estando en el estado B, ocurre un 1, éste también debe memorizarse


haciendo que el sistema pase al estado C y la salida del sistema debe ser un 0, ya
que sólo han ocurrido dos unos.

Si estando en el estado C ocurre que X=0, el sistema debe regresar al estado A


para eliminar los dos 1’s que se habían memorizado.

Pero si estando en el estado C, ocurre un 1, éste también debe memorizarse


haciendo que el sistema pase al estado D y la salida del sistema debe ser un 1,
indicando que han ocurrido tres unos seguidos.

Si estando en el estado D ocurre que X=0, el sistema debe regresar al estado A


para eliminar la historia de tres 1’s que se había memorizado.

Pero si estando en el estado D, ocurre un 1, éste también debe memorizarse


haciendo que el sistema permanezca en el estado D y la salida del sistema debe
ser un 1, indicando que han ocurrido nuevamente tres unos consecutivos.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

104
Sistemas Digitales Secuenciales

Modelado del sistema mediante un sistema Mealy:

En el circuito Mealy el valor de la salida Z no se conoce por el hecho de conocer el


estado, es necesario que la variable de entrada X sea especificado para poder
conocer el valor de la salida Z.

Es por esta razón que en los circuitos Mealy en valor de la salida no viene
especificado en la entrada.

Variable de entrada
Salida
Estado

Así, en el siguiente diagrama observamos como el valor de la salida Z en un


estado específico puede tener dos valores de salida diferente: /0 ó /1 dependiendo
del valor de la entrada X, luego la pareja entrada / salida (X/Z) toma valores como
0/1 y 1/0.

0/0

1/0 = X/Z
X=0
B
1/0
1/1
X=0
C

Si estando en el estado A, X toma el valor de 1, la salida será cero y el sistema


pasará al estado B.

Si estando en el estado B, X toma el valor de 1, la salida será cero y el sistema


pasará al estado C.

Si estando en el estado C, X toma el valor de 1, la salida será uno y el sistema


continuará en el estado C.

105
En cualquiera de los estados, cuando X tome el valor de 0, la salida será cero y el
estado siguiente será el estado A.

Encontramos entonces que dependiendo de la secuencia asumida aparece un


circuito diferente, en la práctica al activar un sistema asumimos el estado CLEAR
como el primer dato, en este caso nos conviene partir de un diseño con entradas
en cero. En otras palabras, partimos del estado que nos convenga.

Segunda etapa del diseño: Identificación del número de estados:

En el circuito Moore de estado inicial en unos, contamos sólo cuatro estados, A, B,


C y D mientras que en el circuito Mealy fueron necesarios tres estados, esta
reducción de estados puede redundar en una reducción o simplificación del circuito
pero dada la naturaleza del sistema Mealy, identificar o seguir un señal es a la vez
más complejo, lo que dificulta la detección futura de errores.

Tabla de estados equivalente al diagrama de estados Moore:

Estado Salida
actual de cada
Estado Siguiente
estado
EA Z X=0 X=1
A 1 B A Si estando
en el estado
B 0 B C
A la entrada
C 0 B D
X es 1, el
D 0 B A estado
siguiente
Tabla de estados equivalente al diagrama de estados
continúa
siendo A

Estos cuatro estados indican que para el diseño del circuito serán necesarios dos
slip-flop con salidas Q1 y Q2.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

106
Sistemas Digitales Secuenciales

Tercera etapa del diseño: Asignación de estados:

Es el proceso de asignar las combinaciones de los diferentes valores de las salidas


de los dos fip-flop Q1 y Q2 a los estados A, B, C, D.

Q1Q0
A=00
B=01
C=10
D=11

Tabla de transición:
Reemplazando la asignación de estados, la tabla de transición se transforma en:

Estado actual Salida Estado siguiente


Actual X=0 X=1
Q1 Q0 Z
A 0 0 1 0 1 (B) 0 0 (A)
B 0 1 0 0 1 (B) 1 0 (C)
C 1 0 0 0 1 (B) 1 1 (D)
D 1 1 0 0 1 (B) 0 0 (A)
Tabla de transición

Ahora se debe determinar el tipo de flip-flop a usar para terminar el circuito.

107
Lección 19 Memorias

La memoria fabricada con materiales semiconductores o semiconductora se


clasifica en memorias RAM, ROM, PROM, EPROM y EEPROM.

Disposición de los registros y celdas en una memoria:


Para acceder a las diferentes celdas y registros es necesario definir una
nomenclatura al igual que lo acemos para encontrar direcciones en una ciudad,
ésta convención nos permitirá almacenar, recupera y borrar el contenido de las
celdas.

Normalmente, los registros o vectores se representan en celdas horizontales y los


bits de cada registro son indicados por las columnas:

1 0 1 0
Registros 0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
0 0 1 0
Tabla 1: Memoria
En la tabla 1 vemos representada una memoria de ocho registros cada uno de
cuatro bits.
¿Cuantos bits podemos almacenar en esta memoria?

Operación de escritura en memoria:

Bus de direcciones:
Para localizar una posición de memoria, es necesario contar con las señales para
ubicar la celda específica, éstas líneas recibirán el nombre de líneas de
direccionamiento, que en su conjunto son denominadas bus de direcciones.

Bus de datos:
La información a extraer de la memoria debe estar presente en el momento de
lectura en pines diferentes a los que indican la dirección. Este conjunto de señales
reciben el nombre de bus de datos.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

108
Sistemas Digitales Secuenciales

Señales de control:

Para indicarle a la memoria que los datos presentes en el bus de datos deben ser
almacenados en la posición indicada por el bus de direcciones, la memoria debe
contar con unos pines especiales:

1.Un pin para habilitar la memoria en su conjunto


2.Un pin para indicar que la tarea a realizar es de escritura
3.Un pin para indicar que la tarea es de lectura

¿Cuantas líneas de direccionamiento de memoria se requieren para


direccionar completamente una memoria de ocho registros de cuatro bits?

En el momento de almacenar la información en la memoria, únicamente es


necesario direccionar cada registro, las señales del bus de datos deberán seguir
un orden específico para el almacenamiento de los bits en la celda correcta, luego,
no es necesario direccional las celdas como tal, únicamente el registro:

Este es el bit cero,


0 0 0 0 o bit de menor
1 0 1 0 peso
Registros
0 0 0 0
0 0 0 0
Input/Outp1 0 0 0 0
Datos
Input/Outp2
de 1 1 1 1
Input/Outp3
entrada 1 1 1 1
Input/Outp4
0 0 1 0

A2 A1 A0 R/W E/D

Señales de control
Bus de direcciones
Dirección a ingresar: 2 = 0 0 1 0

109
¿Para qué se utiliza la memoria RAM en un computador?

La memoria RAM normalmente se divide en dos secciones denomidadas RAM de


propósito general y RAM de propósito específico. En la RAM de propósito general,
el programador puede almacenar datos que son denominados Variables del
sistema, mientras que en la RAM de propósito específico, cada celda tiene un
función dada por el diseñador del procesador o microprocesador; en éste caso el
programador no puede utilizar éstos espacios de la RAM para definir y almacenar
variables.

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

110
Sistemas Digitales Secuenciales

ANEXO A

INSTALACIÓN DE XILINX 7.1i

Ver documentos anexos.Proceso de instalación del software Xilinx 7.1i

La instalación completa de Xilinx requiere de aproximadamente 500 Megas de


espacio disponible en el disco duro, y toma aproximadamente una hora para
completarse.

BIBLIOGRAFÍA

1. Ejecuta el archivo stup.exe

•Echavarría Cifuentes, Rubén Darío. Circuitos Digitales I. Universidad de


Antioquia. Colombia 2000.

•GOMEZ, Carlos, GOMEZ, German, BOTERO, William. Matemática Digital. Mc


Graw Hill. Bogotá 1998.

111
Ejercicios propuestos

Queridos jóvenes,

¡Sean ustedes bienvenidos a este curso! Inicia el periodo académico e inicia


también la primera actividad que tenemos programada para nuestro curso de
Sistemas Digitales Secuenciales. La Actividad 01 es, un conjunto de actividades
que solicitamos

1. Luego de observar las unidades del módulo y de haber leído la introducción


del mismo ¿Cuál piensa usted que es la diferencia entre el curso de sistemas
digitales básicos y el de sistemas digitales secuenciales?
2. ¿Crees que para desplegar en una pantalla la secuencia 1 2 3 4, se requiera
de alguna forma elemental de memoria? Explica y debate con tus compañeros.
3. Si requiere diseñar un sistema de seguridad en el cual para que se abra una
puerta se debe digitar una clave con la condición de que si se ingresar la clave
equivocadamente tres veces suene una alarma. ¿Podrá usted hacer este diseño
con los conocimientos de electrónica digital básica?
4.Cuando Juan intenta cruzar la calle, mira y ubica los vehículos en la distancia,
lo que le permite calcular la velocidad y trayectoria de éstos, para luego calcular
la trayectoria y velocidad propias. Al observar que el vehículo acelera, Juan
actualiza su velocidad y trayectorias, sin dejar de observar el vehículo. Este
proceso, define un sistema retroalimentado, el cual está capturando información
constantemente, discute con tus compañeros cuales son las variables que se
retroalimentan y cuál es el procesamiento que sufren. Luego realiza un diagrama
de flujo que representen la situación planteada.
5. Recordando conocimientos del curso Sistemas Digitales Básicos. Diseñe y
ensamble un circuito digital para la función F(MAX)= F(0,2,3,5,7,11,14)
previamente simplificada usando mapas de Karnaugh.
6. Investigue qué es un sistema y qué lo caracteriza

__________________________________________________________________
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.co
Inquietudes y recomendaciones: e-mail: georffrey@gmail.com

112

You might also like