75
ogica Digital Circuitos Secuenciales Francisco Garc´ ıa Eij´ o Organizaci´on del Computador I Departamento de Computaci´on - FCEyN UBA 10 de Abril del 2012

Lógica Digital - Circuitos Secuenciales - dc.uba.ar · Cualquier circuito secuencial, se puede separar en dos partes: 1 un bloque combinacional ... Esta caracter stica es utilizada

Embed Size (px)

Citation preview

Logica DigitalCircuitos Secuenciales

Francisco Garcıa Eijo

Organizacion del Computador IDepartamento de Computacion - FCEyN

UBA

10 de Abril del 2012

Agenda

1 Repaso

2 Introduccion

3 Flip-Flops

4 Ejercicios

¿Que deberıamos 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.

¿Que deberıamos 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.

¿Que deberıamos 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.

¿Que deberıamos 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.

¿Que deberıamos 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.

¿Que deberıamos 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 determinadaunicamente por la entrada delcircuito

Circuitos Secuenciales

La salida esta determinada por laentrada y el estado del circuito

Introduccion

Circuitos Combinacionales

La salida esta determinadaunicamente por la entrada delcircuito

Circuitos Secuenciales

La salida esta determinada por laentrada y el estado del circuito

Circuitos Secuenciales

Cualquier circuito secuencial, se puedeseparar en dos partes:

1 un bloque combinacional

2 un bloque con memoria

La memoria almacena bits quedeterminan 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 elnuevo estado del mismo (Qn+1)

Circuitos Secuenciales

Cualquier circuito secuencial, se puedeseparar en dos partes:

1 un bloque combinacional

2 un bloque con memoria

La memoria almacena bits quedeterminan 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 elnuevo estado del mismo (Qn+1)

Circuitos Secuenciales

Cualquier circuito secuencial, se puedeseparar en dos partes:

1 un bloque combinacional

2 un bloque con memoria

La memoria almacena bits quedeterminan 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 elnuevo estado del mismo (Qn+1)

Circuitos Secuenciales

Cualquier circuito secuencial, se puedeseparar en dos partes:

1 un bloque combinacional

2 un bloque con memoria

La memoria almacena bits quedeterminan 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 elnuevo 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 caracterıstica es utilizada en Electronica Digital paramemorizar 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 puedencambiar de estado en cualquier momento.Sincronicos: Ademas de las entradas de control posee unaentrada de sincronismo o de reloj. El sistema solo puedecambiar en los instantes de sincronismo.

Flip-Flops

Introduccion

Un FF es un dispositivo capaz de almacenar un bit.

Utilizan el principio de la retroalimentacion.

Esta caracterıstica es utilizada en Electronica Digital paramemorizar 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 puedencambiar de estado en cualquier momento.

Sincronicos: Ademas de las entradas de control posee unaentrada de sincronismo o de reloj. El sistema solo puedecambiar en los instantes de sincronismo.

Flip-Flops

Introduccion

Un FF es un dispositivo capaz de almacenar un bit.

Utilizan el principio de la retroalimentacion.

Esta caracterıstica es utilizada en Electronica Digital paramemorizar 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 puedencambiar de estado en cualquier momento.Sincronicos: Ademas de las entradas de control posee unaentrada de sincronismo o de reloj. El sistema solo puedecambiar en los instantes de sincronismo.

Relojes (Clocks)

Introduccion

Un reloj es un circuito que emite una serie de pulsacionesconsecutivas con una frecuencia definida.

Se denomina Flanco a la transicion del nivel bajo al alto o delnivel alto al bajo.

El periodo entre dos flancos ascendentes o descendentes sedenomina tiempo de ciclo del reloj.

Recordemos Frecuencia = 1T

Tipos de Sincronismo

Sincronismo por nivel (alto o bajo)

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

Sincronismo por flanco (de subida o de bajada)

El sistema lee sus entradas justo cuando se produce el flancoactivo.

Tipos de Sincronismo

Sincronismo por nivel (alto o bajo)

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

Sincronismo por flanco (de subida o de bajada)

El sistema lee sus entradas justo cuando se produce el flancoactivo.

Asincronicos: Flip-Flop RS

Caracterısticas

Dispositivo de almacenamiento temporal de dos estados alto ybajo.

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 01 0 11 1 Indefinido

Asincronicos: Flip-Flop RS

S

R

Q

Q

Asincronicos: Flip-Flop RS

S

R

Q

Q

Sincronicos: Flip-Flop RS

Caracterısticas

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

Esta entrada lo que haces es permitir o no el cambio deestado del FF.

C S R Qt+1

0 X X Qt

1 0 0 Qt

1 0 1 01 1 0 11 1 1 Indefinido

Sincronicos: Flip-Flop RS

S

R

Q

Q

Clk

Sincronicos: Flip-Flop RS

Q

QGRB

CLR

S

R

Sincronicos: Flip-Flop D (Delay)

Caracterısticas

Posee solo una entrada D.

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

C D Qt+1

0 X Qt

1 0 01 1 1

Sincronicos: Flip-Flop D (Delay)

S

R

Q

Q

Clk

Q

Q

D

Clk

Sincronicos: Flip-Flop D (Delay)

Q

QGRB

CLR

D

Sincronicos: Flip-Flop T

Caracterısticas

Posee solo una entrada T.

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

C T Qt+1

0 X Qt

1 0 Qt

1 1 Qt

Sincronicos: Flip-Flop T

Q

QGRB

CLR

T

Sincronicos: Flip-Flop JK

Caracterısticas

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

Comportamiento similar al RS salvo que permite el estado 1 1en sus entradas.

Se considera como el FF universal ya que puede configurarsepara obtener los demas FF.

C J K Q(t + 1)

0 X X Qt

1 0 0 Qt

1 0 1 01 1 0 11 1 1 Qt

Flip-Flop JK

S

R

Q

Q

Clk

Q

Q

J

K

Clk

Flip-Flop JK

J

Q

Q

K

GRB

CLR

Registros

Un registro es unconjunto de nflip-flops asociados,que permitenalmacenartemporariamente unapalabra o grupo de nbits.

D Q

D Q

D Q

D Q

Ent0

Clock

Ent1

Ent2

Ent3

Sal0

Sal1

Sal2

Sal3

Componentes de tres estados

A B C

0 1 01 1 1x 0 Hi-Z

Nocion electrica:

A C

B=0

A CB=1

Sımbolo:

AB

C

Hi-Z significa “alta impedancia”, es decir, que tiene una resistenciaalta al pasaje de corriente. Como consecuencia de esto, podemosconsiderar al pin C como desconectado del circuito.

Ejercicio 1

a) Disenar un registro de 4 bits. El mismo debe contar con 4entradas e0, . . . , e3 para ingresar el dato a almacenar, 4 salidass0, . . . , s3 para ver el dato almacenado y las senales de controlreset y WriteEnable.

b) Modificar el diseno anterior agregandole componentes de 3estados para que solo cuando se active la senal de controlmostrar muestre el dato almacenado.

Solucion

WriteEnable

Q

QSET

CLR

De1 s1

Q

QSET

CLR

De2 s2

Q

QSET

CLR

De3 s3

Reset

Q

QSET

CLR

De0 s0

Solucion

WriteEnable

Q

QSET

CLR

De1

Q

QSET

CLR

De2

Q

QSET

CLR

De3

Reset

Q

QSET

CLR

De0

HAB.

HAB.

HAB.

HAB.

Enable out

s1

s2

s3

s0

Ejercicio 2

Configurar dos flip-flops JK para que se comporten como lasiguiente tabla caracterıstica.

Q1 Q2 Q ′1 Q ′

2

0 0 1 10 1 1 01 0 0 01 1 0 1

Solucion

J

Q

Q

K

J

Q

Q

K

1

1

1

2

2

2

2

1

1

Ejercicio 3

Implementar un registro contador de dos bits que cumpla con lossiguientes estados y que cada cambio se produzca al apretar unpulsador. Nos piden ademas que el componente a desarrollarcuente con una entrada de Reset.

11

00

01

10

Solucion

Q0 Q1 Q ′0 Q ′

1 D0 D1

0 0 0 1 0 10 1 1 0 1 01 0 1 1 1 11 1 0 0 0 0

D0 = Q0.Q1 + Q0.Q1

D1 = Q1

Solucion

Q

QD

FF1

Q

QD

FF2

Ejercicio 4: Construccion de circuitos secuenciales por bloques

La conjetura de Collatz, es un famoso problema matematico aun noresuelto. Esta conjetura enuncia la siguiente funcion f : N 7→ N, aplicablea cualquier numero entero positivo:

f (n) =

{n2 si n es par

3n + 1 si n es impar

Se dice que si se toma cualquier numero y se aplica esta funcionreiteradas veces, el resultado siempre converge a 1.

1 Construir un circuito combinatorio que realice la funcion f (n) parauna entrada de 5 bits.

2 Construir un circuito secuencial, que aplique reiteradas veces lafuncion anterior por cada ciclo de reloj.

3 Modificar el circuito anterior de forma que si el valor de entrada es1, entonces la salida tambien sea 1.

Ejercicio 4: Primer intento. . .

Debemos construir una tabla de verdad de 5 entradas y 5salidas

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

Resolver una tabla de verdad de estas dimensiones resultamuy complejo y puede llevar a errores

Otra opcion, pensar en bloques y reutilizarcircuitos conocidos

Ejercicio 4: Primer intento. . .

Debemos construir una tabla de verdad de 5 entradas y 5salidas

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

Resolver una tabla de verdad de estas dimensiones resultamuy complejo y puede llevar a errores

Otra opcion, pensar en bloques y reutilizarcircuitos conocidos

Ejercicio 4: Pensando un poco. . .

salida

entrada

Ejercicio 4: Pensando un poco. . .

salida

n/2 3n+1

entrada

Ejercicio 4: Pensando un poco. . .

salida

n/2 3n+1

entrada014 3 2

Ejercicio 4: Pensando un poco. . .

salida

n/2 3n+1

entrada

seleccionar

014 3 2

Ejercicio 4: Pensando un poco. . .

salida

n/2 3n+1

entrada

seleccionar

014 3 2

Control

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

Resolver la operacion de division por dos es simple, ya que se tratade un desplazamiento a derecha

0

n/2014 3 2

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

Resolver la operacion de division por dos es simple, ya que se tratade un desplazamiento a derecha

0

n/2014 3 2

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, utilizarıamos dos circuitos sumadores

En la segunda opcion, tan solo se utiliza un circuito sumador,ya que la multiplicacion por dos se realiza mediante undesplazamiento

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

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, utilizarıamos dos circuitos sumadores

En la segunda opcion, tan solo se utiliza un circuito sumador,ya que la multiplicacion por dos se realiza mediante undesplazamiento

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

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

scsc scsc sc

3n+1014 3 2

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

scsc scsc sc

3n+1014 3 2

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

0

scsc scsc sc

3n+1014 3 2

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

0

1scsc scsc sc

3n+1014 3 2

Ejercicio 4: Pensando un poco. . .

0

1scsc scsc sc

salida

0

n/2 3n+1

Control

Resta considerar como resolvemos el selector.

Ejercicio 4: Pensando un poco. . .

0

1scsc scsc sc

salida

0

n/2 3n+1

mux mux mux mux mux0 0 0 0 0 Control

Para eso utilizamos un conjunto de 5 multiplexores.

Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas vecesla funcion anterior por cada ciclo de reloj.

En el segundo puntonos piden aplicar lafuncion reiteradasveces a un numerodado

Para esto necesitamosun registro dondealmacenar elresultado registro

n/2 3n+1

014 3 2

entrada

salida

Controlmux

Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas vecesla funcion anterior por cada ciclo de reloj.

En el segundo puntonos piden aplicar lafuncion reiteradasveces a un numerodado

Para esto necesitamosun registro dondealmacenar elresultado

registro

n/2 3n+1

014 3 2

entrada

salida

Controlmux

Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas vecesla funcion anterior por cada ciclo de reloj.

En el segundo puntonos piden aplicar lafuncion reiteradasveces a un numerodado

Para esto necesitamosun registro dondealmacenar elresultado registro

n/2 3n+1

014 3 2

entrada

salida

Controlmux

Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas vecesla funcion anterior por cada ciclo de reloj.

Una vez almacenadoel resultado en unregistro

Se puede realimentarel circuito de formaque el resultado seala proxima entrada anuestra funcion

registro

n/2 3n+1

014 3 2

entrada

salida

Controlmux

Ejercicio 4: Segundo punto. . .

2 Construir un circuito secuencial, que aplique reiteradas vecesla funcion anterior por cada ciclo de reloj.

Una vez almacenadoel resultado en unregistro

Se puede realimentarel circuito de formaque el resultado seala proxima entrada anuestra funcion registro

n/2 3n+1

014 3 2

entrada

salida

Controlmux

Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor deentrada es 1, entonces la salida tambien sea 1.

Para el tercer punto,se debe considerar sila entrada es 1

En ese caso, debemosfijar la salida a 1

registro

n/2 3n+1

014 3 2

Controlmux

Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor deentrada es 1, entonces la salida tambien sea 1.

Para el tercer punto,se debe considerar sila entrada es 1

En ese caso, debemosfijar la salida a 1

registro

n/2 3n+1

014 3 2

Controlmux

Ejercicio 4: Tercer punto. . .

3 Modificar el circuito anterior de forma que si el valor deentrada es 1, entonces la salida tambien sea 1.

Para el tercer punto,se debe considerar sila entrada es 1

En ese caso, debemosfijar la salida a 1

registro

n/2 3n+1

014 3 2

Controlmux

Resumen

Resumen

¿Que son los circuitos secuenciales?

Tipos de Flip-Flops.

Registros.

Como configurar los Flip-Flops para un determinadocomportamiento.

Contadores.

Resumen

Resumen

¿Que son los circuitos secuenciales?

Tipos de Flip-Flops.

Registros.

Como configurar los Flip-Flops para un determinadocomportamiento.

Contadores.

Resumen

Resumen

¿Que son los circuitos secuenciales?

Tipos de Flip-Flops.

Registros.

Como configurar los Flip-Flops para un determinadocomportamiento.

Contadores.

Resumen

Resumen

¿Que son los circuitos secuenciales?

Tipos de Flip-Flops.

Registros.

Como configurar los Flip-Flops para un determinadocomportamiento.

Contadores.

Resumen

Resumen

¿Que son los circuitos secuenciales?

Tipos de Flip-Flops.

Registros.

Como configurar los Flip-Flops para un determinadocomportamiento.

Contadores.