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

Post on 03-Mar-2015

2 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Diseño de Circuitos Lógicos Secuenciales1

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

rdav90@gmail.comwww.rogeliodavila.com

____________________________

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

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

Contenido

Circuitos Combinacionales and Secuenciales

Fundamentos de la memoria Diseñando un contador

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.

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Entonces nuestro hardware para el LSB es:

Q

C=0

10

0

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.

Diseño de un Contador

top related