Circuitos sequenciais assincronos

download Circuitos sequenciais assincronos

of 29

Transcript of Circuitos sequenciais assincronos

  • 8/2/2019 Circuitos sequenciais assincronos

    1/29

    4 Circuitos Seqenciais

    Conforme j citado no captulo 3, os circuitos lgicos dos sistemas digitais podem serde dois tipos: circuitos combinacionais ou circuitos seqenciais. Um circuito combinacional constitudo de um conjunto de portas lgicas, as quais determinam os valores das sadasdiretamente a partir dos valores atuais das entradas.

    A figura 4.1 mostra o diagrama de blocos de um circuito seqencial. Um circuitoseqencial composto por um circuito combinacional e elementos de memria. Asentradas e as sadas do circuito seqencial esto conectadas somente ao circuitocombinacional. Os elementos de memria so circuitos capazes de armazenar informao

    codificada em binrio. Algumas das sadas do circuito combinacional so entradas para oselementos de memria, recebendo o nome de variveis do prximo estado. J as sadas doselementos de memria constituem parte das entradas para o circuito combinacional e recebemo nome de variveis do estado atual. As conexes entre o circuito combinacional e oselementos de memria configuram o que se costuma chamar lao de realimentao, pois asada de um bloco entrada para o outro e vice-versa.

    A informao armazenada nos elementos de memria num dado instante determina oestado em que se encontra o circuito seqencial. O circuito seqencial recebe informaobinria das entradas que, juntamente com a informao do estado atual, determinam osvalores das sadas e os valores do prximo estado (vide figura 4.1). Desta forma, fica

    evidente que as sadas de um circuito seqencial dependem no apenas das entradas, mastambm do estado atual, armazenado nos elementos de memria. E o mesmo pode ser ditopara as variveis de prximo estado. Em funo deste comportamento seqencial, um circuitoseqencial especificado pela seqncia temporal de entradas, sadas e estados internos.

    circuitocombinacional

    elementos de

    memria...

    .

    .

    ....

    ..

    ....

    entradas sadas

    variveis doestado atual

    variveis do

    prximo estado

    circuitocombinacional

    elementos de

    memria

    elementos de

    memria......

    .

    .

    .

    .

    .

    ....

    .

    .

    .

    ..

    ....

    entradas sadas

    variveis doestado atual

    variveis do

    prximo estado

    Figura 4.1 - Diagrama de blocos de um circuito seqencial.

    Os circuitos seqenciais podem ser divididos em dois tipos, conforme o comportamentotemporal dos seus sinais: sncronos e assncronos.

  • 8/2/2019 Circuitos sequenciais assincronos

    2/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-2

    O comportamento de um circuito seqencial assncrono depende da ordem segundo aqual as entradas mudam e o estado do circuito pode se alterar a qualquer tempo, comoconseqncia de uma mudana de suas entradas. Os elementos de memria utilizados noscircuitos seqenciais assncronos apresentam uma capacidade de armazenamento que estassociada diretamente ao atraso de propagao dos circuitos que os compem. Em outras

    palavras, o tempo que esses circuitos levam para propagar uma mudana de suas entradas atsuas sadas pode ser encarado como o tempo durante o qual eles retm os valores aplicadosantes da mudana, e esse fenmeno coincide com o conceito de memria, para os circuitosdigitais. Nos circuitos seqenciais assncronos, os elementos de memria so compostos porportas lgicas que provem um atraso de propagao com valor adequado para ofuncionamento do circuito. Ento, um circuito seqencial assncrono pode ser visto como umcircuito combinacional com realimentao. O projeto de circuitos com realimentaoapresenta grandes dificuldades, uma vez que seu funcionamento correto dependente dascaractersticas temporais dos componentes (portas lgicas e fios). A principal dificuldadeprovm do fato de que os componentes apresentam atrasos que no so fixos, podendo serdiferentes mesmo para exemplares com mesma funo e de um mesmo fabricante. Desta

    forma, os circuitos seqenciais assncronos tm sido evitados, sempre que possvel, em favordo uso de circuitos seqenciais sncronos.

    Um circuito seqencial sncrono utiliza um sinal especial denominado de relgio(clock, em ingls) o qual tem a funo de cadenciar uma eventual troca de estado. A figura 4.2mostra um exemplo de sinal de relgio. A forma de onda de um sinal de relgio ditamontona, pois no se altera ao longo do tempo. Nela podem ser identificados a borda desubida, a borda de descida, o nvel lgico zero e o nvel lgico um. O tempo que decorre parao sinal se repetir denominado perodo e representado por T. Por exemplo, o tempo entreduas bordas de subida sucessivas igual a T. Da mesma forma, o tempo entre duas bordas dedescida sucessivas igual a T.

    bordaascendente

    bordadescendente

    perodo (T)nvel alto

    nvel baixoborda

    ascendente

    bordadescendente

    perodo (T)nvel alto

    nvel baixo

    Figura 4.2 - Exemplo de sinal de relgio (clock).

    A freqncia de um sinal de relgio, representada por f, definida como sendo o

    inverso do perodo, ou seja:

    f =1

    T(4.1)

    Para medir-se o perodo, usa-se os mltiplos do segundo: ms (milissegundo = 10 -3s), s(microssegundo = 10-6s), ns (nanossegundo = 10-9s) e ps (picossegundo = 10-12s). Para medir-se a freqncia, usa-se os mltiplos do hertz: kHz (quilohertz = 10+3Hz), MHz (megahertz =10+6Hz) e GHz (gigahertz = 10+9Hz). Um hertz equivale a 1/1s (i.e., o hertz o inverso dosegundo).

  • 8/2/2019 Circuitos sequenciais assincronos

    3/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-3

    Exemplo 4.1: um circuito digital sncrono cadenciado pelo uso de um sinal de relgio de200 MHz. Qual o maior atraso permitido para um circuito combinacionalqualquer dentro deste circuito.

    Ora, se esse circuito deve trabalhar freqncia de 200 MHz, ento, cada um de seusblocos combinacionais deve ter um atraso inferior ao perodo do relgio, o qual pode sercalculado por:

    5nss5x10s0,005x10Hz200x10

    1T 96

    6====

    Num circuito seqencial sncrono, o sinal de relgio determina quando os elementos dememria iro amostrar os valores nas suas entradas. Conforme o tipo de circuito utilizadocomo elemento de memria, esta amostragem das entradas pode ser sincronizada pela bordaascendente ou pela borda descendente do relgio. Seja qual for o tipo de sincronizao, otempo que transcorre entre duas amostragens sucessivas equivale a T, o perodo do relgio.

    Isto implica que, qualquer mudana no estado de um circuito seqencial sncrono ir ocorrersomente aps a borda do sinal de relgio na qual seus elementos de memria so disparados.A figura 4.3 mostra o diagrama de blocos de um circuito seqencial sncrono.

    Os elementos de memria utilizados nos circuitos seqenciais sncronos sodenominados flip-flops. Um flip-flop um circuito digital que possui duas entradas e duassadas e capaz de armazenar um bit de informao. As duas entradas no sointercambiveis: uma reservada ao sinal de controle (relgio) e a outra recebe o dado (bit) aser armazenado. As sadas correspondem ao dado (bit) armazenado e ao seu complemento. Osinal de relgio determina o instante em que o flip-flop amostra o valor do dado, podendocorresponder a uma borda de subida ou a uma borda de descida, dependendo de como o flip-

    flop constitudo. O diagrama da figura 4.3 mostra que o valor de cada varivel de estado armazenado num flip-flop especfico. Os valores que representam o prximo estado s soamostrados na borda ativa do relgio. Logo, o estado atual fica armazenado no conjunto deflip-flops at que uma nova borda do relgio chegue, quando ento o prximo estado passa aser o estado atual e um novoprximo estado ser gerado pelo circuito combinacional.

    circuitocombinacional

    .

    .

    .

    .

    .

    ....

    .

    .

    .

    .

    .

    .

    entradas sadas

    variveis doestado atual

    variveis do

    prximo estado

    elementos

    de memria(flip-flops)circuito

    combinacional

    .

    .

    .

    .

    .

    .

    .

    .

    ....

    .

    .

    .

    .

    .

    .

    .

    .

    .

    entradas sadas

    variveis doestado atual

    variveis do

    prximo estado

    elementos

    de memria(flip-flops)

    Figura 4.3 - Diagrama de blocos de um circuito seqencial sncrono.

  • 8/2/2019 Circuitos sequenciais assincronos

    4/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-4

    Desde que devidamente alimentado com energia, um flip-flop pode manterindefinidamente um estado, at que os sinais de entrada assumam uma configurao tal que ofaam mudar de estado. Essa configurao depende de como o flip-flop constitudo. Oestado em que um flip-flop se encontra usualmente associado ao valor binrio que ele estarmazenando. Desta forma, num dado instante, um flip-flop estar armazenando ou o valor

    lgico 1 (um) ou o valor lgico 0 (zero), pois esses so os dois valores possveis para umavarivel Booleana.

    4.1 Latches

    Os vrios flip-flops existentes se diferenciam pelo nmero de entradas que possuem ena maneira pela qual tais entradas afetam o estado em que o flip-flop se encontra. Os tiposmais bsicos de flip-flops so denominados latches. Os latches operam por nveis dos sinaisde entrada (diz-se que so sensveis a nvel) e servem como base na construo dos flip-flops

    mais sofisticados.Apesar de serem capazes de armazenar informao binria, os latches so pouco

    utilizados na construo de circuitos seqenciais sncronos por serem menos prticos do queos flip-flops.

    A seguir, sero estudados o latch RS, o latch RS controlado e o latch D.

    4.1.1 O Latch RS

    O latch RS o latch mais simples que existe. Ele pode ser construdo com o uso de

    duas portas nor de 2 entradas cada, conectadas conforme mostra a figura 4.4. Note que hduas entradas, chamadas R e S, e duas sadas, Q e Q. Note tambm que existe uma conexoentre a sada Q e a outra entrada da nor n2. Existe tambm uma conexo entre a sada Q e aoutra entrada da nor n1. Conexes entre sada e entrada so denominadas realimentaes, eno caso de circuitos digitais, so responsveis pela propriedade de armazenamentoapresentada pelo circuito.

    n2

    n1R

    S

    Q

    Qn2

    n1

    n2n2

    n1n1R

    S

    Q

    QQ

    Figura 4.4 - Latch RS com portas nor.

    Conforme j citado na introduo deste captulo, circuitos que possuem algum tipo derealimentao so ditos seqenciais, pois seu comportamento no depende somente dosvalores das entradas, mas tambm do estado em que o circuito se encontra. Assim, a anlisedo funcionamento do latch RS obedecer os seguintes passos:

    Identificao de uma combinao de entradas capaz de determinar o estado do latch demaneira independente do estado anterior (se isso for possvel)

  • 8/2/2019 Circuitos sequenciais assincronos

    5/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-5

    Assumindo o estado determinado no passo 1 como sendo o estado inicial, aplicao deuma nova combinao de entradas para verificar como o circuito se comporta (se muda deestado ou no);

    Repetio dos passos 1 e 2 para cada combinao de entradas capaz de determinar oestado do circuito de maneira independente.

    A partir do procedimento anterior encontrar-se- uma tabela de comportamentodenominada tabela de transio de estados (ou simplesmente, tabela de transio), a qual caracterstica deste latch. Em particular, cada latch e cada flip-flop possui um comportamentoque pode ser expresso em termos de uma tabela de transferncia que lhe prpria.

    Para o latch RS da figura 4.4, imaginemos que sejam aplicados simultaneamente osvalores 1 e 0 s entradas R e S, respectivamente, no instante de tempo t0. Ora, sabemos que ovalor 1 aplicado a qualquer uma das entradas de uma porta nor determina o valor da sadadesta porta como sendo 0, independente dos valores das demais entradas. Logo, se foraplicado R=1 e S=0 em t0, a sada Q se estabilizar com valor 0 em t0+td(n1), onde td(n1) oatraso da porta nor n1. Como existe uma ligao fsica (ou seja, um fio) entre Q e uma dasentradas da porta nor n2, a partir do tempo t0+td(n1) ambas entradas desta porta estaroestabilizadas em 0. Ento, a partir do tempo t0+td(n1)+td(n2), onde td(n2) o atraso da portanor n2, a sada Q estar estabilizada com o valor lgico 1.

    Imaginemos agora que na seqncia de operao deste latch foram aplicados os valoresR=0 e S=0 s suas entradas no instante de tempo t1, com t1>t0+td(n1)+td(n2) (ou seja, bemdepois da aplicao de R=1 e S=0). Em funo dos atrasos das portas n1 e n2, as sadas Q eQ no se alteraro imediatamente. Logo, para efeitos de anlise, podemos considerar que aentrada de n1 que est conectada a Q continua com o valor lgico 1 e que a entrada de n2 queest conectada a Q continua com o valor lgico 0. Desta forma, logo aps o instante t 1, n1 ter0 e 1 em suas entradas, fazendo com que sua sada, que a sada Q do circuito, permanea novalor lgico 0. De maneira semelhante, logo aps t1, n2 ter em suas entradas 0 e 0, fazendocom que sua sada, que a sada Q do latch, permanea com o valor lgico 1. As formas deonda que ilustram o resultado da aplicao sucessiva destes dois vetores de entrada(R=1;S=0) e (R=0;S=0) no latch RS so mostradas na figura 4.5.

    Suponhamos agora que a seqncia de valores aplicados s entradas do latch (R=0;S=1) em t0 e (R=0;S=0), em t1. Ento, em t0+td(n2) a sada Q se estabilizar com ovalor lgico 0. Como existe uma ligao fsica entre a sada Q e uma das entradas da portanor n1, aps o instante t0+td(n2) ambas entradas de n1 estaro estabilizadas em 0. Ento, apartir do instante t0+td(n2)+td(n1), a sada Q estar estabilizada com o valor lgico 1. Supondonovamente que t1>t0+td(n2)+td(n1), podemos admitir que imediatamente aps t1 as sadas Q eQ ainda se mantm com seus valores anteriores, quais sejam Q=1 e Q=0. Desta forma, n1ter o valor lgico 0 em ambas entradas, resultando que Q se mantm em 1. De forma similar,n2 ter em suas entradas os valores 1 e 0, resultando que Q se mantm em 0. A figura 4.6mostra as formas de onda resultantes da aplicao do vetor de entrada (R=0;S=1) em t0,seguido do vetor (R=0;S=0), em t1. Note que td(n1) e td(n2) podem ser valores bem diferentes.Note ainda que em ambos casos, o atraso para a estabilizao do latch sempre sertd(n1)+td(n2).

  • 8/2/2019 Circuitos sequenciais assincronos

    6/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-6

    R

    S

    Q

    Q

    nada mudanas sadas

    aps t1

    t0 t1

    td(n1) td(n2)

    valor indeterminado(=desconhecido)

    R

    S

    Q

    Q

    R

    S

    Q

    Q

    nada mudanas sadas

    aps t1

    t0 t1

    td(n1) td(n2)

    valor indeterminado(=desconhecido)

    Figura 4.5 -Formas de onda para aplicao do vetor de entrada (R=1;S=0) seguido do vetor

    (R=0;S=0) no latch RS.

    R

    S

    Q

    Q

    nada mudanas sadas

    aps t1

    t0 t1

    td(n1)td(n2)

    valor indeterminado(=desconhecido)

    R

    S

    Q

    Q

    R

    S

    Q

    Q

    nada mudanas sadas

    aps t1

    t0 t1

    td(n1)td(n2)

    valor indeterminado(=desconhecido)

    Figura 4.6 -Formas de onda para aplicao do vetor de entrada (R=0;S=1) seguido do vetor(R=0;S=0) no latch RS.

    Note que para todas as situaes estudadas at aqui, os valores exibidos pelas sadas Q eQ so sempre complementares. justamente por esse motivo que elas recebem essas

    denominaes. Entretanto, se aplicarmos o vetor de entrada (R=1;S=1), ambas sadas seestabilizaro em 1, o que conflita com o que foi colocado anteriormente. Ora, se um latchdeve ser capaz de armazenar um dentre os dois estados possveis para uma varivel Booleanae se o estado est associado ao valor de Q e Q (Q exibe o estado e Q, o seu complemento),ento qual seria o estado representado pela situao Q=1 e Q=1? Por no haver uma respostaplausvel a essa pergunta, foi convencionado que esse seria um estado proibido (ouindeterminado), de modo que a situao (R=1;S=1) deve sempre ser evitada, no caso do latchRS.

    Conforme j mencionado na introduo dessa seo, um latch, assim como um flip-flop,pode assumir um dentre dois estados possveis. Esses estados correspondem aos valores que

    uma varivel Booleana pode assumir, ou seja, 0 e 1. O estado 0 tambm chamado estadoreset e o estado 1 tambm chamado estado set.

  • 8/2/2019 Circuitos sequenciais assincronos

    7/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-7

    Analisando-se a situao mostrada pelas formas de onda da figura 4.5, conclui-se que aaplicao do vetor (R=1;S=0) faz com que o latch v para o estado set (i.e., a sada Qestabiliza com o valor lgico 1), independente de seu estado anterior. Se aps isso foraplicado o vetor (R=0;S=0), o latch no muda o seu estado. Avaliando-se agora as formas deonda da figura 4.6, conclui-se que a aplicao do vetor (R=0;S=1) faz com que o latch v para

    o estado reset (i.e., a sada Q estabiliza com o valor lgico 0), independente de seu estadoanterior. Se aps isso for aplicado o vetor (R=0;S=0), o latch no muda o seu estado.Finalmente, pode-se afirmar que a aplicao do vetor (R=0;S=0) no muda o estado em que olatch est. Por outro lado, o vetor (R=1;S=1) deve ser evitado, pos conduzir ao estadoproibido. Essas informaes podem ser resumidas pela tabela que segue:

    R S Q Q ao1 0 0 1 vai para estado reset0 0 0 1 mantm estado reset (= estado anterior)0 1 1 0 vai para estado set

    0 0 1 0 mantm estado set (= estado anterior)1 1 0 0 estado proibido

    Tabela 4.1 - Resumo do funcionamento seqencial do latch RS.

    A tabela anterior pode ser escrita de maneira mais compacta, de modo a incorporar ainformao da dependncia temporal.

    R S Qt+1 comentrio0 0 Qt mantm estado anterior0 1 1 estado set

    1 0 0 estado reset1 1 - proibido

    Tabela 4.2 - Tabela de transio de estados para o latch RS.

    A tabela 4.2 lista os valores possveis para as entradas nas colunas mais esquerda,admitindo que esses valores esto sendo aplicados no instante presente t. Para cada situaode entradas, o novo valor da sada (e portanto, o novo estado do latch) para o instanteimediatamente posterior t+1 encontra-se na coluna mais direita. Como a sada Q sempreexibe o complemento da sada Q, apenas o valor de Q listado, ficando Q subentendido.

    O comportamento de circuitos seqenciais pode tambm ser expresso por meio de um

    diagrama denominado diagrama de estados. Sendo o latch RS um circuito seqecial, pode-seusar um diagrama de estados para representar seu funcionamento, conforme mostrado nafigura 4.7.

    No diagrama da figura 4.7, os estados reset e set esto representados por nodos(crculos). A transio entre estados mostrada por uma aresta (seta). A condio de entradassegundo a qual uma determinada transio pode ocorrer est definida junto a arestarespectiva. Por exemplo, estando o latch RS no estado reset, para que ele v para o estado set necessrio que R=0 e S=1. Caso R=0 e S=0, o latch RS ficar no estado em que se encontra.

  • 8/2/2019 Circuitos sequenciais assincronos

    8/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-8

    reset set

    R=0 S=1

    R=1 S=0

    (R=0 S=0) (R=0 S=1)

    (R=0 S=0) (R=1 S=0)

    resetreset setset

    R=0 S=1

    R=1 S=0

    (R=0 S=0) (R=0 S=1)

    (R=0 S=0) (R=1 S=0)

    Figura 4.7 - Diagrama de estados para o latch RS.

    Para evitar que se tenha que desenhar o circuito completo toda a vez que houver umaocorrncia do latch RS, costuma-se adotar o smbolo mostrado na figura 4.8.

    R

    S

    Q

    Q

    R

    S

    Q

    Q

    Figura 4.8 - Smbolo do latch RS.

    Exemplo 4.2: desenhar as formas de onda para as sadas do latch RS abaixo, a partir das

    formas de onda fornecidas para as entradas R e S.

    Q

    R

    S

    Q

    t1 t2

    R

    S

    Q

    QQ

    R

    S

    Q

    t1 t2

    Q

    R

    S

    Q

    t1 t2

    R

    S

    Q

    Q

    R

    S

    Q

    Q

    4.1.2 O Latch RS controlado

    No latch RS, cujo funcionamento foi descrito na subseo 4.1.1, uma alterao dasentradas R e S pode acarretar uma troca de estado. Porm, em alguns casos pode ocorrer queos sinais conectados s entradas R e S sofram variaes no desejadas, sendo vlidos somenteem alguns intervalos de tempo bem determinados. Nesse caso, seria interessante que houvesseuma entrada de maior prioridade que fosse encarregada de controlar a habilitao do latch,deixando-o sensvel ou no aos valores das entradas R e S.

  • 8/2/2019 Circuitos sequenciais assincronos

    9/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-9

    Nesse sentido, o latch RS controlado um aprimoramento do latch RS. Ele construdo a partir do latch RS, pela colocao de um par de portas E nas entradas R e S,conforme mostra a figura 4.9. A entrada C tem o objetivo de habilitar ou desabilitar o latchRS: caso C=0, o latch mantm o estado, pois R1=0 e S1=0; caso C=1, o latch funcionanormalmente, segundo a tabela 4.2. A tabela de transio desse latch mostrada na tabela 4.3.

    Note que se C=0, o latch mantm seu estado, independente dos valores de R e S (os Xindicam essa independncia). Repare tambm que h ainda outra situao em que o latchmantm o estado, qual seja, quando C=1, mas R=0 e S=0.

    R1

    S1

    Q

    Q

    R

    S

    C

    R1

    S1

    Q

    QQ

    R

    S

    C

    Figura 4.9 -Latch RS controlado.

    C R S Qt+1 comentrio0 X X Qt mantm estado anterior1 0 0 Qt mantm estado anterior1 0 1 1 estado set1 1 0 0 estado reset1 1 1 - proibido

    Tabela 4.3 - Tabela de transio de estados para o latch RS controlado.

    O diagrama de estados para o latch RS controlado muito semelhante ao diagrama dolatch RS, conforme mostra a figura 4.10. Apenas as condies para troca ou manuteno deestado so diferentes: no caso do latch RS controlado, as condies so compostas. Porexemplo, para que o latch RS controlado se mantenha num mesmo estado necessrio queC=0 ou que C=1 e R=0 e S=0.

    reset set

    C=1 R=0 S=1

    C=1 R=1 S=0

    C=0 (C=1 R=0 S=0) (C=1 R=0 S=1)

    C=0 (C=1 R=0 S=0) (C=1 R=1 S=0)

    resetreset setset

    C=1 R=0 S=1

    C=1 R=1 S=0

    C=0 (C=1 R=0 S=0) (C=1 R=0 S=1)

    C=0 (C=1 R=0 S=0) (C=1 R=1 S=0)

    Figura 4.10 -Diagrama de estados para o latch RS controlado.

  • 8/2/2019 Circuitos sequenciais assincronos

    10/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-10

    A figura 4.11 mostra o smbolo do latch RS controlado.

    R

    S

    Q

    C

    Q

    R

    S

    Q

    C

    Q

    Figura 4.11 - Smbolo do latch RS controlado.

    Exemplo 4.3: desenhar as formas de onda para as sadas do latch RS abaixo, a partir dasformas de onda fornecidas para as entradas C, R e S.

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

    R

    S

    Q

    C

    Q

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

    R

    S

    Q

    C

    Q

    R

    S

    Q

    C

    Q

    4.1.3 O Latch D

    A necessidade de evitar a ocorrncia do estado proibido um detalhe que dificulta oprojeto de circuitos seqenciais com latches RS. O latch D construdo a partir do latch RS,de maneira tal que, pela colocao de um inversor entre as entradas S e R, fica assegurado quenunca ocorrer a situao de entradas R=1 e S=1, responsveis pelo surgimento do estadoproibido (figura 4.12). Desta forma, a tabela de transio do latch D pode ser derivada databela do latch RS controlado, onde as entradas R e S passam a ser a entrada D (com D=S).Duas combinaes de entradas desaparecem: uma que resultava na manuteno do estado eoutra que resultava no estado proibido. A tabela de transio do latch D mostrada na tabela4.3 e seu smbolo, na figura 4.13.

    R

    S

    Q

    C

    Q

    D

    C

    R

    S

    Q

    C

    Q

    D

    C

    Figura 4.12: latch D.

  • 8/2/2019 Circuitos sequenciais assincronos

    11/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-11

    C D Qt+1 comentrio0 X Qt mantm estado anterior1 0 0 estado reset1 1 1 estado set

    Tabela 4.4 - Tabela de transio de estados para o latch D.

    D Q

    C Q

    D Q

    C Q

    Figura 4.13 - Smbolo do latch D.

    Exemplo 4.4: desenhar as formas de onda para as sadas do latch D abaixo, a partir dasformas de onda fornecidas para as entradas.

    D Q

    C Q Q

    C

    D

    Q

    t1 t2 t3 t4

    D Q

    C Q

    D Q

    C Q Q

    C

    D

    Q

    t1 t2 t3 t4

    Q

    C

    D

    Q

    t1 t2 t3 t4

    4.1.4 Latches com lgica de ativao complementar

    Os latches vistos at aqui apresentam lgica de ativao direta, isto , esto ativadosenquanto o controle estiver no nvel lgico 1 e desativados enquanto o controle estiver no

    nvel lgico 0. possvel inverter-se essa lgica de ativao pela simples insero de uminversor antes da entrada de controle. Assim, um latch com lgica de ativaocomplementar (ou negada ou invertida) est ativado enquanto o controle vale 0 edesativado enquanto o controle vale 1. A figura 4.14 mostra os smbolos do latch RScontrolado e do latch D, ambos com lgica de ativao complementar. Repare que a indicaoda lgica de ativao complementar feita por meio de um crculo colocado antes da entradade controle.

  • 8/2/2019 Circuitos sequenciais assincronos

    12/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-12

    (a) (b)

    D Q

    C Q

    R

    S

    Q

    C

    Q

    (a) (b)

    D Q

    C Q

    D Q

    C Q

    R

    S

    Q

    C

    Q

    R

    S

    Q

    C

    Q

    Figura 4.14 - Smbolo do latch RS controlado (a) e do latch D (b), ambos com lgica deativao complementar.

    As tabelas 4.5 e 4.6 mostram o funcionamento destes latches com lgica de ativaonegada. Comparando-se com as tabelas de transio dos latches correspondentes com lgicade ativao direta, nota-se que as aes so as mesmas; apenas o que muda o nvel do sinalde controle necessrio para ativ-los.

    C R S Qt+1 comentrio1 X X Qt mantm estado anterior0 0 0 Qt mantm estado anterior0 0 1 1 estado set0 1 0 0 estado reset0 1 1 - proibido

    Tabela 4.5 - Tabela de transio de estados para o latch RS controlado com lgica de ativaonegada.

    C D Qt+1 comentrio1 X Qt mantm estado anterior0 0 0 estado reset0 1 1 estado set

    Tabela 4.6 - Tabela de transio de estados para o latch D com lgica de ativao negada.

    Exemplo 4.5: desenhar as formas de onda para as sadas do latch RS abaixo, a partir dasformas de onda fornecidas.

    R

    S

    Q

    C

    Q

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

    R

    S

    Q

    C

    Q

    R

    S

    Q

    C

    Q

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

    Q

    C

    R

    S

    Q

    t1 t2 t3 t4

  • 8/2/2019 Circuitos sequenciais assincronos

    13/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-13

    Exemplo 4.6: desenhar as formas de onda para as sadas do latch D abaixo, a partir dasformas de onda fornecidas.

    Q

    C

    D

    Q

    D Q

    C Q Q

    C

    D

    Q

    Q

    C

    D

    Q

    D Q

    C Q

    D Q

    C Q

    4.2 Flip-flops

    Conforme visto na seo anterior, os latches controlados D e RS so ativados oucontrolados pelo nvel lgico do sinal de controle. Isso significa que, enquanto o sinal decontrole estiver ativando o latch, eventuais variaes das entradas D ou R e S seropercebidas pelo latch e este poder mudar de estado. Essa caracterstica particularmenteimprpria para a construo de circuitos seqenciais sncronos, uma vez que em tais circuitosqualquer troca de estado deve ocorrer de maneira sincronizada com o sinal de relgio.

    Os flip-flops so circuitos derivados dos latches, porm ativados pela transio dosinal de controle (i.e., pela borda). Isso faz com que um flip-flop permanea ativado apenasdurante um intervalo de tempo muito pequeno, aps a ocorrncia de uma transio do sinal decontrole. Assim, uma eventual troca de estado s pode ocorrer durante esse breve intervalo detempo em que o flip-flop est ativado. Entre duas transies sucessivas do mesmo tipo (ousubida ou descida) do sinal de controle, o flip-flop mantm o ltimo estado adquirido.

    Dependendo de sua construo, um flip-flop pode ser disparado pela transio desubida ou pela transio de descida do sinal de controle. Diz-se ento, que flip-flops sodisparados pela borda (ascendente ou descendente, conforme for o caso), enquanto quelatches so sensveis ao nvel lgico (alto ou baixo, conforme for o caso). A seguir, seroestudados os flip-flops mais utilizados.

    4.2.1 Flip-flop D mestreescravo

    O flip-flop D mestre-escravo composto por dois latches D conectados em cascata,conforme mostra a figura 4.15: o primeiro chamado de mestre e o segundo chamado deescravo. O sinal de controle externo est conectado diretamente ao controle do latch mestre eao inversor cuja sada est conectada ao controle do latch escravo.

  • 8/2/2019 Circuitos sequenciais assincronos

    14/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-14

    D

    C

    QmQ

    mestre escravo

    D Q

    C Q

    D Q

    C Q Q

    D

    C

    QmQ

    mestre escravo

    D Q

    C Q

    D Q

    C Q Q

    Figura 4.15 - Flip-flop D mestre-escravo.

    Analisando-se as conexes, possvel deduzir facilmente que os dois latchesfuncionam de maneira complementar com relao ao sinal de controle externo: enquanto o

    controle vale 1, o mestre est ativado e o escravo est mantendo seu estado anterior eenquanto o controle vale 0, o mestre est mantendo seu estado anterior e o escravo estativado. Como a entrada do escravo est conectada sada do mestre, o ltimo valor lidodurante a ativao do mestre aparecer na sada do escravo no semiperodo seguinte. A figura4.16 exemplifica o funcionamento do flip-flop D mestre-escravo a partir de formas de ondaarbitrrias para as entradas C e D.

    tdE

    C

    D

    Q

    tdM = atraso do latch mestre tdE = atraso do latch escravo

    QmtdE

    tdMtdM

    tdE

    C

    D

    Q

    tdM = atraso do latch mestre tdE = atraso do latch escravo

    QmtdE

    tdMtdM

    Figura 4.16 - Exemplo do funcionamento do flip-flop D mestre-escravo.

    Do ponto de vista externo, o flip-flop D mestre-escravo da figura 4.15 funciona comose fosse disparado pela borda descendente do sinal de controle: o ltimo valor de D amostradopelo latch mestre antes da borda descendente fica armazenado, aparecendo na sada Q do latchescravo logo aps a mesma borda descendente.

    Exemplo 4.7: traar as formas de onda para as sadas de cada um dos latches do circuito quesegue, a partir das formas de onda fornecidas.

  • 8/2/2019 Circuitos sequenciais assincronos

    15/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-15

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    dado

    controle

    Q3 Q2 Q1 Q0

    controle

    dado

    Q3

    Q2

    Q1

    Q0

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    dado

    controle

    Q3 Q2 Q1 Q0D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    D Q

    C Q

    dado

    controle

    Q3 Q2 Q1 Q0

    controle

    dado

    Q3

    Q2

    Q1

    Q0

    controle

    dado

    Q3

    Q2

    Q1

    Q0

    4.2.2 Flip-flops disparados pela borda

    Um flip-flop disparado pela borda (tambm referenciado por sensvel borda) ignorao sinal de controle enquanto este se encontra estvel num dos dois nveis lgicos. Porm,

    quando o sinal de controle passa por uma transio, o flip-flop disparado pela borda ficaativado por um breve instante durante o qual as entradas podem (ou no) determinar a trocade seu estado. Dependendo da maneira como construdo, o flip-flop ser disparado ousomente pela borda ascendente ou somente pela borda descendente. A figura 4.17 mostra ocircuito de um flip-flop D disparado pela borda ascendente, feito com portas nand de duasentradas.

    D

    C

    R

    S

    Q

    Q

    D

    C

    R

    S

    Q

    Q

    Figura 4.17 - Flip-flop D disparado pela borda ascendente.

  • 8/2/2019 Circuitos sequenciais assincronos

    16/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-16

    A tabela de transio de um flip-flop D disparado pela borda ascendente mostrada aseguir.

    C D Qt+1 comentrio X Qt mantm estado anterior 0 0 estado reset 1 1 estado set

    Tabela 4.7 - Tabela de transio de estados para o flip-flop D disparado pela bordaascendente.

    Na tabela anterior, o smbolo indica que a ativao do flip-flop instantnea e socorre durante as bordas ascendentes do sinal de controle C. Por outro lado, entre duas bordasascendentes consecutivas do sinal de controle, o flip-flop mantm o estado anteriormentearmazenado. O smbolo do flip-flop D mostrado na figura 4.18; o tringulo colocado naentrada de controle C indica que a ativao se d pela borda ascendente (e no pelo nvel

    lgico, como ocorre no latch D).

    D Q

    C Q

    D Q

    C Q

    Figura 4.18 - Smbolo do flip-flop D disparado pela borda ascendente.

    Exemplo 4.8: traar as formas de onda para as sadas do flip-flop que segue, a partir dasformas de onda fornecidas.

    D Q

    C Q Q

    C

    D

    Q

    D Q

    C Q

    D Q

    C Q Q

    C

    D

    Q

    Q

    C

    D

    Q

    Alm do flip-flop D existe tambm o flip-flop JK, cujo funcionamento mostrado natabela 4.8. Note que seu funcionamento assemelha-se ao do latch RS, exceto que acombinao de entradas (J=1;K=1) no leva a um estado proibido, mas sim complementao do estado anterior. Da mesma forma que o flip-flop D, esse flip-flop ativado instantaneamente durante a passagem de uma borda ascendente do sinal de controle.Entre duas bordas ascendentes consecutivas, o flip-flop mantm o estado anterior.

  • 8/2/2019 Circuitos sequenciais assincronos

    17/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-17

    C J K Qt+1 comentrio X X Qt mantm estado anterior 0 0 Qt mantm estado anterior 0 1 0 estado reset 1 0 1 estado set

    1 1 Qt complementa estado anterior

    Tabela 4.8 - Tabela de transio de estados para o flip-flop JK disparado pela bordaascendente.

    O smbolo do flip-flop JK disparado pela borda ascendente mostrado na figura 4.19.Tambm nesse smbolo, o tringulo na entrada de controle indica que a ativao se d pelaborda ascendente.

    J Q

    CQK

    J Q

    CQK

    Figura 4.19 - Smbolo do flip-flop JK disparado pela borda ascendente.

    Exemplo 4.9: traar as formas de onda para as sadas do flip-flop JK que segue, a partir dasformas de onda fornecidas.

    J Q

    C

    QK

    Q

    C

    J

    Q

    K

    J Q

    C

    QK

    J Q

    C

    QK

    Q

    C

    J

    Q

    K

    Q

    C

    J

    Q

    K

    4.2.3 Flip-flops disparados pela borda descendente

    Um flip-flop disparado pela borda descendente ativado apenas no instante em queo sinal de controle passa pela borda descendente. Nesse instante, o flip-flop amostra os sinaisdas entradas (D ou J e K), podendo mudar de estado conforme o valor destas entradas. Entreduas bordas descendentes consecutivas, o flip-flop mantm o estado anterior. As tabelas 4.9 e4.10 mostram o funcionamento do flip-flop D e do flip-flop JK disparados pela borda

    descendente, respectivamente.

  • 8/2/2019 Circuitos sequenciais assincronos

    18/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-18

    C D Qt+1 comentrio X Qt mantm estado anterior 0 0 estado reset 1 1 estado set

    Tabela 4.9 - Tabela de transio de estados para o flip-flop D disparado pela bordadescendente.

    C J K Qt+1 comentrio X X Qt mantm estado anterior 0 0 Qt mantm estado anterior 0 1 0 estado reset 1 0 1 estado set 1 1 Qt complementa estado anterior

    Tabela 4.10 - Tabela de transio de estados para o flip-flop JK disparado pela borda

    descendente.A figura 4.20 mostra os smbolos do flip-flop D e do flip-flop JK disparados pela

    borda descendente. Note a existncia de um crculo antes da entrada de controle, indicandoque os flip-flops so disparados pela borda descendente.

    D Q

    C Q

    J Q

    C

    QK

    (a) (b)

    D Q

    C Q

    D Q

    C Q

    J Q

    C

    QK

    J Q

    C

    QK

    (a) (b)

    Figura 4.20 - Smbolos para o flip-flop D (a) e para o flip-flop JK (b), ambos disparados pelaborda descendente.

    Exemplo 4.10: traar as formas de onda para as sadas do flip-flop D que segue, a partir dasformas de onda fornecidas. (Note que o enunciado no diz se o flip-flop disparado pela borda ascendente ou pela borda descendente, pois essainformao faz parte da interpretao da questo!)

    D Q

    C Q Q

    C

    D

    Q

    D Q

    C Q

    D Q

    C Q Q

    C

    D

    Q

    Q

    C

    D

    Q

  • 8/2/2019 Circuitos sequenciais assincronos

    19/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-19

    4.2.4 Set e Reset Assncronos

    Nos circuitos seqenciais complexos, muitas vezes necessrio que se possa colocartodos os flip-flops num estado conhecido, o qual pode ser o estado reset (Q=0) ou o estado set(Q=1). Entretanto, todos os flip-flops de um circuito seqencial sncrono esto sujeitos aomesmo sinal de controle, que normalmente o sinal de relgio, de modo que qualquermudana de estado somente pode ocorrer aps uma borda de relgio. Alm disso, a operaode "resetar" (i.e., fazer o flip-flop ir para o estado reset) ou "setar" (i.e., fazer o flip-flop irpara o estado set) pode no ser banal.

    A fim de permitir que seja possvel "resetar" ou "setar" um flip-flop a qualquer tempo,os flip-flops podem ser construdos de modo a possuir um pino de "reset" assncrono e/ou umpino de "set" assncrono. A denominao "assncrono" refere-se ao fato de que a ao destepino independente do sinal de controle. Tais pinos so denominados clear (ou DC reset)epreset (ou DC set).

    Ento, para um flip-flop que tenha o pino de clear (ou DC reset), enquanto este pinoestiver ativado, a sada Q do flip-flop estar estvel com o valor 0, independente dos valoresdas demais entradas (incluindo a de controle). De modo similar, para um flip-flop quetenha o pino preset (ou DC set), enquanto este pino estiver ativado, a sada Q do flip-flopestar estvel com o valor 1, independente dos valores das demais entradas (incluindo ade controle). Alguns flip-flops podem possuir ambos pinos (clear e preset). Porm, no temsentido ativar ambos simultaneamente.

    A ativao dos pinos clear e preset pode se dar por meio de lgica direta (i.e., nvellgico 1) ou por lgica complementar (i.e., nvel lgico 0), o que possvel de ser identificadopelo desenho do flip-flop: caso haja um crculo junto ao pino, a ativao se d com lgicacomplementar; caso contrrio, a ativao se d com lgica direta.

    Exemplo 4.11: traar as formas de onda para as sadas do flip-flop que segue, a partir dasformas de onda fornecidas.

    D Q

    C Qclear

    limpa

    dado

    CK

    Q

    CK

    Q

    limpa

    dado

    D Q

    C Qclear

    limpa

    dado

    CK

    D Q

    C Q

    D Q

    C Qclear

    limpa

    dado

    CK

    Q

    CK

    Q

    limpa

    dado

    Q

    CK

    Q

    limpa

    dado

  • 8/2/2019 Circuitos sequenciais assincronos

    20/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-20

    Exemplo 4.12: traar as formas de onda para as sadas do flip-flop que segue, a partir dasformas de onda fornecidas.

    J Q

    C

    QK

    ajusta

    preset

    CK

    Q

    CK

    J

    Q

    K

    ajusta

    J Q

    C

    QK

    ajusta

    preset

    CK

    J Q

    C

    QK

    ajusta

    preset

    CK

    Q

    CK

    J

    Q

    K

    ajusta

    Q

    CK

    J

    Q

    K

    ajusta

  • 8/2/2019 Circuitos sequenciais assincronos

    21/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-21

    4.3 Anlise de Circuitos Seqenciais

    Circuitos seqenciais podem ser facilmente reconhecidos pelo fato de seremconstitudos de flip-flops, alm de outras portas, possivelmente. Se por um lado, os diagramas

    esquemticos so suficientes para especificar perfeitamente a estrutura, o comportamento deum circuito seqencial mais difcil de ser descrito, demandando mais recursos derepresentao. Dentre os recursos normalmente empregados na descrio do comportamentode circuitos seqenciais esto os diagramas de estados, as tabelas de transiode estados,as tabelas de sadas (que nada mais so que tabelas verdade) e as equaes Booleanas.

    Denomina-se anlise ao processo de descrever o funcionamento de um circuito a partirda descrio de sua estrutura. Assim, dado o esquemtico de um circuito seqencial,desejamos determinar seu comportamento, o que dever ser feito com o uso dos recursoscitados acima.

    Exemplo 4.13: determinar a tabela de transio de estados, a tabela de sada e o diagrama deestados para o circuito seqencial mostrado na figura 4.21.

    CK

    cnt

    D1 Q1

    C Q1

    YD0 Q0

    C Q0

    CK

    cnt

    D1 Q1

    C Q1

    D1 Q1

    C Q1

    YD0 Q0

    C Q0

    D0 Q0

    C Q0

    Figura 4.21 - Exemplo de circuito seqencial.

    O circuito apresenta uma entrada (cnt) e uma sada (Y). Alm disso, h 2 flip-flops D,cujo contedo representa o estado em que o circuito se encontra.

    O primeiro passo na anlise determinar as equaes Booleanas para as entradas decada flip-flop, em funo da entrada externa cnt e das sadas dos flip-flops (Q0 e Q1). Destemodo, as equaes so:

    D0 = cnt Q0 = cnt Q0 + cnt Q0 (4.2)

    D1 = cnt Q1 +cnt Q1Q0 + cnt Q1 Q0 (4.3)

    As equaes 4.2 e 4.3 so chamadas equaes de excitao, uma vez que elas

    descrevem o comportamento dos sinais que so aplicados s entradas dos flip-flops, os quaisiro determinar o estado do circuito seqencial para o prximo ciclo de relgio. Aplicando as

  • 8/2/2019 Circuitos sequenciais assincronos

    22/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-22

    equaes de excitao s equaes caractersticas dos flip-flops, obtm-se as chamadasequaes de estado. Nesse exemplo, os flip-flops so do tipo D. Para este tipo de flip-flop,Qt+1 = Dt (ou seja, a sada copia a entrada). Ento, as equaes de prximo estado so:

    Q0t +1 = cnt Q0 t +cnt Q0t (4.4)

    Q1t +1 = cnt Q1t +cnt Q1t Q0t + cnt Q1t Q0t (4.5)

    Com relao sada, a equao que a descreve :

    Y = Q0 Q1 (4.6)

    Utilizando as equaes de estado, possvel montar-se a tabela de transio de estadosdo circuito. Nas colunas mais esquerda dessa tabela esto os valores referentes s variveisde entrada e ao estado atual, enquanto que nas colunas mais direita esto os valorescorrespondentes ao prximo estado associado a cada combinao de entradas. O estado de umcircuito seqencial definido pelos valores binrios armazenados nos seus flip-flops. No caso

    em anlise, h dois flip-flops. Logo, o nmero de estados possveis para esse circuito quatro,pois as variveis (Q0,Q1) podem valer 00, 01, 10 ou 11. Alm disso, existe somente umavarivel de entrada: cnt. A tabela de transio de estados mostrada a seguir.

    entrada estado atual prximo estado

    cnt Q1t Q0t Q1t+1 Q0t+10 0 0 0 00 0 1 0 10 1 0 1 00 1 1 1 1

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

    Tabela 4.11 - Tabela de transio de estados para o circuito da figura 4.21.

    A tabela de transio de estados apresenta 8 combinaes de entradas referentes aos 4estados do circuito (estado atual), combinados com os 2 valores possveis para a entrada cnt.Associado a cada uma destas combinaes existe um estado que ser armazenado pelocircuito aps a prxima borda ascendente do sinal de relgio, que o chamado prximoestado. O prximo estado definido pelas equaes de estado 4.4 e 4.5. Na tabela 4.11

    possvel notar que, sempre que cnt vale 0, o prximo estado igual ao estado atual, ou seja, ocircuito no ir mudar de estado. Porm, quando cnt vale 1, o circuito muda de estado nachegada de uma borda ascendente do relgio.

    A partir da equao da sada, monta-se uma tabela de sada. Essa tabela mostra o valorda sada Y para cada combinao entre a entrada cnt e as variveis do estado atual (ou seja, asmesmas combinaes do lado esquerdo da tabela 4.11). A tabela de sada mostrada a seguir.Note que, conforme j descreve a equao, Y independe da entrada cnt.

  • 8/2/2019 Circuitos sequenciais assincronos

    23/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-23

    entrada estado atual sada

    cnt Q1t Q0t Y0 0 0 00 0 1 0

    0 1 0 00 1 1 11 0 0 01 0 1 01 1 0 01 1 1 1

    Tabela 4.12 - Tabela de sada para o circuito da figura 4.21.

    O diagrama de estados uma maneira pictrica de representar a informao mostradana tabela de transio de estados e na tabela de sada. Nele, cada estado que o circuito podearmazenar representado por um nodo (um crculo), no qual so anotados os valores dasvariveis de estado e os valores das sadas do circuito. As possveis transies entre estadosso indicadas com arestas (arcos com setas). Junto a cada aresta so anotadas as condies dasvariveis de entrada necessrias para a transio ocorrer. Eventualmente, a nica condiopara a troca pode ser a borda do relgio. Neste caso, nenhuma condio anotada na aresta. Afigura 4.22 mostra o diagrama de estados para o circuito da figura 4.21. Note a clareza darepresentao. Por exemplo, facilmente verificvel que se trata de um circuito capaz decontar segundo a seqncia 0, 1, 2, 3, 0, . Nota-se tambm que o sinal cnt um sinal dehabilitao: caso cnt valha 0, a contagem parada (i.e., os flip-flops mantm o ltimo estadoarmazenado); uma vez que cnt volte para 1, o circuito continua a contagem de onde parou.Trata-se, portanto, de um contador sncrono de mdulo-4 (i.e., que conta de 0 a 3). Alm

    disso, o sinal de sada Y serve para indicar quando a contagem atingiu o valor 3 (Q1=1,Q0=1). Logo, enquanto o circuito permanecer no estado 11, Y permanecer com o valor 1.

    Q1Q0=00Y=0

    Q1Q0=01Y=0

    Q1Q0=11Y=1

    Q1Q0=10Y=0

    cnt=1cnt=0

    cnt=1

    cnt=1cnt=1

    cnt=0cnt=0

    cnt=0 Q1Q0=00Y=0

    Q1Q0=00Y=0

    Q1Q0=00Y=0

    Q1Q0=01Y=0

    Q1Q0=11Y=1

    Q1Q0=11Y=1

    Q1Q0=11Y=1

    Q1Q0=10Y=0

    cnt=1cnt=0

    cnt=1

    cnt=1cnt=1

    cnt=0cnt=0

    cnt=0

    Figura 4.22 - Diagrama de estados para o circuito seqencial da figura 4.21.

    Na figura 4.23 so mostradas formas de onda que ilustram uma possvel contagem: ocircuito foi suposto partir do estado 00 e o sinal cnt foi mantido com valor lgico 1 por 3ciclos de relgio consecutivos. Aps, cnt foi feito igual a zero, o que desabilitou a contagem.Com isso, o circuito contou de 0 a 3, parando em 3. Verifique o comportamento da sada Y

    durante esta operao.

  • 8/2/2019 Circuitos sequenciais assincronos

    24/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-24

    Q1

    CK

    Q0

    cnt

    Y

    t0 t1 t2 t3

    Q1

    CK

    Q0

    cnt

    Y

    t0 t1 t2 t3

    Figura 4.23: diagrama de tempos para uma possvel operao do circuito seqencial da figura

    4.21.

    Exemplo 4.14: determinar a tabela de transio de estados, a tabela de sada e o diagrama deestados para o circuito seqencial mostrado na figura 4.24.

    D0 Q0

    C Q0

    D1 Q1

    C Q1

    CK

    cnt

    YD0 Q0

    C Q0

    D0 Q0

    C Q0

    D1 Q1

    C Q1

    D1 Q1

    C Q1

    CK

    cnt

    Y

    Figura 4.24 - Outro exemplo de circuito seqencial.

    Conforme pode ser visto, esse circuito se diferencia daquele da figura 4.21 somentepela sada Y, que neste caso tambm depende da entrada cnt. Mais precisamente, Y ser iguala 1 somente quando Q1Q0=11 e cnt for igual a 1 (ou seja, enquanto o circuito estivercontando):

    Y = cnt Q0 Q1 (4.7)

    Como a diferena entre este circuito e aquele da figura 4.21 diz respeito somente sada Y, as equaes de estado para esse circuito correspondem s equaes de estado 4.4 e4.5. E por conseguinte, a tabela de transio de estados para esse circuito a tabela 4.11.

  • 8/2/2019 Circuitos sequenciais assincronos

    25/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-25

    Somente a tabela de sada ser diferente, uma vez que a equao de sada diferente. A tabelade sada para o circuito da figura 4.24 mostrada a seguir.

    entrada estado atual sada

    cnt Q1t Q0t Y

    0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 1 01 1 0 01 1 1 1

    Tabela 4.13 - Tabela de sada para o circuito da figura 4.24.

    O diagrama de estados para esse circuito um pouco diferente do diagrama mostradona figura 4.22: alm de se anotar as condies de entrada para a transio ocorrer em cadaaresta, anotam-se tambm os valores das sadas. O diagrama de estados para o circuito dafigura 4.24 mostrado na figura 4.25.

    Q1Q0=00 Q1Q0=01

    Q1Q0=11 Q1Q0=10

    cnt=1 / Y=0cnt=0 / Y=0

    cnt=1 / Y=0

    cnt=1 / Y=0

    cnt=1 / Y=1

    cnt=0 / Y=0

    cnt=0 / Y=0

    cnt=0 / Y=0

    Q1Q0=00Q1Q0=00Q1Q0=00 Q1Q0=01

    Q1Q0=11Q1Q0=11Q1Q0=11 Q1Q0=10

    cnt=1 / Y=0cnt=0 / Y=0

    cnt=1 / Y=0

    cnt=1 / Y=0

    cnt=1 / Y=1

    cnt=0 / Y=0

    cnt=0 / Y=0

    cnt=0 / Y=0

    Figura 4.25 - Diagrama de estados para o circuito seqencial da figura 4.24.

    Na figura 4.26 so mostradas formas de onda que ilustram uma possvel operao docircuito da figura 4.24. O circuito conta de 0 at 3. No meio do ciclo em que a contagem

    atinge o valor 3 (e portanto, Y=1), o sinal cnt passa a valer 0, o que suspende a contagem efaz Y passar para 0.

  • 8/2/2019 Circuitos sequenciais assincronos

    26/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-26

    Q1

    CK

    Q0

    cnt

    Y

    t0 t1 t2 t3

    Q1

    CK

    Q0

    cnt

    Y

    t0 t1 t2 t3

    Figura 4.26 - Diagrama de tempos para uma possvel operao do circuito seqencial da

    figura 4.24.

  • 8/2/2019 Circuitos sequenciais assincronos

    27/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-27

    4.4 Modelos de Circuitos Seqenciais (Mquinas de Estados)

    Cada um dos circuitos estudados nos dois exemplos anteriores (4.13 e 4.14)corresponde a um dos dois modelos possveis para circuitos seqenciais, quais sejam:

    modelo dependente dos estados ou modelo de Moore (exemplo 4.13) e modelo dependente das entradas ou modelo de Mealy (exemplo 4.14).

    No caso do modelo de Moore, as sadas dependem nica e exclusivamente do estadoem que o circuito se encontra, de modo que uma mudana nos valores das entradas s tomaefeito aps a prxima borda do relgio. J no caso do modelo de Mealy, as sadas dependemno somente do estado em que o circuito se encontra, mas tambm do valor atual das entradasexternas, de modo que se estas se alteraram ainda antes da troca de estados, as sadas docircuito podem se alterar. As figuras 4.27 e 4.28 mostram os diagramas de blocos para omodelo de Moore e de Mealy, respectivamente.

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    ..

    .

    lgica de

    prximo estado

    lgica de sada

    I1 I2 Ik

    O1

    O2

    On

    .

    .

    .

    ...

    sadas

    entradas

    CK

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    ..

    .

    D1 Q1

    Q1

    FF1

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    D3 Q3

    Q3

    FF3

    ..

    .

    lgica de

    prximo estado

    lgica de

    prximo estado

    lgica de sadalgica de sada

    I1I1 I2I2 IkIk

    O1O1

    O2O2

    OnOn

    .

    .

    .

    ...

    sadas

    entradas

    CK

    Figura 4.27 - Diagrama de blocos para o modelo de Moore.

    Nestes diagramas, o bloco combinacional foi subdividido em dois blocos: umresponsvel exclusivamente pela gerao do prximo estado, denominado bloco de prximoestado (pois implementa as equaes de estados) e um que gera os valores das sadas,denominado bloco de sada. Alm destes dois blocos de lgica combinacional, existe umconjunto de flip-flops que armazenam o estado do circuito. O nmero de estados possveis docircuito 2n, com n sendo o nmero de flip-flops.

    No caso dos exemplos 4.13 e 4.14, o bloco de sada constitudo apenas pela porta Eque gera o sinal de sada Y. J o bloco de prximo estado contm as portas que esto esquerda dos flip-flops. Essas portas implementam as funes de estado.

  • 8/2/2019 Circuitos sequenciais assincronos

    28/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-28

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    .

    .

    .

    lgica deprximo estado

    lgica de sada

    I1 I2 Ik

    O1

    O2

    On

    .

    .

    .

    ...

    sadas

    entradas

    CK

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    .

    .

    .

    D1 Q1

    Q1

    FF1

    D1 Q1

    Q1

    FF1

    D2 Q2

    Q2

    FF2

    D2 Q2

    Q2

    FF2

    D3 Q3

    Q3

    FF3

    D3 Q3

    Q3

    FF3

    .

    .

    .

    lgica deprximo estado

    lgica deprximo estado

    lgica de sadalgica de sada

    I1I1 I2I2 IkIk

    O1O1

    O2O2

    OnOn

    .

    .

    .

    ...

    sadas

    entradas

    CK

    Figura 4.28 - Diagrama de blocos para o modelo de Mealy.

    4.5 Projeto de Circuitos Seqenciais

    O projeto de um circuito seqencial normalmente inicia pela definio de seucomportamento de maneira textual e com a transcrio deste comportamento para um

    diagrama de estados, de modo a detalhar os estados existentes, as condies para trocas deestados e os valores das sadas. Pela anlise do diagrama de estados possvel identificar omodelo de mquina de estados a ser seguido (Moore ou Mealy). Inicialmente, os estadosainda no estaro assinalados a valores binrios, recebendo apenas nomes simblicos quepodem ser letras do alfabeto, nmeros inteiros ou nomes. Aps, deve-se gerar as tabelas detransio de estados e de sada, a partir das informaes constantes no diagrama de estados.Neste ponto, ser necessrio associar uma combinao de valores binrios para cada estado.Caso o nmero de estados seja menor do que o nmero de combinaes existentes, algumascombinaes no sero utilizadas. Essa fase denominada assinalamento de estados. Ento,as equaes de estados e as equaes das sadas podero ser derivadas a partir das tabelas.Caso no for possvel minimizar as equaes usando mapas de Karnaugh (se o nmero devariveis for grande), ser necessrio utilizar algum programa de minimizao, tal como oespresso. As equaes de estado representam a funcionalidade do bloco de prximo estado,enquanto as equaes de sada descrevem o comportamento do bloco de sada. O ltimo passoser o mapeamento da funo de prximo estado e da funo de sada para as portas lgicasdisponveis, caso alguma bilioteca seja especificada.

    Exemplo 4.15: projetar um circuito contador mdulo 4 incrementador/decrementador. Essecircuito tem duas entradas: habilitao de contagem (H) e direo de contagem(D). Quando H=1, o contador ir contar na direo definida por D, parandoquando H=0. A contagem ser para cima (incremento) se D=0 e para baixo

    (decremento) se D=1. O contador possui uma sada Y, a qual vale 1 quando ocontador atingir o valor 11, independente da direo da contagem.

  • 8/2/2019 Circuitos sequenciais assincronos

    29/29

    Introduo aos Sistemas Digitais (v.2001/1) Jos Lus Gntzel e Francisco Assis do Nascimento 4-29

    Bibliografia Suplementar

    [1] GAJSKI, Daniel D. Principles of Digital Design, New Jersey: Prentice Hall, 1997 (ISBN0-13-301144-5)

    [2] MANO, M. Morris; Computer Engineering: Hardware Design. New Jersey: PrenticeHall, 1988 (ISBN 0-13-162926-3)

    [3] BROWN, Stephen; VRANESIC, Zvonko. Fundamentals of Digital Logic with VHDLDesign. McGraw-Hill Higher Education (a McGraw-Hill Company), 2000(http://www.mhhe.com/engcs/electrical/brownvranesic )