Logica secuencial

27
LÓGICA SECUENCIAL FASE II tema b Circuitos Electrónicos II sec «A»

Transcript of Logica secuencial

Page 1: Logica secuencial

LÓGICA SECUENCIALFASE II tema b

Circuitos Electrónicos II sec «A»

Page 2: Logica secuencial

Contenido • Circuitos Combinacionales and Secuenciales• Fundamentos de la memoria• Diseñando un contador

Page 3: Logica secuencial

Circuitos Combinatorios y SecuencialesLos circuitos lógicos se clasifican en dos tipos:

combinacional o secuencial. • Un circuito lógico combinacional, es aquel cuyas salidas

dependen sólo de las entradas actuales. • Ni la secuencia de entrada ni el tiempo en que se realice, alteran la

salida del circuito. Son circuitos sin memoria.• Una característica de estos circuitos es que ninguno de ellos

maneja líneas de retroalimentación en su estructura.

• En un circuito lógico secuencial, la salida del dispositivo depende del estado en el cual se encontraba el mismo y de la secuencia de entrada.

Page 4: Logica secuencial

Circuitos Combinatorios y Secuenciales• En los circuitos combinacionales, la salida es siempre una

función de la entrada (zi=F(xi)). • En un circuito secuencial, como el del ejemplo:

• la salida entonces, es una función de las entradas y de todas las salidas que hayan ocurrido en el circuito.

inputsoutput

Page 5: Logica secuencial

Circuitos Combinatorios y Secuenciales• Ahora, en lugar de usar todas las salidas pasadas,

representamos el pasado del circuito como su estado.

zi=f(xi, si) si+1=g(xi, si)• Esto es, simplemente, la manera como funciona el

cerebro; su respuesta a sucesos nuevos depende de la entrada y de su historia.

combinationalx F(x)

0)()(0 titti xfxf 0)()(

0 titti xfxf

sequentialx F(x)

Page 6: Logica secuencial

Fundamentos de la Memoria• Considere el siguiente circuito:

• El anterior, es un circuito secuencial muy simple, que puede diferenciar entre dos estados ya que tiene solo una línea de retroalimentación que puede mantener uno de dos valores, 0 o 1.

PI

PI

01

Page 7: Logica secuencial

Fundamentos de la Memoria• Esto significa que un circuito con n líneas de

retroalimentación tendrá 2n, estados potenciales y , que la memoria de nuestro circuito depende del número de líneas de retroalimentación.

n

Page 8: Logica secuencial

Fundamentos de la Memoria

R

Sx

y

• Reacomodando el circuito secuencial anterior de dos estados, obtenemos:

• Este circuito, a pesar de que no es muy obvio, solo tiene una línea de retroalimentación, y es llamado la estructura de compuerta de acoplamiento cruzado NOR (cross coupled nor).

Page 9: Logica secuencial

Fundamentos de la Memoria

PI

PI

1

2

• Debemos hacer notar que cualquiera de las líneas 1 o 2 del siguiente circuito pueden ser consideradas como la línea de retroalimentación; sin embargo, lo más relevante es el hecho de que el circuito tiene sólo una línea de retroalimentación.

Page 10: Logica secuencial

11

0

0

0

R

S

x

y

set

reset

0

0

0

1

0

0

0

0

0

1

0

• Mostramos a continuación el diagrama de tiempo para el circuito “cross coupled nor”, con un estado particular de inicio: ‘x=0, y=1, S=0, R=0’ que mantendrá al circuito en estado estable hasta que la entrada cambie.

Fundamentos de la Memoria

Page 11: Logica secuencial

Fundamentos de la Memoria

• Note que un estado estable es un estado que permanecerá sin cambios sin importar cuanto esperemos hasta que la entrada sea modificada.

• Como podemos observar en el diagrama de tiempo mostrado, en ambos tiempos, 1 y 2 , las entradas del circuito permanecen las mismas pero la salida difiere. Esto muestra que el estado del circuito esta siendo influenciado por la salida.

Page 12: Logica secuencial

Fundamentos de la Memoria• Algunas de notas deben hacerse con respecto al circuito

secuencial mostrado:• Un conjunto de entradas puede provocar en el circuito una

oscilación.• Algunas condiciones son ilegales, por ejemplo: en el circuito “cross

coupled nor”, ‘S=1, R=1’, no está permitido.• Un conjunto de entradas al circuito hacen que pierda su memoria,

lo que significa que no sabrá que estado anterior tenía y por lo tanto se consideran ilegales.

Page 13: Logica secuencial

Fundamentos de la Memoria

• Cuando una entrada al circuito secuencial cambia, se repite el ciclo las veces que sea necesario hasta que el circuito encuentra un estado estable. Algunos circuitos pueden nunca encontrar ese estado, por ejemplo:

• Nota: un circuito con retroalimentación no necesariamente tiene memoria, aunque para tener memoria un circuito necesita forzosamente de retroalimentación.

Page 14: Logica secuencial

Fundamentos de la Memoria

• Podemos considerar el circuito “cross coupled NOR” como un elemento llamado “set-reset latch”, en donde la salida va a 1 cuando un pulso se recibe en la línea S (set), y la salida va a cero cuando un pulso ocurre en la línea R (reset).

Page 15: Logica secuencial

Fundamentos de la Memoria

• NOTA: En este circuito una pérdida de memoria ocurre cuando ambos x y y van a 0 o 1 al mismo tiempo. Esto ocurre si le damos la entrada S=1 y R=1. Esta entrada es considerada como un estado de entrada ilegal. En algunos circuitos, la entrada ilegal es la que puede poner el circuito en oscilación.

S R Q+

_0

1

0

0

00

1

1 1

1

Q

Transition table

Page 16: Logica secuencial

Fundamentos de la Memoria

0

0

00

00

000 0

0

0

0

1

1

11

1

11

0

1

1

111

11 1

0

S R Q+

_

Q

_

Transition table

• En otras palabras, podemos decir que nuestro circuito trabajará correctamente mientras x y y sean complementos el uno del otro.

Characteristic equation

S

R

Q

Q_ S

R

Q

Q_

Graphical notation

40 1

0 0

Q

SR0

00

1

0

1 5

7_ _

1 1

3

2 6

01

11

10

Q+

RQSQ

Page 17: Logica secuencial

Fundamentos de la Memoria

R

SQ

Q

• De la misma manera que un “cross coupled NOR”, un “Cross coupled NAND” forma una “S-R Latch”, una entrada ilegal es cuando ambas entradas están en cero.

Page 18: Logica secuencial

Fundamentos de la Memoria

r

sQ

R

S

c(clock)

Q

• A pesar de que estas estructuras se consideran elementos de memoria, lo que requerimos en un elemento de memoria es que cambie su contenido cuando se desee y en cualquier momento. Esto se puede lograr agregando un reloj de entrada a nuestra estructura. Entonces las entradas S y R solamente cambiarán nuestro contenido de memoria

cuando un pulso

ocurra en su entrada.

Page 19: Logica secuencial

Fundamentos de la Memoria

QD

c

1 0

1 0

0 1

1 0

• Para mejorar esta estructura podemos salvar datos cuando se le asignen y reescribirlo cuando nuevos datos sean enviados:

Page 20: Logica secuencial

Fundamentos de la Memoria

Q+c D0 01 1

• Esta estructura llamada “D latch” almacena datos recibidos a través de la línea de datos hasta que nuevos datos lleguen.

• Esta representación puede tener una tabla de excitación como la siguiente:

1DQ

Q_

C1

DQ

Page 21: Logica secuencial

Fundamentos de la Memoria

Q0

1D

C1

Q2

1D

C1

Q3

1D

C1

Q1

1D

C1

clock

• Ahora expandamos el tamaño de nuestra memoria agregando líneas de retroalimentación o simplemente combinando varios elementos de memoria con un reloj.

Page 22: Logica secuencial

Fundamentos de la Memoria

decoder

16

8

64k

…...

…...

• Esta estructura puede ahora generar 16 estados diferentes. Se llama vector de memoria y almacena los datos suministrados a través de un pulso de reloj hasta que nuevos datos sean enviados.

• Se puede expandir la memoria utilizando un arreglo de elementos:

Page 23: Logica secuencial

Fundamentos de la Memoria• En la última transparencia, podemos encontrar 16 líneas

de dirección y 8 líneas de I/O a través de las cuales podemos escribir y leer de la memoria. Esta estructura es RAM (Random Access Memory) o memoria de lectura-escritura.

Page 24: Logica secuencial

Diseño de un Contador

1D

C1

1D

C1

1D

C1

1D

C1

4-bitAdder

co

0 ci

0

0

0

10

1

1

1

1

1

1

0

13 14

3

2

1

0

clock

• Ahora que hemos visto como construir un elemento de memoria simple. Formemos el contador:

Page 25: Logica secuencial

Diseño de un Contador• En este circuito tenemos un reloj de entrada a la memoria

del multivibrador (latch) que es utilizado para controlar el flujo de datos que entra. La idea es utilizar el sumador para contar cada uno de los pulsos de reloj enviados a los elementos de memoria.

• El problema es que esta estructura nunca funcionará de la manera correcta!!! Esto debido a: considere el LSB de esta estructura, observando los números de una secuencia binaria. Podemos ver que el único hardware utilizado para este bit es un inversor:

0000 0001 , 0001 0010 , 0010 0011

Page 26: Logica secuencial

Diseño de un Contador

Q

C=0

10

0

• Entonces nuestro hardware para el LSB es:

Page 27: Logica secuencial

Diseño de un Contador• El 0 en la entrada del latch entrará al mismo tan pronto

como el reloj envíe el primer pulso. El tiempo que le toma al bit alcanzar la entrada – teniendo el 1 este tiempo – no será demasiado. Esto significa que la longitud del pulso de reloj no debe ser demasiado largo y corresponder al tiempo mencionado. Nosotros podemos aplicar esta técnica de prueba y error pero haciendo eso habremos fijado tan solo un bit, y ser capaces de tomar medidas de tiempo para todos los bits sería prácticamente imposible.