Sunteți pe pagina 1din 75

Logica Digital

Circuitos Secuenciales

Francisco Garca Eijo

Organizacion del Computador I


Departamento de Computacion - FCEyN
UBA

10 de Abril del 2012


Agenda

1 Repaso
2 Introduccion
3 Flip-Flops
4 Ejercicios
Que deberamos saber hasta ahora?
Que deberamos saber hasta ahora?

Operadores y funciones booleanas.


Que deberamos saber hasta ahora?

Operadores y funciones booleanas.


Reducciones utilizando identidades.
Que deberamos saber hasta ahora?

Operadores y funciones booleanas.


Reducciones utilizando identidades.
Dada una tabla de verdad poder escribir su funcion booleana.
Que deberamos saber hasta ahora?

Operadores y funciones booleanas.


Reducciones utilizando identidades.
Dada una tabla de verdad poder escribir su funcion booleana.
Graficar circuitos logicos.
Que deberamos saber hasta ahora?

Operadores y funciones booleanas.


Reducciones utilizando identidades.
Dada una tabla de verdad poder escribir su funcion booleana.
Graficar circuitos logicos.
Circuitos combinatorios.
Introduccion

Circuitos Combinacionales

La salida esta determinada


unicamente por la entrada del
circuito
Introduccion

Circuitos Combinacionales Circuitos Secuenciales

La salida esta determinada La salida esta determinada por la


unicamente por la entrada del entrada y el estado del circuito
circuito
Circuitos Secuenciales

Cualquier circuito secuencial, se puede


separar en dos partes:

1 un bloque combinacional
2 un bloque con memoria
Circuitos Secuenciales

Cualquier circuito secuencial, se puede


separar en dos partes:

1 un bloque combinacional
2 un bloque con memoria

La memoria almacena bits que


determinan el estado del circuito
Circuitos Secuenciales

Cualquier circuito secuencial, se puede


separar en dos partes:

1 un bloque combinacional
2 un bloque con memoria

La memoria almacena bits que


determinan el estado del circuito

Las entradas del circuito combinacional son las entradas (E )


junto con las salidas de la memoria (Qn )
Circuitos Secuenciales

Cualquier circuito secuencial, se puede


separar en dos partes:

1 un bloque combinacional
2 un bloque con memoria

La memoria almacena bits que


determinan el estado del circuito

Las entradas del circuito combinacional son las entradas (E )


junto con las salidas de la memoria (Qn )
El bloque combinacional genera la salida del circuito (S) y el
nuevo estado del mismo (Qn+1 )
Flip-Flops

Introduccion

Un FF es un dispositivo capaz de almacenar un bit.


Utilizan el principio de la retroalimentacion.
Esta caracterstica es utilizada en Electronica Digital para
memorizar resultados.
El paso de un estado a otro se realiza variando las entradas.
Segun el tipo de entradas pueden dividirse en:
Flip-Flops

Introduccion

Un FF es un dispositivo capaz de almacenar un bit.


Utilizan el principio de la retroalimentacion.
Esta caracterstica es utilizada en Electronica Digital para
memorizar resultados.
El paso de un estado a otro se realiza variando las entradas.
Segun el tipo de entradas pueden dividirse en:
Asincronicos: Solo tienen entradas de control y pueden
cambiar de estado en cualquier momento.
Flip-Flops

Introduccion

Un FF es un dispositivo capaz de almacenar un bit.


Utilizan el principio de la retroalimentacion.
Esta caracterstica es utilizada en Electronica Digital para
memorizar resultados.
El paso de un estado a otro se realiza variando las entradas.
Segun el tipo de entradas pueden dividirse en:
Asincronicos: Solo tienen entradas de control y pueden
cambiar de estado en cualquier momento.
Sincronicos: Ademas de las entradas de control posee una
entrada de sincronismo o de reloj. El sistema solo puede
cambiar en los instantes de sincronismo.
Relojes (Clocks)

Introduccion

Un reloj es un circuito que emite una serie de pulsaciones


consecutivas con una frecuencia definida.
Se denomina Flanco a la transicion del nivel bajo al alto o del
nivel alto al bajo.
El periodo entre dos flancos ascendentes o descendentes se
denomina tiempo de ciclo del reloj.
1
Recordemos Frecuencia = T
Tipos de Sincronismo

Sincronismo por nivel (alto o bajo)


El sistema lee sus entradas cuando el reloj esta en estado alto o
bajo.
Tipos de Sincronismo

Sincronismo por nivel (alto o bajo)


El sistema lee sus entradas cuando el reloj esta en estado alto o
bajo.

Sincronismo por flanco (de subida o de bajada)


El sistema lee sus entradas justo cuando se produce el flanco
activo.
Asincronicos: Flip-Flop RS

Caractersticas

Dispositivo de almacenamiento temporal de dos estados alto y


bajo.
Sus entradas principales son Set y Reset.
S o Set: Cuando esta en 1 la salida esta en 1.
R o Reset: Cuando esta en 1 la salida esta en 0.

S R Qt+1
0 0 Qt
0 1 0
1 0 1
1 1 Indefinido
Asincronicos: Flip-Flop RS

S
Q

Q
R
Asincronicos: Flip-Flop RS

S
Q

Q
R
Sincronicos: Flip-Flop RS

Caractersticas

Ademas de las entradas R y S posee una entrada C de


sincronismo.
Esta entrada lo que haces es permitir o no el cambio de
estado del FF.

C S R Qt+1
0 X X Qt
1 0 0 Qt
1 0 1 0
1 1 0 1
1 1 1 Indefinido
Sincronicos: Flip-Flop RS

S
Q
Clk
Q
R
Sincronicos: Flip-Flop RS

GRB
S Q

R CLR Q
Sincronicos: Flip-Flop D (Delay)

Caractersticas

Posee solo una entrada D.


La salida Q obtiene el valor de la entrada D cuando la senal
del Clock se encuentra activada.

C D Qt+1
0 X Qt
1 0 0
1 1 1
Sincronicos: Flip-Flop D (Delay)

D S Q Q
Clk Clk

R Q Q
Sincronicos: Flip-Flop D (Delay)

GRB
D Q

CLR Q
Sincronicos: Flip-Flop T

Caractersticas

Posee solo una entrada T.


Si hay un 0 en la entrada T, cuando se aplica un pulso de
reloj la salida mantiene el valor del estado presente. Si hay un
1 se complementa.

C T Qt+1
0 X Qt
1 0 Qt
1 1 Qt
Sincronicos: Flip-Flop T

GRB
T Q

CLR Q
Sincronicos: Flip-Flop JK

Caractersticas

Sus entradas son J y K en honor a Jack Kilby.


Comportamiento similar al RS salvo que permite el estado 1 1
en sus entradas.
Se considera como el FF universal ya que puede configurarse
para obtener los demas FF.

C J K Q(t + 1)
0 X X Qt
1 0 0 Qt
1 0 1 0
1 1 0 1
1 1 1 Qt
Flip-Flop JK

J S Q Q
Clk Clk

K R Q Q
Flip-Flop JK

GRB
J Q

K CLR Q
Registros

Ent0 D Q Sal0

Un registro es un
conjunto de n Ent1 D Q Sal1
flip-flops asociados,
que permiten
almacenar Ent2 D Q Sal2
temporariamente una
palabra o grupo de n
bits. Ent3 D Q Sal3

Clock
Componentes de tres estados

A B C
0 1 0
1 1 1
x 0 Hi-Z

Nocion electrica: Smbolo:

B=0 B
B=1 A C
A C A C

Hi-Z significa alta impedancia, es decir, que tiene una resistencia


alta al pasaje de corriente. Como consecuencia de esto, podemos
considerar al pin C como desconectado del circuito.
Ejercicio 1

a) Disenar un registro de 4 bits. El mismo debe contar con 4


entradas e0 , . . . , e3 para ingresar el dato a almacenar, 4 salidas
s0 , . . . , s3 para ver el dato almacenado y las senales de control
reset y WriteEnable.
b) Modificar el diseno anterior agregandole componentes de 3
estados para que solo cuando se active la senal de control
mostrar muestre el dato almacenado.
Solucion

SET
e3 D Q s3

CLR Q

SET
e2 D Q s2

CLR Q

SET
e1 D Q s1

CLR Q

SET
e0 D Q s0

WriteEnable CLR Q

Reset
Solucion

SET
HAB.
e3 D Q s3

CLR Q

SET
HAB.
e2 D Q s2

CLR Q

SET
HAB.
e1 D Q s1

CLR Q

SET
HAB.
e0 D Q s0

WriteEnable CLR Q

Reset Enable out


Ejercicio 2

Configurar dos flip-flops JK para que se comporten como la


siguiente tabla caracterstica.

Q1 Q2 Q10 Q20
0 0 1 1
0 1 1 0
1 0 0 0
1 1 0 1
Solucion

J1 Q1 J2 Q2

K1 Q1 K2 Q2
Ejercicio 3
Implementar un registro contador de dos bits que cumpla con los
siguientes estados y que cada cambio se produzca al apretar un
pulsador. Nos piden ademas que el componente a desarrollar
cuente con una entrada de Reset.

00

11 01

10
Solucion

Q0 Q1 Q00 Q10 D0 D1
0 0 0 1 0 1
0 1 1 0 1 0
1 0 1 1 1 1
1 1 0 0 0 0

D0 = Q0 .Q1 + Q0 .Q1
D1 = Q1
Solucion

D Q D Q

Q Q
FF1 FF2
Ejercicio 4: Construccion de circuitos secuenciales por bloques

La conjetura de Collatz, es un famoso problema matematico aun no


resuelto. Esta conjetura enuncia la siguiente funcion f : N 7 N, aplicable
a cualquier
( numero entero positivo:
n
si n es par
f (n) = 2
3n + 1 si n es impar
Se dice que si se toma cualquier numero y se aplica esta funcion
reiteradas veces, el resultado siempre converge a 1.

1 Construir un circuito combinatorio que realice la funcion f (n) para


una entrada de 5 bits.
2 Construir un circuito secuencial, que aplique reiteradas veces la
funcion anterior por cada ciclo de reloj.
3 Modificar el circuito anterior de forma que si el valor de entrada es
1, entonces la salida tambien sea 1.
Ejercicio 4: Primer intento. . .

Debemos construir una tabla de verdad de 5 entradas y 5


salidas

Esto corresponde a 32 posiciones y 5 funciones, una para cada


salida

Resolver una tabla de verdad de estas dimensiones resulta


muy complejo y puede llevar a errores
Ejercicio 4: Primer intento. . .

Debemos construir una tabla de verdad de 5 entradas y 5


salidas

Esto corresponde a 32 posiciones y 5 funciones, una para cada


salida

Resolver una tabla de verdad de estas dimensiones resulta


muy complejo y puede llevar a errores

Otra opcion, pensar en bloques y reutilizar


circuitos conocidos
Ejercicio 4: Pensando un poco. . .

entrada

salida
Ejercicio 4: Pensando un poco. . .

entrada

n/2 3n+1

salida
Ejercicio 4: Pensando un poco. . .

entrada
4 3 2 1 0

n/2 3n+1

salida
Ejercicio 4: Pensando un poco. . .

entrada
4 3 2 1 0

n/2 3n+1

seleccionar

salida
Ejercicio 4: Pensando un poco. . .

entrada
4 3 2 1 0

n/2 3n+1

Control
seleccionar

salida
Ejercicio 4: Pensando un poco. . . n/2

Resolver la operacion de division por dos es simple, ya que se trata


de un desplazamiento a derecha
Ejercicio 4: Pensando un poco. . . n/2

Resolver la operacion de division por dos es simple, ya que se trata


de un desplazamiento a derecha

4 3 2 1 0
n/2

0
Ejercicio 4: Pensando un poco. . . 3n + 1

La operacion 3n + 1 se puede escribir como:

1 n+n+n+1

2 2n + n + 1

Para el primer caso, utilizaramos dos circuitos sumadores

En la segunda opcion, tan solo se utiliza un circuito sumador,


ya que la multiplicacion por dos se realiza mediante un
desplazamiento
Ejercicio 4: Pensando un poco. . . 3n + 1

La operacion 3n + 1 se puede escribir como:

1 n+n+n+1

2 2n + n + 1

Para el primer caso, utilizaramos dos circuitos sumadores

En la segunda opcion, tan solo se utiliza un circuito sumador,


ya que la multiplicacion por dos se realiza mediante un
desplazamiento

Elegimos la segunda opcion . . . 2n + n + 1


Ejercicio 4: Pensando un poco. . . 3n + 1 = 2n + n + 1

4 3 2 1 0
3n+1

sc sc sc sc sc
Ejercicio 4: Pensando un poco. . . 3n + 1 = 2n + n + 1

4 3 2 1 0
3n+1

sc sc sc sc sc
Ejercicio 4: Pensando un poco. . . 3n + 1 = 2n + n + 1

4 3 2 1 0
3n+1

sc sc sc sc sc
Ejercicio 4: Pensando un poco. . . 3n + 1 = 2n + n + 1

4 3 2 1 0
3n+1

sc sc sc sc sc
1
Ejercicio 4: Pensando un poco. . .

n/2 3n+1

0
0 sc sc sc sc sc
1

Control

salida

Resta considerar como resolvemos el selector.


Ejercicio 4: Pensando un poco. . .

n/2 3n+1

0
0 sc sc sc sc sc
1

0 0 0 0 0 Control
mux mux mux mux mux

salida

Para eso utilizamos un conjunto de 5 multiplexores.


Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas veces


la funcion anterior por cada ciclo de reloj.
Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas veces


la funcion anterior por cada ciclo de reloj.

En el segundo punto
nos piden aplicar la
funcion reiteradas
veces a un numero
dado

Para esto necesitamos


un registro donde
almacenar el
resultado
Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas veces


la funcion anterior por cada ciclo de reloj.

En el segundo punto entrada


nos piden aplicar la 4 3 2 1 0

funcion reiteradas
veces a un numero n/2 3n+1
dado
Control
mux
Para esto necesitamos
un registro donde salida
almacenar el
resultado registro
Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas veces


la funcion anterior por cada ciclo de reloj.

Una vez almacenado


el resultado en un
registro

Se puede realimentar
el circuito de forma
que el resultado sea
la proxima entrada a
nuestra funcion
Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas veces


la funcion anterior por cada ciclo de reloj.

Una vez almacenado entrada


4 3 2 1 0
el resultado en un
registro
n/2 3n+1
Se puede realimentar
el circuito de forma mux Control

que el resultado sea


la proxima entrada a salida
nuestra funcion registro
Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor de


entrada es 1, entonces la salida tambien sea 1.
Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor de


entrada es 1, entonces la salida tambien sea 1.

Para el tercer punto,


se debe considerar si
la entrada es 1

En ese caso, debemos


fijar la salida a 1
Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor de


entrada es 1, entonces la salida tambien sea 1.

4 3 2 1 0

Para el tercer punto,


se debe considerar si n/2 3n+1
la entrada es 1
Control
mux
En ese caso, debemos
fijar la salida a 1

registro
Resumen

Resumen

Que son los circuitos secuenciales?


Resumen

Resumen

Que son los circuitos secuenciales?


Tipos de Flip-Flops.
Resumen

Resumen

Que son los circuitos secuenciales?


Tipos de Flip-Flops.
Registros.
Resumen

Resumen

Que son los circuitos secuenciales?


Tipos de Flip-Flops.
Registros.
Como configurar los Flip-Flops para un determinado
comportamiento.
Resumen

Resumen

Que son los circuitos secuenciales?


Tipos de Flip-Flops.
Registros.
Como configurar los Flip-Flops para un determinado
comportamiento.
Contadores.

S-ar putea să vă placă și