T´ecnicas Digitais IIdelavega/public/TecDig/beamer/ffseq.pdfT´ecnicas Digitais II (TET-05.080)...

65
ecnicas Digitais II (TET-05.080) Elemento b´ asico de armazenamento: flip-flop Alexandre S. de la Vega Departamento de Engenharia de Telecomunica¸ oes (UFF / CTC / TCE / TET) Niter´ oi - 2010 Alexandre S. de la Vega (TET) ecnicas Digitais II Niter´ oi - 2010 1 / 65

Transcript of T´ecnicas Digitais IIdelavega/public/TecDig/beamer/ffseq.pdfT´ecnicas Digitais II (TET-05.080)...

  • Técnicas Digitais II(TET-05.080)

    Elemento básico de armazenamento: flip-flop

    Alexandre S. de la Vega

    Departamento de Engenharia de Telecomunicações(UFF / CTC / TCE / TET)

    Niterói - 2010

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 1 / 65

  • Elemento básico de armazenamento: flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 2 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 3 / 65

  • Introdução

    Se toda a informação presente em um circuito seqüencial for expressapor meio de valores binários, os elementos básicos de armazenamentodeverão ser dispositivos capazes de armazenar variáveis booleanas.

    Assim, os requisitos básicos para tais dispositivos são:

    Capacidade de representar os valores lógicos“0”e“1”.Possibilidade de representar apenas os valores lógicos“0”e“1”.Capacidade de travar (latch) os valores lógicos“0”e“1”por tempoindeterminado.Capacidade de decidir sobre o valor lógico a ser armazenado, a partirde sinais de acionamento.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 4 / 65

  • Introdução

    Os requisitos acima definem um dispositivo com dois estados,estáveis, cuja mudança de estados é disparada (triggered) por sinaisde ativação espećıficos.

    Tecnicamente, tal dispositivo é denominado de multivibrador biestável.

    Popularmente, embora não haja um consenso sobre a classificação dosdispositivos, são empregadas as denominações latch e flip-flop.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 5 / 65

  • Introdução

    Um dispositivo multivibrador biestável pode ser implementado atravésde circuitos analógicos, utilizando-se transistores, resistores ecapacitores.

    Por outro lado, é posśıvel obter uma implementação dita digital,utilizando-se apenas portas lógicas como elementos primitivos.

    Do ponto de vista de integração do sistema formado por“lógica combinacional + lógica seqüencial”, a implementação digitalpode ser interpretada como a mais adequada para o projeto desistemas digitais, uma vez que utiliza portas lógicas como elementosprimitivos.

    Deve ser ressaltado que, pela sua própria caracterização, os elementosbásicos de armazenamento, implementados de forma digital, sãocircuitos seqüenciais elementares, do tipo level-mode.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 6 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 7 / 65

  • Classificação

    Em relação à funcionalidade, os flip-flops podem ser classificados emquatro tipos básicos: SR, JK, D e T.

    Dependendo do tipo de implementação do dispositivo e dos sinais deativação existentes, diversas variações desses quatro tipos básicospodem ser definidas e implementadas.

    Independentemente das posśıveis variações, a funcionalidade básica decada um dos quatro tipos citados pode ser representada pelasseguintes equações, onde X n representa o valor da variável X noinstante tn e X

    n+1 representa o valor da variável X no instanteseguinte tn+1.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 8 / 65

  • Classificação

    Flip-flop SR:{Qn+1 = (Sn) +

    (Rn · Qn

    ), para (Sn · Rn) = 0

    Indeterminado , para Sn = Rn = 1. (1)

    Flip-flop JK:Qn+1 =

    (Jn · Qn

    )+

    (Kn · Qn

    ). (2)

    Flip-flop D:Qn+1 = Dn . (3)

    Flip-flop T1:Qn+1 = Qn (4)

    Flip-flop T2:Qn+1 =

    (T n · Qn

    )+

    (T n · Qn

    ). (5)

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 9 / 65

  • Classificação

    As operações básicas, associadas às Equações (1), (2), (3) e (5),podem ser mais facilmente identificadas através de suas respectivastabelas, apresentadas na Figura 1.

    As variáveis S , R, J, K , D e T representam os sinais de entrada,enquanto a variável Q representa o sinal de sáıda dos respectivosflip-flops.

    Das equações apresentadas, e de suas respectivas tabelas, torna-senatural o significado da nomenclatura dos sinais: Q (Quiescent), SR(Set-Reset), D (unit Delay) e T (Toggle).

    A nomenclatura JK surgiu historicamente, sem qualquer relação coma sua funcionalidade.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 10 / 65

  • Classificação

    Sn Rn Qn+1

    0 0 Qn

    0 1 01 0 11 1 proibido

    Jn Kn Qn+1

    0 0 Qn

    0 1 01 0 11 1 Qn

    Dn Qn+1

    0 01 1

    T n Qn+1

    0 Qn

    1 Qn

    Figura: Tabelas de operação básica para os flip-flops SR, JK, D e T2.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 11 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 12 / 65

  • Relacionamento entre os tipos básicos de flip-flops

    Observando-se as equações dos tipos básicos de flip-flops, e suasrespectivas tabelas, pode-se notar um estreito relacionamento entreeles.

    Alguns desses relacionamentos podem ser estabelecidos sem oemprego de realimentação, o que acontece nos casos de um flip-flopcom mais funcionalidade para um flip-flop com menos funcionalidade.

    Os casos contrários requerem que o flip-flop seja realimentado.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 13 / 65

  • Relacionamento entre os tipos básicos de flip-flops

    Inicialmente, pode-se estabelecer as seguintes relações entre osflip-flops SR, JK, D e T:

    Para as combinações de entrada“00”,“01”e“10”, os flip-flops SR e JKpossuem o mesmo comportamento.O flip-flop JK amplia a operação do flip-flop SR, implementando umafuncionalidade para a combinação de entrada“11”.O flip-flop JK, com as entradas J = K = 1 ou J = K = T , éequivalente ao flip-flop T, de acordo com as Equações (4) e (5),respectivamente.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 14 / 65

  • Relacionamento entre os tipos básicos de flip-flops

    Por sua vez, um flip-flop D pode ser implementado a partir deflip-flops SR ou JK, se S = D e R = S ou se J = D e K = J,respectivamente.

    Um flip-flop T1 pode ser implementado a partir de um flip-flop T2,fazendo-se T = 1.

    A partir de um flip-flop D pode-se implementar um flip-flop T,adotando-se D = Q ou D =

    (T · Q

    )+

    (T · Q

    ), conforme as

    Equações (4) e (5), respectivamente.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 15 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 16 / 65

  • Mapas de excitação

    Uma outra forma de descrever a operação dos flip-flops é através dotipo de excitação que deve ser aplicado nas suas entradas a fim deprovocar uma determinada variação na sua sáıda.

    Tal forma de descrição é denominada mapa de excitação.

    A Figura 2 apresenta os mapas de excitação para os flip-flops SR, JK,D e T2.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 17 / 65

  • Mapas de excitação

    Qn → Qn+1 Sn Rn

    0 → 0 0 X0 → 1 1 01 → 0 0 11 → 1 X 00 → X X X1 → X X X

    Qn → Qn+1 Jn Kn

    0 → 0 0 X0 → 1 1 X1 → 0 X 11 → 1 X 00 → X X X1 → X X X

    Qn → Qn+1 Dn

    0 → 0 00 → 1 11 → 0 01 → 1 10 → X X1 → X X

    Qn → Qn+1 T n

    0 → 0 00 → 1 11 → 0 11 → 1 00 → X X1 → X X

    Figura: Mapas de excitação para os flip-flops SR, JK, D e T2.Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 18 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 19 / 65

  • Tipos de comportamento das sáıdas

    Os tipos de comportamento que a sáıda de um flip-flop podeapresentar, de um instante de tempo (tn) para o instante de temposeguinte (tn+1), são definidos na Tabela 1.

    Qn → Qn+1 Śımbolo Tipo de Comportamento0 → 0 0 Estático0 → 1 α Dinâmico1 → 0 β Dinâmico1 → 1 1 Estático0 → X X Indeterminado1 → X X Indeterminado

    Tabela: Definição dos tipos de comportamento apresentados pela sáıda de umflip-flop.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 20 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 21 / 65

  • Excitação × comportamento

    As tabelas da Figura 3 associam os tipos de comportamento da sáıdaàs respectivas excitações que as entradas devem sofrer, para osflip-flops SR, JK, D e T2.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 22 / 65

  • Excitação × comportamento

    Qn → Qn+1 Variação Sn Rn

    0 → 0 0 0 X0 → 1 α 1 01 → 0 β 0 11 → 1 1 X 00 → X X X X1 → X X X X

    Qn → Qn+1 Variação Jn Kn

    0 → 0 0 0 X0 → 1 α 1 X1 → 0 β X 11 → 1 1 X 00 → X X X X1 → X X X X

    Qn → Qn+1 Variação Dn

    0 → 0 0 00 → 1 α 11 → 0 β 01 → 1 1 10 → X X X1 → X X X

    Qn → Qn+1 Variação T n

    0 → 0 0 00 → 1 α 11 → 0 β 11 → 1 1 00 → X X X1 → X X X

    Figura: Tipos de comportamento e respectivas excitações para os flip-flops SR,JK, D e T2.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 23 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 24 / 65

  • Funcionalidade × excitação × comportamento

    A Tabela 2 apresenta um resumo geral defuncionalidade-excitação-comportamento, relacionando os valores deexcitação a serem aplicados nas entradas, a partir de cada tipo decomportamento da sáıda, para cada tipo de cada flip-flop.

    Entrada Entrada =“1” Entrada =“0” Entrada =“X”

    S α 0 , β 1 , X

    R β 1 , α 0 , X

    J α 0 1 , β , X

    K β 1 0 , α , X

    D 1 , α 0 , β X

    T α , β 0 , 1 X

    Tabela: Tabela resumo de funcionalidade-excitação-comportamento para osflip-flops SR, JK, D e T2.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 25 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 26 / 65

  • Uso das tabelas

    Uma vez que os flip-flops podem usados como elementos básicos dearmazenamento nos circuitos seqüenciais, as tabelas que os definemapresentam-se como ferramentas de análise e śıntese para taiscircuitos.

    No processo de análise de um circuito seqüencial, as tabelas deoperação dos flip-flops são utilizadas para montar a tabela demudança de estados.

    No processo de śıntese, as tabelas de excitação e de comportamentosão necesárias para montar os mapas-K de excitação e de transição,respectivamente.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 27 / 65

  • Uso das tabelas

    Os mapas-K de excitação apresentam os valores que as variáveis deexcitação do circuito seqüencial, que são as variáveis de entrada doselementos de memória, devem assumir, em função das suas variáveisde estado e das variáveis de entrada. É utilizado um mapa-Kespećıfico para cada entrada de cada flip-flop.

    Os mapas-K de transição descrevem o comportamento dos elementosde memória do circuito seqüencial, em função das suas variáveis deestado e das variáveis de entrada. É necessário apenas um únicomapa-K para todos os tipos de flip-flops, para cada elemento dememória.

    Portanto, funções lógicas para as entradas dos elementos de memóriapodem ser obtidas: i) do mapa-K de excitação de cada entrada, decada flip-flop ou ii) do mapa-K de transição de cada elemento dememória, em conjunto com a tabela resumo.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 28 / 65

  • Uso das tabelas

    Como exemplo, a Tabela 3 descreve as mudanças de estado e os tiposde comportamento dos elementos de memória para um contadorbinário, crescente, de três bits. Por sua vez, os mapas-K de transiçãodos elementos de memória e os mapas-K de escitação para flip-flopsJK são apresentados na Figuras 4 e 5, respectivamente. Deve-se notarque este contador não possui variáveis de entrada. Das tabelas dasFiguras 4 e 5, pode-se obter

    J2 = K2 = (Q1 · Q0) , (6)

    J1 = K1 = Q0 (7)

    e

    J0 = K0 = 1 . (8)

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 29 / 65

  • Uso das tabelas

    Qn2 Qn1 Q

    n0 Q

    n+12 Q

    n+11 Q

    n+10 Q2 Q1 Q0

    0 0 0 0 0 1 0 0 α

    0 0 1 0 1 0 0 α β

    0 1 0 0 1 1 0 1 α

    0 1 1 1 0 0 α β β

    1 0 0 1 0 1 1 0 α

    1 0 1 1 1 0 1 α β

    1 1 0 1 1 1 1 1 α

    1 1 1 0 0 0 β β β

    Tabela: Tabela de mudanças de estado e de comportamento dos elementos dememória para um contador binário, crescente, de três bits.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 30 / 65

  • Uso das tabelas

    FF2 Q1Q000 01 11 10

    Q2 0 0 0 α 01 1 1 β 1

    FF1 Q1Q000 01 11 10

    Q2 0 0 α β 11 0 α β 1

    FF0 Q1Q000 01 11 10

    Q2 0 α β β α1 α β β α

    Figura: Mapas-K de transição para os elementos de memória de um contadorbinário, crescente, de três bits.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 31 / 65

  • Uso das tabelas

    J2 Q1Q000 01 11 10

    Q2 0 0 0 1 01 X X X X

    K2 Q1Q000 01 11 10

    Q2 0 X X X X1 0 0 1 0

    J1 Q1Q000 01 11 10

    Q2 0 0 1 X X1 0 1 X X

    K1 Q1Q000 01 11 10

    Q2 0 X X 1 01 X X 1 0

    J0 Q1Q000 01 11 10

    Q2 0 1 X X 11 1 X X 1

    K0 Q1Q000 01 11 10

    Q2 0 X 1 1 X1 X 1 1 X

    Figura: Mapas-K de excitação para os flip-flops JK de um contador binário,crescente, de três bits.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 32 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 33 / 65

  • Estruturas estáticas simétricas

    Os elementos básicos de armazenamento (flip-flops) podem serimplementados de diversas formas diferentes.

    Duas caracteŕısticas são de grande interesse para o projeto decircuitos seqüenciais:

    Que os flip-flops possuam sáıdas complementares.Que a temporização das mudanças dos valores de tais sáıdas possua omaior sincronismo posśıvel.

    Tais caracteŕısticas podem ser obtidas através de estruturassimétricas.

    A Figura 6 apresenta uma estrutura simétrica de armazenamento,implementada por dois inversores autorealimentados.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 34 / 65

  • Estruturas estáticas simétricas

    Figura: Estrutura de armazenamento estática e simétrica, não controlável.

    A realimentação confere uma caracteŕıstica de armazenamentoestático à estrutura, pois suas sáıdas Q e Q estarão estáveis(quiescentes) enquanto os inversores estiverem energizados.

    A estrutura da Figura 6 apresenta uma grande desvantagem: não écontrolável.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 35 / 65

  • Estruturas estáticas simétricas

    Algumas propostas para tornar o circuito da Figura 6 controlável sãoilustradas na Figura 7.

    No primeiro caso, Figura 7.a, utiliza-se um inversor com capacidade decorrente alta (inversor forte), um inversor com capacidade de correntebaixa (inversor fraco) e uma única chave responsável pela escrita dodado binário.No segundo caso, Figura 7.b, são utilizados dois inversores idênticos,enquanto uma chave de duas posições controla a escrita e amanutenção do dado binário.No terceiro caso, Figura 7.c, são utilizados dois inversores idênticos e achave de duas posições é implementada através de duas chaves comcontroles independentes para escrita e armazenamento.No último caso, Figura 7.d, são utilizados dois inversores idênticos e achave de duas posições é implementada através de duas chaves comacionamentos complementares para escrita e armazenamento.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 36 / 65

  • Estruturas estáticas simétricas

    Figura: Estruturas de armazenamento estáticas e simétricas, controláveis porchaves.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 37 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 38 / 65

  • Exemplos de flip-flops

    Uma vez que flip-flops são circuitos seqüenciais do tipo level-mode, osmesmos devem ser projetados adequadamente, por meio das técnicasexistentes para tais tipos de sistemas.

    Porém, ainda que não se conheça a forma como foram projetados,não é dif́ıcil analisar o funcionamento de um determinado flip-flop.

    A seguir são apresentadas algumas implementações de flip-flops.

    Embora não haja um consenso na classificação dos flip-flops, osmesmos serão divididos em: unclocked (sem sinal de controle desincronismo) e clocked (com sinal de controle de sincronismo).

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 39 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Os flip-flops do tipo unclocked são também denominados de latches.

    O circuito de armazenamento estático da Figura 6 pode sercontrolado usando apenas portas lógicas. O primeiro passo nessesentido é substituir os inversores por portas lógicas NOR ou NAND.Em seguida, um terminal de entrada de cada porta deve serdesconectado, a fim de ser utilizado como terminal de controle (S eR). O processo é ilustrado nas Figuras 8 e 9.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 40 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Figura: Uso de portas lógicas NOR na implementação de controle em umaestrutura de armazenamento estática e simétrica.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 41 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Figura: Uso de portas lógicas NAND na implementação de controle em umaestrutura de armazenamento estática e simétrica.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 42 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Deve ser notado que, enquanto S = R = 0, os valores de Q e Q sãomantidos estáveis.

    Alterando-se os valores dos sinais de controle para S = 1 e R = 0,obtém-se:

    QNOR = 0 e, em seguida, QNOR = 1.QNAND = 1 e, em seguida, QNAND = 0.

    Retornando-se à condição S = R = 0, os valores de Q e Q sãomantidos estáveis.

    Alterando-se os valores dos sinais de controle para S = 0 e R = 1,obtém-se:

    QNOR = 0 e, em seguida, QNOR = 1.QNAND = 1 e, em seguida, QNAND = 0.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 43 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Se forem atribúıdos os valores S = R = 1, o resultado éindeterminado e não complementar. No caso da implementação comNOR, QNOR = QNOR = 0. No caso da implementação com NAND,QNAND = QNAND = 1. Por essa razão, tal configuração é ditaproibida.

    A Tabela 4 resume a análise acima, de onde pode-se observar queambos os circuitos implementam um flip-flop do tipo unclocked SR.

    Acrescentando-se uma porta lógica inversora aos circuitos, de formaque R = S , eles podem implementar um flip-flop do tipo unclockedD. Porém, tal construção não tem utilidade prática, uma vez que ocircuito final passa a se comportar como um mero propagador do sinalde entrada, sem controle de retenção.

    Finalmente, não é posśıvel implementar latches dos tipos JK e T.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 44 / 65

  • Exemplos de flip-flopsFlip-flops do tipo unclocked

    Sn Rn Qn+1

    0 0 Qn

    0 1 01 0 11 1 proibido

    Tabela: Operação das estruturas de armazenamento estáticas e simétricascontroladas por meio de portas lógicas NOR e NAND.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 45 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked

    Dependendo da arquitetura utilizada, podem ser destacadas trêsclasses de flip-flops do tipo clocked :

    Elementar.Master-slave.Edge-triggered.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 46 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: elementar

    Em relação aos flip-flops do tipo clocked elementar, pode-se dizer queum SR é um latch com controle de sincronismo, conformeexemplificado nas Figuras 10 e 11. Por sua vez, um flip-flop D podeser implementado a partir de um SR, conforme ilustrado na Figura 12.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 47 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: elementar

    Figura: Exemplo de implementação de flip-flop SR do tipo clocked elementar,usando portas lógicas NOR.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 48 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: elementar

    Figura: Exemplo de implementação de flip-flop SR do tipo clocked elementar,usando portas lógicas NAND.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 49 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: elementar

    Figura: Exemplo de implementação de flip-flop D do tipo clocked elementar, combase em um flip-flop SR.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 50 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    O tipo elementar pode ser usado como bloco básico de construçãopara outras estruturas funcionais. Os tipos master-slave eedge-triggered são soluções propostas para problemas que podemsurgir em tais implementações.

    O tipo master-slave emprega o conceito de pipelining. A idéia portrás dessa técnica é que, a cada unidade funcional de uma cadeia deprocessamento, sejam adicionados elementos de memória de entrada(master) e de sáıda (slave), com sinais de controle de carregamentoalternados. Dessa forma, todas as unidades da cadeia trabalham emparalelo, aumentando o fluxo de processamento (throughput). Atécnica é ilustrada na Figura 13. No caso do flip-flop master-slave, aunidade funcional é apenas uma transmissão, conectando oselementos de memória de entrada e de sáıda.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 51 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Embora uma estrutura master-slave empregue o dobro do circuitonecessário ao armazenamento, ela permite um maior controle de fluxoentre a entrada e a sáıda do flip-flop. Uma vez que os sinais deentrada só provocam modificações na sáıda após uma alternância desinais de controle, tais flip-flops podem ser interpretados comosenśıveis a bordas (de subida ou de descida) ou a pulsos (positivo ounegativo).

    O tipo edge-triggered é uma solução proposta para um problema deoperação apresentado pelo tipo master-slave. Nessa estrutura, alémda célula básica de armazenamento, circuitos realimentados garantemque, logo após ocorra uma transição do sinal de controle, o flip-flopfique insenśıvel a qualquer variação dos sinais de entrada, até queocorra uma outra transição do mesmo tipo. Assim, desprezando-se otempo necessário à insensibilização da estrutura, pode-se dizer que amesma é senśıvel a transições (positiva ou negativa).

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 52 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Um exemplo de implementação para um flip-flop D do tipo clocked,com estrutura master-slave, pode ser encontrado na Figura 14, onde éempregado um flip-flop SR como célula básica.

    Não é dif́ıcil mostrar que um flip-flop SR pode ser usado paraimplementar um flip-flop JK, desde que S = (Q · J) e R = (Q · K ).Implementações utilizando flip-flops SR unclocked e clocked sãomostradas nas Figuras 15 e 16, respectivamente. Uma vez que arealimentação das sáıdas (Q e Q) para as entradas (J e K ) érealizada de forma cont́ınua, ambas apresentam o mesmo problema:oscilam quando J = K = 1. Para solucionar esse problema, exemplosde implementação para um flip-flop JK do tipo clocked, comestrutura master-slave, são apresentados nas Figuras 17 e 18.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 53 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Devido a problemas de temporização, o flip-flop D da Figura 14 podeapresentar mau funcionamento e até mesmo oscilações. Umaimplementação mais robusta é alcançada utilizando-se o flip-flop JKmaster-slave, com D = J e K = J.

    Por sua vez, um flip-flop T pode ser implementado com J = K = 1ou J = K = T .

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 54 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Técnica de pipelining : (a) Bloco funcional original e (b) Bloco compipelining.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 55 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Exemplo de implementação de flip-flop D do tipo master-slave, com baseem flip-flops SR.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 56 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Exemplo de implementação de flip-flop JK, a partir de flip-flop SRunclocked, com problema de oscilação.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 57 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Exemplo de implementação de flip-flop JK, a partir de flip-flop SRclocked, com problema de oscilação.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 58 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Exemplo 1 de implementação de flip-flop JK do tipo master-slave.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 59 / 65

  • Exemplos de flip-flopsFlip-flops do tipo clocked: master-slave e edge-triggered

    Figura: Exemplo 2 de implementação de flip-flop JK do tipo master-slave.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 60 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 61 / 65

  • Variações de funcionalidade

    Sáıdas dispońıveis: simples (Q) ou dupla e complementar (Q e Q).

    Entradas para inicialização da sáıda: clear (Q = 0) e preset (Q = 1).

    Tipo de ativação dos sinais de entrada: ńıvel baixo (ńıvel lógico“0”)ou ńıvel alto (ńıvel lógico“1”).

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 62 / 65

  • Flip-flop

    1 Introdução

    2 Classificação quanto à funcionalidade

    3 Relacionamento entre os tipos básicos de flip-flops

    4 Mapas de excitação dos flip-flops

    5 Tipos de comportamento das sáıdas dos flip-flops

    6 Excitação × comportamento7 Funcionalidade × excitação × comportamento8 Uso das tabelas de operação dos flip-flops

    9 Estruturas estáticas simétricas

    10 Exemplos de flip-flops

    11 Variações de funcionalidade

    12 Diferenças de nomenclatura

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 63 / 65

  • Diferenças de nomenclatura

    Diversas nomenclaturas diferentes podem ser encontradas naliteratura técnica.

    Utilizando como referência os tipos aqui definidos, as nomenclaturasmais comumente encontradas são apresentados na Tabela 5.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 64 / 65

  • Diferenças de nomenclatura

    Nomenclatura Nomes Tipos aqui definidos

    N1 Flip-flop Todos(os tipos unclocked e clocked elementarsão considerados flip-flops elementares)

    N2 Latch unclocked e clocked elementarFlip-flop clocked master-slave e

    clocked edge-triggered

    N3 Latch unclocked e clocked elementarLatch master-slave clocked master-slaveFlip-flop clocked edge-triggered

    N4 Latch unclockedControlled/Clocked-latch clocked elementar

    N5 Positive/Negative-edge flip-flop clocked master-slave

    Tabela: Diferentes nomenclaturas para flip-flops.

    Alexandre S. de la Vega (TET) Técnicas Digitais II Niterói - 2010 65 / 65

    Flip-flopIntroduçãoClassificação quanto à funcionalidadeRelacionamento entre os tipos básicos de flip-flopsMapas de excitação dos flip-flopsTipos de comportamento das saídas dos flip-flopsExcitação comportamentoFuncionalidade excitação comportamentoUso das tabelas de operação dos flip-flopsEstruturas estáticas simétricasExemplos de flip-flopsFlip-flops do tipo unclockedFlip-flops do tipo clocked

    Variações de funcionalidadeDiferenças de nomenclatura