Vous êtes sur la page 1sur 64

Fundamentos de Computadores Anlisis y Diseo de Circuitos Secuenciales

Objetivos

Conceptuales:

Circuitos biestables. Tipos. Concepto de estado Seal de reloj como medio de control del cambio de estado Operacin sncrona y asncrona Activacin por flanco y por nivel Concepto general de circuito secuencial. Mquinas de Moore y Mealy.

Objetivos

Procedimentales:

Diseo de un biestable a partir de otro Anlisis lgico de circuitos secuenciales sncronos Anlisis temporal de circuitos secuenciales Diseo de circuitos secuenciales sncronos mediante puertas lgicas y biestables

Objetivos

Actitudinales:

Relevancia del concepto de estado e implicaciones en el diseo de circuitos de memoria Equivalencia y diferencias entre implementaciones Moore y Mealy

Bibliografa

Bsica:

[HAYE96] Captulos 6 y 7 [GARC92] Captulos 9 y 10 [MANO98] Captulo 4 [TOCC91] Captulo 7 [MOLI04] Capitulo 6

Complementaria

[FLOYD00] Captulo 8

Contenidos

Introduccin Elementos de memoria. Biestables Modelo general de circuito secuencial Anlisis de circuitos secuenciales sncronos Sntesis de circuitos secuenciales sncronosIntroduccin

Introduccin

Los circuitos de conmutacin secuenciales tienen la propiedad de que la salida no slo depende de la entrada actual, sino tambin de la secuencia de entradas anteriores. Los elementos de memoria utilizados en este tipo de circuitos son los biestables. Los biestables son circuitos que pueden asumir uno de dos estados estables que muestran en sus salidas. Pueden tener una o ms entradas que hacen que cambie el estado estable.

Introduccin
La capacidad de almacenar la informacin se debe a la realimentacin. X Z Si x=1 z=1 indefinidamente

Si x=1 z=0 indefinidamente

Los estados de estos circuitos vienen dados por el valor de su salida. En los ejemplos los circuitos permanecen en los estados estables 0 y 1 respectivamente.

Introduccin
Necesitamos un circuito que nos permita almacenar dos estados y cambiar entre los mismos. Este circuito es un biestable.

S
q1

q2

Anlisis y Diseo de CSS


Introduccin Elementos de memoria. Biestables Modelo general de circuito secuencial Anlisis de CSS Sntesis de CSS

Elementos de memoria. Biestables El biestable RS


Si partimos de los estados q1q2=01 0 q1q2=10, estos se mantienen al cambiar SR a 0. Son los dos estados estables.
0 0

S R
0

q1=0
q2=1

S R
0

q1=1 q2=0

Podemos cambiar entre los dos estados estables poniendo SR=10 (set) o SR=01 (reset)
0 1

S R
1

q1=0
q2=1
0

S R
0

q1=1 q2=0
1

Elementos de memoria. Biestables El biestable RS


El biestable RS posee otro estado que tambis es estable que se alcanza cuando SR=11
1 0

S R
1

q1=0 q2=0

S R
0

q1=0 q2=0

1 1

0 0

Se pueden provocar oscilaciones si hacemos SR=00 o desconocimiento de estado final. Por ello, se prohibe SR=11, con lo cual: Evitamos oscilaciones. Es un biestable ya que mantenemos slo dos estados estables. En los estados estables q1=q2=q. Se utiliza una nica variable para definir el estado.

Elementos de memoria. Biestables El biestable RS


q: Estado presente. Indica el estado de salida del biestable en el instante actual en el cual se pueden aplicar cambios en las entradas. Q: Estado prximo. Estado alcanzado por el biestable tras reaccionar ante un cambio en las entradas

S q R q
Con la entradas SR=00, el biestable almacena el estado. Con R=1, almacena un 0. Con S=1, almacena un 1. Estn prohibidas SR=11.

Elementos de memoria. Biestables El biestable RS

S q R q

S R q d d

Elementos de memoria. Biestables El biestable RS disparado por nivel

S Ck R Si q Ri q Ck

S q Ck R q

S q Rq

Ck: Seal de reloj. Controla el tiempo en el cual pueden producirse cambios de estado. En el disparado por nivel alto: Si Ck=1 se cambia de estado dependiendo del valor de las entradas Si Ck=0 se mantiene el estado alcanzado anteriormente. Es en este periodo donde deberan permitirse cambios en las entradas.

Elementos de memoria. Biestables El biestable RS disparado por nivel

S R Ck

q d q
Biestable asncrono

d d

Biestable disparado por nivel alto

Elementos de memoria. Biestables El biestable RS amo-esclavo

SM qM

SE qE RE qE

Ck
RMqM

Caractersticas:

Las entradas SR deben mantenerse estables cuando el reloj est a 1 En este biestable se produce slo un cambio de estado en cada ciclo de reloj ya que el esclavo tiene las entradas fijas cuando est activo

Elementos de memoria. Biestables El biestable RS disparado por flanco

S q Ck R q Ck

S q Rq

Las diferencias entre los dos flip-flops: En un disparado por flanco, las entradas deben mantenerse estables en un entorno de flanco activo. En un Master-Slave, las entradas de datos deben mantenerse estables durante el nivel precedente del flanco activo.

Elementos de memoria. Biestables Comparacin de los tres tipos de biestables sncronos


CLK R

S QN

QM QE QF

Elementos de memoria Descripcin del biestable SR mediante tablas y diagramas de estados


qQ 0 0 01 10 11 SR 0X 10 01 X0

Elementos de memoria Otros tipos de biestables El biestable JK


JK
qQ 0 0 01 10 11 JK 0x 1x x1 x0

JK=1x JK=0x JK=x0 J K JK=x1

Elementos de memoria Otros tipos de biestables El biestable T


qQ 0 0 01 10 11 T 0 1 1 0

T=0

T=1

T=0

T=1

Elementos de memoria Otros tipos de biestables El biestable D


qQ 0 0 01 10 11 D 0 1 0 1

D=1

D=1 D=0 D=0

Elementos de memoria Entradas asncronas de los biestables


ENTRADAS ASNCRONAS
ENTRADAS SINCRONAS

PR

CL q q

(JK,RS,D oT)

CLK
PR: puesta a 1 CL: puesta a 0

Elementos de memoria Entradas asncronas de los biestables


PR PR CL q D q CLK CLK q PRESET SINCRONO CLEAR PRESET SINCRONO CL D

Anlisis y Diseo de CSS


Introduccin Elementos de memoria. Biestables Modelo general de circuito secuencial Anlisis de CSS Sntesis de CSS

Modelo general de circuito secuencial


E N T R A D A S

x1 x2 xm

. . .

CIRCUITO COMBINACIONAL

. . . .

S z1 A L z2 I zm D A S

Una misma combinacin de entrada puede generar distinta salida ya que el estado puede ser distinto dependiendo de la historia de las entradas

ESTADOS PRESENTES

y1 y2

B1

Y1 Y2

ESTADOS PRXIMOS

B2
. . .

La historia pasada de las entradas est representada en el estado que posea el circuito Los circuitos secuenciales pueden ser: sncronos y asncronos

yn

Bn

Yn

Modelo general de circuito secuencial


Definicin de mquina secuencial
Una mquina secuencial (M), se define como una 5-tupla. M=(I,O,S,,) Donde Yi=Yi(x1, ,xm,y1,...,yn) I: conjunto finito de estados de entrada. i=1,...,n S: conjunto finito de estados internos. Ecuaciones de estado O: conjunto finito de estados de salida. : funcin de transicin de estados. : IxSS. : funcin de salida. sta puede ser de dos tipos. : IxSO (Mquina de Mealy) zi=zi(x1, ,xm,y1,...,yn) : SO (Mquina de Moore)
i=1,...,p (Mealy) zi=zi(y1,...,yn) i=1,...,p (Moore) Ecuaciones de salida

Anlisis y Diseo de CSS


Introduccin Elementos de memoria. Biestables Modelo general de Circuito secuencial Anlisis de CSS Sntesis de CSS

Anlisis lgico de CSS


El anlisis lgico busca el modelo que define el comportamiento del circuito bajo cualquier condicin de entrada
CIRCUITO

Anlisis combinacional ECUACIONES DE EXCITACIN DE LOS BIESTABLES


ECUACIONES DE SALIDA DEL CIRCUITO

Representacin tabular
TABLA DE EXCITACIN/SALIDA

Obtencin del prximo estado en el biestable


TABLA DE TRANSICIN/SALIDA

Dar un nombre a la codificacin binaria de un estado


TABLA DE ESTADOS/SALIDA

Representacin grfica de la tabla de estados


DIAGRAMA DE ESTADOS/SALIDA

ECUACIONES DE EXCITACIN DE LOS BIESTABLES ECUACIONES DE SALIDA DEL CIRCUITO

Anlisis lgico de CSS Ejemplo 1


J2=K2=(x q1) J1=K1=q2

=1 J2 q2 K2 q2 x q1 =1

&

z= q2(xq1)

J1 K1 q1 CLK

Anlisis lgico de CSS


TABLA DE EXCITACIN/SALIDA TABLA DE TRANSICIN/SALIDA

x q2q1 00 01 10 11

0 11,11,0 00,11,0 11,00,0 00,00,1

1 00,11,0 11,11,0 00,00,1 11,00,0

x q2q1 00 01 10 11

0 11,0 00,0 00,0 11,1


Q2Q1,z

1 01,0 10,0 10,1 01,0

J2K2,J1K1,z

DIAGRAMA DE ESTADO

Anlisis lgico de CSS


x/z Estado

ESTADO

q2q1

S0 S1 S2 S3

00 01 10 11

1/0 1/0 S1 S0 0/0 0/0 0/0 S3 S2

1/0

1/1

x S S0 S1 S2 S3

0 S3,0 S0,0 S0,0 S3,1

1 S1,0 S2,0 S2,1 0/1 S1,0


NS, z

Anlisis lgico de CSS


1/0 1/0 S1 S0 0/0 0/1 S3 0/0 0/0 S2 1/0

1/1

CLK x S0 S3 S3 S3 S1 S2 S2 S0 S3 S3 S1 S2

z
Problemas de inicializacin Funcin: detecta 3 ceros o tres unos consecutivos en la entrada

Anlisis lgico de CSS. Ejemplo 2


TABLA DE EXCITACIN/SALIDA TABLA DE TRANSICIN/SALIDA
POS CONT

0 1 2 3 4 5 6 7 8 9 A B C D E F

1 2 3 4 5 6 7 0 0 1 2 3 4 5 6 7

x q2q1q0 000 001 010 011 100 101 110 111

0 0,0,1,000 0,1,0,001 0,1,1,010 1,0,0,011 1,0,1,100 1,1,0,101 1,1,1,110 0,0,0,111

1 0,0,0,000 0,0,1,001 0,1,0,010 0,1,1,011 1,0,0,100 1,0,1,101 1,1,0,110 1,1,1,111

z2

q2 D2

CLK z1
q1 D1

z0

q0 D0

Q2,Q1,Q0, Z2,Z1,Z0

Anlisis lgico de CSS. Ejemplo 2


DIAGRAMA DE ESTADO
1

x S S0 S1 S2 S3 S4 S5 S6 S7

0 S1,000 S2,001 S3,010 S4,011 S5,100 S6,101 S7,110 S0,111

1 S0,000 S1,001 S2,010 S3,011 S4,100 S5,101 S6,110 S7,111


1

1 S0 000 0 S7 111

0 S1 001

0 S2 010

0 1 S3 011

S6 110 S5 101 0 1 1 0

0 S4 100

ESTADO S0 S1 S2 S3 S4 S5 S6 S7

q2q1q0 000 001 010 011 100 101 110 111

Funcin: contador ascendente con inhibicin

Anlisis y Diseo de CSS


Introduccin Elementos de memoria. Biestables Modelo general de Circuito secuencial Anlisis de CSS Sntesis de CSS

Sntesis lgica de CSS


El proceso de sntesis consiste en obtener el circuito a partir de un descripcin funcional
DESCRIPCIN FUNCIONAL
DIAGRAMA DE ESTADOS/SALIDA TABLA DE ESTADOS/SALIDA

Minimizacin
TABLA MNIMA DE ESTADOS/SALIDA

Proceso inverso al de anlisis pero comienza en un paso anterior

Asignacin
TABLA DE TRANSICIN/SALIDA

Eleccin de biestable
TABLA DE EXCITACIN/SALIDA

La obtencin del diagrama de estados es el proceso de mayor dificultad al ser no sistemtico

ECUACIONES DE EXCITACIN DE LOS BIESTABLES ECUACIONES DE SALIDA DEL CIRCUITO CIRCUITO

Sntesis lgica de CSS


Obtencin del diagrama de estados Directrices para su realizacin:
Construir una secuencia de entrada y derivar la secuencia de salida
de acuerdo con la descripcin verbal. Comenzar con un estado cuyo significado sea conocido. Para cada estado, desarrollar las transiciones correspondientes para cada combinacin de entrada. Una vez obtenido el diagrama, se aplica la secuencia de entrada derivada en el paso 1, se obtiene la secuencia de salida y se comprueba que es la misma derivada anteriormente Se pueden obtener diagramas completa o incompletamente especificados

Se pueden plantear los diseos como una mquina de Mealy o de Moore

Sntesis lgica de CSS


Obtencin del diagrama de estados
Ejemplo 1. Realizar un detector de secuencia. El circuito pondr su nica salida a 1 cuando por su entrada se reciba la secuencia 1001. Suposiciones: Bits de la secuencia sincronizados con el reloj Considerar solapamiento o deteccin por grupos en la cadena de bits

1 directriz
x: 001001001001000010011111001 (a) z: 000001001001000000010000001 (b) z: 000000000001000000010000000 tiempo
(a) Solapamiento (b) Deteccin por grupos

Sntesis lgica de CSS


Obtencin del diagrama de estados
2 y 3 directrices
Deteccin de 1001 con solapamiento. Mealy.

1/0 0/0
A: no ha entrado ningn bit vlido de la secuencia. B: 1 bit vlido. C: 2 bits. D: 3 bits

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

Sntesis lgica de CSS


Obtencin del diagrama de estados
Deteccin de 1001 con solapamiento. Moore.
1 1 0 A 0 B 0 0 1 0 D 0 1 0 0 C 0

1 E 1

Sntesis lgica de CSS


Clk x
Mealy A A z Mealy Moore A A z Moore
1/0 1/0 B 0/0 A 1/1 0/0 D 0/0 E 1 1 1/0 C 0/0 0 A 0 1 1 B 0 0 1 0 D 0 0 1 0 C 0

A A

B B

C D C D

B E

C C

D D

B E

C C

Sntesis lgica de CSS


Obtencin del diagrama de estados
Deteccin de 1001 por grupos. Mealy. A: comienza a entrar un grupo de 4 bits
E x/0 x/0 F x/0 G 1/0 1/0

0/0

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

Secuencia detectada Secuencias errneas

Sntesis lgica de CSS


Obtencin del diagrama de estados
Ejemplo 2. Disear un sistema que detecte cundo por una lnea de entrada x se han recibido pulsos de 1, 2 o 3 ciclos de reloj de duracin, dando una salida z que se pone a 1 tras recibir el pulso durante tres ciclos de reloj si el pulso fue de un ciclo, durante dos si el pulso fue de dos y durante tres si el pulso fue de 1. De un pulso al siguiente la entrada debe permanecer a cero como mnimo 5 ciclos de reloj. CLK x z

Sntesis lgica de CSS


Obtencin del diagrama de estados. Ejemplo 2
CLK x z

0/0 A
A: no ha entrado pulso B: comienza un pulso C: han transcurrido dos ciclos desde que comenz el pulso desde que comenz el pulso

1/0 B 0/1 F 0/1 0/1

1/0 C 0/1 E G 0/1 D 1/0

D: han transcurrido tres ciclos 0/1

Sntesis lgica de CSS


Tablas de estados de los Ejemplos
1/0 B 0/0 A 1/1 0/0 D 0/0 1/0 C 0/0

x S A B C D

0 A,0 C,0 D,0 A,0

1 B,0 B,0 B,0 B,1

NS, z

0/0 A

1/0 B 0/1

1/0

x c
1/0 0/1

0 A,0 C,1 D,1 A,1 F,1 A,1 A,1

1 B,0 C,0 D,0 -,-,-,-,-

0/1 F 0/1 E

0/1

0/1

S A B C D E F G

NS, z

Sntesis lgica de CSS

Tablas de estados de los Ejemplos

x/0 0/0 E x/0 F x/0 G 1/0 1/0 A 1/0 B 0/0 C 0/0 D 1/1 0/0

x S A B C D E F G

0 E,0 C,0 D,0 A,0 F,0 G,0 A,0

1 B,0 F,0 G,0 A,1 F,0 G,0 A,0

Sntesis lgica de CSS, Reduccin


La eliminacin de estados redundantes es importante ya que supone la disminucin del nmero de biestables que debe ser utilizado para realizar el CSS Definicin: Estados equivalentes. Se dice que dos estados(p,q) son equivalentes (pq) si al aplicar al circuito una secuencia de entrada SECa=X1X2Xk de cualquier longitud k, empezando en el estado inicial p, se obtiene exactamente la misma respuesta Z1Z2Zk que obtendramos si q fuera el estado inicial

Sntesis lgica de CSS, Reduccin


TEOREMA Dos estados p y q son equivalentes si y slo si: Los prximos estados de p y q son equivalentes para todas las combinaciones de entrada. Esto puede expresarse NS(p,xi) =NS(q,xi) para todo xi. Las salidas de p y q son la mismas para todas las combinaciones de entradas. Esto es z(q,xi)=z(q,xi) para todo xi.

EN UNA TABLA DE ESTADOS MNIMA NO HAY ESTADOS EQUIVALENTES

Sntesis lgica de CSS. Reduccin


Existe un mtodo para obtener la tabla mnima de estados de forma

sistemtica: MTODO DE LOS PARES COMPATIBLES

S A B C D E F G

0 A,0 C,1 D,1 A,1 F,1 A,1 A,1

1 B,0 C,0 D,0 -,-,-,-,-

S A B C D

0 A,0 C,1 D,1 A,1


NS, z

1 B,0 C,0 D,0 -,-

NS, z

Tablas de estados del Ejemplo 2

Sntesis lgica de CSS Mtodo de los pares compatibles


Nos basaremos en un ejemplo para la descripcin de este mtodo
A BD CE BG CE BH CF BG CA

x 0 1 A B,0 C,0

B DG C

B D,0 E,0 C G,0 E,0 D H,0 F,0 E G,0 A,0 F G,1 A,0 G D,0 C,0 H H,0 A,0 NS, z

DH GH EF EF D DG HG EA EA FA

E F

GD HD GD EC BD EC FC AC BH DH GH FA GH CA EA EA

G DC HA H

Sntesis lgica de CSS Mtodo de los pares compatibles

A BD CE BG CE BH CF BG CA

B DG C

DH GH EF EF D DG HG EA EA FA

E F

GD HD GD EC BD EC FC AC BH DH GH FA GH CA EA EA

G DC HA H

Sntesis lgica de CSS Mtodo de los pares compatibles

A BD CE BG CE BH CF BG CA

B DG C

DH GH EF EF D DG HG EA EA FA

E F

GD HD GD EC BD EC FC AC BH DH GH FA GH CA EA EA

G DC HA H

Sntesis lgica de CSS Mtodo de los pares compatibles


Grupos de estados equivalentes ACE BG D F H C

A BD CE BG CE BH CF BG CA

B DG

DH GH EF EF D DG HG EA EA FA

E F

GD HD GD EC BD EC FC AC BH DH GH FA GH CA EA EA

G DC HA H

Sntesis lgica de CSS Mtodo de los pares compatibles


Grupos de estados equivalentes ACE BG D F x H 0 1 S A B,0 A,0 B D,0 A,0 D H,0 F,0 F B,1 A,0 H H,0 A,0 NS, z

x 0 1 A B,0 C,0

B D,0 E,0 C G,0 E,0 D H,0 F,0 E G,0 A,0 F G,1 A,0 G D,0 C,0 H H,0 A,0 NS, z

Sntesis lgica de CSS, Asignacin


La tabla de transicin se obtiene de la de estados asignando un cdigo binario a cada estado. Est demostrado que la asignacin que se elija influye en el coste final del circuito

1. Cuando el circuito secuencial posee 3 o 4 estados, puede demostrarse que el nmero de asignaciones que poseen coste distinto se reduce a tres , se puede aplicar el mtodo exhaustivo. 2. Con tcnicas CAD se puede aplicar el mtodo exhaustivo cuando el nmero de estados es superior, pero no es prctico cuando se superan los 7 estados. 3. Para 5 o ms estados, se pueden aplicar otros mtodos como el mtodo de las adyacencias que suele proporcionar resultados buenos.

Sntesis lgica de CSS. Asignacin


Ejemplo 1: deteccin de secuencia con solapamiento
x S A B C D 0 A,0 C,0 D,0 A,0 1 B,0 B,0 B,0 B,1

Existen tres asignaciones con distinto coste


Estados A B C D Asignacin 1 00 01 11 10 Asignacin 2 00 11 01 10 Asignacin 3 00 01 10 11

NS, z

x q1q0 00 01 11 10

0 00,0 11,0 10,0 00,0

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

Q1Q0, z

Sntesis lgica de CSS. Asignacin


Ejemplo 1: deteccin de secuencia por grupos Asignacin
x S A B C D E F G 0 E,0 C,0 D,0 A,0 F,0 G,0 A,0 1 B,0 F,0 G,0 A,1 F,0 G,0 A,0
NS, z

A:000 B:001 C:010 D:011 E:100 F:101 G:110

x q2q1q0 000 001 010 011 100 101 110

0 100,0 010,0 011,0 000,0 101,0 110,0 000,0

1 001,0 101,0 110,0 000,1 101,0 110,0 000,0 Q 2Q 1Q 0, z

Sntesis lgica de CSS. Eleccin del biestable


Para obtener la tabla de excitacin hay que elegir el biestable

Un nico tipo a fin de conseguir uniformidad.

El uso de JK suele disminuir el coste del circuito combinacional. El uso del RS implica menor coste. El D es fcil de usar al coincidir el prximo estado y la entrada. El T suele proporcionar buenos resultados si en la mayora de las transiciones el prximo estado es igual al estado presente o al estado presente complementado, como pasa en los contadores.

Sntesis lgica de CSS


Ejemplo 1: deteccin de secuencia con solapamiento

Elegimos biestable Jk
x q1q0 00 01 11 10 0 00,0 11,0 10,0 00,0 1 01,0 01,0 01,0 01,1
qQ 0 0 01 10 11 JK 0X 1X X1 X0

x q1q0 00 01 11 10

0 0x,0x,0 1x,x0,0 x0,x1,0 x1,0x,0

1 0x,1x,0 0x,x0,0 x1,x0,0 x1,x,1 J1K1, J0K0,z

Q 1Q 0, z

Sntesis lgica de CSS


Ejemplo 1: deteccin de secuencia por grupos

Elegimos biestable D
x q2q1q0 000 001 010 011 100 101 110 0 100,0 010,0 011,0 000,0 101,0 110,0 000,0 1 001,0 101,0 110,0 000,1 101,0 110,0 000,0

Q 2Q 1Q 0, z

D2,D1,D0, z

Sntesis lgica de CSS


Ejemplo 1: deteccin de secuencia con solapamiento
J1=x'q0 J0=x K1=x+q0' K0=x' q0

Z=xq1q0'

& x

x q1 q0 00 01 11 10

0 0x,0x,0 1x,x0,0 x0,x1,0 x1,0x,0


J1K1, J0K0,z

1 0x,1x,0 0x,x0,0 x1,x0,0 x1,x,1

>1

J1 q1 K1 q1

& x

q0 J0 K0 q0 CLK

Sntesis lgica de CSS


Ejemplo 1: deteccin de secuencia por grupos
x
A3 A2 A1 A0 d3 d2 d1 d0

x q2q1q0 000 001 010 011 100 101 110

0 100,0 010,0 011,0 000,0 101,0 110,0 000,0

1 001,0 101,0 110,0 000,1 101,0 110,0 000,0

ROM
q2 D2

CLK
q1 D1

POS 0 1 2 3 4 5 6 7 8 9 A B C D E F

CONT 4 2 3 0 5 6 0 0 1 5 6 8 5 5 6 0

q0 D0

Para evitar bloqueos las posiciones 7 y F de la memoria se programan con contenido 0

Vous aimerez peut-être aussi