Este documento describe los tipos de circuitos lógicos combinacionales y secuenciales. Explica que los circuitos secuenciales tienen memoria y sus salidas dependen de las entradas actuales y de estados previos, mientras que los circuitos combinacionales no tienen memoria y sus salidas solo dependen de las entradas actuales. También describe los fundamentos de la memoria, incluyendo circuitos como el latch y cómo se pueden combinar elementos de memoria para crear circuitos más complejos como contadores.
2. Contenido
• Circuitos Combinacionales and Secuenciales
• Fundamentos de la memoria
• Diseñando un contador
3. Circuitos Combinatorios y
Secuenciales
Los 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.
4. 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.
5. 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.
( ) ( ) 0 = 0 = = i t t i t f x f x 0 ( ) ( ) = 0 = ¹ i t t i t f x f x
6. 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.
7. 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.
8. 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).
9. 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.
10. Fundamentos de la Memoria
• 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. 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.
12. 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.
13. 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.
14. 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).
15. 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+
1
_ 0
0 0
1
0
0
1
1 1
Q
Transition table
16. Fundamentos de la Memoria
• En otras palabras, podemos decir que nuestro circuito
trabajará correctamente mientras x y y sean
complementos el uno del otro.
S
R
Q
Q _
S
R
Q
Q _
Graphical notation
Q+ = S +QR
17. 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.
18. 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.
19. Fundamentos de la Memoria
• Para mejorar esta estructura podemos salvar datos
cuando se le asignen y reescribirlo cuando nuevos
datos sean enviados:
20. 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.
1D
Q
Q _
C1
• Esta representación puede tener una tabla de
excitación como la siguiente:
Q+ = D
21. 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.
22. 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:
23. 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.
24. Diseño de un Contador
• Ahora que hemos visto como construir un elemento de
memoria simple. Formemos el contador:
25. 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
26. Diseño de un Contador
• Entonces nuestro hardware para el LSB es:
27. 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.