ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño...

179
"ESCUELA POLITÉCNICA NACIONAL" r r FACULTAD DE INGENIERÍA ELÉCTRICA TESIS DE GRADO "DISEÑO SECUENCIAL SINCRÓNICO ASISTIDO POR COMPUTADOR" TESIS PREVIO A LA OBTENCIÓN DEL TITULO DE INGENIERO EN ELECTRÓNICA Y TELECOMUNICACIONES SERGIO L. CLAVTJO MORENO QUITO, 28 DE NOVIEMBRE DE 1997

Transcript of ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño...

Page 1: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

"ESCUELA POLITÉCNICA NACIONAL"

r r

FACULTAD DE INGENIERÍA ELÉCTRICA

TESIS DE GRADO

"DISEÑO SECUENCIAL SINCRÓNICO ASISTIDO POR

COMPUTADOR"

TESIS PREVIO A LA OBTENCIÓN DEL TITULO DE

INGENIERO EN ELECTRÓNICA Y

TELECOMUNICACIONES

SERGIO L. CLAVTJO MORENO

QUITO, 28 DE NOVIEMBRE DE 1997

Page 2: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Certifico que la presente tesis

ha sido realizada en su

totalidad por el Señor Sergio L.

Clavijo Moreno, bajo mi

afección.

Direcfor^de Tesis

Page 3: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

A GRADECIMIENTO

Al Ing. Carlos Novillo por su

sincera colaboración en el

desarrollo de esta Tesis. Deseo

también expresar mi afecto

sincero a iodos aquellos

amigos que colaboraron con

su apoyo en la culminación de

esta Tesis.

Page 4: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

ÍNDICE

CAPITULO I

1.- INTRODUCCIÓN A LOS SISTEMAS DIGITALES SECUENCIALES 1

1.1.- Introducción.. 1

1.2.- Elementos Biestables 5

1.2.1.- Circuito básico deunFlip -Flop 5

1.2.2.- Flip - Flop tipo SR temporizado 8

1.2.3.- Flip - Flop tipo D temporizado 10

1.2.4.- Flip -Floptipo JKtemporizado 12

1.2.5.- Flip -Flop tipo T temporizado 15

1.2.6.- Disparo de los Flip -Flops 16

a)Flip - Flop Maestro Esclavo 18

b) Flip - Flop Disparado por Flanco 18

1.3.- Sistemas Digitales Secuenciales 20

1.3.1.- Diseño Secuencia! Asincrónico 23

a) Ejemplo de Análisis 26

b) Ejemplo de Diseño 29

1.3.2.- Diseño Secuencia! Sincrónico 32

a) Tabla de Estado 34

b) Diagrama de Estado 36

c) Ecuaciones de Estado 37

1.4.- Contadores Sincrónicos 41

1.4.1.- Contador Binario 42

1.4.2.- Contador Binario Creciente Decreciente 43

1.4.3.- Contador Binario con carga enParalelo 44

1.4.4.- Contador de Anillo 46

1.4.5.- Contador Johnson 47

1.5.- Registros de Desplazamiento 49

1.5.1.- Registro de Desplazamiento con carga serial y paralelo 51

1.5.2.- Registro de Desplazamiento a Izquierda y Derecha 52

1.6.- Detectores de Secuencias de Códigos 54

índice 1

Page 5: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.6.1.- Reducción de Estados 56

a) Eliminación de Estados por Partición 63

b) Reducción de estados redundantes por medio de la Tabla de

Implicación 66

c) Condiciones No Importa o Términos sin Efecto 74

1.6.2.- Asignación de Estados 75

1.6.3.- Tabla Característica y de Excitación de los Flip Flops 79

CAPITULO II

2.- DISEÑO SECUENCIAL SINCRÓNICO POR EL MÉTODO 82

TRADICIONAL

2.1.- Procedimientos y Ejemplos de Diseño Secuencia! Sincrónico 83

2.2.- Problema General del Diseño Secuencia! Sincrónico 90

2.2.1.- Contadores Sincrónicos 95

2.2.2.- Registros de Desplazamiento 99

2.2.3.- Detectores de Secuencia de Códigos 102

2.3.- Diseño Secuencia! Sincrónico Utilizando Memorias ROM 112

CAPITULO III

3.- DISEÑO SECUENCIAL SINCRÓNICO ASISTIDO POR 116

COMPUTADOR

3.1.- Diagrama de Flujo y Descripción del Programa de Control y Ayudas 119

3.1.1.- Descripción del Programa Principal 119

3.1.2.- Descripción delPrograma de Ayudas 122

3.2.- Diagrama de Flujo de un Programa Tutoría! 124

3.3.- Diagrama de Flujo y Descripción del Programa General de Diseño

Secuencia! Sincrónico 126

3.4.- Diagrama de Flujo y Descripción de Programas Internos 128

3.5.- Diagrama de Flujo del Diseño Secuencia! Sincrónico Utilizando ROM.... 143

índice!

Page 6: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

CAPITULO IV

4.- EJEMPLOS DE UTILIZACIÓN DEL PROGRAMA 145

4.1.- Programa Tutorial 146

4.1.1.- Tutorial para el Diseño de Contadores Sincrónicos 147

4.2.- Programa General del Diseño Secuencia! Sincrónico 153

4.2.1.- Contadores Sincrónicos 153

4.2.2.- Detectores de Secuencia de Códigos 160

4.3.- Programa de Diseño Secuencia! Sincrónico Utilizando ROM 166

CAPITULO V

5.- RESULTADOS, CONCLUSIONES Y RECOMENDACIONES 168

Bibliografía 173

Anexos 175

índice 3

Page 7: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.- INTRODUCCIÓN A LOS SISTEMAS DIGITALES

SECUENCIALES

1.1.- INTRODUCCIÓN

Los circuitos lógicos para los sistemas digitales pueden ser combinacionales o

secuenciales. Un circuito combinacional consiste de compuertas lógicas cuyas salidas se

determinan directamente en cualquier momento dependiendo únicamente de la combinación

presente en las entradas sin tener en cuenta la combinación anterior de las mismas. Un

circuito secuencia! realiza una operación de procesamiento de información específica y

completamente lógica por medio de un conjunto de funciones de Boole. Los circuitos

secuenciales usan elementos de memoria (celdas binarias), además de compuertas lógicas.

Sus salidas son una función de la combinación presente en las entradas y del estado de los

elementos de memoria en el instante analizado. El estado de los elementos de memoria, a su

vez es una función de la combinación previa de las entradas. Como consecuencia, las salidas

de un circuito secuencial dependen no solamente de la combinación presente en las

entradas, sino también de la combinación pasada de las entradas, y el comportamiento del

circuito debe especificarse por medio de una secuencia de tiempos de las entradas y estados

internos que se encuentran presentes en los elementos de memoria.

Aunque cada sistema digital debe tener circuitos combinacionales, la mayoría de los

sistemas encontrados en la práctica incluyen también elementos de memoria, los cuales

requieren que el sistema se describa en términos de lógica secuencial.

Página 1

Page 8: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Un diagrama de bloques de un circuito secuencial se muestra en la Figura 1.1. Este

consiste de un circuito combinacional al cual se le conectan elementos de memoria para

formar un camino de realimenlación. Los elementos de memoria son capaces de almacenar

información binaria dentro de ellos. La información binaria almacenada en los elementos de

memoria en un tiempo dado define el estado del circuito secuencial.

EntradaCircuito combinacional

Elementos dememoria

Salida

FIGURA 1.1: Diagrama de bloques de un circuito secuencial.

El circuito secuencial recibe la información binaria de las entradas externas. Estas

entradas, conjuntamente con el presente estado de los elementos de memoria, determinan el

valor binario de los terminales de salida. El diagrama de bloques demuestra que las salidas

externas de un circuito secuencial son una función no solamente de las entradas externas sino

del presente estado de los elementos de memoria. El estado siguiente de los elementos de

memoria es también una función de las entradas externas y del estado presente. Así un

circuito secuencial se especifica por medio de una secuencia de tiempo de las entradas,

salidas y estados internos.

Hay dos tipos de circuitos secuenciales. Su clasificación depende del tiempo de sus

señales. Un circuito secuencial sincrónico es un sistema cuyo comportamiento puede

Página 2

Page 9: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

definirse a partir del conocimiento de sus señales en instantes discretos de tiempo. En los

sistemas sincrónicos la salida correspondiente a unas determinadas condiciones de entrada se

difiere hasta la recepción de una señal de tiempo. Esta señal de tiempo se suministra

simultáneamente a todas las partes del sistema para asegurar el funcionamiento sincrónico de

las mismas. Estas señales de tiempo son trenes de impulsos que se generan

independientemente del sistema, en un generador de impulsos o "rdof\l comportamiento

de un circuito asincrónico dependen del orden en que cambien las señales de entrada y

puedan ser afectadas en un instante dado de tiempo. Los elementos de memoria

comúnmente usados en los circuitos secuenciales asincrónicos son mecanismos retardadores

de tiempo. En los sistemas asincrónicos, las distintas partes del sistema no están

sincronizadas por los impulsos de reloj, aquí es necesario que las distintas salidas mantengan

su valor hasta recibir una orden de cambio del resto del sistema.

La capacidad de memoria de los mecanismos retardadores de tiempo se debe al

hecho de que la señal gasta un tiempo finito para propagarse a través del dispositivo. En la

práctica, el retardo de propagación interna de las compuertas lógicas es de una duración

suficiente como para producir el retardo necesario, de tal manera que las unidades físicas de

retardo de tiempo pueden ser despreciables. En los sistemas asincrónicos tipo compuerta, los

elementos de memoria de la Figura 1.1 consisten en compuertas lógicas cuyos retardos de

propagación constituyen la memoria requerida. Así, un circuito secuencia! asincrónico puede

tomarse como un circuito combinacional con realimentación. Debido a la realimentación

entre las compuertas lógicas, un circuito secuencia! asincrónico puede a veces volverse

inestable. El problema de inestabilidad impone muchas dificultades al diseñador. Por lo

tanto, su uso no es tan común como los sistemas secuenciales sincrónicos.

Página 3

Page 10: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Un sistema lógico secuencia! sincrónico, por definición, puede usar señales que

afecten a los elementos de memoria solamente en instantes discretos de dempo. Una forma

de lograr este propósito es usar sistemas de pulsos de duración limitada a través del sistema,

de tal manera que la presencia o amplitud determinada de un pulso represente un 1 lógico y

la ausencia del pulso (u otra amplitud) represente un O lógico. L¿ dificultad con un sistema

de pulsos es que cualquier par de pulsos que lleguen de fuentes separadas independientes a

las entradas de la misma compuerta mostrarán retardos no predecibles de tal manera que se

separarán los pulsos ligeramente, resultando una operación no confiable.

Los sistemas lógicos secuenciales sincrónicos prácticos \isan amplitudes fijas tales

como niveles de voltaje para las señales binarias. La sincronización se logra por un

dispositivo de tiempo llamado generador maestro de tiempo el cual genera un tren

periódico de pulsos de reloj. Los pulsos de reloj se distribuyen a través del sistema de tal,

manera que los elementos de memoria son afectados solamente con la llegada del pulso de

sincronización. En la práctica, el pulso de reloj se apHca a las compuertas conjuntamente con

las señales que especifican los cambios requeridos en los elementos de memoria. Las salidas

de las compuertas pueden transmitir señales solamente en los instantes que coinciden con la

llegada de los pulsos de reloj.

Los circuitos secuenciales sincrónicos que usan pulsos de reloj en las entradas de los

elementos de memoria se llaman circuitos secuenciales temporizados. Los circuitos

secuenciales temporizados son el tipo más comúnmente usado. No presentan problemas de

inestabilidad y su temporización se divide fácilmente en pasos discretos independientes, cada

uno de los cuales se considera separadamente.

Página 4

Page 11: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.2.- ELEMENTOS BIESTABLES

•Los elementos de memoria usados en los circuitos secuenciales temporizados se

llaman elementos biestables, más comúnmente conocidos como "Flip - JFlops" (FFs). Estos

circuitos son celdas binarias capaces de almacenar un bit de información. Un circuito

biestable Flip - Flop (FF) tiene dos salidas, una para el valor normal y otra para el valor

complementado del bit almacenado en él. La información binaria puede entrar a un FF en

una variedad de formas, éste hecho, determina diferentes tipos de FFs.

El circuito de un FF puede mantener un estado binario indefinidamente (siempre y

cuando se esté suministrando energía al circuito) hasta que se entregue una señal de entrada

que permita cambiar de estado. La principal diferencia entre los varios tipos de FFs es el

número de entradas que poseen y la manera en la que las mismas afectan el estado binario.

Los tipos de FFs más comunes se discuten a continuación.

1.2.1.- CIRCUITO BÁSICO DE UN FLIP-FLOP

o—i

O—I

s10001

R00101

Q11000

Q100110

a) Diagrama lógico b)Tabla de verdad

FIGURA 1.2: Circuito Básico de un Flip - Flop con compuertas ÑOR.

Página 5

Page 12: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

El circuito de un FF puede construirse con dos compuertas NAND o con dos

compuertas ÑOR. Estas construcciones se muestran en los diagramas lógicos de las Figuras

1.2 y 1.3. Cada circuito forma un FF básico en base al cual se puede construir uno más

complicado. La conexión de acoplamiento mtercruzado de la salida de una compuerta a la

entrada de la otra constituye un camino de realimenLación. Por esta razón, los circuitos se

clasifican como circuitos secuenciales asincrónicos. Cada FF tiene dos salidas, Q y QJ cuyos

niveles lógicos son complementarios (con las excepciones que se observan en las tablas

respectivas) entre sí y dos entradas S (set, poner a 1) y R (reset - clear, reponer - borrar o

poner a cero). Este tipo de FF se llama Flip - Flop SR acoplado directamente.

S11010

R01110

Q00111

Q1ii001

R

a) Diagrama lógico b) Tabla de verdad

FIGURA 1.3: Circuito Básico de un Flip - Flop con compuertas NAND.

Para analizar la operación del circuito de la Figura 1.2 se debe recordar que la

salida de una compuerta ÑOR es O si cualquier entrada es 1 y que la salida es 1 solamente

cuando todas las entradas son 0. En éste análisis se debe asumir un punto de partida,

asúmase que la entrada S es 1 y que la entrada R es 0. Como la compuerta 2 tiene una

entrada de 1, su salida Q' debe ser O, lo cual coloca ambas entradas de la compuerta 1 en O,

Página 6

Page 13: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

esto determina que la salida Q sea 1. Cuando la entrada S vuelve a O, las salidas

permanecerán iguales ya que la salida Q sigue siendo 1, dejando una entrada de la

compuerta 2 en 1. Esto causa que la salida QJ permanezca en O lo cual coloca ambas

entradas de la compuerta 1 en O y así la salida Q es 1. De la misma manera es posible

demostrar que un 1 en la entrada R cambia la salida Q a O y QJ a 1. Cuando la entrada de

puesta a cero cambia a O, las salidas no cambian.

Cuando se aplica un 1 a ambas entradas, las salidas Q y Q' van a O esta

combinación viola el hecho de que las salidas Q y Q* son complementarias entre sí. En

operación normal esta condición debe evitarse asegurándose que no se aplique un 1 a ambas

entradas simultáneamente.

Un FF tiene dos entradas útiles. Cuando Q = 1 y Q' = O estará en el estado de

puesta a uno (o estado 1). Cuando Q = O y Q' = 1 estará en el estado de puesta a cero (o

estado cero). Las salidas Q y Q' son complementarias entre á, se les trata como salidas

normal y complemento respectivamente. El estado binario de un FF se toma como el estado

binario de su salida normal.

Bajo operación normal, ambas entradas deben permanecer en O a no ser que se

quiera cambiar el estado del FF. La aplicación de un 1 momentáneo a la entrada S causará

que el FF vaya al estado 1 (Set), esta entrada debe volver a O antes que se aplique un 1 a la

entrada R. Un uno momentáneo aplicado a la entrada R causará que el FF vaya al estado

cero o de borrado (Clear). Cuando ambas entradas son inicialmente O y se aplica un 1 a la

entrada S mientras que el FF esté en el estado 1 (Set) o se aplica un 1 a la entrada R

Página 7

Page 14: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

mientras que el FF esté en el estado cero o de borrado (Clear), no existirán cambios en las

salidas del FF.

El circuito del FF básico NAND de la Figura 1.3 opera normalmente con ambas

entradas en 1 a no ser que el estado del FF tenga que cambiarse. La aplicación de un O

momentáneo a la entrada de puesta a uno, causará que Q vaya a 1 y Q' vaya a O, llevando el

FF al estado de puesta a uno. Después que la entrada de puesta a uno vuelva a 1, un cero

momentáneo en la entrada de puesta a cero causará la transición al estado de borrado

(Clear). Cuando ambas entradas vayan a 0? ambas salidas irán a 1; esta condición se evita en

operación normal de un FF de este tipo, por ser una condición inestable.

1.2.2.- FLEP - FLOP TIPO SR TEMPORIZADO

El FF básico por sí solo es un circuito secuencia! asincrónico. Agregando

compuertas a las entradas del circuito básico, puede hacerse que el FF responda a los niveles

de entrada durante la ocurrencia de un pulso de reloj. El FF SR temporizado mostrado en la

Figura 1.4 (a) consiste de un FF básico ÑOR y dos compuertas AND. Las salidas de las

dos compuertas AND permanecen en cero mientras el pulso del reloj Ck sea O,

independientemente de los valores de las entradas S y R. Cuando el pulso de reloj vaya a 1,

la información de las entradas S y R se transfiere al FF básico. El estado de puesta a 1 se

logra con R = O, S = 1 y Ck = 1. Para cambiar el estado de puesta a O (o borrado) las

entradas deben ser R = 1, S = O y Ck =1. Con R = 1 y S = 1, la presencia de un pulso de

reloj causará que ambas salidas vayan momentáneamente a 0. Cuando se quite el pulso, el

estado del FF será indeterminado, es decir podría resultar cualquier estado, dependiendo de

Página 8

Page 15: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

sí la entrada de puesta a 1 o la de puesta a O del FF básico pennanezcan el mayor tiempo,

antes de la transición a O al final del pulso.

Q

Q1

Qn00001111

s00110011

R01010101

Qn+1001

ND101

ND

a) Diagrama lógico

ND: No determinado

c) Tabla característica

R Ck S Qn

00 01 11 10 '

0

1 )

0

0

'

X

x

^

A

1

( 1J

,. ..

b) Símbolo gráfico

S.R = 0

d) Ecuación característica

FIGURA 1.4: Flip - Flop tipo SR Temporizado.

Página 9

Page 16: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

El símbolo gráfico del FF SR sincronizado se muestra en la Figura 1.4 (b). Tiene

tres entradas: S, R y Ck. El triángulo es un símbolo para el indicador dinámico y denota el

hecho de que el FF responde a una transición del reloj de entrada o flanco de subida de una

señal de un nivel bajo (O binario) a un nivel alto (1 binario).

La tabla característica o de función del FF se muestra en la Figura 1.4 (c). Esta

tabla resume la operación del FF. Qn es el estado del FF en un tiempo dado (refiriéndose al

estado presente), las columnas S y R presentan los valores posibles que pueden tener las

entradas y Qni-i es el estado del FF después que haya ocurrido un pulso de reloj

(refiriéndose al estado siguiente). La ecuación característica de este FF se deduce del mapa

de Karnaugh de la Figura 1.4 (d). Esta ecuación especifica el valor del estado siguiente

como una función del estado presente y de las entradas. La ecuación característica es una

expresión algebraica para la información binaria de la tabla característica. Los dos estados

indeterminados se marcan con una X en el mapa, ya que puede resultar como 1 o como 0.

Sin embargo la relación S.R = O debe incluirse como parte de la ecuación característica para

especificar que S y R no pueden ser iguales a 1 simultáneamente.

1.2.3.- FLIP - FLOP TIPO D TEMPORIZADO

El FF tipo D temporizado mostrado en la Figura 1.5 es una modificación del FF

SR temporÍ7.ado. Tas compuertas NAND 1 y 2 forman el FF básico y las compuertas 3 y 4

las modifican para conformar el FF SR temporizado. la entrada D va directamente a la

entrada S y su complemento se aplica a la entrada R a través de la compuerta 5. Mientras

que el pulso de reloj de entrada sea 0? las compuertas 3 y 4 tienen un 1 en sus salidas,

Página 10

Page 17: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

independientemente del valor de las otras entradas. Esto está de acuerdo a que las dos

entradas del FF básico NAND (Figura 1.3) permanezcan inicialmente en el nivel de 1.

Qn D0011

0101

Qn+1

0101

a) Diagrama lógico con compuertas NAND c) Tabla característica

Q Q'

CkXX

D

0 ( 1 ^

0

0

1

1

b) Símbolo gráfico d) Ecuación característica

FIGURA 1.5: Flip - Flop tipo D Temporizado

Página 11

Page 18: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La entrada D se comprueba durante la presencia de un pulso de reloj. Si es 1, la

salida de la compuerta 3 va a 0; cambiando el FF al estado de puesta a 1 (a no ser que ya

esté en ese estado). Si es O, la salida de la compuerta 4 va a O cambiando el FF al estado de

puesta a O o borrado.

El FF tipo D describe su nombre por la habilidad de transmitir "datos". Un FF tipo

D es básicamente un FF SR con un inversor a la entrada R. El inversor agregado reduce el

número de entradas de dos a uno. Este tipo de FF se llama algunas veces bloqueador D con

compuertas o FF de bloqueo o retenedor de datos (Data - latch). La entrada Ck se le da a

menudo la designación de variable G (gate) para indicar que esta entrada habilita el FF de

bloqueo para hacer posible que los datos entren al mismo.

El símbolo para el FF D temporizado se muestra en la Figura 1.5 (b). La tabla

característica se lista en la paite (c) y la ecuación característica en la paite (d). La ecuación

característica muestra que el estado siguiente del FF es igual a la entrada D y es

independiente del valor del presente estado.

1.2.4.- FLIP ~ FLOP TIPO JK

Un FF JK es un refinamiento del FF SR ya que el estado indeterminado del tipo

SR se define en el tipo JK. Las entradas J y K se comportan como las entradas S y R

respectivamente para poner a 1 o O (Set o Clear) al FF. Cuando a ambas entradas se aplican

un 1 a J y K simultáneamente, el FF cambia a su estado de complemento, esto es, si Q — 1

cambia a Q = O y viceversa.

Página 12

Page 19: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Q

Q1

9n00001111

J00110011

K01010101

Qn+100111010

a) Diagrama lógico

J Ck K

b) Símbolo gráfico

JK

QrN

c) Tabla característica

00 OÍ lí 10

0

-;-]0

0

( <0

' ](7 ~

I

d) Ecuación característica

FIGURA 1.6: Flip - Flop tipo JK Temporizado

Un FF JK sincronizado se muestra en la Figura 1,6 (a). La salida Q se aplica con

K y Ck a una compuerta AND de tal manera que el FF se ponga a cero (clear) durante un

pulso de reloj solamente si Q fue 1 previamente. De manera similar la salida Q' se aplica con

Página 13

Page 20: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

J y Ck a una compuerta AND de tal manera que el FF se ponga a uno con un pulso de

reloj, solamente si Q7 fue 1 previamente.

Como se muestra en la tabla característica en la Figura 1.6 (c), el FF JK se

comporta como un FF SR excepto cuando las entradas J y K sean ambas iguales a 1.

Cuando J y K son iguales a 1, el pulso de reloj tiene efecto y se transmite solamente en la

compuerta AND en cuya entrada está conectada la salida del FF que tiene valor presente

igual a 1. Así, si Q = 1, la salida de la compuerta AND superior de la Figura 1.6 (a) se

convertirá en 1 una vez que se aplique un pulso de reloj y el FF se pondrá a cero. Si Q' = 1

la salida de la compuerta AND inferior de la Figura 1.6 (a) se convertirá en 1 y el FF se

pondrá a uno. En cualquier caso, el estado de la salida del FF se complementa.

Las entradas en el símbolo gráfico para el FF JK deben marcarse con una J

(debajo de Q) y K (debajo de Q')- La ecuación característica se muestra en la Figura 1.6

(d) y se deduce del mapa de la tabla característica Figura 1.6 (c).

Nótese que debido a la conexión de realimentación del FF JK la señal de reloj Ck

que permanece en 1 (mientras J = K = 1) causará transiciones repetidas y continuas de las

salidas después de que las salidas hayan sido complementadas. Para evitar esta operación

indeseable, los pulsos de reloj deben tener un tiempo de duración menor que la demora de

propagación a través del FF. Esta es una restricción, y que la operación del circuito depende

del ancho de los pulsos. Por esta razón los FF JK nunca se construyen como se muestran en

la Figura 1.6 (a). La restricción del ancho del pulso puede ser eliminada con un maestro

esclavo o una construcción activada por flanco.

Página 14

Page 21: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.2.5.- FLIP - FLOP TIPO T TEMPORIZADO

a) Diagrama lógico

Q1

T Ct

Q

Q1

Qn0011

T0101

QlM0110

c) Tabla característica

b) Símbolo gráfico d) Ecuación característica

FIGURA 1.7: Flip - FIop tipo T Temporizado

El FF T es la versión de una entrada del FF JK. Como se muestra en la Figura

1.7 (a), el FF T se obtiene de un tipo JK al cual se le une las dos entradas. El nombre T se

deriva de la habilidad del FF de variar (Toggle) o cambiar de estado. Independientemente

del presente estado del FF, éste asume el estado de complemento cuando ocurre el pulso de

Página 15

Page 22: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

reloj mientras que la entrada T esté en 1 lógico. El símbolo gráfico, la tabla característica y la

ecuación característica del FF T se muestran en la Figura 1.7, partes (b), (c) y (d)

respectivamente. El FF T tiene las mismas restricciones del FF JK de la Figura 1.6 (a).

1.2.6.- DISPARO DE LOS FLIP - FLOPs

*El estado de un FF varía debido a un cambio momentáneo en la señal de entrada.

Este cambio momentáneo se lo llama disparo (trígger) y la transición que lo causa se dice

que dispara el FF. Los FFs asincrónicos, tales como los circuitos básicos de la Figura 1.2 y

1.3, requieren un disparo de entrada definido por un cambio de nivel de señal. Este nivel

debe regresarse a un valor inicial (O en el FF basado en compuertas ÑOR y 1 en aquel

basado en compuertas NAND) antes de aplicarle el segundo disparo. Los FFs sincronizados4j-

se disparan por medio de pulsos, un pulso comienza a partir de su valor inicial de O, va

momentáneamente a 1 y después de un corto período, regresa a su valor inicial 0. El

intervalo de tiempo que ocurre desde la aplicación del pulso hasta que ocurra la transición de

salida, es un factor crítico.

Como se ve en el diagrama de bloques de la Figura 1.1, un circuito secuencial tiene

^ un camino de realimentación entre el* circuito combinacional y los elementos de memoria,-^T-

Este camino puede producir inestabilidad si la salida de los elementos de memoria (FFs)

están cambiando mientras que las salidas del circuito combinacional que van a las entradas

de los FFs están siendo sometidas a prueba por el pulso de reloj. Se puede prevenir el

problema de tiempo si las salidas de los FFs no comienzan a cambiar hasta que el impulso

de entrada haya retornado a O, Para asegurar tal operación, un FF deberá tener un retardo

^ Página 16

Page 23: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

de propagación de la señal desde la entrada hasta la saHda, en exceso, con respecto a la

duración del pulso. Este relardo es comúnmente muy difícil de controlar si el diseñador

depende totalmente del retardo de propagación de las compuertas lógicas. Una forma de

asegurar el retardo adecuado es incluir en el circuito del FF una unidad de retardo físico que

tenga un retardo igual o mayor que la duración del pulso. Una forma muy buena de resolver

el problema de temporización por realimentación es hacer que el FF sea sensible a la.

transición del pulso en vez de la duración del pulso.

Un pulso de reloj puede ser positivo o negativo. Una fuente de reloj positiva

permanece en O durante el intervalo entre los pulsos y va a uno durante la ocurrencia de un

pulso. El pulso pasa por dos transiciones de señal: de O a 1 y el regreso de 1 a 0. Como se ve

en la Figura 1.8, la transición positiva se define como flanco positi\>o y la transición

negativa como flanco negativo. Esta definición es aplicable también a los pulsos negativos.

La forma de aplicar el disparo en los flancos es, mediante el uso de un FF Maestro -

esclavo o un FF de disparo por flancos, los cuales se describen a continuación.

Pulso positivo

Flanco FlancoPositivo Negativo

Pulso negativo

Flanco FlancoNegativo Positivo

FIGURA 1.8: Definición de la transición de un pulso de reloj.

Página 17

Page 24: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

a) FLIP - FLOP MAESTRO ESCLAVO

Un FF Maestro - esclavo se construye con dos FF sincrónicos separados. Un

circuito sirve como maestro y el otro como esclavo y el circuito completo se trata como un

FF Maestro - esclavo. El diagrama lógico de un FF Maestro - esclavo SR se muestra en la

Figura 1.9. Este consiste de un FF maestro, un esclavo y un inversor. Cuando el pulso de

reloj Ck es O, la salida del inversor es 1. Como el pulso de entrada de reloj del esclavo es 1>

el FF se habilita y la salida Q es igual a Y mientras que Q' se iguala a Y'. El FF maestro se

inhabilita debido a que Ck = 0.

Cuando el pulso de reloj se convierte en 1, la información en las entradas externas

S y R se transmiten al FF maestro. El FF esclavo sin embargo, se aisla por el intervalo en

que el pulso esté en un nivel de 1, ya que la salida del inversor es 0. Cuando el pulso regresa

a O, el FF maestro se aisla, lo cual previene que las entradas externas lo afecten. El FF

esclavo ka al mismo estado que el maestro.

Maestro Esclavo

S .•

R.•

5 Q

>Ck

R Q'

r^

Y

Y'

$ Q

>Ck

R O1

FIGURA 1.9: Diagrama lógico de un FF Maestro - esclavo.

Página 18

Page 25: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

b) FLIP - FLOP DISPARADO POR FLANCO

Otro tipo de FF que sincroniza los cambios de estado durante una transición de

pulso de reloj es el FF disparado por flanco. En este tipo de FF, las transiciones de salida

ocurren en un nivel específico del pulso de reloj. Cuando el nivel de entrada del pulso

excede este umbral, se cierran las entradas y el FF es por tanto inactivo a cambios

posteriores en las entradas hasta que el pulso de reloj regrese a cero y ocurra otro pulso.

Algunos FFs disparados por flanco causan una transición en el flanco positivo del pulso y

otros causan una transición en el flanco negativo del pulso.

D

R

Q

Q1

FIGURA 1.10: Flip - Flop tipo D disparado por flanco positivo.

El diagrama lógico de un FF tipo D disparado por flanco positivo se muestra en la

Figura 1.10. Este consiste en tres FFs básicos del tipo mostrado en la Figura 1.3. Las

Página 19

Page 26: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

compuertas NAND i y 2 constituyen un FF básico al igual que las compuertas 3 y 4. El

tercer FF básico que comprende las compuertas 5 y 6 genera las salidas del circuito. Las

entradas S y R del tercer FF básico deben mantenerse en lógica 1 para que las salidas

permanezcan en sus valores estables. Cuando S = O y R = 1, la salida va al estado de puesta

a uno con Q = 1. Cuando S - 1 y R = O, la salida va al estado de puesta a cero con Q = 0.

Las salidas S y R se determinan de los estados de los otros dos FFs básicos. Estos dos FFs

básicos responden a las entradas externas D (datos) y a Ck (pulso de reloj).

1.3.- SISTEMAS DIGITALES SECUENCIALES

Los circuitos lógicos cuyas entradas están alimentadas por ñientes externas, sin

realimentación, es decir, sin conexión entre las salidas y las entradas de las compuertas, se

los denomina circuitos combinacionales,

En los circuitos combinacionales, las salidas están determinadas únicamente por las

entradas. Si, en un instante t — t$ cambia alguna de las entradas, consecuentemente las

salidas deben cambiar. Pero las nuevas salidas dependen solamente de las entradas después

del instante de tiempo t = to y no del valor que tuvieron las salidas y las entradas antes de

ese instante de tiempo. Estos circuitos combinacionales no tienen memoria. Las salidas

actuales dependen de las entradas actuales, pero no de los valores de entradas y salidas

anteriores. Cuando cambian las entradas hay un intervalo muy breve de tiempo durante el

cual las salidas no reflejan ningún cambio. Este breve intervalo es una consecuencia del

retardo finito de propagación a través de las compuertas. Retardos de propagación

frecuentemente muy pequeños.

Página 20

Page 27: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Existen otros circuitos con realimentación en donde las salidas dependen no sólo de

las entradas actuales, sino también de su historia pasada. Esto es, las salidas actuales

dependen de la secuencia de valores lógicos en las enü'adas y de la condición almacenada en

memoria. Estos circuitos lógicos se denominan secuendales.

Cada etapa que atraviesa un circuito secuencia! se denomina estado. En cada

estado el circuito almacena información de su historia pasada, para saber que hacer a

continuación. Un estado se distingue de otro por su información almacenada. Parecerá que,

a medida que pasa el tiempo, es necesario añadir nuevos elementos a la memoria y, por

consiguiente, desarrollar una secuencia ilimitada de estados nuevos y diferentes. Sin

embargo, parece que no toda la historia pasada es relevante, ni todos los estados por los que

pasa el sistema son diferentes entre sí y que el número total de estados es bastante limitado.

Un ejemplo servirá para ilustrar este argumento.

Si se tiene la tarea de mirar una fila de cinco bombillas de luz, numeradas del 1 al 5,

que normalmente están apagadas. Una bombilla cualquiera, pero solamente una cada vez, se

ilumina brevemente de vez en cuando. Se indica que si se ilumina la bombilla 1, después la

2, y así sucesivamente hasta la número 5, al terminar esta secuencia hacer sonar una alarma,

y si el orden de destellos no sigue esa numeración, éste debe ignorarse hasta que se encienda

la luz 1 nuevamente para reiniciar el proceso. Así, cuando finalice la secuencia 1, 23 3, 4, 5,

debe sonar la alarma. Si aparece la secuencia 1, 2, 4, ..., después de observar el destello dé la

luz 4 se puede ignorar lo que sucede a continuación, ya que no se ha seguido el orden

requerido, y se pueden seguir ignorando los destellos hasta que la. luz 1 se encienda de

nuevo, ya que puede ser el comienzo de una secuencia de destellos en el orden requerido.

Página 21

Page 28: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Se puede determinar fácilmente el número de estados diferentes y distintos que

tendrá este sistema, considerando lo que es relevante: que las luces no se han encendido,

que se ha encendido la luz 1 y después la luz 2, y así sucesivamente, hasta que aparezca la

secuencia 1} 2, 3, 4, 5 y entonces se haga sonar la alarma. Como se ve hay un total de 6

mensajes diferentes que es necesario tener en cuenta, por tanto 6 datos y estados diferentes.

El número de diferentes secuencias de encendido que se pueden observar es

grande, pero no todas las varias secuencias son diferentes de una forma relevante. Si se

supone, por ejemplo, que se observa la secuencia 3, 2, 4, 5, 1, 2, 5, 3, 1, 4, 2, 1, 2. Todo lo

que se necesita recordar de esta secuencia es que los dos últimos encendidos fueron 1 y 2.

Así pues, esta secuencia coloca al sistema en el mismo estado que la secuencia 1, 2. Ahora si

se supone que se visualiza la secuencia 1, 2, 3, 4, 2, 5, 3, 2, 1, 3, cuando finalice el sistema

se encontrará en el mismo estado que si no se hubiese encendido ninguna luz.

Para implementar un sistema con componentes lógicos, se utilizarán FFs como

memoria. Si el sistema tiene, por ejemplo, 6 estados de recuerdo, como en el ejemplo,

consecuentemente se necesita 6 estados en los FFs. Para disponer de 6 estados se necesitan

3 FFs. En realidad con 3 FFs se disponen de 8 estados, que irían de QiQiQo = 000 a

QaQiQo = ni? como se necesitan solamente 6, no se utilizarían 2 estados.

El comportamiento de los circuitos secuenciales se determina de las entradas, las

salidas y los estados de los FFs. Tanto las salidas y el estado siguiente son una función de las

entradas y del presente estado. El análisis de los circuitos secuenciales consiste en obtener

una tabla o un diagrama de la secuencia de tiempo de las entradas, salidas y estados internos.

Página 22

Page 29: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Con respecto a la secuencia de tiempo se debe considerar cuando el sistema no posee un

reloj y lambién cuando si lo tiene. En estos casos se pueden definir dos tipos de sistemas

secuenciales; asincrónicos y sincrónicos, que se describen a continuación.

1.3.1.- DISEÑO SECUENCIAL ASINCRÓNICO

Xo

XI

vo

y

y*-

JXJ

».

LCC

C/

I)•N

•v

(

Q Dck

Q 0C*

Q DCX

YO

Y1

...y H

XO

XI

(1EOJNOMBOS)

a) b)

(EXrTKdONCI)

FIGURA 1.11: a) Estructura de un circuito secuencial sincrónico, b) Estructura de uncircuito secuencial en modo fundamental (asincrónico).

A los sistemas secuenciales asincrónicos se los considera como sistemas

secuenciales fundamentales porque los conceptos relacionados con los sistemas secuenciales

Página 23

Page 30: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

asincrónicos sustentan las características de los sistemas sincrónicos. Los circuitos

sincrónicos tienen incorporado un circuito secuencia! asincrónico con un FF temporizado el

cual es el corazón de un sistema sincrónico.

Los circuitos asincrónicos no son comprendidos ampliamente, porque situaciones

como velocidad crítica, estados casuales, riesgo dinámico, riesgo indispensable y

oscilaciones deben tenerse muy en cuenta por los diseñadores en el manejo de estos

circuitos los cuales pueden dificultar el diseño e implementación de estos sistemas.

En la Figura 1.11 (a) se presenta la estructura lógica de un circuito secuencial. Se

puede pensar razonablemente que el propósito del FF es suministrar un retardo entre los

cambios en los niveles lógicos en las líneas de estado siguiente y el cambio correspondiente

en las líneas del estado actual. Los cambios en las líneas de entrada XQ, xi, ..., x^j si los

hay, ocurren nominalmentc en el inslante de una transición de disparo de reloj y las líneas

del estado siguiente YO, Yj, ..., Y^.j responden inmediatamente. Sin embargo, el cambio

correspondiente en las líneas de estado presente yo, y^} ..., y^-j se retarda hasta la ocurrencia

de la siguiente transición de disparo del reloj.

Estas consideraciones sugieren que la estructura de la Figura 1.11 (b) puede

constituir un circuito secuencial. Aquí los FFs se han sustituido por elementos que

introducen un retraso. Un tipo de retraso resulta cuando una señal eléctrica se transmite a

través de un hilo largo, una compuerta lógica o de una cascada de compuertas. La diferencia

esencial entre el retardo de la Figura 1.11 (a) y (b) es que en el último caso, el retardo se

determina completamente por el retardo del elemento y no por xina señal externa (señal de

Página 24

Page 31: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

reloj). En la práctica, generalmente los elementos retardadores en la circuitería de la Figura

1.11 (b) no se introducen deliberadamente sino que son debidos a las compuertas de la parte

lógica del sistema.

Cuando el sistema de la Figura 1.11 (a) está en condición estacionaria en uno de

sus estados, las entradas yo, yj, • -, yk-i pueden ser diferentes de las salidas lógicas YO, Y3,

..., Yk-i. En la Figura 1.11 (b) en condición estacionaria, las entradas y salidas lógicas

deben coincidir ya que en respuesta a un cambio de una linea de entrada x^ xjf ..., x^i las

líneas YO, Yj, .., Y^-i cambiarán y como mínimo, durante el tiempo de retardo, las líneas Y

deben ser diferentes de las líneas y.

Como las Y e y son diferentes entre sí sólo transitoriamente y durante un intervalo

que no es controlable externamente, hay apatía por parte de algunos en llamarles variables de

estado siguiente y del estado actual. Por ello las Y se denominan frecuentemente variables

de excitación y las y, variables secundarias. El circuito secuencia! de la Figura 1.11 (a)

tque utiliza k FFs y tiene k líneas de estado puede tener hasta 2 estados diferentes.

Consecuentemente, el circuito de la Figura 1.11 (b) que utiliza k elementos de retardo

^también tendrá 2 estados.

Como se ha señalado, los circuitos secuenciales que utilizan FFs con señales de

reloj se denominan sistemas sincrónicos. En contraste, los circuitos que utilizan elementos de

retardo se denominan sistemas en modo fundamental. Históricamente, los sistemas en

modo fundamental aparecieron antes que los sincrónicos, estos últimos presentan muchas

Página 25

Page 32: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

ventajas: son más fáciles de diseñar y están Hbres de retardos de propagación, variables y

situaciones impredecibles. Además los sistemas en modo fundamental tienen en la actualidad

aplicaciones algo limitadas.

a) EJEMPLO DE ANÁLISIS

(XO)R

(X1)8 ^

FIGURA 1.12: Ejemplo de un circuito en modo fundamental.

Un ejemplo muy sencillo de un circuito en modo fundamental se da en la Figura

1.12. Se lo ha dibujado con el patrón de la Figura 1.11 (b). Se reconoce fácilmente como

un retenedor estático y se han rotulado aproximadamente los terminales. Las entradas XQ y

x-! son las de reset y set y la salida Z es el terminal Q del FF. En el presente ejemplo hay

una línea de estado Y conectada a y que coincide con la línea Z. El retardo de la línea que

suministra realimentación de la salida lógica a la entrada lógica no se muestra explícitamente.

Como se ha señalado, este retardo es realmente consecuencia de los retardos de propagación

de las compuertas. Como el estado se determina por el nivel lógico en una línea, puede

esperarse que el sistema tenga dos estados.

El comportamiento del circuito de la Figura 1.12 se describe en la tabla de la

Figura 1.13 (a). Aquí se presenta un diagrama correspondiente a cada una de las ocho

Página 26

Page 33: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

posibles combinaciones de las tres variables lógicas de entrada y, S y R. En cada

comportamiento se ha puesto el valor correspondiente a la salida Y (Z). Cuando S y R no

cambian y el sistema está estacionario en uno de sus estados estables, claramente se tiene que

Y = y. Para indicar los estados estables la entrada correspondiente a Y en la tabla se ha

encerrado en un círculo. Las entradas que no están en círculos corresponden a situaciones

que pueden persistir sólo transitoriamente y se refieren a estados inestables.

00 01 11 10

SR

KM 1

00 01 11 10

a) Y,* b)ES

EA: Estado actualES: Estado siguiente

FIGURA 1.13: a) Tabla de transición para el circuito de la Figura 1.12. b) Tabla deestados para el circuito de la Figura 1.12.

Esto es consistente con lo esperado, que cuando S = R = O hay dos estados

estables, uno en el que la variable de estado y = O y otro en el que y = 1. Ahora se supone

que S = O, R - 1, entonces como indica la flecha de trazo continuo, el sistema queda en el

mismo estado estable con y = 0. Un cambio posterior a S = 1, R = 1 deja al sistema en el

estado y = 0. A continuación si las entradas S = R = 1 cambian a S = l y R = 0 , esta

situación se analiza bajo las siguientes condiciones: en el diagrama de la Figura 1.12 se

supone que no hay retardos de propagación a través de las compuertas y que existe un

Página 27

Page 34: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

elemento de retardo entre Y e y. Entonces como se indica en la tabla de la Figura 1.13 (a),

con S = 1, R = 0 e y = 0 s e tiene que Y = 1, esta situación no persistirá después de un

retardo, el valor Y = 1 aparecerá en y, por lo tanto se tendrá que y = 1. Se puede también

ver en la misma figura que s i S = l ) R = O e j = Y = lesun estado estable. Así, en suma

cuando se está en el estado y = O con SR = 11, un cambio a SR = 10 lleva transitoriamente

al sistema a un estado inestable, se indica en la Figura 1.13 (a) por la flecha de línea

discontinua. De forma similar, comenzando de nuevo en ySR = 000 y se cambia a S = 1

pasará por el estado inestable ySR. = 010 y finalizará en el estado estable j>SR =110.

Comenzando en el estado estable ySR = 101 un cambio a SR = 00 dejaría en el

estado y = 1. Un cambio a SR = 11 ó SR = 01 haría volver al estado y = 0. La tabla de la

Figura 1.13(a) se denomina tabla de transición, en ella los estados se han identificado por

los niveles lógicos en las líneas de estado.

De manera algo más general si simplemente se requieren los nombres de los estados

sin hacer referencia específica a los niveles lógicos, la tabla aparecerá como en la Figura

1.13 (b). Aquí los estados se identifican por a y A, a esta tabla puede denominarse

razonablemente tabla de estados. Se ve una correspondencia entre la transición presente y las

tablas de estado y las transiciones y tablas de estado en los sistemas sincrónicos. Hay una

restricción que se aplica en el caso asincrónico que no ocurre en el caso sincrónico. En el

caso asincrónico debe haber como mínimo una entrada ES (estado siguiente) que sea la

misma que la EA (estado actual). De otra forma el estado contemplado no estaría en la tabla

de estados. También en el caso sincrónico ES y EA se refieren a los estados en cada período

de reloj. En el caso asincrónico ES y EA se refieren a los niveles lógicos de las líneas y e Y.

Página 28

Page 35: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

b) EJEMPLO DE DISEÑO

Los conceptos utilizados en esU sección del análisis en gran manera acrecentarán el

entendimiento del enfoque tradicional de diseño. Para este propósito, se considera el método

de análisis mediante la realización de un ejemplo.

X

A

B

C

D

@,oo

©.10

®.oi

©.uES, ZIZO

(a)

00

01

10

11

(00). 00

(Í0),10

©,01

(Q)*11Y1YO, ZIZO

(b)

X*

00

01

10

1 1.

_©_10

@00

01

©11(u)

Y1YO (también) ZIZO

(o)

jrEA

A

B

C

T)

®,ooc

©,10

A

B

(3>.oiD

(5>,i iES, ZIZO

(d)

FIGURA 1.14: a) Diagrama de estados de un contador módulo 4. b) Asignación deestados realizada para la tabla de estados del contador, c) Se hacenasignaciones de estados inestables para dirigir el circuito, d) Tabla deflujo.

Página 29

Page 36: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Como ejemplo sencillo de diseño, se considera un circuito de una sola entrada X y

dos salidas 2/i y Zo- £1 circuito debe contar en módulo 4 el número de cambios de niveles

lógicos de la entrada X. Entonces comenzando con^Y= O y ZjZo = 00, se desea que cuando

A" realice una secuencia X= O — * 1 — * O — * !• — * O, etc., la salida recorra la secuencia

- 00 — * 01 — » 10 — * 11 — * 00, etc.

Claramente se ve la necesidad de cuatro tablas de estado e inevitablemente el

diagrama de estados de la Figura 1.14 (a). Cuando X = O se encuentra en el estado A y la

salida ZiZo = 00. Cuando X cambia de O a 1, se desea ir al estado B con ZjZo = 01. De B ir

a Q de allí a D y finalmente volver a A. En la Figura 1. 14 (b) se realiza una asignación de

estados, que de acuerdo con la tabla al estado A se le asigna YiYo = yjyo = 00, etc. La

asignación de estados se ha realizado haciendo YiYo = Z^Zo en cada caso con el fin de

poder simplificar la circuitería lógica.

Volviendo al estado A, se señaló que cuando X cambia de O a 1 se va a una

columna en la que hay dos estados estables. ¿Cómo se puede asegurar que se finalice en el

estado correcto que es B y no D?. Un esquema bastante simple se da en la Figura 1.14 (c).

Aquí en la posición de la tabla paraj^^ = 00 y X = 1 se ha hecho la entrada YiY0 = 01.

Por consiguiente, cuando el sistema esté en el estado yjyo = 00 (estado A), un cambio en X

de O a 1 provoca un cambio inmediato en YI e YO a YiYo = 01. Poco tiempo después (el

tiempo de retardo) yjyo asume los valores YiYo y tenemos YiYo = yjyo — 01 que es

precisamente lo que se requiere para mantener el circuito en el estado B. Si la entrada en la

Página 30

Page 37: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

= 100 ha sido YjYo - 11 entonces correspondientemente habría ido del estado A al D. En

general cuando se va de una columna en la que se dispone de más de un estado estable, se

fabrican las entradas apropiadas en las posiciones correspondientes a estados inestables, para

dirigir al sistema al estado siguiente estable apropiado. Estas direcciones que no están

incluidas en la tabla de la Figura 1.14 (a) se incluye en la tabla de la Figura 1.14 (d).

En la Figura 1.14 (d) no se ha especificado ZjZo en las posiciones de la tabla con

estados inestables. Se decide que como esos estados duran muy poco, los valores de

son inoperantes.

ylyO yO

X00 01 11 10 00

0

( i

iyor i

01 11

0

JL

0

i

10

0

' )1

1 J

(a) Ya (b)Y0

FIGURA 1.15: Diagrama K de YI e Y o para el contador módulo 4.

Ahora se puede construir el diagrama lógico partiendo de la información de la

Tabla 1.14 (c). A partir de esla tabla se pueden fabricar las entradas de los mapas de

Karnaugh para YI e YO como en la Figura 1.15 (a) y (b). De donde se obtiene:

Página 31

Page 38: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

y el circuito se dibuja en la Figura 1.16.

YO

Y1Z1

FIGURA 1.16: Diagrama del circuito del contador módulo 4.

1.3.2.- DISEÑO SECUENCIAL SINCRÓNICO

Un diagrama lógico se reconoce como un circuito secuencial si este incluye FFs.

Los FFs pueden ser de cualquier tipo y el diagrama lógico puede o no incluir compuertas

combinacionales. En esta sección, se introduce primero un ejemplo de un circuito secuencial

temporizado y luego se presentan varios métodos para describir el comportamiento de los

circuitos secuenciales. Para ilustrar los diferentes métodos a lo largo de la discusión se usará

un ejemplo específico.

Un ejemplo de un circuito secuencial temporizado se muestra en la Figura 1.17.

Tiene una variable de entrada, una variable de salida y dos FFs temporizados SR llamados

Página 32

Page 39: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

A y B. Las conexiones realimentadas de las salidas de los FFs a las entradas de las

compuertas no se muestran explícitamente en el dibujo para facilitar el trazado del mismo.

En vez de ello, se reconocen las conexiones por su lelra marcada en cada entrada. Por

ejemplo, la entrada marcada.*:' en la compuerta 1 designa una entrada del complemento de

je. La segunda entrada A designa una conexión a la salida normal del FF - A.

B

FIGURA 1.17: Ejemplo de un circuito secuencia! temporizado.

En este ejemplo se asume que hay disparo por flanco negativo en ambos FFs y en

la fuente que produce la entrada externa x. Por tanto, las seriales para un estado presente

dado están disponibles durante el tiempo en que se determina un pulso de reloj y empiece el

siguiente, en cuyo momento el circuito pasa al estado siguiente.

Página 33

Page 40: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

a) TABLA DE ESTADO

La secuencia de tiempo de las entradas, salidas y estados de los FFs pueden

enumerarse en una tabla de estado. Una tabla de estados esta definida por dos grupos de

ecuaciones, las ecuaciones de salida y las ecuaciones de estado siguiente. La tabla de estado

del circuito de la Figura 1.17 se muestra en la Tabla 1.1.

Qn+i = S + R'.Qn (Ecuación del FF- SR)

An+1 = B-c' + (B jt'y.A Bn+1 = A'-c + (A. *0'.B

Afl+1 = B-c' -f (B + x').A Bn+1 = A'je + (A* + *).B

i=x. AJB'

Estado siguiente

Estado presente

AB

00011011

, = 0

AB

00111010

X=l

AB

01010011

Salida

, = 0

2

0

000

x = l

2

0010

TABLA 1.1: Tabla de estado para el circuito de la Figura 1.17.

La tabla consiste en tres secciones llamadas estado presente, estado siguiente y

salida. El estado presente designa los estados de los FFs antes de la ocurrencia de un pulso

de reloj. El estado siguiente muestra los estados de los FFs después de la aplicación del

pulso de reloj y la sección de salida lista los valores de las variables de salida durante el

presente estado. Las secciones de estado siguiente y de salida tienen dos columnas, una para

la entrada x — O y la otra para x = 1.

Página 34

Page 41: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La deducción de la tabla de estados comienza a partir de un estado posible

cualquiera que se asume inicial. El estado inicial de la mayoría de los circuitos secuenciales

prácticos se define como el estado con ceros en todas las salidas normales de los FFs.

Algunos circuitos secuenciales tienen un estado inicial diferente y otros no tienen ninguno.

En cada caso, el análisis puede comenzar a partir de cualquier estado arbitrario, en este

ejemplo, la tabla de estado empieza con el estado inicial 00.

Cuando el presente estado es AB = 00. Del diagrama lógico, se observa que con los

FFs en O y x = O, ninguna de las compuertas AND produce una señal lógica 1. Por tanto, el

estado siguiente permanece sin cambiar con la salida t en 0. Con AB = 00 y x - 1, la

compuerta 2 produce una señal lógica 1 en la entrada S del FF - B y la compuerta 3

produce una señal lógica 1 en la entrada R del FF - A. Cuando el pulso de reloj dispara los

FFs, A se pone a cero y B se pone a uno, produciendo el estado siguiente 01 con la salida z

en 0. Esta información se lista en la primera fila de la tabla de estado.

De manera similar, se puede deducir el estado siguiente comenzando a partir de los

otros tres estados presentes posibles. En general, el estado siguiente es una función de las

entradas, el estado presente y el tipo de FF usado. Las entradas para la sección de salida son

más fáciles de deducir. En este ejemplo, la salida z es igual a 1 solamente cuando x = 1, A =

1 y B = 0. Por tanto las columnas de salida se marcan con O, excepto cuando el estado

presente es 10 y la entradaA:= 1, para lo cual z se marca con un 1.

La tabla de estado de cualquier circuito secuencia! se obtiene por el mismo

procedimiento dado en este ejemplo. En general un circuito secuencia! con n FFs y m

Página 3 5

Page 42: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

variables de entrada tendrá 2 tilas, una para cada estado. El estado siguiente y la salida

tendrán cada una 2 columnas, una para cada combinación de entrada.

Las salidas externas para un circuito sccucncial puede venir de compuertas lógicas o

elementos de memoria. La sección de salida en el estado estable es necesaria solamente si

hay tres salidas de las compuertas lógicas. Cualquier salida externa tomada directamente de

un FF se lista en la columna de estado presente de la tabla de estado. Por tanto la sección de

salida de la tabla de estado puede ser excluida si no hay salidas extemas de las compuertas

lógicas.

b) DIAGRAMA DE ESTADO

Entrada actual

\SaIida actual

FIGURA 1.18: Diagrama de estados para el circuito de la Figura 1.17

La información disponible en la tabla de estado puede representarse gráficamente

en un diagrama de estado. En este diagrama se representa un estado por un círculo y la

transición entre estos se indica por líneas dirigidas que conectan los círculos. El diagrama de

estado del circuito secuencia! de la Figura 1.17 se muestra en la Figura 1.18. El estado

Página 36

Page 43: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

binario dentro de cada circuito identifica el estado representado por el círculo (a un estado

también se lo puede identificar por símbolos de letras). Las líneas dirigidas se marcan con

dos números binarios separados por /. El valor de entrada que causa la transición de estado

se marca primero; el número enseguida después del símbolo / da el valor de la salida durante

el presente estado. Por ejemplo, la línea dirigida del estado 00 a 01 marcada 1/0, significa

que el circuito secuencial está en el estado presente 00 mientras que j t = l y z = 0y que al

finalizar el siguiente pulso de reloj, el circuito va al estado 01. Una línea dirigida que conecta

un círculo a sí mismo indica que no hay cambio de estado. El diagrama de estado suministra

la misma información que la tabla de estado y se obtiene directamente de esta o viceversa.

No hay diferencia entre una tabla de estado y un diagrama de estado excepto en la

forma de la presentación. La tabla de estado es más fácil deducir a partir de un diagrama

lógico dado y el diagrama de estado da una vista pictórica de las transiciones de estado y está

en una forma disponible para interpretación binaria de la operación del circuito. El diagrama

de estado se usa a menudo como la especificación inicial de diseño de un circuito secuencial.

c) ECUACIONES DE ESTADO

Una ecuación de estado es una expresión algebraica que especifica las condiciones

para la transición de estado de un FF. El lado izquierdo de la ecuación denota el estado

siguiente del FF y el lado derecho una función de Boole que especifica las condiciones del

presente estado que hacen el estado siguiente igual a 1. Una ecuación de estado es similar en

forma a una ecuación característica de un FF, excepto que especifica las condiciones del

estado siguiente en términos de las variables de entrada extemas y otros valores de los FF.

Página37

Page 44: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La ecuación de estado se deriva directamente de la tabla de estado. Por ejemplo, la ecuación

de estado para el FF - A se deriva por inspección de la Tabla 1.1. De las siguientes

columnas de estado? se nota que el FF - A va al estado 1 cuatro veces: cuando x = O y AB =

01 ó 10 ó 11, o cuando x = 1 y AB = 11. Esto puede expresarse algebraicamente en la

ecuación de estado de la siguiente manera.

= A'.B + A.B'

El lado derecho de la ecuación de estado es una función de Boole para el estado

presente. Cuando esta función es igual a 1, la ocurrencia de los pulsos de reloj causa que el

FF - A tenga el estado siguiente de 1. Cuando una función es igual a O, el pulso de reloj

causará que A tenga el estado siguiente de 0. El lado izquierdo de la ecuación identifica los

FFs por un símbolo de letra seguido de una designación en función del tiempo (n + 1), para

enfatizar que este valor será alcanzado por el FF, un pulso posterior de la secuencia.

Bx

\ 00 01 f 11 10

0

jj

0

0

0

( 11

[ix /

X

A \

- M '

00 01 ( 11 10

0

0

( 10

r — ̂u j^

1

1 )0

An+i = B.x' + (B + x')-A

A'.x+(A.x')'.B

FIGURA 1.19: Ecuaciones de estado para los Flip - Flops A y B.

Página 38

Page 45: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La ecuación de estado es una función de Boole con un tiempo incluido. Es

aplicable solamente en los circuitos secuenciales de reloj, ya que An+i se define para que

cambie de valor con la ocurrencia del pulso de reloj en instantes discretos de tiempo.

La ecuación de estado del FF - A se simplifica por medio de un mapa como se

muestra en la Figura 1.19 (a). Con alguna manipulación algebraica, la función puede

expresarse de la siguiente forma:

si se hace que B.x} — Sy B3.x — R, se obtiene la siguiente relación:

la cual es una ecuación característica de un FF - RS Figura 1.4 (d) (página 9). Esta relación

entre la ecuación de estado y las ecuaciones características del FF pueden justificarse por

inspección del diagrama lógico de la Figura 1.17. En éste se ve que la entrada S del FF - A

es igual a la función de Boole BJC' y la entrada R es igual a B'jc. Sustituyendo estas

funciones en la ecuación característica del FF, dará como resultado la ecuación de estado

para el circuito secuencia! en análisis.

La ecuación de estado para un FF en un circuito secuencia! puede deducirse de una

tabla de estado o de un diagrama lógico. La deducción de una tabla de estado consiste en

obtener la función de Boole especificando las condiciones que hacen el estado siguiente del

Página 39

Page 46: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

FF un 1. La deducción a partir de un diagrama lógico consiste en obtener las funciones de

las entradas del FF y sustituirlas en la ecuación característica del Flip - Flop.

La derivación de la ecuación de estado del FF - B a partir de una tabla de verdad se

muestra en el mapa de la Figura 1. 19 (b). Los 1 marcados en el mapa son las entradas y las

combinaciones de entrada que causan que el FF pase al estado siguiente de 1. Estas

condiciones se obtienen directamente de la Tabla 1.1. La forma simplificada que se obtiene

en el mapa se manipula algebraicamente y la ecuación de estado que se obtiene es:

La ecuación de estado puede derivarse directamente a partir del diagrama lógico.

De la Figura 1.17 se observa que la señal para la entrada S del FF - B se genera por la

Función A1 je y la señal para la entrada R por la función A_cJ. Sustituyendo S = A* je y R =

AJC' en la ecuación característica del FF - RS dada por:

Bn+j — S + R'.B

se obtiene la ecuación de estado derivada anteriormente:

Las funciones de estado de todos los FFs, conjuntamente con las funciones de

salida, especifican totalmente un circuito secuencia! EHas representan, algebraicamente, la

misma información que expresa una tabla de estado en forma tabular y un diagrama de

estado en forma gráfica,

Página 40

Page 47: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.4.- CONTADORES SINCRÓNICOS

Un FF tiene dos estados, un arreglo de n FFs tiene 2D estados. El estado de un

arreglo de n FFs se especifica indicando qué FFs están en set y cuáles en reset. Un

contador es un arreglo de FFs que pasa de estado en estado, en respuesta a un suceso. Un

suceso puede ser un ciclo de una señal de reloj. En cualquier caso, el contador cuenta ci

número de sucesos.

El número de estados que atraviesa el contador antes de volver al estado inicial se

denomina módulo del contador. Un contador construido con n FFs puede tener un módulo

que como máximo es 2 , pero se puede, si es necesario disponer de contadores que no pasen

por todos sus posibles estados. En este caso su módulo sería menor de 2n.

Los contadores vienen en dos categorías: contadores de rizado (ripple counter) y

contadores sincrónicos. En un contador de rizado, la transición de salida del FF sirve como

fuente para disparar otros FFs. En otras palabras, las entradas Ck de todos los FFs se

disparan no por los pulsos de entrada sino por la transición que ocurre en los otros FFs.

En un contador sincrónico, los pulsos de entrada se aplican a todos los Ck de todos

los FFs. El cambio de estado de un FF en particular es dependiente del estado presente de

otros FFs. El pulso de reloj común dispara todos los FFs simultáneamente.

En esta sección se presenta algunos contadores típicos sincrónicos y se explica la

forma de operación y características de diseño de los mismos para su mejor entendimiento.

Página 41

Page 48: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.4.1.- CONTADOR BINARIO

El diseño de contadores binarios sincrónicos es tan simple que no es necesario pasar

por un proceso de diseño lógico secuencial riguroso. En un contador binario sincrónico, se

complementa el FF (tipo T ó JK) en la posición de menor orden con cada pulso. Esto

significa que las entradas Jy K deben mantenerse en 1. Un FF en cualquier otra posición se

complementa siempre y cuando todas las posiciones de menor orden sean iguales a 1, por

que los bits de menor orden cambiarán a O en el siguiente pulso de cuenta. La cuenta binaria

dice cuando el siguiente bit de mayor orden debe ser complementado. Por ejemplo, si el

estado presente de un contador de 4 bits es = 0011, la siguiente cuenta será

0100. AO se complementa siempre. AI se complementa porque el estado presente de AQ es

1. AI se complementa por que el estado presente de AjAo = 11. Pero Aj no se complementa

porque el estado presente de = Olí, lo cual no dará una condición de todos Is.

FIGURA 1.20: Contador binario sincrónico de 4 bits.

Página 42

Page 49: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Los contadores sincrónicos binarios tienen un patrón regular y pueden fácilmente

ser construidos con FFs complementados y compuertas. El patrón regular puede verse

claramente del contador de 4 bits ilustrado en la Figura 1.20. El contador puede expandirse

a cualquier número de etapas, cada etapa contendrá un FF adicional y una compuerta AND

que da una salida de uno si todas las salidas de los FFs previos son 1.

1.4.2.- CONTADOR BINARIO CRECIENTE - DECRECIENTE

FIGURA 1.21: Contador binario creciente - decreciente de 4 bits.

En un contador binario sincrónico decreciente, si se considera las salidas

complementadas el FF en la posición de menor orden se complementa con cada pulso. Un

FF en cualquier otra posición se complementa con un pulso siempre y cuando todos los bits

Página 43

Page 50: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

de menor orden sean iguales a uno. Por ejemplo si el estado presente de un contador binario

de 4 bits decreciente es A3A2AiAo = 1100, la cuenta siguiente será 1011. Las salidas

A3íA2íAi'Ao' = 0011, A0T siempre se complementa. AI' se complementa porque el estado

presente de AOJ = 1. A^' se complementa porque el estado presente de Aj'Ao' = 11. Aa1 no

se complementa porque el estado presente de A2)AiíAo' — Olí, el cual no es una condición

de todos unos. Al final se tiene Aa'Ai'Ai'Ao' = 0100 y AaA2AiAo = 1011 que es la cuenta

siguiente. Un contador binario decreciente puede ser construido como se muestra en la

Figura 1.21, considerando que las entradas de las compuertas AND deben venir de las

salidas complementadas Q' y no de las salidas normales Q de los FFs previos como en el

caso del contador creciente. Un contador binario capaz de contar hacia arriba o hacia abajo

se muestra en la Figura 1.21. Cuando la entrada de control creciente es igual a 1, el circuito

cuenta hacia arriba, ya que las entradas T se determinan a partir de los valores previos de las

salidas normales en Q. Cuando la entrada de control decreciente es 1, el circuito contará

hacia abajo, ya que las salidas complementadas Q* determinan los estados de las entradas T.

Cuando ambas señales de control creciente y decreciente son O, el registro no cambia de

estado, permanece en la misma cuenta.

1.4.3.- CONTADOR BINARIO CON CARGA EN PARALELO

Los contadores usados en los sistemas digitales a menudo requieren una condición

de carga en paralelo para transferir un número binario inicial antes de la operación de

conteo. La Figura 1.22 muestra el diagrama lógico de un registro que tiene una

característica de carga en paralelo y puede operar también como un contador.

Página 44

Page 51: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

COMTEO

FIGURA 1.22: Contador binario de 4 bits con carga en paralelo.

Página 45

Page 52: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La entrada de control de carga, cuando es igual a 1, inhabilita la secuencia de

cuenta y causa la transferencia de datos IQ hasta I3 a los FFs AO hasta A¿ respectivamente

mediante un pulso de reloj (carga sincrónica). Si la entrada de carga es O y la entrada de

control de cuenta es 1, el circuito opera como un contador. Los pulsos de reloj causan

entonces cambios del estado de los FFs de acuerdo a la secuencia de cuenta binaria. Si

ambas entradas de control son O, los pulsos de reloj no cambian el estado del registro. La

entrada de borrado es asincrónica y cuando está en O, causará que el contador sea puesto a

cero, independientemente de la presencia de los pulsos de reloj y de las otras entradas.

1.4.4.- CONTADOR DE ANILLO

QO 02

RELOJ

1 C

rr -o

iCk

Ff.

R)

i

i C

FF -1

>Ck

c(.;L?

i i

c

FF - 3

>Ck

ct:Lj

i i <

FF -3_

i C » C k

CL

V

INICIO

FIGURA 1.23: Contador anillo módulo 4.

El circuito ilustrado en la Figura 1.23 es un contador de anillo módulo 4. Se puede

ver que es un registro de desplazamiento conectado para desplazar cíclicamente a la derecha.

En principio el terminal inicializador se pone brevemente a 1, para que el FFo adopte el

estado de set y los demás FFs el de reset Una vez aplicada la señal de reloj, el circuito

contará ciclos de reloj de módulo 4. Cada flanco sucesivo de disparo hará que el FF pase su

Página 46

Page 53: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

estado al siguiente FF y adoptará el estado del FF anterior. Entonces cada cuatro ciclos

sucesivos de reloj el contador se encontrará en su estado inicial.

Las señales del contador de anillo se indican en la Figura 1.24, donde aparecen las

señales de reloj y de las salidas Q de los cuatro FFs. Se ha comenzado arbitrariamente, en el

instante en que Qo = 1 y Qs = Qi = Qi = O- Estas señales son muy útiles para propósitos de

manejo de secuencias. Imagínese que en un sistema digital hay una serie de operaciones que

necesitan realizarse en secuencia; e imagínese también que las operaciones individuales

pueden realizarse habilitando una serie de conjuntos de compuertas. Entonces, las señales de

la Figura 1.24 serían ideales para la función de habilitación secuencial.

Q1

FIGURA 1.24: Señales del contador anillo módulo 4 de ia Figura 1.23.

1.4.5.- CONTADOR JOHNSON

El contador de anillo es elegantemente simple, pero tiene la desventaja de utilizar

FFs antieconómicamente. Un contador anillo de n FFs tiene de módulo /t, mientras n FFs

Página 47

Page 54: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

permiten 2 estados. Una modificación del contador de anillo, que utiliza FFs más

económicamente, es el contador Johnson, mostrado en la Figura 1.25, Aquí la interconexión

entre FFs es como se muestra en la Figura 1.23, excepto que al final de la cascada de FFs,

es decir, en la cola, la conexión se ha conmutado a Qj' en lugar de Qj.

LOJ

C

FF-0_

»Ck

t

_

3

>

C

F F - 1

>Ck

ti

i

i C

FF -In

> C k

tJ

i

C

FF-3

»Ck

t3

(a)

Cuenta

012345670

Qo

011110000

Qi

001111000

Q2

000111100

QB

000011110

(b)

FIGURA 1.25: (a) Contador JOHNSON (conmutado en cola) y (b) secuencia deconteo.

Si se supone que irdcialmente todos los FFs del contador se han borrado, así Q3 =

Qi — Qi ~ Qo ~ 0. Entonces, el nuevo jQanoo de disparo de reloj transferirá O a FFj, FFi y

, dejándolos inalterados. Sin embargo, a causa de la conmutación en las conexiones de

Página 48

Page 55: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

salida del FFj, el FFo irá al estado de set. Por consiguiente, el contador pasa de

= 0000 a QaQaQiQo — 0001. La secuencia de estados a través de los que pasa el contador

se indica en la Figura 1.25 (b). Obsérvese que el contador recorre ocho estados, es decir,

doble del número de FFs, y entonces vuelve al estado inicial. Así pues, con n FFs un

contador Johnson tiene módulo 2n.

1.5.- REGISTROS DE DESPLAZAMIENTO

Se ha señalado que un FF puede almacenar, guardar o recordar, es decir, registrar

un bit. Entonces, un arreglo de estos dispositivos es lo que se conoce como un registro, en el

que se puede escribir una palabra y del que se puede leer la palabra almacenada cuando

convenga. Es así, que los regislros son el papel de anotaciones en el que se pueden escribir

palabras binarias para futuras referencias y consullas.

La mayor parte de las operaciones en una computadora u otros procesadores

digitales no son más que transferencias de palabras de un registro a otro. Una característica

uní que se puede incorporar a los registros, es la posibilidad de que estos pueden realizar

operaciones de desplazamiento de la información almacenada en ellos hacia la izquierda o

hacia la derecha, característica que los ha denominado registros de desplazamiento.

Un arreglo de FFs es la configuración lógica de un registro de desplazamiento el

cual constituye un sistema sincrónico, ya que cada FF se activa mediante la misma señal de

reloj. Este sistema consiste en una cadena de FFs conectados en cascada, con la salida de un

FF conectado a la entrada del siguiente. Todos los FFs reciben un pulso de reloj común, por

Página 49

Page 56: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

lo tanto el estado de un FF se transfiere al siguiente, de esta manera el estado del FF de

menor orden se desplazará a través de todo el sistema.

El registro de desplazamiento más sencillo es aquel que usa solamente FFs como se

muestran en la Figura 1.26. La salida Q de un FF dado se conecta a la entrada D del FF

siguiente. Cada pulso de reloj desplaza el contenido del registro un bit una posición a la

derecha. La entrada serial determina qué va en el FF del extremo izquierdo durante el

desplazamiento. La salida serial se toma de la salida del FF del extremo derecho después de

la aplicación de un pulso de reloj. Aunque este registro desplace su contenido a la derecha, si

se voltea la página se observa que el registro desplaza su contenido a la izquierda. Así un

registro de desplazamiento unidireccional puede funcionar como un registro de

desplazamiento a la derecha o a la izquierda.

FF-2

SERA.

REUXI

C

D Q

— c

D O

, — c

D n

>Ck — c

D o

>Ck

SER*.

FIGURA 1.26: Registro de desplazamiento.

El estado del primer FF después de una transición de disparo, se determina por el

nivel lógico aplicado en D procedente de una fuente externa. El bit almacenado en el último

FF se pierde, es decir, ha sido desplazado fuera del registro. Se señala especialmente en el

registro de desplazamiento que durante cada ciclo de reloj se lee, y a la vez se escribe en

cada elemento de almacenamiento.

Página 50

Page 57: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Como ejemplo de la forma de operar de un registro de desplazamiento, considérese

las señales de la Figura 1.27. Inicialmente también considérese que el registro de 4 bits está

borrado, es decir, todos los FFs están en estado de reset Ahora se aplica a la entrada una

secuencia de bits de entrada en sincronismo con el reloj. La operación sincrónica significa,

por un lado que todos los FFs son activados por la misma señal de reloj y por otro que los

datos de entrada cambian una vez y sólo una vez por ciclo de reloj.

Flanco

Entrada D0

Qo

Q2

Q3

FIGURA 1.27: Señales de los registros de la Figura 1.26, borrados iniciaJmente para lasecuencia de entrada 11010.

1.5.1.- REGISTROS DE DESPLAZAMIENTO CON CARGA SERIAL Y

PARALELO.

Los datos digitales pueden presentarse en serie o en paralelo. En la presentación

serie, los bits individuales de una palabra son transportados por un simple hilo y presentados

Página 51

Page 58: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

mediante una secuencia temporal un bit detrás de otro. En la presentación paralelo, todos los

bils de la palabra se presentan simulláneamenle utilizando laníos hilos como bils. El foimato

serie utiliza menos hardware, pero el paralelo ahorra tiempo. Por ejemplo si un nivel lógico

se mantiene en estado estacionario durante Ifi segundo con el fin de examinarlo

adecuadamente. Entonces la transmisión serie de una palabra de 8 bits durará 8¿t segundos,

mientras que la transmisión paralela sólo tardaría Iji segundo.

Para pasar del formato serie al paralelo una palabra de 8 bits, se debe utilizar un

registro de 8 bits, en la entrada de datos del registro, los bits individuales aparecen en

sincronismo con la señal de reloj. Entonces inhabilitando la señal de reloj una vez

transcurrido ocho ciclos de reloj, la palabra estará almacenada en el registro y se podrá

disponer simultáneamente de los ocho bits, es decir en paralelo en las salidas de los 8 FFs.

Para pasar del formato paralelo al serie se debe detener el reloj y colocar los bits

individuales, todos simultáneamente, directamente en los FFs individuales. Para este

propósito se pueden utilizar los terminales de entrada de datos o los de entrada directa de los

FFs. Una vez almacenada la palabra en e1 registro se habilita la línea de reloj. Entonces en la

salida del último FF y en sincronismo con el reloj aparecerá una secuencia de los bits

individuales de la palabra.

1.5.2.- REGISTROS DE DESPLAZAMIENTO A IZQUIERDA Y DERECHA

El registro de la Figura 1.26 desplaza solamente en una dirección. Debido a la

forma de las interconexiones, el desplazamiento se hace de izquierda a derecha. A veces, es

Página 52

Page 59: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

conveniente poder desplazar en la otra dirección. Para invertir la dirección de desplazamiento

solamente hace falta invertir el orden de las interconexiones de los FFs. Para desplazar de

derecha a izquierda (arriba hacia abajo) basta con conectar la entrada del FF - O a la salida

del FF - 1, y así sucesivamente. Un registro que incorpore compuertas para invertir las

conexiones en respuesta a una orden de control de dirección se denomina registro de

desplazamiento a izquierda y derecha.

BORRADO RELOJ

SO

81 .

ENTRADA

DES ,DER.

W *

11 *

12 *

ENTRADA

DES. IZO.

13 •

K)

11

Y

MUX 4x112

138P 81

L i

10

11

Y

MUX 4x112

1330 81

L_— i

10

11

Y

MUX 4*112

13s ? S1

' L 1

K)

11

Y

MUX4x112

13S[ 31

L

i

t

t

i

i C

FF-0

D Q

>Ck

CL

í

» C

FF-1

D Q

>CK

CL

í

i C

FF-2

D Q

>C1(

CL

í

C

FF-3

D Q

>Ck

CL

í

FIGURA 1.28: Registro de desplazamiento universal.

Página 53

AO

A1

A3

Page 60: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Un registro capaz de desplazar hacia la izquierda y hacia la derecha se llama registro

de desplazamiento bidireccional. Si el registro tiene cualidades de desplazamiento y carga en

paralelo se llama registro de desplazamiento con carga en paralelo. Si es bidireccional y

además carga en paralelo se denomina registro de desplazamiento universal. Un registro de

este tipo se ilustra en la Figura 1.28. Este es un registro universal de 4 bits, el cual utiliza un

multiplexor de cuatro líneas a uno, cuyas entradas de selección SQ y Si determinan la forma

de operación del dispositivo; si SoSj = 00 la entrada de datos de cada FF es su propia salida

para que cada FF registre simplemente su propio estado presente, bajo estas circunstancias,

no hay cambios y el registro se describe bajo condición de retención; si SoSj = 01 el dato va

a desplazarse a la izquierda; si SoSj = 10 el dato va a desplazarse a la derecha y si SoSj =11

las entradas de datos son los niveles lógicos de las líneas de entrada en paralelo IQ, Ii,

Además tiene una entrada de reset que anula las demás entradas y borra todos los FF.

1.6.- DETECTORES DE SECUENCIAS DE CÓDIGOS.

Estadoactual

Reloj

Lógica(circuitos combinacionales)

Memoria (FHp - Flops)

Estadosiguiente

Vn

FIGURA 1.29: Arquitectura de un sistema sincrónico detector de secuencia de códigos.

Página 54

Page 61: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Como una extensión del estudio de los sistemas secuenciales sincrónicos, se

considera el análisis de un detector de secuencia. La arquitectura de este sistema se muestra

en la Figura 1.29 que consta de un bloque de lógica combinacional y otro de memoria o

secuencia!. En principio se desconoce cuantos FFs se requieren, pero cualquiera que sea su

número, deben ser gobernados sincrónicamente es decir todos con la misma señal de reloj.

Si los FFs son del tipo D, el número de líneas que llevan los niveles lógicos del estado

siguiente coincidirá con el número de FFs. Si se utilizan FFs JK, las entradas lógicas a la

memoria habrán de suministrarse para las entradas J y K de cada FF. En este caso el

número n será el doble del número de FFs. Si las salidas del estado actual de memoria se

toman únicamente de la salida Q, el número m de dichas líneas coincidirá con el número de

FFs. Si se utilizan Q y Q' el número de líneas será del doble del número de FFs.

El sistema que se analiza tiene una sola entrada x y una sola salida Z. La entrada x

sirve para introducir la lógica que determina el estado siguiente, x es una entrada sincrónica,

es decir que los cambios de x ocurren sincrónicamente con la señal de reloj. El problema

consiste en diseñar un sistema para que Z sea igual a 1 solamente cuando x haya cumplido

una determinada secuencia de datos.

En caso general, especialmente cuando el diseño es de alguna complejidad, el punto

de partida es un diagrama de flujo. En casos más simples, se puede iniciar con un diagrama

de estados. Siguiendo el análisis, el diagrama de estados es traducido a una tabla de estados

mediante una asignación de estados, en este punto, es necesario elegir el tipo de FF que se

utilizará. A continuación, con diagramas K se deducen las ecuaciones de excitación o de

control de los FFs y la ecuación de salida. Finalmente se dibuja el circuito lógico resultante.

Página 55

Page 62: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.6.1- REDUCCIÓN DE ESTADOS

Esta sección incluye ciertas propiedades de los circuitos secueneiales que se pueden

usar para reducir el número de compuertas y FFs durante el diseño. Cualquier problema de

diseño, debe considerar el problema de minimizar el costo del circuito final. Las dos

reducciones de costo más obvias son las reducciones en el número de FFs y número de

compuertas. Debido a que estos dos ítems son los mis obvios, se han estudiado c investigado

extensamente. De hecho, una gran porción del objetivo de la teoría de conmutación trata la

manera de buscar algoritmos para minimizar el número de FFs y compuertas en los

circuitos secuenciales.

La reducción del número de FFs en un circuito secuencia! se conoce como la

reducción de estados del problema. Los algoritmos de reducción de estados tratan con sus

procedimientos reducir el número de estados en la tabla de estado, mientras mantiene los

requerimientos de entrada - salida extemos sin cambio. Como m FFs producen 2m estados,

una reducción en el número de estados podría o no resultar en una reducción en el número

de FFs. Un efecto contrario en la reducción del número de FFs es que algunas veces el

circuito equivalente podría requerir mas compuertas combinacionales.

Como ya se ha señalado, el primer paso en el diseño de un sistema secuencia! es

determinar el número de estados de memoria necesarios. Lo importante al tratar con estados

redundantes es que un sistema secuencial se construye con el único propósito de obtener una

secuencia determinada de niveles lógicos de las salidas en respuesta a las secuencias de

entrada. Así. si tenemos dos sistemas secuenciales, uno de 4 FFs utilizado para generar 16

Página 56

Page 63: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

estados y el otro de 2 FFs por lo tanto 4 estados. Se supone también que ambos sistemas

dan las mismas secuencias de salida para las mismas secuencias arbitrarias de entrada.

Entonces, los dos sistemas son idénticos. El sistema de 16 estados debe tener potencialidad

de suministrar salidas que el sistema de 4 no puede. Sin embargo, hasta que se aproveche la

potencialidad, los sistemas son indistinguibles. Bajo estas circunstancias se deduce que 12 de

los 16 estados del primer sistema son redundantes. Teniendo en cuenta estas

consideraciones, lo importante es reconocer los estados redundantes en una Labia de estados.

Estado presente

Estado siguiente

x=l

Salida 2

x= 1

P

FIGURA 1.30: Tabla de estados donde,/? y q tienen los mismos estados siguientes ysalidas para todos los valores de x

Considere la situación presentada en la tabla de estados de la Figura 1.30 con una

entrada x y una salida z. No se ha especificado la tabla completa, pero se presentan dos

estados especiales p y q, tales que si el estado presente es p o q, independientemente del

valor de x, las salidas son idénticas y los estados siguientes también. Es decir se tiene dos

estados p y q en la columna estado actual cuya salida actual y estados siguientes coinciden.

Página 57

Page 64: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Entonces, claramente se intuye que estos estados son equivalentes e indistinguibles, por lo

tanto uno de ellos puede despreciarse. Si el estado es p o q la salida es la misma, también si x

— O en ambos casos el estado siguiente es r, se concluye que el futuro del sistema depende

del valor x y no del estado que precedía a r.

FIGURA 1.31: Diagrama de estado.

A continuación, se demostrará la necesidad de reducción de estados con un

ejemplo. Se parte del diagrama de estado del circuito secuencial de la Figura 1.31. En este

ejemplo, solamente las secuencias de entrada - salida son importantes, los estados internos se

usan únicamente para suministrar las secuencias requeridas. Por esta razón, los estados

marcados dentro de los círculos se denotan por símbolos de letras en vez de sus valores

binarios, en contraste a un contador binario, donde la secuencia de valores binarios de los

estados en sí mismos se toman como salidas.

Hay un número infinito de secuencias de entrada que pueden ser aplicadas al

circuito, cada una dará como resultado una secuencia única de salida. Como ejemplo,

considérese la secuencia de entrada 01010110100 en el estado inicial A. Cada entrada de O o

1 produce una salida de O o 1 y causa que el circuito vaya al estado siguiente, se obtiene la

salida y secuencia de estado para una secuencia dada de entrada como sigue: con el circuito

en el estado inicial A, una entrada de O produce una salida de O y el estado siguiente es B.

Página 58

Page 65: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Con el estado presente A y una entrada de 1, la salida es 1 y el estado siguiente es C. Con el

estado presente en B y una entrada de O la salida es O y el estado siguiente es C.

Continuando este proceso y siguiendo la secuencia del ejemplo se tiene que la secuencia

completa es como sigue:

estado

entrada

salida

A

0

0

B

1

1

A

0

0

B

1

1

A

0

0

B

1

1

A

1

1

C

0

1

D

1

1

A

0

0

B

0

0

C

TABLA 1.2: Secuencia de estados para la secuencia de entrada 01010110100.

En cada columna se tiene, el estado presente, el valor de la entrada y el valor de la

salida. El estado siguiente se escribe encima de la siguiente columna. Es importante tener en

cuenta que en este circuito los estados en si mismo son de importancia secundaria porque el

interés primordial son las secuencias de salida causadas por las secuencias de entrada. El

problema de la reducción de estado es encontrar maneras de minimizar el número de estados

en un circuito secuencia! sin alterar las relaciones de entrada - salida.

Estado presente

ABCDEFG

Estado

* = 0

BCDCDGC

siguiente

x— 1

CABACFE

* =

0010000

Salida z

0 x = l

1101111

TABLA 1.3: Tabla de estado

Página 59

Page 66: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Se procederá a reducir el número de estados de este ejemplo. Primero, se necesita

una tabla de estado, es más conveniente aplicar los procedimientos para la reducción de

estados aquí que en los diagramas de estado. La tabla de estado del circuito se lista en la

Tabla 1.3 y se obtiene directamente del diagrama de estado de la Figura 1.31.

Un algoritmo para la reducción de una tabla de estado especificado completamente

se da aquí. Se dice que dos estados son equivalentes si, por cada miembro del conjunto de

entradas, ellos dan exactamente la misma salida y envían al circuito al mismo estado o a un

estado equivalente. Cuando dos estados son equivalentes, uno de ellos puede quitarse sin

alterar las relaciones de entrada salida.

Estado presente

ABCnuEFG

Estado

x = 0

BC

p

DBGC

siguiente

x = l

CAB\

FE

x =

001o000

Salida z

3 x=l

110i111

TABLA 1.4: Método de reducción de la Tabla de estado.

Se aplica este algoritmo a la Tabla 1.3. Observando la tabla de verdad, se cogen los

estados presentes que van al siguiente y que tienen la misma salida para ambas

combinaciones de entrada. Los estados B y D son dos de tales estados, ellos van a los

estados C y A y tienen las salidas de O y 1 para x = O y x = 1 respectivamente. Por tanto, los

estados B y D son equivalentes y se puede eliminar uno. El procedimiento para quitar un

Página 60

Page 67: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

estado y reemplazarlo por un equivalente se demuestra en la Tabla 1.4. La fila con el estado

presente D se tacha y el estado D se reemplaza por el estado B cada vez que aparezca en la

columnas de estado siguiente. El resultado de esta simplificación es la Tabla 1.5.

Estado siguiente

Estado presente

ABCEFG

x = 0

BCBBGC

x = 1

CABCFE

Salida 2

* = 0

001000

X ~ 1

110111

TABLA 1.5: Tabla de estados parcialmente reducida.

En la Tabla 1.5, los estados A y E son equivalentes y se puede eliminar uno de

ellos. Ulilizando el mismo procedimiento aplicado en la Tabla 1.4. La fila con el estado

presente E se elimina y este estado se reemplaza por el estado A cada vez que aparezca en la

columnas de estado siguiente. Cuyo resultado se presenta en la Tabla 1.6.

Estado presente

ABCFG

Estado

x = 0

BCBGC

siguiente

x = l

CABFA

* =

00100

Salida z

0 x = l

11011

TABLA 1,6: Tabla de estados parcialmente reducida.

Página 61

Page 68: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

En la Tabla 1.6, los estados B y G son equivalentes y se puede eliminar uno de

ellos. Utilizando el mismo procedimiento de simplificación anteriormente aplicado, se

elimina la fila del estado presente G y este estado se reemplaza por el estado B cada vez que

aparezca en las columnas de estado siguiente. El resultado de esta simplificación se presenta

en la Tabla 1.7.

Estado presente

ABCF

Estado

x = 0

BCBB

siguiente

x = l

CABF

Salida

x-0

0010

z

x ~ 1

1101

TABLA 1.7: Tabla de estados totalmente reducida.

estado

entrada

salida

A

0

0

B

1

1

A

0

0

B

1

1

A

0

ü

B

1

1

A

1

1

C

0

1

B

1

1

A

0

0

B

0

0

C

TABLA 1.8: Secuencia de estados para la tabla de estados totalmente reducida.

La tabla reducida final se muestra en la Tabla 1.7. El diagrama de estado para la

tabla reducida constará solamente de cuatro estados y se muestra en la Figura 1.32. Este

diagrama de estado satisface las especificaciones originales de entrada - salida. La Tabla 1.8

lista la secuencia de estados para el diagrama, de estado de la Figura 1.32, es para la

secuencia de entrada usada previamente. Como era de esperarse, se nota que es la misma

secuencia de salida aunque la secuencia de estado es diferente.

Página 62

Page 69: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

FIGURA 1.32: Diagrama de estado reducido.

1.6.1.1- ELIMINACIÓN DE ESTADOS REDUNDANTES POR PARTICIÓN

Una tabla de estados puede tener estados redundantes aun cuando no aparezcan

filas con idénticas salidas y los mismos estados siguientes. El método de eliminación de

estados redundantes por partición consiste en dividir la tabla de estados en el número más

pequeño posible de clases equivalentes de estados indistinguibles. Hay muchas formas de

dividir los estados de un circuito secuencial en clases separadas, y no todas estas divisiones

dan como resultado clases equivalentes de estados indistinguibles. Para que una partición

contenga clases equivalentes de estados indistinguibles, es necesario que se cumplan las

siguientes condiciones: primero, los estados dentro de la misma clase deben tener las mismas

salidas para cada entrada individual posible; y segundo, los estados pertenecientes a una

partición deben pertenecer a la misma clase de equivalencia.

Para ilustrar este método de reducción y ver como se determinan los estados

redundantes, consideremos la tabla de estados de la Figura 1.33. El método se descompone

en dos etapas, la primera es dividir los estados en el menor número posible de clases de

equivalencia, de tal manera que los estados dentro de una clase tengan las mismas salidas.

Página 63

Page 70: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Esto se hace inspeccionando la tabla de estados. En el caso de la tabla de estado de la Figura

1.33, se observa que se requieren dos clases.

Estado siguiente

Estado presente x = 0 x-1

qo qi qsqi qs q4q2 q6 q4

qa q? qsq<i qe qoqs qe qoq6 qa q2

q? q? qo

Salidas

x = 0 x

0

000

0

10

0

=10000

0

000

FIGURA 1.33: Tabla de estados para el ejemplo de análisis

a b

(qo, qi, q^ q3, q*, q& q?)

Clase

EstadosSiguiente clase

a

0a a

1a a

2a a

3a b

4a a

6a a

7a a

b

5a a

TABLA 1.9: Clase iniciales de estados equivalentes.

En la Tabla 1.9, la clase a incluirá los estados cuya salida es O para entrada O, y

salida O para entrada 1. La clase b incluye los estados cuya salida es 1 para entrada O, y

salida O para entrada 1. Las clases de estados indistinguibles se descompondrán siempre de

subclases de las clases a y b. Esta partición satisface la primera condición. Si los siguientes

Página 64

Page 71: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

estados para cada estado dentro de la clase a están dentro de la misma clase para cada

entrada individual posible, se satisface la segunda condición. Evidentemente, la clase a

contiene pares de eslados que no satisfacen la segunda condición, por lo tanto, no son

indistinguibles. Esto hace necesario separar la clase a en las clases a y c. La nueva partición

puede o no constar de clases de equivalencias de estados indistinguibles, para descubrir esto,

se repite el proceso anotando las clases que contienen los siguientes estados.

Clase

EstadosSiguiente clase

a

0a a

1c a

2a a

4a a

6c a

7a a

b

5a a

c

3a b

(a)

Clase

EstadosSiguiente clase

a

0d a

2d a

4d a

7a a

b

5d a

c

3a b

d

1c a

6c a

(b)

Clase

EstadosSiguiente clase

a

0d a

2d a

4d a

b

5d a

c

3e b

d

1c a

6c a

e

7e a

(c)

TABLA 1.10: Proceso de particionar en clases de estados equivalentes.

En la Tabla 1.10 (c), las cinco clases o, by c, dy e son clases de equivalencias de

estados indistinguibles. Se puede ver que todos los estados dentro de una clase tienen estados

siguientes en la misma clase, para entrada de O y 1. De esta manera la segunda condición

queda finalmente satisfecha. Finalmente se presenta la tabla de estados reducida.

Página65

Page 72: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Estadopresente

qoqiq3qsq?

Estado

* = 0

qiq3q?qiq?

siguiente

*=1

qoqoqsqoqo

Salida z

x = 0

000

10

• - Estadosx~ 1 equivalentes

o qo5 q^j q^0 qi, q¿

0 q3

0 qs0 q7

Clase

a

d

c

be

FIGURA 1.34: Tabla de estados totalmente reducida por el método de partición.

1.6.1.2- ELIMINACIÓN DE ESTADOS REDUNDANTES POR MEDIO DE

TABLAS DE IMPLICACIÓN

Estado presente

12 .3456789101112

Estado

x = Q

246810410810422

siguiente

x — 1

357911121211111

* =

000000001000

Saüdaz

0 x = l

000000000000

FIGURA 1.35: Tabla de estados para el ejemplo de análisis.

Página 66

Page 73: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Otro método para determinar las clases de equivalencias, comprende el uso de la

tabla de implicación, que también puede ser utilizado para el caso incompletamente

especificado. La tabla de implicación proporciona un procedimiento sistemático para

determinar las clases de equivalencia de los estados de un circuito secuenciaL Se desarrollará

el procedimiento utilizando la tabla de la Figura 1.35.

Estado presente

123456789101143

Estado

X = 0

24681041081042

-3

siguiente

J C = 1

357911421143111111

±

Salida z

X = 0

000000001000

x = l

000000000000

FIGURA 1.36: Simplificación informal de la Tabla de estados.

Para tablas de estado completamente especificadas, a veces es posible primeramente

reducir el número de estados informalmente. Es útil hacer primero este intento, ya que los

métodos fórmales implican un trabajo laborioso. En la tabla de la Figura 1.35, se observa

que las salidas y los estados siguientes de los estados 11 y 12 son idénticos. Por lo tanto

estos estados son indistinguibles y el estado 12 se puede eliminar de la tabla. Puesto que el

estado 12 es el siguiente estado de los estados 6 y 73 se sustituyen estas anotaciones con 11.

Estas modificaciones se presenta el la tabla de la Figura 1.3 6. Debido a estas

Página 67

Page 74: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

modificaciones, los estados 5 y 7 son ahora indistinguibles, se puede eliminar el estado 7 y

sustituyendo todas las anotaciones de estado siguiente de 7 por 5, se obtiene la tabla de

estado que aparece en la Figura 1.37. En esta tabla se ha ubicado el estado 9 en la base,

debido a que tiene diferentes salidas que los otros estados. Parece ser que ya no hay más

reducciones posibles, pero aun se puede simplificar más aplicando un método formal tal

como el método de la tabla de implicación.

Estado siguiente

Estado presente

123456810119

x = 0

246810484210

y = iA _L

355911111111

Salidas

X = Q

0000000001

x — 1

0000000000

FIGURA 1.37: Tabla de estados parcialmente reducida.

En la Figura 1.38 se presenta una tabla que permite comparar cada estado con los

demás. Descendiendo verticalmente por el lado izquierdo, se observa una lista de todos los

estados de la tabla de estados parcialmente reducida, excepto el primero, y en sentido

horizontal, se presenta la lista de todos excepto el último. Así, la tabla contiene un cuadrado

por cada par de estados. Se empieza colocando una X en los cuadros correspondiente a un

estado que tengan diferentes salidas, comparado a las salidas de los demás estados, ya que no

Página 68

Page 75: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

pueden ser equivalente. En este caso, el estado 9 tiene una salida diferente a cualquier otro

estado, de manera que se coloca una X en cada cuadrado de la fila 9. De igual manera se

procedería si hubiera otro estado único con salida diferente que no pueda ser equivalente al

resto de es lados.

2

3

4

5

ft

a

10

2-4

3-5

2-6

3-5

2-8

3-9

2-10

3-11

2-4

3-11

2-8

1-3

2-4

1-3

1-3

\A

/ \6

4-0

5-9

4-10

5-11

5-11

4-a1-5

1-5

2-4

1-5

\A/ \8

5-9

6-10

5-11

4-6

5-11

6-8

1-5

4-G

1-5

2-6

1-5

\A

/ \0

9-11

4-8

9-11

1-9

4-0

1-9

2-8

1-9

\A

/ \0

8-10

1-11

4-10

1-11

2-10

1-11

\A

/ \8

i-li

1-11

2-4

1-11

\A

/ \8

2-8 2-4

\/\/\/'X x X/ \/ \ \ 1011

FIGURA 1.38: Tabla de implicación inicial

A continuación, se anotan en cada cuadrado los pares de estados implicados por los

pares de estados correspondientes a dicho cuadrado. Se empieza en el cuadrado superior de

la primera columna, correspondiente a los estados 1 y 2. De acuerdo con la tabla de estado,

se ve que este par implica a los estados 2 y 4 para x — O y, 3 y 5 para x = 1, de manera que

se anotan 2-4 y 3-5 en el cuadrado 1-2. Se continúa así hasta completar la primera columna,

en esta columna sólo existe una anotación en el cuadrado de los estados 1 y 11, puesto que

Página 69

Page 76: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

uno de los conjuntos implicados es un conjunto único (no implica a dos estados diferentes)

por lo tanto no se anota. A continuación, se procede con las restantes columnas hasta que se

llena la tabla de implicación, tal como se presenta en la Figura 1.38.

8 10 11

FIGURA 1.39: Tabla de implicación parcialmente cruzada

La siguiente etapa consiste en hacer pasadas o barridos a través de la tabla, para ver

si algunos de los conjuntos de estados agrupados en cada cuadrado quedan excluidos como

pares posibles de equivalencia, por medio de cuadrados que ya se hayan cruzado o marcado

con una X. Esta condición, hace que el estado 9 no pueda ser equivalente a ningún otro

estado, así que cualquier conjunto implicado que contenga al estado 9 también se excluye.

Así se marca con una X en cada cuadrado que contenga un 9. Obteniéndose la tabla de

implicación parcialmente cruzada de la Figura 1.39. Luego de haber realizado esto, se puede

Página 70

Page 77: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

observar que todos los cuadrados implicados con el estado 4 han quedado cruzados,

indicando que el estado 4 no puede ser equivalente a ningún otro estado. Así que cualquier

conjunto implicado que contenga al estado 4 también se excluye. El resultado de esta pasada

se presenta en la Figura 1.40. Aquí se observa que ningún otro estado se elimina

completamente.

VA.

10

11

2-6

3-5

2-10

3-11

-Hz-a1-3

1-3

X

5-11

1-5

A

6-10

5-H

6-8

1-5

. .2-6

i-5

A.\/ \/ \IX

k-.vtí\o

i-il

/-H

1-11

\ '

1-11

A

/\8x-x

/\/K7'\/A

1 2 3 4 5 6 8 10 11

FIGURA 1.40: Tabla de implicación parcialmente cruzada.

A continuación, se debe verificar a todos los cuadrados que aun no se hayan

cruzado, este proceso de verificación se realiza mediante un barrido de derecha a izquierda.

Se comprueba si es que cualquier par de estados implicados (o anotados) en el cuadrado

anali/ado ya ha sido cruzado, si este es el caso, el cuadrado analizado se debe cni7.ar. El

proceso de verificación de los cuadrados que no han sido cruzados se vuelve sistemático. En

Página 71

Page 78: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

general, este proceso se debe repetir, hasta que se complete una pasada, sin eliminar o cruzar

ningún cuadrado adicional, en tal caso se habrá llegado al resultado Una!, éste se presenta en

la tabla de la Figura 1.41.

10

U

9

2-6

3-5

2-10

3-11

1-3

5-11

x-x

6-10

5-11

2-G

1-5

2-10

1-11

1-11

z\7\\

10 11

FIGURA 1.41: Tabla de implicación totalmente cruzada.

Hn la tabla de implicación terminada, cada cuadrado que no se haya cruzado

representa un par de estados equivalentes. Las clases de equivalencia se determinan de la

siguiente manera. Se comprueba cada columna de la tabla final de implicación, comenzando

el la primera columna y de arriba para abajo comprobando la existencia de cuadrados sin

cruzar formando los estados equivalentes. En el ejemplo en análisis y tomando como

Página 72

Page 79: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

referencia la tabla de implicación totalmente cruzada de la Figura 1.41 se determinan los

siguientes pares de estados equivalentes:

(1, 3), (1, 5), (1, 11), (2, 6), (2, 10), (3, 5), (3, 11), (5,11), (6, 10). Éstos se

agrupan de la siguiente manera: (1, 3), (1, 5), (1, 11), (3, 5), (3, 11), (5,11) y (2, 6), (2, 10),

(65 10). Por último se forman la clase máxima compatible. Una clase compatible es un grupo

de estados cada uno de los cuales es compatible con cada uno de los demás del grupo. Una

clase compatible es máxima cuando no es posible encontrar miembros adicionales de la

clase. En el caso analizado, encontramos que las clases máximas que podemos formar con

más de dos miembros son las siguientes:

La clase equivalente de estados (1, 3, 5, 11), y

La clase equivalente de estados (2, 6, 10).

Que comprenden todas las clases de equivalencias que se han determinado.

EstadoEstado .— -,.,presente x = 0

Oí 02

q2 q4q4 qsqs qs09 q2

siguiente Salida 2

x — 1 x — 0

qi 0qi 0

09 O

Oí 0

Oí 1

x—l

00000

Estadosequivalentes Clase

Ob 03, 055 Olí a02, 06, qio b04 C

Os d

09 ®

FIGURA 1.42: Tabla de estados totalmente reducida por el método de la tabla deimplicación.

Página 73

Page 80: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Aquellos estados que se encuentran en la tabla de estados pero que no están

presentes en las clases de equivalencias, no son equivalentes a ningún otro estado y se deben

insertar en la solución como clases de equivalencia de un sólo estado. Por lo tanto existen

cinco clases de equivalencia, la tabla de estados original de la Figura 1.37, se reduce a la

tabla equivalente de cinco estados de la Figura 1.42.

1.6.1.3- CONDICIONES NO IMPORTA O TÉRMINOS SIN EFECTO

Cuando se diseñan circuitos lógicos, se consideran las funciones de salida sólo para

las combinaciones posibles. Existen casos en los cuales, el número total de posibles

combinaciones del número de variables consideradas es mayor al número de combinaciones

requeridas por el circuito. Dado que existirán combinaciones de entrada que nunca

ocurrirán, sería correcto ignorarlas. Esto sería de poca visión, ya que si existen

combinaciones de entrada que no pueden ocurrir, se pueden usar para efectos de

simplificación.

Para las combinaciones que no ocurren, realmente no importa o no tiene efecto, si

se asigna un O o 1 indistintamente a la localidad correspondiente en el mapa K, dado que

tales condiciones nunca ocurrirán. Estas localidades supuestamente se ignoran en la

obtención de las expresiones lógicas, pero en realidad se consideran como 0. Es más

importante la asignación de 1 o O a cada una de las localidades sin efecto (don 't caré) las

cuales son marcadas con X. Utilizando los términos sin efecto, se pueden obtener relaciones

lógicas más simples, por lo tanto se adquieren ventajas de los estados que no interesan

produciendo circuitos más simples.

Página 74

Page 81: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

1.6.2- ASIGNACIÓN DE ESTADOS

Una vez que se ha obtenido la labia mínima de estado, queda todavía por diseñar

un circuito que realice dicha tabla. Debe reconocerce que el problema de la economía no se

ha solucionado con la minimización del número de estados. Es cierto que la cantidad de

elementos de memoria requeridos por una tabla de estados de esta índole es mínima; pero

también requiere una lógica combinacional para desarrollar las ecuaciones de salida y entrada

del elemento de memoria. Puede ser que una tabla de estados que no sea la mínima, requiera

una lógica combinacional notablemente más reducida y, por ende, menos elementos lógicos

que otra.

El costo de la parte del circuito combinacional de un circuito secuencia! puede

reducirse usando los métodos de simplificación conocidos para los circuitos

combinacionales. Sin embargo, hay otro factor conocido como el problema de asignación

de estados, que entra en juego para la minimización de las compuertas combinacionales.

Naturalmente surge la pregunta si es que algunas asignaciones de estados son mejores que

otras, la respuesta es que si, ya que la asignación de una codificación particular puede tener

un efecto notable en el número de elementos lógicos necesarios para realizar el circuito.

Los procedimientos de asignación de estado tiene que ver con los métodos para la

asignación de valores binarios o estados de tal forma que se reduce el costo de los circuitos

combinacionales que accionan los FFs. Entonces es claro que la asignación de estados que

se realice tendrá un marcado efecto en las excitaciones de los FFs dependiendo donde

aparezcan los 1, O y X en los diagramas K e incluso en la obtención de la salida z. Esto no se

Página 75

Page 82: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

aplica a los circuitos cuyas salidas externas se toman directamente de los FFs con secuencia

binaria totalmente especificadas.

Un algoritmo simple de asignación de estados consiste en formular todas las

posibles combinaciones de asignación de código, luego seleccionar el circuito más

económico de todos los que se han generado. Desafortunadamente, este método no es

práctico debido al número total de asignaciones de combinaciones de código que se puede

generar, sin embargo mediante este algoritmo siempre se obtendrá el circuito mínimo. Las

alternativas de asignación de estado binario posibles pueden ser cuantificadas. Si se tiene un

circuito con n Flip - Flops, se conoce que este circuito tendrá 2n posibles estados.

Asumiendo que la tabla de estado tiene m estados, y m cumple la relación anterior.

Para todos los valores de my n existen diferentes asignaciones de estado que pueden ser

usadas. Si se desprecia la simetría que está presente entre los diferentes códigos, el número

de diferentes asignaciones posibles para m estados de 2 posibles se puede calcular mediante

la siguiente relación:

2"!

Este número de posibles asignaciones de estados mediante la relación anterior se

pueden disminuir. Utilizando el método forzado desarrollado por McCluskey y Unger que

considera ciertas simetrías y otras propiedades especiales de los circuitos lógicos

Página 76

Page 83: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

combinacionales. Incluyendo estas consideraciones, el número de posibles asignaciones

diferentes se puede calcular de la siguiente manera:

Númerode estados, m

23456789

Número de variablesde estado, n

12 -233334

Número deasignaciones distintas

13314042048084010'810.800

TABLA 1.11: Tabla del número de distintas asignaciones posibles.

La Tabla 1.11 lista el número de distintas asignaciones para valores de m de 2 a 9

que corresponde a valores de n de 1 a 4. Examinando esta tabla se observa que el método

forzado de enumeración de todas las posibles asignaciones de estados se ve facilitado

solamente para valores de m hasta 4. Para valores de m de 9 o mayores es absolutamente

inaprovechable el método, haciendo necesario el uso de un procedimiento computacional

para la enumeración de las asignaciones de estado.

El problema de asignar combinaciones de estado, por ejemplo, a cuatro estados o,

¿, c, </, se puede representar como la asignación de 4 estados a los cuatro vértices de un

cuadrado. La Figura 1.43 muestra las tres asignaciones distintas mediante el método

forzado. Cualquiera de las otras asignaciones posibles se agregarían a las rotaciones o

Página 77

Page 84: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

inversiones de estas tres asignaciones y, por lo tanto, equivaldrían ya sea a invertir el orden

de las variables o a complementar una o las dos variables. Estos cambios afectarán la forma

de cualquier función booleana, por ende, carecen de importancia con respecto al costo.

10t

00*

d e d i' a _L iu ' 11

a01 00 01

FIGURA 1.43: Tres asignación posibles para cuatro estados.

Para el circuito secuencial especificado en la Tabla 1.7. Recuérdese que, en este

ejemplo, los valores binarios de los estados son inmateriales durante el tiempo en que su

secuencia mantenga las relaciones de entrada - salida adecuadas. Por esta razón, cualquier

asignación de número binario es satisfactoria siempre que a cada estado se le asigne un

número. Mediante la asignación propuesta en la Figura 1.43, para el circuito secuencial

especificado en la Tabla 1.7, se presentan las tres asignaciones posibles para la secuencia de

estados A, B, C y F en la Tabla 1.12.

Estado

ABCF

Asignación 1

00011110

Asignación 2

00110110

Asignación 3

00100111

TABLA 1.12: Tres asignaciones binarías de estado posible.

Página 78

Page 85: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La Tabla 1.13 es la tabla de estado reducida con la asignación binaria 1 sustituida

por las letras de los cuatro estados. Es obvio que una asignación binaria diferente, resultará

en una labia de estado con valores binarios diferentes para los estados, mientras que las

relaciones de entrada - salida permanecen iguales. La presentación en forma binaria de la

tabla de estado se usa para simplificar y deducir la parte combinacional del circuito

secuencia!. La complejidad del circuito combinacional obtenido, dependerá de la asignación

binaria que se seleccione para el estado. Los pasos siguientes en el diseño de un circuito

secuencia! sincrónico se esbozará en el capítulo 2.

Estado siguiente Salida z

listado presente x — 0 x ~ 1 x ^ u x ~ 1

00011110

01110101

11000110

0010

1101

TABLA 1.13: Tabla de estado reducida con asignación binaría 1.

1.6.3- TABLA CARACTERÍSTICA Y DE EXCITACIÓN DE LOS FLIP - FLOPs.

Una tabla característica define la propiedad lógica del FF y caracteriza

completamente su operación. Las tablas características de los Ftip - Flops SR, JX, D y T se

muestran en la Tabla 1.14. Esta define el estado de cada Flip - Flop como función de sus

entradas y su estado previo. Qn se define al estado presente y Qn+i al estado siguiente

después de la ocurrencia de un pulso de reloj.

Página 79

Page 86: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La tabla característica es útil para el análisis y la definición de la operación de un

Flip - Flop. Esta especifica el estado siguiente cuando las entradas y el estado presente del

Flip - Flop se conocen.

Durante el proceso de diseño se conoce por lo general la transición del estado

presente al siguiente y se desea encontrar las condiciones de entrada del Flip - Flop que

causen la transición requerida. Por esta razón, se necesita una tabla que liste las entradas

necesarias para un cambio de estado dado. Tal lista se flama tabla de excitación.

La Tabla 1.15 presenta las tablas de excitación de los cuatro Flip - Fíops

estudiados. Cada tabla consiste en dos columnas Qn (estado actual) y Q0+i (estado

siguiente), y una columna para cada entrada que tiene el Flip - Flop, de esta manera se

puede mostrar como se logra la transición requerida. Hay cuatro transiciones posibles del

/presente estado al siguiente.

Las condiciones de entrada requeridas para cada una de las cuatro transiciones se

derivan de la información disponible en la tabla característica. El símbolo X en las tablas

representa la condición de no importa o sin efecto, es decir no afecta que la entrada tome el

valor lógico de I ó 0.

El procedimiento de diseño que se describirá a continuación en el capítulo siguiente

puede ser usado con cualquier Ffíp - Flop. Es necesario que se conozca la tabla

característica del Flip - Flop, de la cual se pueda generar la tabla de excitación. La tabla de

excitación se usa entonces para determinar las funciones de entrada del Flip - Flop.

Página 81

Page 87: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

2.- DISEÑO SECUENCIAL SINCRÓNICO POR EL

MÉTODO TRADICIONAL

Para el diseño de los circuitos secuenciales sincrónicos, es necesario recopilar una

serie de especificaciones, las mismas deben proporcionar la información necesaria para

granear o determinar el diagrama lógico. Con esta serie de especificaciones se puede también

obtener una lista de funciones de Boole mediante las cuales se pueda obtener el diagrama

lógico correspondiente. Un circuito combinacional, está especificado completamente por una

tabla de verdad, en cambio un circuito secuencial requiere una tabla de verdad para su

especificación. Entonces el primer paso en el diseño de los circuitos secuenciales es obtenía:

la tabla de estados o un equivalente de esta presentación, los equivalentes son el diagrama de

estado o las ecuaciones de estado.

Un circuito secuencial sincrónico es implementado a base de Ftip - Flops y

compuertas combinacionales. Parte del diseño de los circuitos secuenciales sincrónicos es

seleccionar el tipo de Ftip - Flop y luego encontrar una estructura combinacional de

compuertas para las excitaciones de los Ftip - Flops. La estructura combinacional,

conjuntamente con los Ftip - Flops^ debe producir un circuito que cumpla con las

características requeridas. El número de Ftip - Flops se determina por el número de estados

necesarios en el circuito. El circuito combinacional se deriva de la tabla de estado. Una vez

determinado el tipo y el número de Ftip - Flops, el proceso de diseño secuencial sufre una

transformación en el procedimiento de diseño, pasa del procedimiento de circuito secuencial

a los procedimientos del problema de circuito combinacionaL De esta manera, las técnicas de

diseño de los circuitos combinacionales pueden aplicarse en su totalidad.

Página 82

Page 88: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

2.1.- PROCEDIMIENTOS Y EJEMPLOS DE DISEÑO

SECUENCIAL SINCRÓNICO.

En esta sección se presenta un procedimiento para el diseño de los circuitos

secuenciales. El propósito de este procedimiento es servir como guía de diseño al

principiante, este no es el más óptimo, ya que con experiencia y práctica puede acortarse.

Este método se minimiza mediante una lista de pasos consecutivos que se recomienda seguir

en ese orden. Estos se presentan a continuación.

1.- Se establece la descripción en palabras del comportamiento del circuito. Esto puede

acompañarse por el diagrama de estados, un diagrama de tiempos, u otra

información pertinente.

2.- De la información dada del circuito se identifica todas las entradas y salidas para

construir la tabla de estados inicial.

3.- Si es necesario, el número de estados de la tabla primitiva puede reducirse por los

métodos de reducción de estados si el circuito secuencia! puede caracterizarse por

las relaciones de entrada salida independientes del número de estados. Aquí se

obtiene la tabla de estados final

4.- Se asigna valores binarios utilizando reglas de asignación a cada estado si la tabla de

estado en los pasos 2 ó 3 mantienen símbolos de letras. Este paso puede ser

opcional si la asignación de estados está especificada en el diseño.

5.- De la tabla de estados final se determina el número de Flip - Flops a los cuales se

les puede asignar un número o una letra.

6.- Se escoge el tipo de Ftip - Flop que se va a utilizar en el circuito.

Página 83

Page 89: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

7.- Con el Ftip - Flop seleccionado y utilizando las tablas de estado se deduce la

excitación del circuito y las tablas de salida si existe alguna,

8.- Con ayuda de los mapas K o cualquier olro método de simplificación, se deduce las

funciones de salida del circuito y las funciones de excitación de los Ftip - Flops.

9.- Por último se dibuja el diagrama lógico del circuito.

La especificación en palabras del circuito asume que el lector está familiarizado con

la terminología lógica digital. Es necesario que el diseñador use su intuición destreza y

experiencia para llegar a la correcta interpretación de las especificaciones dadas para el

circuito, porque la descripción en palabras puede ser incompleta e inexacta. Sin embargo,

una vez que se haya establecido una especificación completa y se haya obtenido la tabla de

estados, es posible hacer uso del procedimiento formal mencionado para diseñar el circuito.

La reducción del número de estados y su asignación de valores binarios ya han sido

discutidos ampliamente en el Capítulo 1. Para continuar con el análisis, se asume que el

número de estados y su asignación binaria es conocida. El número de Ftip - Flops (n) se

determina por el número de estados. Un circuito puede tener estados binarios sin usar si el

número total de estados es menor que 2 . Los estados no usados se tomarán como

condiciones no importa durante el diseño de la parte combinacional del circuito.

El tipo de Flip - Flop que se va a usar puede incluirse como parte de las

especificaciones del diseño, también puede depender de la disponibilidad del diseñador.

Muchos sistemas digitales se construyen totalmente con Ftip - Flops JK porque ellos son los

más veisátiles y disponibles. Cuando hay muchas clases de Ftip - Flops disponibles, es

Página 84

Page 90: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

aconsejable usar el Ftip - Flop RS o D para aplicaciones que requieren transferencia de

datos (tales como registros de desplazamiento). El tipo T para aplicaciones que incluyen

complementación (tales como contadores binarios), y el tipo JK para aplicaciones generales.

La información de salida externa se especifica en la sección de salida de la labia de

estados. De esta se pueden deducir las funciones de salida del circuito. La tabla de excitación

es similar a la de los Ftip - Flops individuales, excepto que las condiciones de entrada son

dictadas por la información disponible en el presente estado y las columnas del estado

siguiente de la tabla de verdad. El método para obtener la tabla de excitación y las funciones

simplificadas de entrada del Ftip - Flop es mejor ilustrarlo con un ejemplo.

FIGURA 2.1: Diagrama de estados.

Se desea diseñar un circuito secuencia! temporizado cuyo diagrama de estado se

presenta en la Figura 2.1. El tipo de Ftip - Flop utilizado es el JK . El diagrama de estado

Página 85

Page 91: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

consiste de cuatro estados con valores binarios ya asignados. Como las líneas designadas se

marcan con un sólo dígito binario sin una // se concluye que hay una variable de entrada y

ninguna variable de salida. (El eslado de los Ftip - Flops se puede considerar como las

salidas del circuito). Los dos Flip - Flops necesarios para representar los cuatro estados se

designan como A y B. La variable de entrada se designa como x.

La tabla de estados para este circuito, derivada del diagrama de estado, se muestra

en la Tabla 2.1. Nótese que no hay sección de salida para este circuito. Se mostrará ahora el

procedimiento para obtener la tabla de excitación y la estructura de las compuertas

combinacionales.

Estado siguiente

Estado presente

A B

0 00 11 01 1

X

A

0111

0

B

0100

X

A

0001

1

B

1101

TABLA 2.1: Tabla de estados.

La derivación de la tabla de excitación se facilitará si se reordena la tabla de estado

en forma diferente. Esta forma se muestra en la Tabla 2.2, donde las variables de entrada y

el estado presente se presenta en forma de tabla de verdad. El valor del estado siguiente para

cada estado presente y las condiciones de entrada se copian de la Tabla 2.1, La tabla de

Página 86

Page 92: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

excitación del circuito es una lista de condiciones para la entrada del Flip - Flop que causa

las transiciones de estado requeridas y es una función del tipo de Flip - Flop usado. Como

este ejemplo especifica Flip - Flops JK, se necesitan columnas para las entradas J y K del

Flip - Flop A (denotadas por JA y KA) y B (denotadas por JB y KB).

Entradas de los circuitoscombinacionalcs

EstadoEntrada presente

x A B

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

Siguienteestado

A B

0 01 11 01 00 10 10 01 1

Salidas del circuitocombinacional

Entradas de los Flip - Flops

JA KA JB KB

0 X 0 XI X X 0X 0 0 XX 0 X I0 X I X0 X X 0X I 0 XX 0 X 0

TABLA 2.2: Tabla de excitación para Flip - Flops JK

Las tabla de excitación para el Flip - Flop JK fue derivada en la Tabla 1.15. Esta

tabla se usa ahora para deducir la tabla de excitación del circxiito. Por ejemplo en la primera

fila de la Tabla 2.2 se tiene una transición del Flip - Flop A de O en el estado presente a O

en el estado siguiente. En 1a Tabla 1.15 se encuentra que los estados de transición de O a O

requieren que la entrada J = O y la entrada K = X. Así, O y X se copian en la primera fila

bajo JA y KA, respectivamente. Este proceso se continua para cada fila de la tabla y para

cada Flip - Flop con las condiciones de entrada especificadas en la Tabla 1.15.

PáginaS?

Page 93: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Ahora considérese la información en una tabla de excitación tal como la Tabla 2.2.

Se sabe que un circuito secuencial consiste de un número de Ftip - Flops y un circuito

combinacional. Para este circuito en particular se necesitan dos Ftip - Flops JK y un circuito

combinacional para las entradas de los Ftip - Flops. Entonces; es evidente que las salidas del

circuito combinacional vayan a las entradas de los Ftip - Flops. Sin embargo las funciones

de Boole que especifican un circuito combinacional se derivan de una tabla de verdad que

muestre las relaciones de entrada - salida del circuito.

AB

,\0 01 ' II IQ

X

AB

00 01 ' 11 10

0

i

X

x]

X

X

0

0

0

(í_YB

Afl A

00 01 ' 11 10

AB

0

( •X

')X

X

0

0

00 01 11 10

X

X

0

0

r0

0X

KB-x'.A

FIGURA 2.2: Mapas K para la parte combinacional del circuito.

Página 88

Page 94: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La tabla de verdad que describe la parte combinacional del circuito está disponible

en la labia de excitación. Las entradas del circuito combinacional se especifican bajo las

columnas de entrada y el estado presente, las salidas del circuito combinacional se

especifican bajo las columnas de entrada de los Ftip - Flops. Así, una tabla de excitación

transforma un diagrama de estados a la tabla de verdad necesaria para el diseño de la parte

combinacional del circuito secuencia!.

Ahora, las funciones de Boole simplificadas pueden derivarse. Las entradas soa las

variables x, A, y B; las salidas son JA, KA, JB y KB. La información de la tabla de verdad

se transfieren a los mapas K de la Figura 2.2, donde se derivan las cuatro funciones

simplificadas para las entradas de los Flip - Flops.

KA = x.B'

= x'.A

FF-B

FIGURA 2.3: Diagrama lógico del circuito secuencia!.

Página 89

Page 95: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

El diagrama lógico se dibuja en la Figura 2.3 y consiste de dos Flip - Flops, cuatro

compuertas AND y un inversor. Con alguna experiencia, es posible reducir la cantidad de

trabajo envuelto en la determinación del circuito combinacional.

2.2.- PROBLEMA GENERAL DEL DISEÑO SECUENCLAL

SINCRÓNICO

En esta parte del análisis de los circuitos secuenciales sincrónicos, se considerará el

diseño con estados no usados. Un circuito de n Ftip - Flops puede tener 2n estados. Hay

ocasiones cuando un circuito secuencia! puede usar un número menor que el máximo

número de estados. Los estados que no se usan en la especificación del circuito secuencia!

no se listan en la tabla de estados. Cuando se simplifican las funciones de entrada de los Flip

- Flops, los estados sin usar serán considerados como condiciones "no importa" o

condiciones "sin efecto".

Continuando con el análisis. Aquí, se completará el diseño del circuito secuencial

presentado en la sección 1.6.1.2. Se utilizará la tabla de estado reducida presentada el la

Figura 1.42 cuyo diagrama de estados es el de la Figura 2.4. Se empleará asignación de

estados directa, además el circuito debe usar Flip - Flops JK.

La tabla de estados de la Figura 1.42 se redibuja en la Tabla 2.3 en \ina forma

conveniente para poder obtener las excitaciones de los Flip - Flops. Las condiciones de

entrada del Flip - Flop se deriva de las columnas del estado presente y del estado siguiente

de la tabla. Como se usan los Flip - Flops .TK es necesario referirse a la Tabla 1.16 (b) para

Página 90

Page 96: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

las condiciones de excitación de este tipo de Flip - Flop. A los tres Flip - Flops se les da

nombres de variables A, B y C. La variable de entrada es x y la variable de salida es z. La

tabla de excitación del circuito suministra toda la información necesaria para el diseño.

FIGURA 2.4: Diagrama de estados para la tabla de la Figura 1.42.

EstadoEntrada

X

0 .00000001111.1111

presente

A

0000111100001111

B

0011001100110011

c

0101010101010101

Estadosiguiente

A

0000oXXX00100XXX

B

01110XXX00000XXX

c

10111XXX00000XXX

Entrada

JA

0000XXXX0010XXXX

KA

XXXX1XXXXXXX1XXX

de los Flip - Flops

JB

01XX0XXX00XX0XXX

KB

XX00XXXXXX11XXXX

JC

1X1X1XXX0X

. 0X0XXX

KC

X1X0XXXXX1X1XXXX

Salidas

2

00001XXX00001XXX

TABLA 2.3: Tabla de excitación.

Página 91

Page 97: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Hay tres estados sin usar en este circuito: los estados binarios 101, 110 y 111.

Cuando se incluye una entrada de O o 1 con estos estados no usados se obtiene seis términos

mínimos de no importa: 5, 6, 7, 13, 14 y 15. Estas seis combinaciones binarias se listan en la

tabla de verdad bajo el estado siguiente, las entradas de los Ftip - Flops y la salida z como

términos sin efecto o como condiciones no importa.

00 01 il 10^BC

**\0 01 11 10BC

00 01 il LO

00

01

>1"

0

X10

0

^X

0

0

^X0

0

X

T1

00

1 01LAJ J"

l i o

X

11X

X

X

X

X

X

X

X

X

X

X

X

X

00

1 "iLAr rJ J11\10

0

0

0

0

p~X

x0

~T]X

xx

xX

xx

B B BJA = x.B.C' KA = IL JB = x'.C

c c cNBC f X... NBC f . ^ ^ X« c ( ^. _ }

*A\0 01 il 10 xA\0 DI U 10 XA\0 01 U 10

KB - ÍC -

00 01 U 10

00

01

1110

0

( 10

0

0

X

X

0

0

X

X

0

0

X )X

0

KC - B' +

FIGURA 2.5: Mapas para simplificar el circuito secuencia! del ejemplo.

Página 92

Page 98: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La parte combinacional del circuito secuencial se simplifica por medio de los mapas

K de la Figura 2.5 Hay siete mapas en el diagrama, seis mapas son para simplificar las

funciones de entrada para los tres Ftip - Flops JK. El séptimo mapa es para simplificar la

salida z. Cada mapa tiene seis X en los cuadrados de los términos mínimos sin efecto 5, 6, 7,

13, 14 y 15. Los otros términos de no importa en los mapas provienen de las X en las

columnas de entrada de la tabla de excitación del Ftip - Flop. El diagrama lógico obtenido

de estas funciones de Boole se dibujan en la Figura 2.6.

FIGURA 2.6: Diagrama lógico para el ejemplo de análisis.

Un factor olvidado hasta este momento en el diseño es el estado inicial del circuito

secuencial. Cuando se suministra potencia a un sistema digital por primera vez, no se conoce

Página 93

Page 99: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

en que estado se fijará el Ftip - Flop. Es costumbre suministrar una entrada maestra de

puesta a uno cuyo propósito es iniciar el estado de todos los Ftip - Flops en el sistema.

Típicamente, la entrada maestra de puesta a uno es una señal aplicada a todos los Flip -

Flops asincrónicamente antes de comentar las operaciones temporizadas. En la mayoría de

casos los Ftip - Flops se llevan a O por medio de una señal maestra de puesta a 0. Por

ejemplo el circuito de la Figura 2.6 puede inicialmente ponerse a O con un estado ABC —

000 que es un estado válido de este circuito.

Pero qué pasa si el circuito no se inicializa con un estado válido?. O lo que es peor,

¿qué pasa si debido a una señal de ruido o a cualquier otra razón imprevista, el circuito se

encuentra en uno de estos estados inválidos?. En este caso es necesario asegurar que el

circuito eventualmente vaya a uno de los estados válidos para regresar a la operación normal.

De otra manera, si el circuito secuencial circula dentro de los estados inválidos, no habrá

manera de llevarlo de nuevo a la secuencia de las transiciones de estados requerida. Aunque

se puede asumir que esta condición indeseable supuestamente no suceda, un diseñador

cuidadoso puede prevenir que esta situación nunca ocurra.

Se había expresado previamente que los estados sin usar en un circuito secuencial

pueden ser tratados como condiciones no importa. Una vez que se diseña el circuito, los n

Flip - Flops pueden estar en cualquiera de los 2 estados posibles. Si algunos de estos

estados se tomaron como condiciones no importa, el circuito puede ser investigado para

determinar el efecto de estos estados. El estado siguiente de los estados inválidos pueden

determinarse del análisis del circuito. De todas maneras, es siempre acertado analizar el

circuito obtenido de un diseño, para asegurar que no se cometan errores durante el proceso.

Página 94

Page 100: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

2.2. i.- CONTADORES SINCRÓNICOS

Un circuito secuencial que pasa por una secuencia preestablecida de estados

después de la aplicación de pulsos de entrada es conocido como un contador. Los pulsos de

entrada o pulsos de cuenta pueden ser generados en un reloj, o ellos pueden originarse en

una fuente externa y pueden ocurrir en intervalos establecidos de tiempo o aleatoriamente.

En un contador, la secuencia de estados puede seguir una cuenta binaria o cualquier otra

secuencia de estados. Los contadores se encuentran en la mayoría de equipos que contienen

lógica digital. Ellos se utilizan para contar el número de ocurrencias de un evento y se usan

para generar secuencias de tiempo para controlar las operaciones de un sistema digital

FIGURA 2.7: Diagrama de estado de un contador binario de 3 bits.

De las diferentes secuencias que un contador puede seguir, la secuencia binaria

directa es la más simple. LTn contador que sigue la secuencia binaria se llama contador

Página 95

Page 101: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

binario. Un contador de n bits está constituido de n Ftip - Flops y puede contar en binario

de O hasta 2 - 1 . Como ejemplo de análisis, se muestra el diagrama de estados de un

contador binario de tres bits de cuenta directa en la Figura 2,7. El diagrama muestra dentro

de círculos a los estados por los cuales atraviesa el contador, las salidas de los Flip - Ffvps

repiten la secuencia de cuenta binaria con un regreso a 000 después de 111 . Tas líneas

dirigidas entre los círculos no se marcan con valores de entrada - salida como en otros

diagramas de estados. Las transiciones de estado de los circuitos secuenciales temporizados

ocurren durante los pulsos de reloj, los Flip - Flops permanecen en sus estados presentes si

no ocurre ningún pulso. Por esta razón, el pulso de reloj Ckno aparece explícitamente como

una variable de entrada en un diagrama de estados o tabla de estados. Desde este punto de

vista, el diagrama de estados de un contador no tiene que mostrar valores de entrada - salida

a lo largo de las líneas dirigidas. La única entrada al circuito es el pulso de cuenta, y las

salidas están especificadas directamente en los estados presentes de los Flip - Flops. El

estado siguiente de un contador depende únicamente de su estado presente y la transición de

estado ocurre cada vez que se presenta el pulso de reloj. Debido a esta propiedad, un

contador está especificado completamente por medio de una lista de la secuencia de los

estados binarios por los que pasa.

La secuencia de cuenta de un contador binario de tres bits se presenta en la Tabla

2.4. El siguiente número en la secuencia representa el siguiente estado alcanzado por el

circuito después de la aplicación del pulso de cuenta. La secuencia de cuenta se repite una

ver. que haya alcanzado el último valor, de tal manera que el estado 000 es el estado

siguiente después de 111. Ta secuencia de cuenta proporciona toda la información necesaria

para diseñar el circuito de un contador.

Página 96

Page 102: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Estadopresente

A

00001111

B

00110011

c

01010101

A

00011110

Estadosiguiente

B

01100110

c

10101010

Entrada de

JA

0001XXXX

KA

XXXX0001

JB

01XX01XX

los Flip - Rops

KB

XX01XX01

JC

1X1X1X1X

KC

X1X1X1X1

TABT/A 2.4: Tahia de excitación para un contador binario de tres bits.

La Tabla 2.4 es la tabla de excitación para el contador binario de tres bits, aquí a

los tres Ftip - Flops se les asigna las variables A, B y C. La excitación para las entradas J y

K se deriva inspeccionando la transición del estado presente al estado siguiente.

BC

A -¿i

B BC B BC Bi \ X ^^ JL

00 01 f U 10 * V\0 01 f 11 10 * \ 00 01 { Jl 10

0

X

0

X

1

x*

0

X

1 }

0

•iL0

0

1

1

X

X

X

X

t J

0

•1L1

1

X

X

r

X

1 1

1

1 JY Y . Yc c c

U = B.C ÍB = C JC = LL

B ^BC B RC B

00

X

0

DI '

X

0

11

X

i"s ^

10

X

0

L J

10

•!L

00

X

X

X

X

11

1

1

10

0

0

1 !

\

•!L

00

í x

X

01

1

1

111

1

10

X I

X

i ;Y Y TC C C

KA = B.C KB = G KC = ÍL

FIGURA 2.8: Mapas K para un contador binario de tres bits.

Página 97

Page 103: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Las funciones de entrada de los FUp - Flops que se listan en la tabla de excitación

se simplifican en los mapas K de la Figura 2.8. Las funciones de Boole listadas bajo cada

mapa especifican la parte del circuito combinacional del contador. Incluyendo estas

funciones con los tres FFss se obtiene el diagrama lógico del contador de la manera

mostrada en la Figura 2.9.

1L

FIGURA 2.9 Diagrama lógico de un contador binario de tres bits.

Un contador con n Ftip - Flops puede tener una secuencia binaria de menos de 2n

números. Por ejemplo, un contador BCD cuenta la secuencia binaria desde 0000 hasta 1001

y regresa a 0000 para repetir la secuencia. Otros contadores pueden seguir una secuencia

arbitraria, de todas formas, el procedimiento de diseño es el mismo. La secuencia de cuenta

se lista y la tabla de excitación se obtiene comparando la cuenta presente con la respectiva

cuenta siguiente.

Página 98

Page 104: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

2.2.2.- REGISTROS DE DESPLAZAMIENTO

Una de las aplicaciones de los registros de desplazamiento es que pueden ser usados

para convertir datos en serie a datos en paralelo y viceversa. Si se tiene acceso a todas las

salidas de los Ffíp - Flops del registro de desplazamiento, la información introducida

serialmcntc por desplazamiento puede extraerse en paralelo de las salidas de los Füp - Flops.

Si se agrega al registro de desplazamiento la capacidad de carga en paralelo, entonces, los

datos que entran en paralelo pueden extraerse en serie desplazando los datos en el registro.

Algunos registros tienen los terminales de entrada y salida necesarios para la

transferencia en paralelo. Pueden tener también la característica de desplazamiento hacia la

izquierda y hacia la derecha.

FIGURA 2.11: Diagrama de estados de un registro de desplazamiento hacia laderecha de tres bits.

Página 99

Page 105: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Para el análisis de los registros de desplazamiento se considera el diseño de un

regislro de desplazamiento hacia la derecha de tres bits cuyo diagrama de estados es el

presentado en la Figura 2.11.

Dato

Da0000e00iiiiiiii

Esiad» actual

Q2••1•1111••••111

Qi001180110011001

1 ! 1

Qo01•101ei0i010101

Estado s^uienfe

Q20011001100110fl1]

9101ei•iei0i0iei0i

Qo009i009011111111

TABLA 2.5: Tabla de estados para el diagrama de la Figura 2.11.

La Tabla 2.5 es la labia de excitación para el registro de desplazamiento a derecha

de tres bits analizado, aquí a los tres Ftip - Flcps se les asigna las variables Qi, Qi y Qo- El

estado siguiente de un registro de desplazamiento depende del estado actual y del valor del

dato de la entrada serial. Es así que, si el estado presente es 000 y el dato de entrada es O, el

estado siguiente será 000 y si el dato de entrada es 1, el estado siguiente será 001.

Para este ejemplo se considera el uso de los Fíip - Flops JK. Entonces, la

excitación para las entradas J y K se deriva inspeccionando la transición del estado presente

al estado siguiente cuyo resultado se presenta en la Tabla 2.6.

Página 100

Page 106: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Secuencia de estadosDito

D00n0Q0DB11111111

Estado actualQ2

00110111180001111

Qia0ii001100110011

Qo*1i1t111•1•1•111

Estado siguienteQt

001100118

01100

11

Qi0Ini0i0101Q10101

Q»Q0n0000aiiiiiiii

Salid a de fes FKp-FlopsQo

Jo0X0X0X0X1X1X1X1X

KoX1

X121

XL

X0

X0

X0X0

QiJi01XX01XX01XX01XX

KiXX10XX10

XX1aXX10

Q2

J20011XXXX0811XXXX

K2XXXX110QXXXX11e0

TABLA 2.6: Tabla de excitación con Flip - Flops JK.

0

B

/I

^

X

X

X

X

X

X

X

X

0

0

í\

~S|

X

X

X

X

X

X

X

0

00

0

1

111

0

0

0

/T1

1

^

x\

X

Jr

X

X

X

X

Ql

(x11

t

~x\

1

\y

X

D

0

X

X

0

•X

Q:

FIGURA 2.12: Mapas K de la excitación de los Flip - Flops JK.

Página 101

Page 107: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Las funciones de entrada de los FÜp - Flops que se listan en la tabla de excitación

se simplifican en los mapas K de la Figura 2.12. Las funciones de Boole listadas bajo cada

mapa especifican la parte del circuito combinacional del registro de desplazamiento.

.Incluyendo estas funciones con los tres FFs, se obtiene el diagrama lógico del registro de la

manera mostrada en la Figura 2.13.

CK

i

\!\ '\ ! J P O

V 1 RI t Q>Cl_Ki c _

'

J P OR

>CUK

K L Q

c

J P QR

>CLK

K L Q

t

ii1

FIGURA 2.13: Diagrama lógico de un registro de desplazamiento de tres bits.

2.2.3.- DETECTORES DE SECUENCIA DE CÓDIGOS

Para el análisis de los detectores de secuencia de códigos, se propone un problema

de diseño de un sistema secuencial con una sola entrada je y una sola salida z. El problema

consiste en diseñar un sistema para que z sea igual a 1 siempre y cuando los valores que x a

adquirido cumpla con una secuencia de valores preestablecida. Para prevenir ambigüedades

respecto de lo que se pretende, la secuencia de entrada y la salida correspondiente se deben

especificar completamente. La secuencia que se desea detectar es 10010, al cumplimiento de

esta la salida z debe ser 1.

Página 102

Page 108: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Como se ha señalado antes, se debe definir un primer estado especificando la

historia necesaria que conduce a este estado para evitar tener que volver más allá del estado

inicial. En el caso presente hay muchas maneras de definir el primer estado. Considérese el

primer estado como al que se llega después de que se haya producido una secuencia de dos

(o más) 1 consecutivos. (Tener en cuenta que el estado en cualquier intervalo de reloj no

está determinado por las entradas en ese intervalo, sino por las entradas en los intervalos

previos). En cualquier circunstancia, este primer estado, el A en la Figura 2.14, es un estado

donde se ha recibido al primer bit de una potencial secuencia que produzca salida y cualquier

cosa que haya ocurrido anteriormente es irrelevante.

O/O

i/O

FIGURA 2.14: Diagrama de estados para el ejemplo de análisis.

Este primer estado A (al que se llega después de dos intervalos en ios que x = 1 y t

= 0). Si ahora se tuviese un tercer.* = 1, sustituiría al segundo 1 como el primer bit de una

potencial secuencia que produzca salida. En cualquier circunstancia, no se hacen progresos

hacia una secuencia que produzca salida. Lo que debe recordar el sistema es lo mismo que

antes. Por tanto, como indica la flecha que comienza y termina en el estado A, cuando x = 1,

Página 103

Page 109: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

entonces z = O y el siguiente estado es A. Ahora si los siguientes cuatro bits de entrada son x

= 0010; es decir, aparece una secuencia que produce salida. Entonces la ocurrencia de cada

nuevo paso debe recordarse. Cada nueva entrada genera un nuevo estado, como indica la

Figura 2.14. El último x = O genera una saHda z = 1 y en el siguiente flanco del disparo de

reloj el sistema va al estado E.

Cabe recordar que si desarrollamos correcta o incorrectamente el diagrama de

estados, éste no se completa hasta que dos flechas dejen cada estado. Si cuando el sistema se

encuentre en el estado B y tenemos que x = 1, la secuencia se inválida y no podemos ir de

B a C; así se introduce un nuevo estado F, el cual es un estado que se llega después de la

secuencia 1101 y, por consiguiente, es un estado que recuerda el primer bit, es decir, el

último 1, de una potencial secuencia que produzca salida. En F, si la siguiente entrada es x -

O, Entonces la secuencia es 11010. Todo lo que necesitamos recordar de esta secuencia es

que sus dos últimos bits son potencialmente los dos primeros biís de una secuencia que

produzca salida. Pero este recuerdo está precisamente almacenado en B. Por consiguiente,

como se indico en F, un x = O mantiene z = O, el estado siguiente será nuevamente B, Si en

F el siguiente bit es x = 1, entonces los dos últimos bits son 1 consecutivos y el sistema va al

estado A, ya que dicho estado se ha definido precisamente como el estado del sistema

después de dos 1 consecutivos.

En C, si la siguiente entrada es x = O, se tienen tres O consecutivos, se invalida la

secuencia y no podemos ir de C a D. Aquí se introduce el estado G. Este estado G recuerda

que la secuencia se ha vuelto a invalidar, ya que se trata de una secuencia de más de dos O y

no progresa hacia una secuencia que produzca salida hasta que no aparezca un 1. En G más

Página 104

Page 110: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

ceros no cambia lo que ha de memorizarse, así que x = O deja el sistema en el estado G. Por

otro lado, en G, si x = 1 de nuevo tenemos el primer bit de una posible secuencia que

produzca salida. El estado F es un estado que recuerda precisamente que el primer bit se ha

recibido. Por consiguiente, x - 1 mantiene z = O y el sistema cambia de G a F.

En Dj un x = 1 significa que se ha recibido dos 1 consecutivos y está es la

información almacenada en A. Por consiguiente, cuando x — 1 se va de D a A con z = 0.

Finalmente, ya que el solapamiento de las secuencias está permitido, cuando alcancemos el

estado E no solamente se completa una secuencia, sino que también se tienen los dos

primeros bits de una nueva secuencia que poíencialmente puede producir salida. Si en E, se

tiene que x = O, se obtendrá la secuencia 100 cuyos tres primeros bits corresponden a una

secuencia que produce salida. Pero ésta es precisamente la secuencia que deja C. Por

consiguiente con x = O volvemos de E a C. Entonces se ha completado el diagrama de

estados tal cual se presenta en la Figura 2.14.

Pensando sobre un mismo diagrama de estados, personas diferentes pueden llegar a

diagramas aparentemente diferentes pero correctos. Por supuesto, cuando se eliminan todos

los estados redundantes, todos los diagramas válidos deben ser idénticos excepto en el caso

posible que en distintos diagramas los estados equivalentes tengan distintos nombres. El

siguiente paso es aplicar al diagrama los procedimientos para eliminar estados redundantes,

Es importante tener en cuenta que en este circuito los estados en si mismo son de

importancia secundaria porque el interés primordial son las secuencias de salida causadas por

las secuencias de entrada.

Página 105

Page 111: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Estado presente

ABCDEFG

Estado

.v = 0

BCGECBG

siguiente

x=l

A- F

DAAAF

x =

0001000

Salida 2

0 x = l

0000000

TABLA 2.7: Tabla de estado.

Se procederá a reducir el número de estados en este ejemplo. Primero, se necesita

una tabla de estado, es más conveniente aplicar los procedimientos para k reducción de

estados aquí que en los diagramas de estado. La tabla de estado del circuito en análisis se

lista en la Tabla 2.7 y se obtiene directamente del diagrama de estado de la Figura 2.14. En

la Tabla 2.7, los estados A y F son equivalentes, se procede a eliminar el estado F.

Estado presente

ABCDEPG

Estado

x = 0

BCGEC

G

siguiente

x = l

AFADAAA

FA

x =

000100

0

Salida 2

0 x=l

000000

0

TABLA 2.8: Reducción de estados equivalentes.

Página 106

Page 112: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

En la Tabla 2.8 se presenta la manera de eliminación de un estado equivalente.

Primero se procede a la anulación del estado F y luego a remplazar el estado F por su estado

equivalente A en todas las posiciones de estado siguiente que se encuentre. Entonces se

obtiene la Tabla 2.9.

Estado siguiente

Es Lado présenle

ABCDF

G

x-0

BCGB BcG

x-l

AADA\

Salida z

x-0

0001o0

x-l

00000

0

TABLA 2.9: Reducción de estados equivalentes.

En la Tabla 2.9, se puede apreciar que los estados B y E son equivalentes y se

procede a eliminar el estado E utilizando el procedimiento esbozado en el párrafo anterior.

Luego de haber realizado la simplificación del estado E se obtiene la Tabla 2.10.

Estado presente

ABCDG

Estado

x = 0

BCGBG

siguiente

x = 1

AADAA

Salidas

x = 0 x

00010

= 1

00000

TABLA 2.10: Tabla de estados totalmente reducida.

Página 107

Page 113: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La Tabla 2.10 es la tabla final simplificada mediante el método tradicional de

simplificación, a ésta se debe aplicar un método sistemático de simplificación para verificar si

ésta es la labia final. Se procederá a determinar esta característica utilizando el método de

particiones de los estados en clases de estados equivalentes, éstas son:

Clase a: A, B, C y G

Clase b:D

Clase

EstadosSiguiente clase

a

Aa a

Ba a

Ca b

Ga a

b

Da a

Clase

EstadosSiguiente clase

a

Aa a

Bc a

Ga a

b

Da a

c

Ca b

Clase

EstadosSiguiente clase

a

Ad a

Ga a

b

Dd a

c

C 'a b

d

Bc a

Clase

EstadosSiguiente clase

a

Ad a

b

Dd a

c

Ce b

d

Bc a

e

Ge a

TABLA 2.11: Método de particionamiento en clases de estados equivalentes.

Página 108

Page 114: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La Tabla 2.11 muestra el método de simplificación por particionamiento en clases

de estados equivalentes. En esta tabla se aprecia que el número de estados es igual al

número de clases luego de la aplicación del método, por lo tanto no se ha simplificado más

estados en la Tabla 2.10.

El siguiente paso en el diseño es la asignación de valores binarios a los estados, en

este ejemplo se utilizará asignación directa, con lo cual se obtiene la Tabla 2.12.

ABCDG

000001010Olí100

EníraáaX00000XXX11111XXX

Estado actualQ2

00001XXX00001XXX

Qi00110XXX00110XXX

Qo01010XXX01010XXX

Estada sigurnic

Q2

00000XXX00100 _,XXX

Qi01110XXX00000XXX

Qo10111XXXu0000XXX

Salüi

100001XXX00000XXX

TABLA 2.12: Tabla de estados con asignación binaria directa,

Luego de la asignación de estados se procede a 1a selección del tipo de Plip - Flop

con el cual se va a realizar el circuito, en este ejemplo se utilizará el Flip - Flop JK.

Página 109

Page 115: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

E» trida

X

a0n00XXX11111XXX

Secuencia 4 e estad %sEstado ictuil

Q2

QenQ1XXX60001XXX

Qia0ii8XXX0011aXXX

Qo0inieXXX0101QXXX

Estad* siguiente

Q*

XXX••1••XXX

Qi81110XXX•0000XXX

Qo10111XXXe00eeXXX

.Salidaz08n0

iXXXe•e0eXXX

&U*ladel*sFBp-FU»sQ2

J200Q

0XXXX0ei9XXXX

K2XXTX1XXXXXXX1XXX

QiJl•1XX0XXX00XXaXXX

KiXXn0XXXXXX11XXXX

QoJfl1X1X1XXX0X0X0XXX

JeX1X0XXXXX1X1XXXX

TABLA 2.13: Tabla de estados y excitación de los Flip - Flops JK.

Qi

0

X

X

0

e

X

X

8

e

X

X

8

e

X

T]

JJ

X

X

X

X

X

X

X

X

0

X

X

1

a

X

X

i

Qi

0

0

0

e

i

X

X

X

X

X

X

X

X

X

X

LQ2

X

X

X

X

1

X

X

1

Q

X

X

1

X

X

X

X

|Q2

FIGURA 2.15: Mapas K y funciones lógicas de las excitaciones de los Flip Flops JK.

Página 110

Page 116: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Q!

0

1

0

0

1

X

X

0

0

X

X

0

X

X

D

LQ2

QO

FIGURA 2.16: Mapa K y función lógica de la salida z.

FIGURA 2.17: Diagrama Lógico del circuito secuencia! diseñado.

Con la ayuda de la tabla de excitación del Flip - Flop escogido se procede a la

determinación de la tabla de excitación, utilizando esta tabla se generan los mapas K de los

cuales se obtienen las funciones lógicas de excitación de los Flip - Flops y la función lógica

de la salida, finalmente se dibuja el diagrama lógico del circuito secuencia! diseñado.

Página 111

Page 117: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

2.3.- DISEÑO SECUENCIAL SINCRÓNICO UTILIZANDO

MEMORIAS ROM

Debido al desarrollo de la tecnología de semiconductores, los ingenieros de diseño

tienen acceso a elementos de memoria mas complejos y más baratos, haciendo posible su

utilización en aplicaciones que anteriormente utilizaban sólo compuertas lógicas.

Es necesario dejar constancia que esta tendencia continuará en la presente década

ya que, debido al desarrollo de las técnicas digitales, el -volumen de producción de estos

elementos aumentará apreciablemente. También es necesario mencionar que actualmente el

costo por bit de memoria es de sólo unas milésimas de centavo de dólar, existe la tendencia

a disminuir aún más en los próximos años.

Entradas x

Estadoactual

Reloj

Lógica(circuitos combinacionales)

Memoria (Flip - Rops)

Z Salidas

Estadosiguiente

n

FIGURA 2.18: Arquitectura de un sistema secuencial.

Página 112

Page 118: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

El presente acápite presenta los criterios de diseño secuencia! sincrónico utilizando

memorias de tipo ROM. En el diagrama de bloques de la Figura 2.18, el estado actual y las

entradas externas detenninan el siguiente estado y los valores de las salidas externas. Parte

del circuito combinacional determina el estado siguiente y la otra parte genera las salidas. El

siguiente valor del estado del circuito combinacional se carga en la memoria a base de Flip -

Flops con un pulso de reloj. Entonces, la parte combinacional de un circuito secuencial

puede ser construido con memorias de tipo ROM. Para esbozar este procedimiento se

utilizara el diagrama de estados de la Figura 2.19.

FIGURA 2.19: Diagrama de estados de un circuito secuencial.

Entrada

X

00001111

Estado presente

A B

0 00 11 ü1 10 00 1,1 01 1

Estado siguiente

A B

0 00 0o o-0 00 11 01 10 1

Salida

z

00010001

TABLA 2.14: Tabla de estados.

Página 113

Page 119: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

En el diagrama de estados de la Figura 2.19 se representa a un sistema secuencial

de cuatro estados para lo cual se hace necesario 2 Ftip Flops, Además posee una entrada y

una salida. La Tabla 2.14 presenta la secuencial de, estados en función de la entrada del

circuito secuencial que se analiza.

La memoria ROM se utiliza para configurar la parte combinacional del circuito

secuencial y los Ftip - Flops para almacenar el estado actual El número de entradas de la

ROM es igual al número de Ftip - Flops más el número de entradas externas, para este

ejemplo se hace necesario 3 entradas. El número de salidas de la ROM es igual al número

de Füp - Flops más el número de salidas externas, en este caso es necesario 3 salidas.

Idealmente se necesitaría una memoria ROM de 8x3. Como paso siguiente se determina la

tabla de verdad de la memoria ROM, ésta se presenta en la Tabla 2.15.

Direcciones de la ROM

Entrada

X

A2

000ü1111

Estado presente

A B

AI AO

0 - 00 11 01 10 00 11 01 1

Salidas de la ROM

Estado siguiente

A B

02 . O í

0 00 00 0.0 00 11 01 10 1

Salida

z

00

00010001

TABLA 2.15: Tabla de verdad de la ROM.

Página 114

Page 120: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La tabla de verdad de la ROM es idéntica a la tabla de estado con estado presente y

entradas especificando la dirección de la ROM y el estado siguiente y las salidas especifican

las salidas de la ROM. Los valores de estado siguiente deben ser conectados de las salidas de

la ROM a las entradas de los Flip - Flops. La configuración de este sistema mediante

memorias ROM se presenta en la Figura 2.20.

X

Ck

A2 Oo

Ai ROM OíAo Os

REGISTRO

Ql Di

Qo Do

FIGURA 2.20: Diagrama de un circuito secuencia! que utiliza una memoria ROM yFüp - Flops.

Hasta esta parte de la elaboración de la Tesis, se ha desarrollado la teoría necesaria

para el diseño de los circuitos secuenciales sincrónicos.

En el capítulo siguiente se procederá a la elaboración del paquete computacional

mediante el cual se pueda realizar casi en su totalidad de forma automática el diseño de los

circuitos secuenciales sincrónicos.

Página 115

Page 121: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

3.- DISEÑO SECUENCIAL SINCRÓNICO ASISTIDO POR

COMPUTADOR

Se ha explicado que el diseño de un circuito secuencial sincrónico por el método

tradicional comienza a partir de un conjunto de especificaciones mediante las cuales se

pueden obtener un diagrama lógico o una lista de funciones de Boole que describan

claramente el comportamiento del circuito secuencial sincrónico.

Para el diseño secuencial sincrónico asistido por computador, es necesario que el

conjunto de especificaciones puedan ser claramente ingresadas en el programa

computacional de diseño, y de esta manera obtener una solución real al problema planteado.

Es por esta razón que los problemas de diseño secuencial sincrónico en este trabajo de tesis

se enmarca a los sistemas secuenciales de una entrada y una saHda, los contadores

sincrónicos y los registros de desplazamiento.

En el método de diseño secuencial sincrónico asistido por computador, objetivo de

esta tesis de investigación, se parte de la tabla estados. Una vez obtenida la tabla de estados,

se pasa a la reducción de los estados equivalentes si es que aquello es posible. Luego de

haber realizado lo mencionado anteriormente se pasa a la asignación de valores binarios a los

estados, con lo cual queda determinado el número de Ftíp - Flops necesarios. Como paso

siguiente se selecciona el tipo de Flip - Flop que se va a usar. Mediante el uso de las tablas

de estado del Ftíp - Flop escogido se deduce la excitación del circuito y las tablas de salida.

Finalmente se procede a la simplificación computacional mediante la cual se deducen las

funciones de salida del circuito y las ftinciones de entrada de los Flip - Flaps.

Página 116

Page 122: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Antes de empezar con el análisis y la descripción del programa compuíacional, es

necesario hacer una introducción al lenguaje utilizado como herramienta en el desarrollo de

esta Tesis de Ingeniería. La aplicación computacional denominada por Microsoft como

Visual Basic, se ha convertido en el lenguaje de programación que sigue las características

gráficas de Windows para los entornos de programación. De esta forma la visión intuitiva de

los botones de mandato, botones de opciones, cuadros de verificación, cuadros de lista,

ventanas, iconos, menús y cuadros de diálogo están ahora al alcance de los entornos de

programación,

Se puede afirmar que Visual Basic de Microsoft es un sistema gráfico de desarrollo

de aplicaciones para entornos Windows muy diferente de todos los otros lenguajes de

programación, dado su fácil manejo y por presentar una forma ingeniosa, innovadora, rápida

y fácil de crear aplicaciones. Con este sistema, puede desarrollarse cualquier tipo de

aplicación basada en el entorno Windows^ incluyendo sistemas administrativos,

herramientas, utilidades, aplicaciones front - endpara el proceso de datos de main -frames^

servidores o procesadores locales y hasta productos de software comercial

En Visual Basic, los programas son creados de forma totalmente visual. Con la

ayuda del raían, el programador extrae de un cuadro de utilidades los objetos tales como:

botones, barras de desplazamiento, cuadros de entradas de texto y otros controles,

posicionándolos directamente en la pantalla. Después de la preparación de las pantallas de un

programa, de forma directa e inmediata, sin escribir ni una línea de programa, el

programador describe las funciones de cada objeto y su relación con los estímulos externos,

como pulsaciones de teclas o acciones realizadas en los botones del ratón.

Página 117

Page 123: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La facilidad que presenta el lenguaje de programación Visual Basic para la

creación de pantallas o ventanas y en estas los menús que son creados como opciones u

objetos a los cuales se les denomina controles. Estos controles pertenecen a las aplicaciones

de los usuario dentro de las ventanas, controles que responden a las acciones denominadas

sucesos de los usuarios.

En la programación dirigida a sucesos, el código perteneciente a una opción u

objete sólo se ejecuta cuando el usuario o el sistema Dama al suceso correspondiente. En

cuanto la aplicación espera un suceso, permanece en el ambiente a menos que el usuario la

cierre. En el mismo instante el asuario puede estar ejecutando otras aplicaciones.

La facilidad que presenta Visual Basic en el diseño de menús, hace que un menú

se realice de una manera rápida y sencilla, estos menus son circulares tanto en el sentido

horizontal como en el vertical, cada uno de los componentes de un menú corresponden a

opciones las cuales están organizadas por niveles de prioridad y pueden ejecutar

instrucciones o sucesos correspondientes directamente con un Cack del ratón sobre la

opción o con la tecla <Intro> cuando la opción esta remarcada, también se puede ejecutar el

suceso de una opción u objeto mediante las teclas <Alt + letra subrayad a>.

En el diseño de menús, a las opciones pertenecientes a estos se les puede dar

características de ejecución tales como ejecución mediante la pulsación de teclas llamadas

rápidas. La propiedad de teclas rápidas de una opción u objeto hace que el suceso

correspondiente a estos se ejecute mediante la presión de estas teclas desde cualquier lugar

del programa.

Página 118

Page 124: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

3.1.- DIAGRAMA DE FLUJO Y DESCRIPCIÓN DEL PROGRAMA

DE CONTROL Y AYUDAS

Lo expuesto en los párrafos anteriores de este capitulo elimina la manera tradicional

del diseño de programas computacionales mediante algoritmos o diagramas de flujo. Elimina

también la secuencia tradicional de ejecución de las instrucciones que es de arriba hacia

abajo en una programación estructurada tradicional. El método de diseño bajo el entorno

Visual Basic, hace que el control de un programa se lo realice mediante rutinas que tienen

igual prioridad las cuales pueden activarse, desactivarse o ejecutarse en cualquier instante, en

este método de programación no es necesario una secuencia definida para la ejecución de las

rutinas de control, aquí las rutinas se ejecutan si se encuentran activas o presentes y no existe

ningún impedimento que las bloquee. Entonces, el diagrama de flujo del método tradicional

de programación pasa a un diagrama de bloques, bloques que corresponden a rutinas que

tienen niveles de prioridad.

3.1.1.- DESCRIPCIÓN DEL PROGRAMA PRINCIPAL

Las rutinas del programa principal se presentan en la Figura 3.1. Esta figura

contiene las rutinas principales: [Archivo] para el manejo de archivos en formato de texto, la

rutina [Tutorial] describe la secuencia que debe seguir el usuario en el diseño de los

diferentes tópicos del programa, la rutina [Diseño] realiza el diseño de los diferentes tópicos

que contiene el programa, la rutina [Ventanas] despliega en forma ordenada las pantallas de

texto activas en un instante determinado y la rutina [Ayudas] presenta conceptos de la teoría

del diseño secuencial sincrónico, los mismos presentados el los capítulos uno y dos.

Página 119

Page 125: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

«a.

PRO

GR

AM

A

PRIN

CIP

AL

Arc

hiv

oT

uto

rial

Nue

vo

Abr

ir

Cer

rar

Gu

ard

ar

Imp

rim

ir

Sal

ir

Dis

eno

Pro

ced

imie

nto

sd

e d

iseu

o

Co

nta

do

res

Sin

cró

nic

os

Reg

istr

os

de

des

pla

zam

ien

to

Det

ecto

res

de

Cód

igos

Sis

tem

asS

ecu

enci

ales

uti

liza

nd

o R

OM

Ven

tan

as

Co

nta

do

res

Det

ecto

res

de

cod

ifo

s

Sis

tem

asS

ecu

enci

ales

uti

liza

nd

o R

OM

Pro

ble

mas

Min

imiz

acio

n

Avu

das

Cas

cad

a

Ho

rizo

nta

l

Ver

tica

l

índ

ice

Bu

scar

A

yuda

So

bre

Uso

de

Ayu

das

Tu

tori

al

del

Pro

gra

ma

Ace

rca

del

Pro

gra

ma

FIG

UR

A

3.1

: D

iag

ram

a d

e b

loq

ues

del

p

rog

ram

a p

rin

cip

al.

Page 126: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La rutina [Archivo] contiene: la subrutina [Nuevo] que permite realizar archivos

nuevos en formato de texto, la subrutina [Abrir] permite presentar en pantalla archivos en

formato de texto existentes, la subrutina [Cerrar] permite limpiar la ventana de texto activa,

la subrutina [Guardar] permite almacenar el texto contenido en la ventana actual, la

subrutina [Imprimir] permite imprimir el texto contenido en la ventana activa y la subrutina

[Salir] cierra completamente el programa.

La rutina [Tutorial] contiene: la subrutina [Procedimientos de diseño] que

presenta en pantalla los procedimientos que se sugieren seguir en el diseño secuencial

sincrónico, la subrutina [Contadores sincrónicos] desarrolla la secuencia a seguir en el

diseño de los contadores sincrónicos de cualquier tipo, la subrutina [Registros de

desplazamiento] analiza las aplicaciones de los registros de desplazamiento, la subrutina

[Detectores de códigos] desarrolla la secuencia que se debe realizar en el diseño de los

detectores de secuencias de códigos, la subrutina [Diseño secuencial sincrónico con ROM]

presenta los pasos a seguir en el diseño de los sistemas secuenciales sincrónicos utilizando

memorias ROM.

La rutina [Diseño] contiene: la subrutina [Contadores] permite al usuario realizar

el diseño de los contadores sincrónicos de cualquier número de bits, la subrutina [Detectores

de códigos] pennite al usuario realizar el diseño de los detectores de secuencias de códigos

con una entrada y una salida, la subrutina [Diseño utilizando ROM] permite realizar al

usuario el diseño de los sistemas secuenciales sincrónicos mediante el uso de memorias

ROM, la subrutina [Problemas] presenta el desarrollo de un grupo de problemas de

aplicación práctica que pueden ser analizados y resueltos mediante los sistemas secuenciales

Página 121

Page 127: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

sincrónicos, la subrutina [Minimizar] es un utilitario que se incluye como parte del programa

para que el usuario pueda realizar la simplificación de las funciones de Boole si se conocen

los términos mínimos de la función.

La rutina [Ventanas] contiene: la subrutina [Cascada] es un utilitario para

presentar las ventanas de texto en un arreglo de cascada en la pantalla, la subrutina

[Horizontal] es un utilitario que permite presentar las ventanas de texto en arreglo horizontal

en pantalla, la subrutina [Vertical] permite presentar las ventanas de texto en arreglo vertical,

la subrutina [Guardar] permite almacenar el texto contenido en la ventana actual.

La rutina [Ayudas] contiene: la subrutina [índice] despliega una ventana con

rutinas necesarias para el uso de las ayudas, la subrutina [Buscar ayuda sobre] despliega

una ventana con los tópicos de teoría y conceptos relacionados con el diseño secuencia!

sincrónico, la subrutina [Preguntas y respuestas] presenta un banco de preguntas con sus

respectivas respuestas como soporte teórico para el usuario, la subrutina [Uso de ayudas]

presenta sugerencias sobre el manejo de las ayudas, la subrutina [Tutoría! del programa]

presenta los pasos a seguir en la utilización del programa, la subrutina [Acerca del

programa] presenta los lincamientos de propiedad intelectual.

3.1.2- DESCRIPCIÓN DEL PROGRAMA DE AYUDAS

La Figura 3.2 presenta el diagrama de bloques con las rutinas principales del

programa de ayudas. El programa de ayudas contiene las rutinas principales: la rutina

[Archivo] para la impresión de archivos visualizados en la pantalla de ayudas, la rutina

Página 122

Page 128: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

[Ayuda], mediante la cual se puede visualizar conceptos de la teoría del diseño secuencia!

sincrónico, los mismos conceptos presentados en los capítulos uno y dos

PROGRAMA DE AYUDAS

Archivo Ayuda

Imprimir

Especificarimpresora

Salir

Buscar ayudasobre

Uso de la

ayuda

Acerca de la

ayuda

FIGURA 3.2: Diagrama de bloques del programa de ayudas.

La rutina [Archivo] contiene: la subrutina [Imprimir] que imprime directamente el

texto contenido en la ventana activa, la subrutina [Especificar impresora] despliega un

cuadro de dialogo en el cual le permite seleccionar el tipo de impresora y sctcar las opciones

para la impresión del texto contenido en la ventana activa, la subrutina [Salir] le pennite

abandonar la ventana de ayudas y retomar a la pantalla del programa principal.

La rutina [Ayuda] contiene: la subrutina [Buscar ayuda sobre] despliega una

ventana con los tópicos de teoría y conceptos relacionados con el diseño secuencia!

Página 123

Page 129: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

sincrónico, la subrutina [Uso de la ayuda] despliega información con las instrucciones y

comandos que se pueden ejecutar durante el uso de las ayudas, la subrutina [Acerca de las

ayudas] especifica los derechos de propiedad intelectual de las ayudas.

3.2.- DIAGRAMA DE FLUJO DE UN PROGRAMA TUTORIAL

La Figura 3.3 presenta el diagrama de flujo de un programa tutoría! bajo el

ambiente Windows. Un programa tutoría! de esta naturaleza está .conformado de N

lecciones. La forma de programación de un tutoría! se realiza mediante instrucciones que

permitan ejecutar una lección a la vez, avanzar a la ejecución de la siguiente lección,

retroceder a la ejecución de la lección anterior o salir en cualquier punto en la ejecución del

programa tutorial.

Al iniciar la ejecución de un programa tutorial se presenta la lección inicial En el

diagrama de fiujo de la Figura 3.3, existe la posibilidad de ingresar a un bloque de

instrucciones mediante el comando [Instrucciones] que permiten al usuario, si así lo

requiere, conocer los comandos que aparecerán durante el desarrollo del tutorial. Estos

comandos son instrucciones que le posibilitan al usuario avanzar, retroceder en el desarrollo

del tutorial o salir del tutorial si este fuera el caso. En el diagrama de flujo de la Figura 3.3,

si el tutorial se encontraba en la lección l-ésima^ el comando [Siguiente] hace avanzar la

ejecución del tutorial a la lección Pésima + 7, el comando [Anterior] hace retroceder la

ejecución del tutorial a la lección /-¿sima - 1, y. el comando [Salir] abandona el programa

tutorial. En un tutorial, el comando [Siguiente] aparecerá si la lección ejecutada no es la /i-

ésima, y el comando [Anterior] si la lección ejecutada no es la primera.

Página 124

Page 130: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

LECCIÓN DEINSTRUCCIONES

FIGURA 3.3: Diagrama de Flujo de un Programa Tutoría!

Página 125

Page 131: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

3.3.- DIAGRAMA DE FLUJO Y DESCRIPCIÓN DEL PROGRAMA

GENERAL DEL DISEÑO SECUENCIAL SINCRÓNICO

C INICIO

DIAGRAMA DEESTADOS

GENERACIÓN DE LA

TABLA DE ESTADOS

SIMPLIFICACIÓNDE ESTADOS

SELECCIÓN DEL TIPO

DE FL1P - FLOP

GENERACIÓN DE LA

TABLA DE EXCITACIÓN

GENERACIÓN DE LOSMAPAS "K"

SIMPLIFICACIÓN DE LASFUNCIONES DE BOOLE

CREACIÓN DELDIAGRAMA LÓGICO

FIGURA 3.4: Diagrama de flujo de un programa general de diseño secuencialsincrónico.

En el diagrama de flujo presentado el la Figura 3.4, se especifica la secuencia que se

sigue en el programa computacional de esta tesis para el desarrollo de los diferentes tópicos

del diseño secuencial sincrónico con Fíip - Flops y compuertas lógicas.

Página 126

Page 132: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

En la Figura 3.4, la rutina [Diagrama de estados) y la rutina [Generación de la

tabla de estados] permite que el usuario ingrese los datos correspondientes a un diagrama

de estados o el código de una secuencia de tal manera que con estos datos se pueda generar

la labia de esíados. Durante la generación de la tabla de estados se realiza la asignación de

nombres de letras a los estados.

La rutina [Simplificación de estados] realiza la simplificación de estados mediante

simple inspección, después de haber realizado esto, se procede a la simplificación sistemática

mediante particiones o mediante la tabla de implicación. Después de haber realizado la

simplificación, queda determinado en número de Flip - Flops necesarios.

Una vez determinado el número de Fíip - Flaps^ la rutina [Selección del tipo de

Flip - Flap] permite al usuario escoger el tipo de F/ip - Flop con el cual desea realizar el

diseño del circuito secuencia! sincrónico. Al seleccionar el tipo de Ftip - Flap, la rutina

[Generación de la tabla de excitación] crea la tabla de excitación de los Flip - Flops y la

tabla de salida si esta existe.

Una vez creada la tabla de excitación, quedan determinados los términos mínimos,

términos máximos y condiciones no importa para cada una de las excitaciones de los Flip -

Flops y para la salida si este es el caso, con lo cual implícitamente se han determinado los

mapas K. Mediante la rutina de [Simplificación de las funciones de Boole] se determinan

los funciones de excitación y salida simplificadas. Por último, las funciones de Boole

simplificadas determinan implícitamente el diagrama lógico el cual no se presenta en el

programa de diseño secuencial sincrónico.

Página 127

Page 133: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

3.4.- DIAGRAMA DE FLUJO Y DESCRIPCIÓN DE PROGRAMAS

INTERNOS

Una de las rutinas que se encuentra dentro del programa principal es el algoritmo

utilizado para simplificar las funciones de Boole (minimización). El diagrama de flujo de

este algoritmo se presenta el la Figura 3.5.

El primer paso utilizado para la minimización es obtener los implicantes primos.

Para la obtención de estos se determinan las tablas de trabajo de origen y destino. En la tabla

de origen se agrupan las combinaciones binarias que pertenecen a términos mínimos y

condiciones no importa. Se toma el primer término de este grupo y se lo compara con todos

los del grupo inferior. La primera comprobación es verificar si los dos términos comparados

tienen las mismas variables, si no tienen las mismas variables no se pueden combinar y se

sigue la comprobación con el siguiente término del grupo inferior. Si tienen las mismas

variables se procede a contar cuantas variables cambian de estado del un ténnino al otro. La

manera de hacer esto es aplicando el operador lógico OR - EXCLUSIVO a los términos y

contando el número de unos del resultado. Los cambios presentados al detectar un cambio

de estado de una variable son:

Estado anterior

Estado actual

Resultado OR - EXCLUSIVO

0 0 1 1

0 1 0 1

0 1 1 0

TABLA 3.1: Función OR - EXCLUSIVO de dos números binarios.

Página 128

Page 134: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DEFINIRVARIABLESLOCALES

LAZO

DEFINIR TABLA DEORIGEN Y DE

DESTINO

DEL PRIMERGRUPO AL

PENÚLTIMO

CALCULE ÍNDICES YPUNTEROS DEL GRUPO

SUPERIOR

DEL UMITEINFERIOR

AL SUPERIOR

RECUPERAR TERMINODEL GRUPOSUPERIOR

CALCULE ÍNDICES YPUNTERO DEL GRUPO

INFERIOR

© 0 ©

• "DEL LIMITE

INFERIORAL SUPERIOR\R TERMINO

DEL GRUPOINFERIOR

©FIGURA 3.5: Rutina de determinación de los Implicantes Primos (I.P.). Parte (a).

Página 129

Page 135: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

3

"j r"

COMPARE VARIABLESELIMINADAS ENTRE

LOS TÉRMINOS

CALCULE NUMERO DEVARIABLES QUE

CAMBIAN DR ESTADO

T

CALCULE TERMINONUEVO, MARQUE VA-RIABLE QUE CAMBIA

MARQUE LOSTÉRMINOS QUE SE

HAN COMBINADO

BUSQUE SI ELNUENO TERMINO

YA EXISTE

ALMACENE EL NUEVOTERMINO EN TABIA

DE DESTINO

FIGURA 3.5: Rutina de determinación de Implicantes Primos (T.P.). Parte (b).

Página 130

Page 136: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

ALMACENE NUEVOSÍNDICES DE TABLA

DE DESTINO

/ DEL INICIO \E LA TABLA ORIGEN>

\L FINAL X\R LA MARCA

DE No. PRIMO DECADA TERMINO

ALMACENE TERMINO ENTABLA DE IMPLICANTES

ACTUALICE PUNTERO

CALCULE CUANTOSTÉRMINOS NUEVOS

SE GENERARON

INTERCAMBIO DEFUNCIÓN DE LAS

TABLAS DE TRABAJOORIGEN <—> DESTINO

FIGURA 3,5: Rutina de determinación de Implicantes Primos (I.P.). Parte (c).

Página 131

Page 137: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

En la Tabla 3.1 se ve que la operación OR - EXCLUSIVO es la indicada para

determinar en número de cambios entre el estado anterior y el estado actual . Si existe más

de un cambio entre eslos estados, los términos binarios que representan a los estados no se

pueden combinar y se sigue al siguiente término del grupo inferior.

Si existe un sólo cambio, se combinan los dos términos en uno sólo. El término

resultante se coloca en la tabla de destino marcando la variable eliminada. También se

marca con un "1" el vector de términos considerados en la combinación, indicando que éstos

ya se han agrupado en un grupo mayor. El proceso continua, hasta comparar todos los de un

grupo con los del grupo siguiente, y así hasta acabar también con todos los grupos. En la

tabla de destino hay un nuevo grupo de términos.

En la tabla de origen se verifican todos los términos y aquellos que no estén

marcados, son los que no se han podido agrupar para formar grupos mayores,

constituyéndose en implicantes primos y se almacena en la tabla de implicantes primos.

A continuación se borra la tabla de origen y se cambian las funciones, la tabla de

destino pasa a ser la de origen y la de origen pasa a ser la nueva tabla de destino.

El proceso se vuelve a repetir, hasta que no pueda pasarse ningún término a la tabla

de destino, en ese momento se han hallado todos los implicantes primos.

El siguiente paso en la solución consiste en seleccionar un grupo óptimo de

implicantes primos, tal que cubra todas las combinaciones que tienen asignado un "1". Es

Página 132

Page 138: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

importante indicar que el método planteado no garantiza el obtener la solución mínima, sino

una buena aproximación de la misma. El trabajo para hallar la verdadera solución mínima

puede llegar ha ser enorme y es posible que el ahorro en costo de la solución no represente el

incremento en tiempo. El método para hallar la solución mínima será el tomar todos los

implicantes primos, realizar todas las combinaciones posibles, tales que lleven a la solución y

de éstas escoger la de mínimo costo. En realidad el método propuesto, plantea la generación

de una tabla en donde se tengan en las filas, los implicantes primos y en las columnas los

términos originales de la tabla original. En las intersecciones se pondría un "1" si el P.F

(Producto Fundamental) está incluido en el I.P (Implicante Primo) o un cero si no lo está.

La estructura de los vectores es similar a la del proceso anterior, al llenar la tabla de

productos fundamentales, se toman de la tabla de verdad original, todas las combinaciones

que tengan asignado un "1" y se dejan las marcas "O" ó "2" (con "2" se representarán las

condiciones no importa). No se debe tomar en cuenta a las condiciones no importa ya que

estas combinaciones pueden ser cubiertas o no, lo que equivale a que puedan tener cualquier

valor. La primera operación es determinar si algún producto fundamental está cubierto por

sólo un implicante primo, en tal caso el implicante primo debe estar en la solución ya que de

otro modo no se puede cubrir el producto fundamental. A este implicante primo se le

denomina Implicante Primo Esencial (T.P.E) y forma parte del resultado, siendo almacenado

en la tabla correspondiente y eliminado en la tabla de implicantes primos junto con el

producto fundamental al cual cubre. Cuando ya no quedan más implicantes primos

esenciales se ha llegado a la tabla cíclica, a la que se apHca el método de Ramificación

parcial. El método de ramificación parcial se aplica hasta que todas las columnas (de

productos fundamentales) queden cubiertas por algún implicante primo, en cuyo caso se

habrá llegado a la solución.

Página 133

Page 139: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DEFINIRVARIABLES

LOCALES

NUMERO MÁXIMODE TÉRMINOS

ES = 2-N

DESDE 1HASTA

RECUPERE CONTENIDODE U TABLA

PARA ESE NUMERO

ALMACENAR EN LASTABLAS, ACTUALIZAR

PUNTEROS

RECUPERE LATABLA DE

IMPLICANTESPRIMOS

FIGURA 3.6: Rutina para generar de la tabla cíclica.

Página 134

Page 140: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DEFINIRVARIABLES

LOCALES

DESDE LACOLUMNA = 1

RECUPEREEL RPODUCTOFUNDAMENTAL

DESDEFILA = 1

AL # DE F.P.

RECUPERE I.P, VE-RIFIQUE 31 I.P.

CONTIENE AL P.F.

VERIFICAR SI I.P.SE HA MARCADO

COMO I.P.E.

MARCAR EL P.F.COMO YAINCLUIDO

FIGURA 3.7: Rutina de detección de implicantes primos esenciales (I.P.E.). Parte (a).

Página 135

Page 141: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

ALMACENE # DE FILA EINCREMENTE CONTA-DOR DE OCURRENCIA

ALMACENEEL NUMERO LE

OCURRENCIAS

MARCAR I.P. COMOESENCIAL Y ALMACE-NAR EN LA SOLUCIÓN

FIGURA 3.7: Rutina de detección de implicantes primos esenciaJes (I.P.E.)- Parte (b).

Página 136

Page 142: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

INICIO

DESDE LACOLUMNA = iAL # DE P.F.

VERIFICA!*SI LA COLUMNASE HA MARCADO

SITIENE KtARCÁ?

DESDE LAFILA = i

AL # DE I.P.E.

RECUPERE I.P.E. YVERIFIQUE SI

CONTIENE AL P.F.

FIGUKA 3,8: Rutina de eliminación de columnas contenidas en los I.P.E. Parte (a).

Página 137

Page 143: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

REUBIQUE

LA COLUMNA

DESDE iAL NUMERO

DE I.P.

VERIFIQUE SI ELI.P. ESTÁ MARCADO

COMO ESENCIAL

REUBIQXÍELA

FILA

3

FIGURA 3.8: Rutina de eliminación de columnas contenidas en los I.P.E. Parte (b).

Página 138

Page 144: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DEFINIRVARIABLES

LOCALES

' DESDE INC = .-AL NUMERO >*-

DE l.P. /

/ DESDE I< AL NUMERO\E P.F.

RECUPERE EL %DE OCURRENCIASEN ESA COLUMNA

DESDE K = 1AL NUMERO

DE l.P.

VERIFIQUE SI LAFILA CONTIENE A

ESA COLUMNA

0 ÓFIGURA 3.9: Rutina de solución de la tabla cíclica. Parte (a).

Página 139

Page 145: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

NO CONTIENE?

SI

ALMACENE LAPOSICIÓN DE

LA FILA K

DESDECOA = 1

A INC

PROBABILIDADDE ESA

FILA = O

/DESDE IC2 - i-*< AL NUMEEO

\E P.F.

RECUPEREEL

P.F.

4

FIGURA 3.9: Rutina de solución de la tabla cíclica. Parte (b).

Página 140

Page 146: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

7

*

©VERIFIQUE SI EL

I.P. CONTIENEAL P.F.

SUMELA

PROBABILIDAD

RECUPERE MÁXIMAPROBABILIDAD Y

COMPARE

1

SI

ALMACENE NUEVAPROBABILIDAD

MÁXIMA Y LA FILA

FIGURA 3.9: Rutina de solución de la tabla cíclica. Parte (c).

Página 141

Page 147: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

(•)(£MARQUE U FaA Y

ALMACENE COMO FAJSTEDE LA SOLUCIÓN

RECUPERE EL I.P.DE ESA FILA

/fjESDE INC2 =AL NUMERO

\E P.F.N

INCREMENTEEL

CONTADOR

RECUPEREEL

P.F.

1

NO

'

VERIFIQUE SI ELI.P. CONTIENE

AL P.F.

3,0

FIGURA 3.9: Rutina de solución de la tabla cíclica. Parte (d).

Página 142

Page 148: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

9 © ©RECUPERE CONTADOR(CO) (COLUMNASSIN MARCAR)

FIGURA 3.9: Rutina de solución de la tabla cíclica. Parte (e).

3.5.- DIAGRAMA DE FLUJO DEL DISEÑO SECUENCIAL

SINCRÓNICO UTILIZANDO ROM

En el diagrama de flujo de la Figura 3.10, se especifica la secuencia que se sigue en

el programa compuíacional de esta tesis para el desarrollo de los diferentes tópicos del diseño

secuencia! sincrónico con Ftip - Flops y memorias ROM. En la Figura 3.10, la rutina

[Diagrama de estados] y la rutina [Generación de la tabla de estados] permite que el

usuario ingrese los datos correspondientes a un diagrama de estados de tal manera que con

Página 143

Page 149: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

estos datos se pueda generar la tabla de estados. La rutina [Simplificación de estados]

realiza la simplificación de estados mediante simple inspección, después de haber realizado

esto, se procede a la simplificación sistemática mediante particiones o mediante la Labia de

implicación, lo cual determina el número de FUp - Flops.

La rutina [Generación de la tabla de verdad] realiza el cambio de la tabla de

estados a la tabla de verdad de la memoria ROM. Por último, la tabla de verdad determina

implícitamente el diagrama del circuito secuencia! el cual no se presenta en el programa de

diseño secuencial sincrónico.

("INICIO

DIAGRAMA DEESTADOS

GENERACIÓN DE LATABLA DE ESTADOS

SIMPLIFICACIÓNDE ESTADOS

GENERACIÓN DE LATABLA DE VERDAD

CREACIÓN DELCIRCUITO

FIGURA 3.10: Diagrama de flujo de un programa general de diseño secuencialsincrónico utilizando memorias ROM.

Página 144

Page 150: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

4.- EJEMPLOS DE UTILIZACIÓN DEL PROGRAMA

DISFSIAC 1.0Archivo Tutorlal [Diserto Ventanas Acudas

Figuras Tablas Salir

FIGURA 4.1 Pantalla que presenta el menú principal.

Para la utilización de cualquier parte del programa, es necesario que el usuario

ingrese al menú principal, una vez en éste puede seleccionar el tema que desee mediante la

opción correspondiente. Las opciones que puede seleccionar el'usuario son [Archivo],

[Tutoría!], [Diseño], [Ventanas] y [Acudas] cuyas funciones, opciones secundarias y

rutinas internas fueron explicadas en el tercer capítulo. Para la explicación sobre la

utilización del programa en este capítulo, se realizará una ilustración paso a paso en el

desarrollo del tema seleccionado.

Página 145

Page 151: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

4.1.- PROGRAMA TUTORIAL

ArchivoDISESIAC 1.0 - [DiaeiSu lictueiiual Smuuiiicu Aüi-otidu pui Cuiuuutaüur)1 Tittnrial Ventanas Ayudas

Figuras Proredimientos de Diseño GccuencijlContadores SincrónicosRegistros de DesplazamientoDetectores de Secuencia de CódigosDiseño Sccucncial Sincrónico con RQM

FIGURA 4.2: Componentes de la opción [Tutoría]].

Dentro del programa [Tutoría!] el usuario puede seleccionar el tema procedimientos

de diseño secuencia!, que es un tutoría! sobre los pasos que se deben seguir en el diseño de

sistemas secuenciales sincrónicos. Puede seleccionar el tutoría! para.el diseño de contadores5

para el diseño de registros de desplazamiento, para el diseño de detectores de secuencias de

códigos y el tutoría! para el diseño de sistemas sccuencialcs sincrónicos mediante el uso de

memorias ROM, Como ejemplo de uso del programa tutorial se presenta el desarrollo del

tutoría! para el diseño de contadores sincrónicos.

Página 146

Page 152: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

4. i. 1.- TUTORIAL PARA EL DISEÑO DE CONTADORES SINCRÓNICOS.

1UTORIAI -Cnntartf>re¡; Sinrrónir.nr.

JUas lecciones de fundamentos de

diseño de contadoressincrónicos, enseña los pasosnecesarios para adiestrarle en eldiseño de estos.

• Haga Clíck sobre instruccionespara ver como moverse por lapantalla.

Instrucciones

Haga CHck sobre siguiente paracomenzar con las lecciones deldiseño de contadores.

Siguiente

FIGURA 4.3: Primera pantalla del tutorial de contadores sincrónicos.

La Figura 4.3 presenta la primera pantalla del tutorial del diseño de contadores

sincrónicos. Aquí se pueden ver los comandos: [Salir] que le permite salir al menú principal,

[Instrucciones] describe las comandos que aparecerán durante la ejecución de este tutorial,

y el comando [Siguiente] que avanza a la siguiente lección del tutorial, este comando estará

presente hasta la penúltima lección del tutorial de contadores sincrónicos. A partir de la

segunda lección aparecerá el comando [Anterior], este comando permite retroceder a la

lección previa del tutorial.

Página 147

Page 153: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

TUrORIAI -Contadnrer» Sinrrnnirnr.

Diagrama de estados miRODUCCIÓNALOS CONTADORESSINCRÓNICOS

Un cirrnitn sp,rnenr,ial que pasa pnr rmasecuencia preestablecida de estadasdespués de la aplicación de pulsos deentrada se U ama un contador. En tmcontador, la secuencia de estados puedeseguir una cuenta binaría o cualquier otrasecuencia de estados. Los contadores seencuentran en la mayoría de equipos quecontienen lógica digital. Ellas se utilizanpara contar el número de ocurrencias de unevento y se usan para generar secuenciasde tiempo para controlar las operaciones deun sistema digital.

De las diferentes secuencias que uncontador debe seguir, la secuencia binariadirecta es la más simple. Un contador quesigue la secuencia binaría se Dama contador

FIGURA 4.4: Segunda pantalla del tutorial de contadores sincrónicos.

La Figura 4.4 presenta como aparece la segunda pantalla durante el desarrollo del

tutorial para el diseño de contadores sincrónicos. Aquí se pueden ver los comandos: [Salir],

[Anterior] y [Siguiente] que cumplen las funciones descritas en el párrafo anterior.

Como se explicó en el capítulo dos, para el diseño de contadores sincrónicos se

parte de la especificación del número de estados por el cual atraviesa el contador mediante

una tabla de estados o un diagrama de estados, aquí queda determinado el número de Flip -

Flops que son necesarios para el diseño de este contador. Entonces, la Figura 4.4 presenta

Página 148

Page 154: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

el diagrama de estados de un contador módulo ocho de cuenta directa ascendente del cual se

explica su diseño. También se présenla una venlana de texto en la cual se presentan las

especificaciones que debe cumplir el contador cuyo procedimiento de diseño se explicará, si

las especificaciones de diseño no cabe en la ventana de texto, la ventana presenta la

posibilidad de desplazar hacia abajo y así poder ver el resto de la explicación.

TUTORÍA! -Contarinrer, Sinfrhnirnr.Diagrama de estadas

t *

TIPODEFUP-]

<$JK

OSR

Sa¡ir

eLUF

ODOT

¿nterú

Seca encía de cuanta

Estado actual Estado siguiente

TABLA DE ESTADOS

El siguiente paso en el diseño decantadores es la determinación dela tabla de estados.Avi tí'i consideramos por ejemplo elvalor de cuenta 000 como estadoactual (Qn), entonces, el valor decuenta 001 será el estado de cuenta

FIGURA 4.5: Tercera pantalla del tutoría! de contadores sincrónicos.

La Figura 4.5 presenta la tercera pantalla en el desarrollo del tutorial de contadores

sincrónicos. Del diagrama de estados se procede a la creación de la tabla de estados la cual

se presenta en esta figura. También se presenta una ventana de texto con la explicación de

Página 149

Page 155: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

como se genera la tabla de estados. Por esta razón, en esta pantalla del tuíorial se presenta

una ventana con los tipos de Ftip - Flops estudiados, el objetivo de esta opción es presentar

en el tutorial la alternativa para que el usuario en este punto pueda seleccionar un tipo de

Flip - Flop con el cual desee continuar el desarrollo de las siguientes lecciones. En nuestro

caso, para proseguir con la explicación de la utilización del tuíorial de contadores

sincrónicos, se escoge el Flip - Flop tipo JK.

í TUTOR1AI -Cnnlailnrer. Sínrrónirn*; !

Tabla de excitación con íTip-ílops JK

Secuencia de cuentaHitado actual

O*00

0

0

1111

Q100

110

0

11

9«0

10

10

101

Estado siguienteQ*00

011110

Qi0

110

0

11D

<?•I0

10

10

10

Entrad os del Ftíp-Hop

Q*J2

00

0

12

X

XX

K2

X

X

XX

0

0

0

1

QiJi0iXX

0

1X

X

KiXX

01XX

0

1

OoJo1X1X1X

1X

KoX

1X1X

1Xi

Tabla de excitaciónQn0011

Qn+10101

Salir

J01XX

KXX10

TABLA DE EXCITACIÓN

La tabla de excitación se genera una vezestablecido el tipo de Flip - Flop, Se considerael estado actual (Qn) de la variablecorrespondiente y el

Anterior

estado siguiente (Qn-HL) de

Supliente

*

4-

FIGURA 4.6: Cuarta pantalla del tutorial de contadores sincrónicos.

La Figura 4.6 presenta la cuarta pantalla en el desarrollo del tutorial de contadores

sincrónicos. Una vez seleccionado el tipo de Ftip - fTop, el paso siguiente en el diseño de

Página 150

Page 156: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

contadores sincrónicos es la creación de la tabla de excitación para las entradas de los Flip -

Flops. La Figura 4.6 presenta la tabla de excitación, una ventana de texto con explicación

de como se crea la tabla de excitación y la tabla de excitación del Flip • Flop seleccionado

para el diseño del circuito para que el usuario pueda verificar la veracidad de la tabla de

excitación para las entradas de los Flip - Flops.

TUTORÍA! -Contadnre". Si

Mapas K y fundones lógicas de las excitaciones JyK

FIGURA 4.7: Quita pantalla del tutoría! de contadores sincrónicos.

La Figura 4.7 presenta la quinta pantalla en el desarrollo del tutorial de contadores

sincrónicos. Después de haber obtenido la tabla de excitación, se procede a la creación de los

mapas "K" para cada una de las entradas de los Flip - Flops^ en estos mapas se presenta la

Página 151

Page 157: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

manera más óptima de agrupar los términos mínimos, este procedimiento se realiza

utilizando la ayuda de las condiciones no importa y así obtener las funciones lógicas de

excitación de los FUp - Flops más simples posibles. En este punto cabe dejar constancia que

la agrupación se facilita por que el número de variables es pequeño, si el número de variables

es mayor o igual a cinco, la posibilidad de optimizar las funciones lógicas mediante los

mapas "K" se ve dificultado, debido a que es difícil visualizar cuales serán los grupos más

óptimos, es por esta razón que la optimización de las funciones lógicas para un número

elevado de variables necesita un algoritmo diferente y que éste pueda ser desarrollado

computacionalmente.

TUTOHIAI -Cnntariiirttr. Sinr.rnninn?;

Diagrama Lo giro eonilip-ílops JK

Q0

1 11

i

f— <

(\>CLK

u 75

v—_ | 1

C »C1_K

i i i

1 1L

OCLK

i' 75

DE RELOÜ

FIGURA 4.8: Sexta y última pantalla del tutorial de contadores sincrónicos.

Página 152

Page 158: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

La Figura 4.8 presenta la última pantalla en el desarrollo del tutoría! de contadores

sincrónicos. Una vez obtenidas las íimciones lógicas de las excitaciones de los Ftíp - Flops

mediante los mapas "K" se procede a dibujar el circuito lógico correspondiente. Así se

termina la explicación de los pasos necesarios por los que atraviesa el diseño de contadores

sincrónicos los cuales están incluidos en el programa tutorial analizado.

4.2.- PROGRAMA . GENERAL DE DISEÑO SECUENCIAL

SINCRÓNICO

Como ejemplos de utilización del programa en lo referente al diseño de sistemas

sccuenciales sincrónicos se presenta la utilización del programa en el diseño contadores

sincrónicos así como para el diseño de detectores de secuencias de códigos.

4.2.1.- CONTADORES SINCRÓNICOS

Para explicar el uso del programa para el diseño de contadores sincrónicos se lo

realizará mediante un ejemplo práctico. Entonces, se desea diseñar un contador BCD, este

contador tiene 10 estados 0,1, 2, 3, 4, 5, 6, 7, 8, y 9 por tanto, es un contador que necesita 4

bits o dígitos en código binario, esta información se debe proporcional al programa. Para

ingresar al programa de diseño de contadores sincrónicos, en el menú principal se selecciona

la opción [Diseño] y de ésta la opción [Contadores]. La Figura 4.9 presenta la pantalla

despxiés de haber seleccionado y ejecutado la opción [Contadores], en esta pantalla se

pregunta al usuario cual es el número de bits del contador, por lo tanto se debe ingresar el

número 4 en el casillero junto al comando [Aceptar], una vez realizado esto se hace Click

Página 153

Page 159: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

con el ratón sobre el comando o se selecciona el botón de comando [Aceptar] mediante la

tecla <Tab> y se presiona la tecla <Intro> o se presiona las teclas <Alt - A>, con cuatro bits

se pueden obtener hasta 16 combinaciones posibles, en el ejemplo de diseño se necesitan 10

estados por lo tanto seis estados no existen en este contador.

DISFSIAC 1.0 -[Diueim de cu ida do res]

Figuras Tullías SalirESTADO ACTUAL ESTADO SIGUIENTE

Ingrese el número de bits delcontador

Salir

FIGURA 4.9: Pantalla inicial para el diseño de contadores.

El programa presenta un cuadro de diálogo con el usuario tal como se presenta en

la Figura 4.10, el cual posibilita el modo de ir llenando la tabla de estado siguiente.

Mediante este cuadro de diálogo, se le informa al programa sobre la existencia o no de un

determinado estado binario, el usuario debe ingresar la existencia de un estado binario

Página 154

Page 160: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

mediante la opción [Si], luego el programa le preguntará cual es el estado de cuenta siguiente

correspondiente a este estado; sino existe un estado binario el usuario debe informarle esta

situación mediante la opción [No], en cuyo caso el programa pasa a preguntarle sobre las

caracleríslicas del siguiente estado de cuenta.

DISESIAC 1.0 - IDfctfMu it* contador»?;;!

Fi yuras Tablas SalirESTADO ACTUAL ESTADO SIGUIENTE

g3|Q2|Qi|QQ0 0 1

Existe el estado (1)?

O s¡ O No

Salir

FIGURA 4.10: Segunda pantalla para el diseño de contadores.

En la Figura 4.10 ya se ha ingresado las características del eslado de cuenta O el

cual tiene como eslado siguiente de cuenta al eslado 1, en este punto el cuadro de diálogo

présenla la pregunla sobre la existencia del estado 1 a esto el usuario debe responder que si,

también que su estado de cuenta siguiente es el estado 2, esle proceso se repite hasta.

Página 155

Page 161: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

completar todas las posibles combinaciones que se puedan realizar con el número de bits

ingresados, instante en el cual se habrá terminado el ingreso de datos. Luego de haber

ingresado todos los datos, el programa le preguntará si los mismos están correctos, sino están

correctos permite la posibilidad de corregirlos y si están correctos se debe presionar el

comando [Aceptar]. Luego de haber realizado esto, aparece la pantalla mostrada el la

Figura 4.11 que presenta la tabla de estados completa.

DISESIAC 1.0 - [Diuefiu de contadure-j]

TIIIU de Fliu Fluii

FF.1KEFSREFDFFT

Salir

FIGURA 4,11: Tercera pantalla para el diseño de contadores.

La Figura 4.11, presenta también un cuadro de diálogo que permite al usuario

escoger el tipo de Flip - Flop con el cual realizará el diseño. Siguiendo con el análisis para el

Página 156

Page 162: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

diseño de contadores, se escogerá el Flip - Flop JK. Luego de haber seleccionado el Flip -

Flop se obtiene la pantalla presentada en la Figura 4.12, en la cual se presenta la tabla de

excitación completa para la selección realizada, antes de iniciar el proceso de calculo se

puede ver la labia de excitación con todos los Flip - Flops mostrados en el cuadro de

selección de éstos. Si el número de estados no alcanza en la ventana de la tabla, las flechas

de desplazamiento horizontal y vertical de esta permiten mirar el resto del contenido.

DISESIAC 1.0 - [Di^im de cuiitadureü]

Figuras Tablas SalirEtta a* la lafaU da excitación con FEp Rpo* Tipo JK

3|K3 \32\K2 [jl |gl |üOJKDO X1 X

1 XX I

O X O X X O I XO X 1 X X 1 X I0 X X O O X 1 X

X O 1 X X 1X X O X O I X

1 X X I X I X IX O O X O X 1 X

Calcular

Salir

O»]Qirfl \J (K

1 0 1 I X

2 1 0 X IÍl 1 X 0

FIGURA 4,12: Cuarta pantalla para el diseño de contadores.

El comando [Calcular] de la Figura 4.12 inicia el proceso de obtención de las

funciones simplificadas de Boole, luego de haber seleccionado este comando aparecerá la

Página 157

Page 163: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

pantalla de la Figura 4.13 en la cual ya se visualiza la primera función de Boole simplificada

para la primera variable de excitación, en el ejemplo de análisis corresponde a la función de

Boole para la variable de excitación J3.

a DISES1AC 1.0 IDit

"I

Figuras Tablas

;iiiiu dr cuiitmlure?;! BH

T1

SalirEsta at la tabla de excitación con FHp

Fbwv* Tínn .IKJ3 = Q2QIQO

o"L23

4

5

7~8o

Q3|Q2 |Q1•o o0 0 00 0 10 0 10 1 00 1 00 1 10 1 11 0 0i n n

|QO|Q3|Q2 Q0 0 0 01 0 0 10 0 0 11 0 1 0

0 0 1 01 0 1 10 0 1 11 1 0 0

0 1 0 0i n n n

1 QO|J3|K31 0 X

0 0 X1 0 X0 0 X1 0 X

0 0 X1 0 X0 1 X

1 X 0n Y i

|J2|K2 \Jl0 X 00 X 1

0 X X1 X XX 0 0X 0 1

X 0 XX 1 X

0 X 0n Y n

Kl [JOJKDX 1 X

X X L0 1 X1 X 1X 1 X

X X 10 1 X1 X 1X 1 XY Y 1

*

Siguiente

Saür

FIGURA 4.13: Quinta pantalla para el diseño de contadores.

En la FIGURA 4.13 aparece el comando [Siguiente] el cual permite continuar con

el proceso de obtención de las funciones simplificadas de Boole para el resto de variables de

excitación de los FUp - Flops^ una vez obtenida la última función de excitación en el

ejemplo la variable JO, se ha finalizado con el diseño de contadores sincrónicos. La Figura

4.14 presenta la última pantalla para el diseño de contadores en la cual aparece el comando

Página 158

Page 164: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

[Ok] permite retornar a la pantalla de la Figura 4.9 y continuar realizando el diseño de los

contadores sincrónicos si así lo requiere el usuario. El comando [Salir] retorna al menú

principal.

S DISESIAC 1.0 lFuim3| BQ-

Figuras Tab las SalirEsta a* la tabla de atentación con FUf)

PLw*«- Tínn JK

élL23

45

<5_78Q

Q3 |Q2 |Q1 QO Q3

• 0 0 0 0

0 0 0 1 0

0 0 1 0 00 0 1 1 0

0 1 0 0 0

0 1 0 1 00 1 1 0 00 1 1 1 1

1 0 0 0 1i n n i n

Q2 |Q1 |QO |J30 0 3 0

0 1 0 00 1 1 0I O D O

1 0 1 01 1 0 0

1 1 1 00 0 0 10 0 1 Xn n n v

K3X

XXXXX

XX01

•V

KD = 1 Logic*

\J2\K2 \Jl

0 X 0

0 X 10 X X1 X XX 0 0X 0 1X 0 XX 1 X0 X 0n v n

Kl [JO KO

X 1 X

X X 10 1 X1 X L

X 1 XX X 10 1 X1 X LX I XY V 1

4

+

Sajir

FIGURA 4.14: Ultima pantalla para el diseño de contadores.

Las funciones obtenidas para este ejemplo de análisis se listan a continuación.

=Qo

K2 = !.

Página 159

Page 165: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Ji-Ch'.Qo

Jo = 1 Lógico

=Q0

= 1 Lógico

4.2.2.- DETECTORES DE SECUENCIA DE CÓDIGOS

Como en el caso anterior, para explicar el uso del programa para el diseño de

detectores de secuencia de códigos se lo realizará mediante un ejemplo práctico. El programa

presenta la posibilidad de diseño mediante el ingreso del código a detectar o mediante el

ingreso de los estados que posee inicialmente el circuito a diseñar. Entonces, se desea diseñar

un circuito detector de códigos cuyo diagrama de estados se presenta en la Figura 4.15.

FIGURA 4.15: Diagrama de estados para el ejemplo de análisis..

El sistema de la Figura 4.15 tiene 7 estados A, B, C, D, E, F y G, también en esta

figura se puede ver cuales son los estados siguientes y el valor de la salida de cada uno de los

estados, esta información se debe proporcional al programa para iniciar el diseño. El ingreso

al programa de diseño de detectores de códigos se realiza de la siguiente manera, en el menú

principal se selecciona la opción [Diseño] y de ésta la opción [Detectores de Códigos]. La

Página 160

Page 166: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Figura 4.16 presenta la pantalla después de haber seleccionado y ejecutado la opción

[Detectores de Códigos], en esta pantafla se pregunta al usuario cual es el modo de diseño,

si es mediante el ingreso del código o mediante el diagrama de estados, para el ejemplo se

selecciona mediante el diagrama de estados haciendo Ctíck en el comando [Aceptar] junto al

casillero que tiene esla opción.

DI31 SIAC 1.0 - |[)Í-;e¡íu de deteriore1; vcuencr

Figura* Tablas Salir

Diseño mediante el ingreso del código

Diseño mediante el diagrama de estados

FIGURA 4.16: Pantalla inicial para el diseño de detectores de códigos.

Una vez que se seleccionó el comando aceptar de la opción correspondiente, el

programa presenta la pantalla de la Figura 4.17 en la cual se debe ingresar el número de

estados que posee el diagrama de estados, para el ejemplo se ingresa el número 7.

Página 161

Page 167: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DISESIAC 1.0 - [Di Otilio de detectores Je: secuencia1- d« códigos!

Figuras Tablas Salir

Ingrese el Número de estados

FIGURA 4.17: Segunda pantalla para el diseño de detectores de códigos.

Luego de ingresar el número de estados se presiona la tecla <íntro> en la Figura

4.17, y el programa pasa a la pantalla de la Figura 4.18 en la cual presenta un cuadro de

diálogo que permite ingresar los datos contenidos en el diagrama de estados, en esta figura el

cuadro de diálogo presenta la ventana para ingresar las características del estado A.

En la Figura 4.18 presenta el cuadro de diálogo seleccionando las características

del estado A, para este estado se selecciona para cuando la entrada x = O la salida z = O y el

estado siguiente es B, y cuando la entrada x = 7, la saHda z = 1 y el estado siguiente es C. La

selección del valor de la salida z se realiza remarcando la opción que indica el valor de la

Página 162

Page 168: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

salida, para cada valor de entrada y la selección del estado siguiente se efectúa mediante las

barras de desplazamiento horizontal que el cuadro de dialogo presenta para cada uno de los

valores que puede tomar la entrada x.

DISESIAC 1.0 - [Dk-trñu de deletlurtv.: de a'.; de uúdiuu'j]

Figuras Tablas Salir

B

Aceptar

f Entrada X - 0~~

® SattdaZ-0

Estado siguiente - B

•Entrada X -1~

O SalidaZ-0

&(SafidaZ»'1Í

Evtado - C

FIGURA 4.18: Tercera pantalla para el diseño de contadores.

Una vez realizado el ingreso de las características del estado, se hace Click sobre el

comando [Aceptar]. El ingreso de los datos de los restantes estados, se hace de la misma

manera ya descrita en el párrafo anterior y la tabla de estados completa es tal como se

presenta en la pantalla de la Figura 4.19. En esta figura aparece el comando [Simplificar],

comando que ejecuta las rutinas de simplificación. En primer lugar se realiza la

Página 163

Page 169: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

simplificación de estados equivalentes por simple inspección, para luego pasar a una

simplificación mediante la tabla de particiones o mediante la tabla de implicación.

DISESIAC 1.0 - [Diseño de (Jeletture-j ile secuencias de tróüíuuul

Figuras Talilas Salir

012

3456

•\cfaimBCDr

Ffj

al |SHr«fcitic/2

IB

CD

CDGC

:=€ |Sifiiiente/X=l Salida^=0 Salid^X=lC 0 1

A 0 1B 1 0A 0 1C D 1F 0 1E 0 1

FIGURA 4.19: Cuarta pantalla para el diseño de detectores de códigos.

Una vez realizado el proceso simplificación por simple inspección, el programa

presenta una ventana de diálogo en la que se puede seleccionar el método a utilizar en la

segunda parte de la simplificación de estados equivalentes, para el ejemplo se escoge la

simplificación mediante la tabla de particiones. Luego del proceso de simplificación, el

programa presenta una pantalla con los estados equivalentes resultantes de la simplificación

asignando nuevas variables a estos estados tal cual se muestra en la Figura 4.20.

Página 164

Page 170: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

DISESIAC 1.0 - [Dis

Figuras Tablas Salir

Salir

JActaal |Si(üenÍE/X=<] |Signieiifc/X=l Salid*0

1

23

^ •̂b c 0b e a 0

e b fc. 1

d b 4 0

Q£=0 Saüda/X-1 ¡Equivalencia1 a = A£1 fc=B,í>,G0 c = C1 d = F

FIGURA 4.20: Quita pantalla para el diseño de detectores de códigos.

Luego de la simplificación se procede como en el caso de los contadores a

determinar la tabla de estados mediante el comando [Calcular]. Desde este punto en

adelante el proceso para determinar las funciones de Boole simplificadas es similar al

descrito para el diseño de contadores en las Figuras 4.11 a 4.14 respectivamente. Es así que,

las funciones de Boole simplificadas para las excitaciones de los Ftip - Flops y la salida

obtenidas para el ejemplo de análisis son las siguientes:

J . v J f~\r V > i- í~\ — A -V¿o JM — A -r l̂ o

Página 165

Page 171: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Jo = 1 Lógico Ko = Qi'

4.3.- PROGRAMA DE DISEÑO SECUENCIAL UTILIZANDO

MEMORIAS ROM

5 OIStSlAC 1.0 - IDitíefio Sctutiicial Sím rúnii;u con inefiiuiiau ROM| DE3-

Figuras

01^345

61

xa0

00111T

Ql QO0 00 11 01 10 00 11 01 1

Salir

Tablas Salir

A.T

Ql QO Z

0 1 0

1 0 0

O l í0 1 0O l í0 0 1

0 1 0i i h

+

-*•

FIGURA 4.21: Sexta pantalla en el diseño secuencia! sincrónico con memorias ROM.

, /El proceso de diseño secuencial sincrónico utilizando memorias ROM es similar al

proceso de diseño de detectores de secuencias de códigos presentado en el numeral anterior

Página 166

Page 172: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

hasta el instante en que se ha encontrado la tabla de estados simplificada. Por lo tanto las

pantallas que aparecerán en este procedimiento son similares a las presentadas en las Figuras

4.16,4.17, 4.18, 4.19 y 4.20.

Lo único que resta por hacer es asignar las entradas de la memoria a las entradas

externas y a los estados actuales, también asignar las salidas de la memoria a las salidas

externas y a los estados siguientes, determinándose de esta manera el tamaño de la memoria,

La Figura 4.21 presenta la pantalla con la tabla de estados para el ejemplo de

diseño de detectores de secuencia de códigos analizado en el numeral anterior, aquí se hace

la asignación de las variables de entrada salida del circuito a las variables de entrada salida de

la memoria ROM, esta asignación es la siguiente:

Entradas de la ROM Salidas de la ROM

A0 = Qo O0 = z

AI = Qi Oí = Qo

Luego de hacer la asignación se determina el tamaño de la memoria ROM. Para

este ejemplo es de 8x3, ocho localidades de tres bits. Para la asignación de variables no hace

falta un programa riguroso, ya que el propio usuario puede realizarlo fácilmente desde la

tabla de estados.

Página 167

Page 173: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

5.- RESULTADOS, RECOMENDACIONES Y

CONCLUSIONES

Al concluir esta tesis de ingeniería, se pueden citar los resultados nías relevantes

obtenidos durante el desarrollo de la misma, hacer algunas recomendaciones y extraer

conclusiones de este trabajo, con el propósito de ayudar en el desarrollo de futuras tesis

relacionadas con la elaboración de Software educativo.

Para el desarrollo de esta tesis se ha utilizado como lenguaje de programación el

Visual Basic 4.0 de Microsoft debido a sus características de facilidad, versatilidad. En la

realización de esta tesis se ha comprobado que Visual Basic es un sistema gráfico para

desarrollo de aplicaciones en entornos Windows de muy fácil manejo que presenta una

forma ingeniosa, innovadora, rápida y fácil en la creación de aplicaciones. Con este sistema,

puede desarrollarse cualquier tipo de aplicación basada en el entorno Windows, incluyendo

sistemas administrativos, herramientas, utilidades, aplicaciones front- ¿«¿/para el proceso de

datos de main - frontes, servidores o procesadores locales y hasta productos de Software

Comercial, como es el caso del paquete computacional desarrollado en esta tesis.

El lenguaje de programación Visual Basic tiene un control denominado OLE que

permite la vinculación e incrustación de obj etos, tecnología que permite que los

programadores de aplicaciones basadas en Windows desarrollen aplicaciones que puedan

presentar datos de muchas diferentes aplicaciones permitiendo que los usuarios editen dichos

datos desde la aplicación con la que fueron creados. En algunos casos, el usuario puede

incluso editar los datos desde en interior de la aplicación Visual Basic. Esta característica en

Página 168

Page 174: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

el lenguaje de programación hace que el usuario pueda tener dentro de la aplicación Visual

Basic una aplicación de hoja de cálculo, una hoja de trabajo, una hoja de macro, una celda o

un rango de celdas todos como tipos diferentes de objetos.

Lo más laborioso en el desarrollo de esta tesis de grado fue el interfaz de usuario

para el ingreso de datos, también el interfaz para la presentación de resultados intermedios en

el desarrollo de los diferentes tópicos de diseño secuencial sincrónico y la presentación de los

resultados. Esto es una característica de los entornos de programación Windows. Para

solventar este inconveniente, el programador debe seleccionar el ambiente y los controles

adecuados para estos propósitos cuyo objetivo principal será no dificultar al usuario y hacer

más amigable estas acciones.

En este trabajo de tesis se ha integrado una pequeña parte de la formación del

estudiante de la Escuela Politécnica Nacional, proporcionando ayuda tanto al estudiante

como al profesor. El estudiante puede consultar toda la teoría necesaria para el estudio de los

sistemas secuenciales sincrónicos y adiestrase en el manejo y diseño de estos sistemas. El

profesor con este trabajo puede exponer su clase mediante un computador y un sistema de

proyección de datos (Data Show), exponer los conceptos necesarios, realizar la demostración

paso a paso de un ejemplo de aplicación y desarrollar el diseño de estos sistemas paso a paso

únicamente ejecutando una acción en el teclado o el ratón optimizando de esta manera el

tiempo, característica que facilitaría la ejecución en clase de un número mayor de ejercicios.

Otra aplicación de este trabajo sería en el diseño y la realización de las prácticas en

el laboratorio de la materia correspondiente a los sistemas secuenciales sincrónicos. Podría

Página 169

Page 175: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

usarse como una ayuda de fácil acceso en la elaboración, desarrollo y ejecución de las

prácticas, es decir como un módulo didáctico de elaboración de las prácticas para el profesor

y comprobación de los resultados obtenidos por parte de los estudiantes. Esto agilitaría el

desarrollo de las prácticas c incrementaría la cantidad de circuitos que se podrían armar y

probar, consolidándose el aprendizaje de esta materia.

En este trabajo se ha desarrollar un paquete computacional didáctico que facilita el

estudio y diseño de Sistemas Digitales Secuenciales Sincrónicos con ayuda del computador

personal. Además se ha conseguido un alto nivel técnico en el diseño de estos sistemas cuyas

características principales son: impartir los conocimientos en forma rápida, fácil y sobre todo

en forma muy didáctica.

Este trabajo de tesis permite al usuario interactuar con un programa tutorial que le

guiará en el aprendizaje de los conocimientos básicos sobre los diferentes tópicos del Diseño

Secuencia! Sincrónico. También el paquete pone a disposición del usuario, todos los

programas necesarios para la resolución de variados problemas relacionados con el Diseño

Secuencial Sincrónico, que le permitirán afianzar los conocimientos previos obtenidos en la

materia y le ayudará a tener un mayor entendimiento y destreza en el diseño y elaboración de

estos sistemas.

También permitirá la selección de los diferentes temas relacionados con el diseño

Secuencial Sincrónico y será decisión del usuario el grado de complejidad y cantidad de

ejercicios que desee realizar antes de continuar con otro tema. Además el paquete cuenta con

un programa de ayuda para mayor receptabilidad y entendimiento de la teoría y diseño de

estos sistemas.

Página 170

Page 176: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

El paquete computacional entrega la solución del problema planteado mediante

procesos intermedios, de esta manera el usuario puede hacer el seguimiento del problema en

pasos intermedios de igual manera que se explica en la teoría de los sistemas Secuenciales

Sincrónicos. De igual forma son accesibles otras opciones como la impresión del

fundamento teórico que sustenta esta tesis y de los resultados obtenidos.

En esta tesis de ingeniería, ha quedado demostrado que con el uso del computador

los problemas de cálculo se simplifican y se agilitan, en problemas repetitivos como la

simplificación de estados y la minimizadón de las funciones de Boole que aquí se ha

computarizado. Reduciendo considerablemente el tiempo de diseño de los sistemas

secuenciales sincrónicos de alguna complejidad y complejos. Es posible que la reducción de

tiempo no se aprecie claramente en los sistemas simples, ya que puede ser más recomendable

hacerlo manualmente, pero en todo caso el paquete le servirá.

Luego de haber realizado algunas conclusiones referente a la elaboración de esta

tesis, cabe también acotar que si bien es cierto que este paquete computacional cubre una

pequeña parte de la materia de Sistemas Digitales, es también cierto que se puede integrar en

un paquete más completo toda la materia y hacer como parte de otras tesis módulos

relacionados con esta materia, luego integrarlos en un paquete completo de esta materia.

También, al finalizar esta tesis, es acertado decir que cualquier materia se puede

integrar en un paquete computacional didáctico, por lo tanto el desarrollo de paquetes

computacionales el la Facultad de Ingeniería Eléctrica es factible y pueden ser objeto de

futuras tesis de grado.

Página 171

Page 177: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

Finalmente, es acertado decir que con el desarrollo de esta tesis queda demostrado

que la enseñanza utilizando paquetes computacionales es factible en la Facultad de Ingeniería

Eléctrica y en la Escuela Politécnica Nacional Aun más se puede decir con certeza que la

enseñanza en las Universidades de nuestro País en el futuro se desarrollará por Software

didáctico realizado por sus propios estudiantes y profesores.

Por último cabe mencionar que en las Universidades de oíros Países cono Estados

Unidos, Canadá, España, etc. este tipo de educación ya se encuentra presente en éstas y que

existe acceso a Software didáctico de ubre difusión a través del Internet el cual puede

acoplarse directamente o con ciertas modificaciones en la enseñanza en la Facultad de

Ingeniería Eléctrica.

Página 172

Page 178: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

BIBLIOGRAFÍA

M. Morris Mano., Lógica Digital y Diseño de Computadoras., Prentice Hall

Hispanoamericana S.A., México., 1979.

M. Morris Mano., Diseño Digital Principios y Aplicaciones., Prentice Hall

Hispanoamericana S.A., México., 1987.

M. Monis Mano., Arquitectura de Computadoras., Prentice Hall Hispanoamericana

S.A., México., 1987.

Ronaid T. Tocci., Sistemas Digitales Principios y Aplicaciones., Prentice Hall

Hispanoamericana S.A., México., 1993.

F. HÍ11 y G. Peterson., Teoría de Conmutación y Diseño Lógico., Prentice Hall

Hispanoamericana S.A.3 México., 1987.

John F. Wakeriy., Diseño Digital Principios y Prácticas., Prentice Hall

Hispanoamericana S.A., México., 1992.

Herbert Taub., Circuitos Digitales y Microprocesadores., Me Graw Hffl Madrid-,

1992.

Nashelky., Fundamento de Tecnología Digital., Me Graw HilL, Madrid., 1993.

Página 173

Page 179: ESCUELA POLITÉCNICA NACIONAL · 2019. 4. 7. · 2.1.- Procedimiento y Ejemplos de Diseño Secuencias Sincrónic! o 83 2.2.- Problem deal Diseñ Generao Secuencial Sincrónic! o 90

José Eduardo Maluf Carvalho., Visual Basic 3.0 - 4.O., Me Graw HilL, Madrid.,

1992 - 1997.

Chico Hidalgo Patricio., Resolución de Ecuaciones Booleanas Utilizando el

Microcontrolador 8751., Escuela Politécnica Nacional., Quito Ecuador., 1987.

Manuales de los Fabricantes de Visual Basic 3.0 y 4.O., Microsoft Corp., New

York., 1987 - 1995.

Página 174