diseño de circuitos lógicos secuenciales 1 dr. rogelio dávila pérez itesm, campus guadalara...

27
Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara [email protected] www.rogeliodavila.com ____________________________ 1 The current document is my own interpretation and personal translation of the course material presented at the webpage of Zainalabedin Navabi , University of Theran.

Upload: perpetua-cantillo

Post on 03-Mar-2015

2 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Diseño de Circuitos Lógicos Secuenciales1

Dr. Rogelio Dávila PérezITESM, Campus Guadalara

[email protected]

____________________________

1The current document is my own interpretation and personal translation of the course material

presented at the webpage of Zainalabedin Navabi, University of Theran.

Page 2: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Contenido

Circuitos Combinacionales and Secuenciales

Fundamentos de la memoria Diseñando un contador

Page 3: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Fundamentos de la Memoria 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).

R

Sx

y

Page 9: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Fundamentos de la Memoria 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.

PI

PI

1

2

Page 10: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

11

0

0

0

R

S

x

y

set

reset

0

0

0

1

0

0

0

0

0

1

0

Fundamentos de la Memoria

Page 11: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Fundamentos de la Memoria

Page 12: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Fundamentos de la Memoria

Page 13: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Fundamentos de la Memoria

Page 14: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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).

Fundamentos de la Memoria

Page 15: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Fundamentos de la Memoria

S R Q+

_0

1

0

0

00

1

1 1

1

Q

Transition table

Page 16: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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

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

40 1

0 0

Q

SR0

00

1

0

1 5

7_ _

1 1

3

2 6

01

11

10

Q+

RQSQ

Characteristic equation

S

R

Q

Q_ S

R

Q

Q_

Graphical notation

Fundamentos de la Memoria

Page 17: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

R

SQ

Q

Fundamentos de la Memoria

Page 18: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

r

sQ

R

S

c(clock)

Q

Fundamentos de la Memoria

Page 19: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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

QD

c

1 0

1 0

0 1

1 0

Fundamentos de la Memoria

Page 20: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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:

Q+c D0 01 1

DQ

1DQ

Q_

C1

Fundamentos de la Memoria

Page 21: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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

Q0

1D

C1

Q2

1D

C1

Q3

1D

C1

Q1

1D

C1

clock

Fundamentos de la Memoria

Page 22: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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:

decoder

16

8

64k

…...

…...

Fundamentos de la Memoria

Page 23: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Fundamentos de la Memoria

Page 24: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Diseño de un Contador Ahora que hemos visto como construir un

elemento de memoria simple. Formemos el 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

Page 25: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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

Diseño de un Contador

Page 26: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

Entonces nuestro hardware para el LSB es:

Q

C=0

10

0

Diseño de un Contador

Page 27: Diseño de Circuitos Lógicos Secuenciales 1 Dr. Rogelio Dávila Pérez ITESM, Campus Guadalara rdav90@gmail.com  ____________________________

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.

Diseño de un Contador