Академический Документы
Профессиональный Документы
Культура Документы
Circuitos Lgicos
DCC-IM/UFRJ Prof. Gabriel P. Silva
Circuitos Seqenciais
Um circuito seqencial sncrono consiste de um circuito combinacional e uma rede de memria formada por elementos de armazenamento (usualmente flip-flops); A rede de memria define o estado atual da mquina de estados, representado pelo conjunto de flip-flops; O circuito seqencial difere de um circuito combinacional puro na medida em que o prximo estado ser definido no s a partir das entradas atuais, como tambm do estado atual. Logo, as possibilidades de projeto aumentam enormente com uso de circuitos seqenciais.
Circuitos Seqenciais
O funcionamento dos circuitos seqenciais pode ser representado por uma mquina de estado. O conjunto dos valores armazenados em cada flipflop define o estado atual dessa mquina de estado. H diversas codificaes possveis para a representao do estado atual com o conjunto de flipflops, com por exemplo: Binria Cdigo Gray One Hot Veremos mais detalhes de cada uma dessas possibilidades mais adiante.
Circuitos Seqenciais
A mquina de estados representada pelo circuito seqencial sncrono pode ser implementada de duas maneiras equivalentes entre si:
Mquina de Moore
Entrada Sada
Circuito Combinacional
Memria (Flip-Flops)
Circuito Combinacional
Mquina de Mealy
Entrada Sada
Circuito Combinacional
Memria (Flip-Flops)
Circuito Combinacional
Mquina de Moore
O comportamento das mquinas de Moore e Mealy machines idntico, mas suas implementaes diferem. Na representao da mquina de Moore, nos arcos do grafo somente so representados os sinais de entrada causadores da transio de um estado para outro.
Mquina de Mealy
Na representao da mquina de Mealy, nos arcos do grafo so representados os sinais de entrada causadores da transio de um estado para outro, com os respectivos valores para a sada.
Mealy x Moore
As representaes podem ser transformadas de uma para a outra. Vantagens e desvantagens:
Mealy:
glitches (rudos) problemas de amostragem + fcil de projetar menor nmero total de estados
Moore:
+ sem glitches
Tabela de Transio
Estado Atual Vetor de Entrada A B C D
Prximo Estado X1 C A D C X2 B C B D X3 A B D A
FunodeSada X1 Z1 Z1 Z1 Z2 X2 Z2 Z1 Z2 Z1 Z2 X3 Z2 Z1
Ex. Um estado atual C e um vetor de entrada atual X2 produzem uma varivel de sada Z1 e prximo estado B.
Exemplo
O comeo de uma mensagem em um sistema de comunicao indicado pela ocorrncia de trs 1 consecutivos em uma linha x. Projete um circuito que fornea em sua sada o valor 1 apenas durante o perodo de relgio coincidente com o terceiro 1 consecutivo na linha x. Supor que um mecanismo externo inicialize o detetor, aps o trmino da mensagem, no estado de reset.
Diagrama de Estados
Diagrama de Estados q0 1/0 q1 1/0 0/0 1/0 0/0 q2 0/0 q4 0/0 1/1 0/0 q3 1/0
t
Tabela de Estados q q0 q1 q2 q3 q4 xt 0 q4,0 q4,0 q4,0 q3,0 q4,0 1 q1,0 q2,0 q3,1 q3,0 q1,0
qt+1, zt
0/0
qt+1, zt
xt 1 1 0 1 1 1 1 0 0 0 0 0 0 0
xt 1 0 0 1 0 zt
Tabela de Transio:
(y1y0)t+1
Tabela de Excitao FF JK
Tabela de Excitao para o flip-flop JK Qt 0 0 1 1 Qt+1 0 1 0 1 Jt 0 1 X X Kt X X 1 0 Jt Kt 0 0 1 1 0 1 0 1 Qt+1 Qt 0 1 (Qt)
(y1y0)t 0 0 1 1 0 1 1 0 y1 y0
t t
xt 0 0 0 0 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 0 0 0 0
xt 1 0 0 1 0 zt xt
0 1
Qt 0 0 1 1
Qt+1 0 1 0 1 y1ty0t
Jt 0 1 X X
Kt X X 1 0
(y1y0)t+1
xt
0 1
00 01 11 10
00 01 11 10
0 0 X X 1 1 X X Jy1 = x
X X 1 0 X X 1 0 Ky1 = y0
0 0 0 0 1 0 0 0 0 1 0 1 1
1 1 1 0 0
0 0 0 0 0 zt
1 0 0 1 0
Qt 0 0 1 1
Qt+1 0 1 0 1
Jt 0 1 X X
Kt X X 1 0
(y1y0)t+1
xt
xt
0 1
y1ty0t
00 01 11 10
0 X X 0 1 X X 0 Jy0 = x .y1
X 1 1 X X 1 0 X Ky0 = x + y1
y1ty0t
00 01 11 10
0 0 0 0 0 1 0 0 z = x .y1.y0
Resumo
Exerccio
Projete um sistema com uma entrada e duas sadas que detecte a ocorrncia de duas seqncias de 4 bits.
O valor inicial da sada 00. Se a seqncia 1010 for detectada a sada 01 gerada. Se a seqncia 0111 for detectada a sada 10 gerada. A sadas devem ser geradas quando o ltimo bit da seqncia de entrada for detectado e o detetor deve retornar para o estado inicial. Nenhuma sobreposio das seqncias deve ser assumida.
Exerccio
Projete um sistema com uma entrada e duas sadas que detecte a ocorrncia de duas seqncias de 4 bits.
O valor inicial da sada 00. Se a seqncia 1010 for detectada a sada 01 gerada. Se a seqncia 0111 for detectada a sada 10 gerada. A sadas devem ser geradas quando o ltimo bit da seqncia de entrada for detectado e o detetor deve retornar para o estado inicial. Nenhuma sobreposio das seqncias deve ser assumida.
z <= "00"; z <= x & NOT(x); z <= NOT(x) & x; z <= "11";