Tema 2: Análisis y diseño de circuitos digitales

Preview:

Citation preview

1

Tema 2: Análisis y diseño de

circuitos digitales

Análisis y diseño de circuitos secuenciales

Electrónica Digital

2

Esquema de la presentación

1. Introducción

2. Análisis de circuitos secuenciales

3. Metodología de diseño de máquinas de estado

• Ejemplo: Máquina de Mealy

• Ejemplo: Máquina de Moore

4. Observaciones al proceso de diseño

3

1. Introducción

Los circuitos secuenciales se pueden clasificar en:

Circuitos secuenciales asíncronos:Las entradas actúan en todo instante sobre el estado del circuito

Circuitos secuenciales síncronos:Las entradas actúan sobre el estado del circuito sólo en determinados instantes, que vienen determinados por la señal de reloj

El diseño de circuitos secuenciales lo vamos a hacer en base a diseño de máquinas de estados finitos ó máquinas de estado

Concepto de estado

Estado: Se puede definir como el conjunto de

valores almacenado en los biestables durante un

determinado ciclo de reloj

En general, un circuito con n biestables podrá tener 2n

estados posibles

Los estados contienen la información relevante que

debe almacenar el circuito

4

5

Definición de máquina de estados finitos

(FSM)

Una máquina de estados representa un sistema

como un conjunto de estados, de transiciones entre

ellos junto con las entradas y salidas asociadas

Una máquina de estados es una conceptualización

de un circuito secuencial particular

Las máquinas de estado pueden usarse para muchas

otras cosas, más allá del diseño lógico y la

arquitectura de computadores

6

Máquina de estados finitos (FSM)

Cualquier circuito con memoria puede verse como

una máquina de estados

El diseño de FSMs involucra:

Definir estados

Definir transiciones entre estados

Optimizar / minimizar (fuera de esta asignatura)

Definir los valores de las salidas en cada momento

Este enfoque es práctico sólo para FSMs pequeñas

7

Máquinas de estados: definiciones

Diagrama de estados:

Muestra la forma y la función de la máquina de estados

Normalmente un diagrama de círculos y flechas

Estado

Identifica de forma única una situación del sistema digital

Próximo estado

El estado al que irá la máquina de estados en la siguiente transición

La transición se produce son la señal de reloj

Depende de los valores de las entradas y del estado presente

Rama

Indica un cambio del estado presente al próximo estado

Máquina de Mealy

Una máquina de estados que determina sus salidas en base al estado presente y a las entradas

Máquina de Moore

Una máquina que determina sus salidas sólo en base a su estado presente

8

Esquema general de una máquina de

estados finito

CIRCUITO

COMBINACIONAL

Eltos. De

MEMORIA

X

y Y

Zn m

pp

Entradas Salidas

Variables de

próximo estadoVariables de

estado presente

Almacena el estado interno del sistema

9

Máquinas de Moore y de Mealy

Su diferencia está únicamente en la dependencia de las salidas

Máquina de Moore:

Las salidas dependen sólo del estado presente

Las entradas intervienen en la decisión del próximo estado

Z = f(y)

Máquina de Mealy:

Las salidas dependen del estado presente y del valor de las entradas

Z = f(y,X)

10

Diagramas de estados

Estado 6 Estado 7

Estado 5

Estado 4

Para cualquier estado, hay un

número finito de posibles próximos

estados

En cada ciclo de reloj la máquina

cambia al siguiente estado

Uno de los posibles próximos

estados se convierte en el nuevo

estado presente

Depende del estado presente

y de las entradas

En un diagrama de estados bien dibujado, todas las posibles transiciones están

visibles, incluyendo los bucles sobre el mismo estado

En este diagrama se puede deducir que si el estado presente es el 5, el estado

previo era el 4 o el 5 y el próximo estado será el 5, el 6 ó el 7

11

Diagramas de estado de máquinas de

Moore

Estado 2

x,y

Estado 1

q,r

a,b

i,j

Las salidas de las máquinas de

Moore se muestran dentro del

círculo del estado

La salida está asociada al

estado y sólo cambia cuando

cambia el estado

Valores de las salidas cuando

se está en ese estado

Condiciones en

las entradas para

producir la

transición

marcada

12

Diagramas de estado de máquinas de

Mealy

Estado 2

Estado 1

a,b / q,r

Las máquinas de Mealy

generan sus salidas en base a:

• El estado presente

• Los valores de las entradas

Es capaz de generar salidas

diferentes en un mismo estado

Los valores de las salidas se

muestran en las transiciones,

porque se calculan de la

misma forma que los próximos

estados

i,j / x,y

Condición de

entrada que debe

existir para que

se produzca la

transiciónValores de las salidas para ese

estado y esas entradas

13

2. Análisis de circuitos secuenciales

El proceso de análisis consiste en obtener el

comportamiento de un circuito a partir de su

esquemático

14

Pasos del proceso de análisisCircuito

Ecuaciones de

Excitación / salida

Tabla de

Excitación / salida

Tabla de

Transición / salida

Tabla de

Estados / salida

Diagrama de estados

Diagrama temporal

Entradas biestables = f(x,q)

Salidas: z = f(x,q) (Mealy)

z = f(q) (Moore)

Entradas biestables,

salidas

xq

Proximas salidas biest.,

salidas

xqMapa de

transición

Próximo estado,

salidas

xS

Se asocia un símbolo (letra) a cada

Combinación de salidas de biestables

B

E/S

A

15

Ejemplo de análisis

Analizar el comportamiento del siguiente circuito:

16

Paso 1:

Ecuaciones de excitación / salida

B1: S0= x q1’

R0= x’ q1

B2: S1= x’ q0

R1= x q0’

Salida: z = x q0’ q1

Se ponen las entradas de los

biestables en función de las

entradas y de las propias salidas

de los biestables

17

Paso 2:

Tabla de excitación / salida

Xq1q0

0 1

00 00,00;0 10,01;0

01 01,00;0 00,01;0

10 01,10;0 00,00;0

11 00,10;0 10,00;1

R1S1, R0S0, z

Las ecuaciones se convierten en

una tabla

Es importante mantener el

mismo orden en los subíndices

Tanto las entradas como las “q”

se ponen en codificación gray

(obligatorio para hacer diseño)

18

Paso 3:

Tabla de transición / salida

Haciendo uso de la tabla de

transición del biestable se

sustituyen las entradas de los

biestables por los próximos estados

Xq1q0

0 1

00 00;0 01;0

01 11;0 01;0

10 10;0 11;0

11 10;0 00;1

Q1Q0, z

RSq 00 01 11 10

0 0 1 - 0

1 1 1 - 0

Q

19

Paso 4:

Tabla de estados / salida

A cada combinación de las salidas

de los biestables se le asigna un

nombre (normalmente una letra)

XS 0 1

a a;0 b;0

b c;0 b;0

d d;0 c;0

c d;0 a;1

q1q0

00 a

01 b

10 d

11 cNS, z

Asignación

de estados

20

Paso 5:

Diagrama de estados / salida

A partir de la tabla de estados se

puede dibujar el diagrama de

estados

21

Evolución temporalX

S 0 1

a a;0 b;0

b c;0 b;0

d d;0 c;0

c d;0 a;1

NS, z

A partir de la tabla de estados se

puede conocer la evolución del

circuito para unas entradas dadas

Los estados sólo pueden cambiar en los flancos

activos de reloj

La salida en una máquina de Mealy cambia al

cambiar la entrada

22

3. Metodología de diseño de máquinas de

estado

El proceso de diseño sigue los mismos pasos

seguidos en el análisis pero en el sentido inverso

El diseño de FSMs involucra:

Definir estados

Definir transiciones entre estados

Optimizar / minimizar (fuera de esta asignatura)

Definir los valores de las salidas en cada momento

23

Pasos del proceso de diseño

Circuito

Ecuaciones de

Excitación / salida

Tabla de

Excitación / salida

Tabla de

Transición / salida

Tabla de

Estados / salida

Diagrama de estados

Descripción no formal

Entradas biestables = f(x,q)

Salidas: z = f(x,q) (Mealy)

z = f(q) (Moore)

Entradas biestables,

salidas

xq

Proximas salidas biest.,

salidas

xq

Próximo estado,

salidas

xS

Se asocia una combinación de salidas

de biestables a cada estado

B

E/S

A

A partir de las ecuaciones se dibuja el circuito

Se elije el biestable a utilizar

24

Ejemplo de diseño de una máquina de

Mealy

Descripción del problema:

Diseñar un circuito con una entrada y una salida que

tenga el siguiente comportamiento:

• La salida se pone a 1 cuando por su entrada se reciben

tres o más unos consecutivos.

25

Ejemplo de diseño de una máquina de MealyPaso 1: Plantamiento de estados

El circuito tiene una entrada (X) y una salida (Z)

Iniciamos el planteamiento de los estados:

Planteamos un primer estado (S0) en el que ha llegado un ‘0’

Planteamos un segundo estado (S1) en el que ha llegado un ‘1’

Planteamos un tercer estado en el que han llegado dos ‘1’ consecutivos

¿Haría falta un estado S3 para cuando hubieran llegado tres ‘1’ consecutivos?: podermos hacer que S2 signifique que han llegado dos o más ‘1’ consecutivos. Cuando han llegado más de dos ‘1’ la salida estará a ‘1’

S0 S1 S2

26

Ejemplo de diseño de una máquina de MealyPaso 1: Plantamiento de las transiciones

Vamos planteando las transiciones entre estados:

Cuando estamos en S0 y recibimos un ‘0’, seguimos en S0. La salida será ‘0’

Cuando estamos en S0 y recibimos un ‘1’ pasamos a S1. La salida será un ‘0’

Cuando estamos en S1 y la entrada es ‘0’ pasamos a S0. La salida está a ‘0’

Cuando estamos en S1 y la entrada es ‘1’ pasamos a S2. La salida está a ‘0’

Cuando estamos en S2 y la entrada es ’0’ pasamos a S0. La salida está a ‘0’

Cuando estamos en S2 y la entrada es ‘1’ podemos permanecer en S2 con la salida a ‘1’, indicando que han llegado tres o más ‘1’ consecutivos

S0 S1 S20/0

1/0

0/0

1/0

0/0

0/0

27

Ejemplo de diseño de una máquina de MealyPaso 2: Tabla de estados y salidas

Lo expresado en el diagrama anterior hay que expresarlo en

forma de tabla

xS 0 1

S0 S0,0 S1,0

S1 S0,0 S2,0

S2 S0,0 S2,1

NS, z

28

Ejemplo de diseño de una máquina de MealyPaso 3: Tabla de transición y salidas

Se asigna a cada estado una combinación de salidas de los

biestables

Como tenemos 3 estados, necesitamos dos biestables

S q1q0

S0 00

S1 01

S2 10

Asignación

de estados

xq1q00 1

00 00,0 01,0

01 00,0 10,0

11 --,- --,-

10 00,0 10,1

Q1Q0, z

29

Ejemplo de diseño de una máquina de MealyPaso 4: Tabla de excitación y salidas

Se elige el biestable

En el ejemplo un biestable D

En cada casilla se Introduce el valor de próximo estado del biestable

q → Q D

0 → 0 0

0 → 1 1

1 → 0 0

1 → 1 1

xq1q00 1

00 00,0 01,0

01 00,0 10,0

11 --,- --,-

10 00,0 10,1

D1D0, z

Tabla de

excitación

30

Ejemplo de diseño de una máquina de MealyPaso 5: Ecuaciones de excitación y salidas

Utilizando la tabla de excitación como un mapa de Karnaugh, se obtienen las expresiones de las entradas del biestable y de la salida

xq1q00 1

00 0 0

01 0 1

11 - -

10 0 1

D1

xq1q00 1

00 0 1

01 0 0

11 - -

10 0 0

D0

xq1q00 1

00 0 0

01 0 0

11 - -

10 0 1

z

D1= xq1 + xq0 D0= xq1’q0’ z= xq1

31

Ejemplo de diseño de una máquina de MealyPaso 6: Dibujar el circuito

32

Ejemplo de diseño de una máquina de

Moore

Descripción del problema (idéntico al anterior):

Diseñar un circuito con una entrada y una salida que

tenga el siguiente comportamiento:

• La salida se pone a 1 cuando por su entrada se reciben

tres o más unos consecutivos

Recordar que las salidas van asociadas al estado

Ahora las salidas se pondrán dentro del círculo del

estado

33

Ejemplo de diseño de una máquina de MoorePaso 1: Plantamiento de estados

El circuito tiene una entrada (X) y una salida (Z)

Iniciamos el planteamiento de los estados:

Planteamos un primer estado (S0) en el que ha llegado un ‘0’. La salida estará a ‘0’

Planteamos un segundo estado (S1) en el que ha llegado un ‘1’. La salida estará a ‘0’

Planteamos un tercer estado (S2) en el que han llegado dos ‘1’ consecutivos. La salida estará a ‘0’

Ahora necesitamos introducir un estado S3 que indique que se han recibido tres o más ‘1’. La salida estará a ‘1’

S0

0

S1

0

S2

0

S3

1

34

Ejemplo de diseño de una máquina de MoorePaso 1: Plantamiento de las transiciones

Vamos planteando las transiciones entre estados:

Cuando estamos en S0 y recibimos un ‘0’, seguimos en S0

Cuando estamos en S0 y recibimos un ‘1’ pasamos a S1

Cuando estamos en S1 y la entrada es ‘0’ pasamos a S0

Cuando estamos en S1 y la entrada es ‘1’ pasamos a S2

Cuando estamos en S2 y la entrada es ’0’ pasamos a S0

Cuando estamos en S2 y la entrada es ‘1’ pasamos a S3

Cuando estamos en S3 y la entrada es ‘0’ pasamos a S0

Cuando estamos en S3 y la entrada es ‘1’ seguimos en S3

0

1

0

1

0

1

S0

0

S1

0

S2

0

S3

1

1

0

35

Ejemplo de diseño de una máquina de MoorePaso 2: Tabla de estados y salidas

Lo expresado en el diagrama anterior hay que expresarlo en

forma de tabla

Ahora la salida va en una columna aparte, porque está

asociada al estado

xS 0 1 z

S0 S0 S1 0

S1 S0 S2 0

S2 S0 S3 0

S3 S0 S3 1

NS

36

Ejemplo de diseño de una máquina de MoorePaso 3: Tabla de transición y salidas

Se asigna a cada estado una combinación de salidas de los biestables

Como tenemos 4 estados, necesitamos dos biestables

La combinación de estados hay que ponerla en código gray

S q1q0

S0 00

S1 01

S2 10

S3 11

Asignación

de estados

Q1Q0

xS 0 1 z

00 00 01 0

01 00 10 0

11 00 11 1

10 00 11 0

37

Ejemplo de diseño de una máquina de MoorePaso 4: Tabla de excitación y salidas

Se elige el biestable

En este ejemplo un biestable JK

En cada casilla se Introduce el valor de próximo estado del biestable

q → Q JK

0 → 0 0-

0 → 1 1-

1 → 0 -1

1 → 1 -0

xq1q00 1 z

00 0-,0- 0-,1- 0

01 0-,-1 1-,-1 0

11 -1,-1 -0,-0 1

10 -1,0- -0,1- 0

J1K1, J0K0

Tabla de

excitación

38

Ejemplo de diseño de una máquina de MoorePaso 5: Ecuaciones de excitación y salidas

Utilizando la tabla de excitación como un mapa de Karnaugh, se obtienen las expresiones de las entradas del biestable y de la salida

xq1q00 1

00 0 0

01 0 1

11 - -

10 - -

J1 = xq0 z = q1q0

xq1q00 1

00 - -

01 - -

11 1 0

10 1 0

xq1q00 1

00 0 1

01 - -

11 - -

10 0 1

xq1q00 1

00 - -

01 1 1

11 1 0

10 - -

xq1q0z

00 0

01 0

11 1

10 0

K1 = x’ J0 = x K0 = x’ + q1’

39

Ejemplo de diseño de una máquina de MoorePaso 6: Dibujar el circuito

40

Evolución temporal

Vamos a comprobar el funcionamiento de los dos

diseños realizados

Vamos a ver el comportamiento a partir de la tabla

de estados

Para ello introduciremos un pulso de un ciclo de

duración, otro de dos y otro de tres

La salida sólo se tiene que poner a ‘1’ con el pulso de

tres ciclos de duración

41

Evolución temporal (II)

xS 0 1

S0 S0,0 S1,0

S1 S0,0 S2,0

S2 S0,0 S2,1

NS, z

Tabla de estados

(Mealy)

Diagrama temporal

xS 0 1 z

S0 S0 S1 0

S1 S0 S2 0

S2 S0 S3 0

S3 S0 S3 1

NS

La máquina de Moore funciona correctamente

¡¡ La máquina de Mealy pone la salida a ‘1’ sin

haber llegado tres unos ¡¡

42

Evolución temporal (III)

El problema está en que las entradas no están sincronizadas

con el reloj:

Cambian con el flanco de subida

El circuito se dispara con el flanco de bajada

Solución: sincronizar las entradas con el flanco activo de reloj

43

Evolución temporal (IV)Entradas sincronizadas

xS 0 1

S0 S0,0 S1,0

S1 S0,0 S2,0

S2 S0,0 S2,1

NS, z

Tabla de estados

(Mealy)

Diagrama temporal

xS 0 1 z

S0 S0 S1 0

S1 S0 S2 0

S2 S0 S3 0

S3 S0 S3 1

NS

Ambas funcionan correctamente:

• La M. de Moore se pone a ‘1’ después del tercer uno

• La M. de Meale se pone a ‘1’ justo al iniciar el tercer uno

44

4. Observaciones al proceso de diseño

En general, para un sistema dado, los estados del autómata de Mealy no coinciden con los del autómata de Moore

Normalmente, el número de estados del autómata de Moore es mayor que el número de estados del autómata de Mealy

La asignación de estados determina la complejidad de la parte combinacional del circuito

Nosotros haremos una asignación secuencial o gray

La elección del tipo de biestable es arbitraria, pero vendrá determinada por aspectos tecnológicos (velocidad, consumo, disponibilidad, etc.)

El número de estados determina la complejidad de la parte secuencial del circuito

Recommended