Você está na página 1de 6

Aula 9 Sumrio

Projecto de contadores
Sequncia de estados Funcionalidades adicionais

Projecto de contadores
Procedimentos de projecto Implementao de funcionalidades adicionais: Count enable Clear Load Terminal Count

Circuitos para controlo


Objectivo Exemplos:
Mquina de lavar roupa Mini-datapath

Academia ISCTE Arquitectura de Computadores

Procedimentos de projecto de contadores


Projecto da sequncia de contagem
Diagrama de estados da contagem Tabela de transio de estados Obter as equaes de entrada nos FFs

Funcionalidades adicionais
Count Enable (CE)
Acrescenta-se material s entradas de cada flip-flop de modo a que:
CE desactivado o FF nunca muda de estado (forar JK=00) CE activado o circuito comporta-se normalmente
Count Enable
...

Funcionalidades adicionais
Acrescentam-se depois as funcionalidades extra que se pretenderem Load, Clear ou Count Enable. Evita-se desta forma que a tabela de transio de estados tenha uma dimenso demasiado grande Implementam-se de uma forma semelhante ao que foi visto para os registos
Academia ISCTE Arquitectura de Computadores

Ji Ki

Qi

...

Ji Ki

Qi

...

...

Academia ISCTE Arquitectura de Computadores

Funcionalidades adicionais
Clear sncrono
Acrescenta-se material s entradas de cada flip-flop de modo a que:
Clear desactivado o circuito comporta-se normalmente Clear activado o FF faz reset (forar J=0 e K=1)
Clear
...

Funcionalidades adicionais
Carregamento paralelo sncrono
Acrescenta-se material s entradas de cada flip-flop de modo a que:
Load desactivado o circuito comporta-se normalmente Load activado o FF carrega um novo valor (Pi)
Load
Mux S I0 I1 Z

Ji Ki

Qi

...

Ji Ki

Qi

...

Ji Ki

Qi

...

Pi

Ji Ki

Qi

...

...

...

Mux S Z ... I0 I1

Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Funcionalidades adicionais
Fim do ciclo de contagem (Terminal Count)
Acrescenta-se uma sada que d 1 no ltimo estado da sequncia Exemplos
Contador binrio de 4 bits o fim em 15 (1111) Contador BCD o fim em 9 (1001)
Q0 Q1 Q2 Q3

Exemplo
Projectar um contador de 3 bits com controlo da direco de contagem e count enable. Diagrama de transio de estados
1 1 1 0 1 0 0 0 6 1 1 5 1 0 4 0 2 0 0 1 1 3 0

Terminal Count

Q0 Q1 Q2 Q3

Terminal Count

Entrada: Up / Down (U):


Academia ISCTE Arquitectura de Computadores

, contagem ascendente U = 1 U = 0, contagem descendente


Academia ISCTE Arquitectura de Computadores

Exemplo
Tabela de transio de estados
Q2 Q1 Q0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 U 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q2 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 Q1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 Q0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 J2K2 1x 0x 0x 0x 0x 0x 0x 1x x1 x0 x0 x0 x0 x0 x0 x1 J1K1 1x 0x 0x 1x x1 x0 x0 x1 1x 0x 0x 1x x1 x0 x0 1x J0K0 1x 1x x1 x1 1x 1x x1 x1 1x 1x x1 x1 1x 1x x1 x1

Exemplo
Equaes de entrada nos flip-flops
Q0U Q2Q 1 00 01 11 10 00 1 x x 1 x x 1 x x 1 x x Q0U Q2Q 1 00 01 11 10 00 01 11 10 x 1 1 x x x x 1 1 x x x

J0 = K 0 = 1

01 11 10

Q0U Q2Q 1 00 01 11 10 00 01 11 10 x x x x 1 1 x x x x

Q0U Q2Q 1 00 01 11 10 00 01 11 10 1 x x x x x x 1 x x

J1 = K 1 = Q0 U + Q0U = Q0 U

J2 = K 2 = Q1Q0 U + Q1Q 0U = Q1 U Q 0 U
Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Exemplo
Circuito resultante
Up/Down
Vcc J0 K0 Q0 J1 K1 Q1 J2 K2 Q2
...

Exemplo
Acrescentar o count enable (CE)
Count Enable
Ji Ki Qi
...

Ji Ki

Qi

...

Clock

...

Ctr-3
U/D Q0 Q1 Q2

Novas equaes, agora com count enable (CE)


J0 = K 0 = 1 CE = CE

J1 = K1 = Q0 U CE J2 = K 2 = Q1 U Q0 U CE
Academia ISCTE Arquitectura de Computadores Academia ISCTE Arquitectura de Computadores

Exemplo
Circuito resultante
Up/Down Count Enable
J0 K0 Q0 J1 K1 Q1 J2 K2 Q2

Circuitos para controlo


Objectivo Exemplos: Mquina de lavar roupa
Ctr-3
U/D CE Q0 Q1 Q2

Clock

Mini-Datapath

Academia ISCTE Arquitectura de Computadores

Controladores
Um controlador ou unidade de controlo um circuito sequencial que gera os sinais necessrios para outros componentes desempenharem sequncias de aces
Entradas Variveis de controlo

Exemplo Mquina de lavar roupa


Projectar um circuito de controlo para lavagem automtica

Unidade de controlo
Resposta

Componente ou mquina a controlar

Unidade de controlo

EA SA AD

Variveis de controlo: EA entrada de gua SA sada de gua AD adicionar detergente

Objectivo
Obter um circuito que faa tarefas mais complexas, dividindo-as por vrias etapas ao longo do tempo (i.e., por vrios perodos do sinal de relgio)
Academia ISCTE Arquitectura de Computadores

Incio

Encher de gua

Lavar

Escoar a gua

Centrifugar

Academia ISCTE Arquitectura de Computadores

Exemplo Mquina de lavar roupa


Diagrama de transio de estados

Exemplo Mquina de lavar roupa


Tabela de transio de estados
Q1Q0

Estado actual

Prximo estado

Q2 0 1

00 0 0

01 0 x

11 1 x

10 0 x

Q2
000 001 010 011 100

Q1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1

Q2 0 0 0 1 0 x x x

Q1 0 1 1 0 0 x x x

Q0 1 0 1 0 0 x x x
Q2 Q2

0 0 0 0 1 1 1 1

D2 = Q1Q0

Q1Q0 00 0 1 0 0 01 1 x 11 0 x 10 1 x

EA=0 SA=x AD=0

EA=1 SA=0 AD=0

EA=0 SA=0 AD=1

EA=0 SA=1 AD=x

EA=0 SA=x AD=x

D1 = Q1 Q0

Q1Q0 00 0 1 1 0 01 0 x 11 0 x 10 1 x

D 0 = Q2 Q0

Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Exemplo Mquina de lavar roupa


Circuito resultante (sem as sadas)

Exemplo Mquina de lavar roupa


Equaes das sadas
Estado actual Sadas
Q1Q0 Q2 0 1 Q1Q0 Q2 0 1 Q1Q0 Q2 0 1 00 0 x 01 0 x 11 x x 10 1 x 00 x x 01 0 x 11 1 x 10 0 x 00 0 0 01 1 x 11 0 x 10 0 x

D2

Q2

D1

Q1

D0

Q0

Q2 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1

EA SA AD 0 1 0 0 0 x x x x 0 0 1 x x x x 0 0 1 x x x x x

EA = Q1Q0

Reset Clock

SA = Q1Q0

AD = Q1

Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Exemplo Mquina de lavar roupa


Circuito completo
AD EA SA
D2 Q2 D1 Q1 D0 Q0

Exemplo Mquina de lavar roupa


Outra abordagem: utilizar um contador

000

001

010

011

100

Reset Clock

EA=0 SA=x AD=0

EA=1 SA=0 AD=0

EA=0 SA=0 AD=1

EA=0 SA=1 AD=x

EA=0 SA=x AD=x

A sequncia de transio de estados sugere a utilizao de um contador de 3 bits (ou de um contador mdulo-5)
Academia ISCTE Arquitectura de Computadores Academia ISCTE Arquitectura de Computadores

Exemplo Mquina de lavar roupa


Tabela de transio de estados
Estado actual Prximo estado

Exemplo Mquina de lavar roupa


Acrescentando a varivel Clear do contador e as sadas do circuito, tem-se
Q2 0 Q1 0 0 1 1 0 0 1 1 Q0 Q2 Q1 Q0 0 1 0 1 0 1 0 1 0 0 0 1 0 x x x 0 1 1 0 0 x x x 1 0 1 0 0 x x x Clear EA SA AD 0 0 0 0 1 x x x 0 1 0 0 0 x x x x 0 0 1 x x x x 0 0 1 x x x x x
Clear

Q2 0 0 0 0 1 1 1 1

Q1 0 0 1 1 0 0 1 1

Q0 0 1 0 1 0 1 0 1

Q2 0 0 0 1 0 x x x

Q1 0 1 1 0 0 x x x

Q0 1 0 1 0 0 x x x
Academia ISCTE Arquitectura de Computadores

Segue a sequncia de contagem de um contador Activar clear (ou carregar 0s)

0 0 0 1 1 1 1

Ctr-3
Q0 Q1 Q2

Academia ISCTE Arquitectura de Computadores

Exemplo Mquina de lavar roupa


Mapas de Karnaugh
Q1Q0 Q2 0 1 00 0 1 01 0 x 11 0 x 10 0 x Q2 0 Q1Q0 00 x x 01 0 x 11 1 x 10 0 x

Exemplo Mquina de lavar roupa


Circuito resultante

Ctr-3

EA SA AD

Clear = Q 2

SA = Q1Q0

Clear

Q0 Q1 Q2

Q1Q0 Q2 0 1 00 0 0 01 1 x 11 0 x 10 0 x Q2

Q1Q0 00 0 0 x 01 0 x 11 x x 10 1 x
Clock

EA = Q1Q0

AD = Q1

Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Exemplo Mini-Datapath
Considere o seguinte circuito:
Din R0
Load

Exemplo Mini-Datapath
Algumas operaes que podem ser feitas:

Barramento de entrada de dados


L0

Din R0
Load

L0

C1 0 1 1

L1 x 0 0 1 1 1 1

L0 0 0 1 0 0 1 1

Op x x x 0 1 0 1

Operao R1 0 NOP R0 Din R1 R1 + R0 R1 R1 R0 R1 R1 + R0, R0 Din R1 R1 R0, R0 Din

Add/Sub

Op

Variveis de controlo
Clock

Add/Sub

Op

1 1

Clock

R1

Load Clear

L1 C1

R1

Load Clear

L1 C1

1 1

Dout

Barramento de sada de dados


Academia ISCTE Arquitectura de Computadores

Dout
Academia ISCTE Arquitectura de Computadores

Exemplo Mini-Datapath
E se pretender algo mais elaborado?
Din

Exemplo Mini-Datapath
Ter que se acrescentar uma unidade de controlo
Din R0
Load

Por exemplo, usar este circuito para calcular 2 Din e escrever o resultado em R1. necessrio mais do que um ciclo de relgio

R0

Load

L0

Add/Sub

Op

Add/Sub

L0 Op L1 C1
Load Clear

Unidade de controlo

Clock

R1

Load Clear

L1 C1

R1

Dout
Academia ISCTE Arquitectura de Computadores

Dout

Academia ISCTE Arquitectura de Computadores

Exemplo Mini-Datapath
Projecto da unidade de controlo
Ciclo 0 1 2 3 C1 0 1 1 1 L1 x 1 1 0 L0 1 0 0 0 Op x 0 0 x Descrio R1 0, R0 Din R1 R1 + R0 R1 R1 + R0 NOP Aps a transio tem-se R1=0 R0=Din R1=Din R0=Din R1=2Din R0=Din No faz nada

Exemplo Mini-Datapath
Tabela de transio de estados e sadas
Q1 0 0 1 1 Q0 0 1 0 1 Q1 0 1 1 1 Q0 1 0 1 1 C1 0 1 1 1 L1 x 1 1 0 L0 1 0 0 0 Op x 0 0 x

Equaes de entrada nos FFs (usando FFs D)


D1 = Q1 + Q 0
D0 = Q1 + Q0
Academia ISCTE Arquitectura de Computadores

Equaes das sadas (variveis de controlo)


L0 = Q1 + Q 0 L1 = Q1Q0

C1 = Q1 + Q 0

Op = 0

Academia ISCTE Arquitectura de Computadores

Exemplo Mini-Datapath
Circuito resultante para a unidade de controlo
Unidade de controlo

Exemplo Mini-Datapath
A mesma unidade, usando como base um contador com Count enable (CE)
L1 C1

Unidade de controlo

Ctr-2
L1 CE Q0 Q1 C1 L0

D1

Q1

D0

Q0

L0 Op
Clock

Op Clear

Clock Reset

Reset

Academia ISCTE Arquitectura de Computadores

Academia ISCTE Arquitectura de Computadores

Você também pode gostar