Um flip-flop é implementado como um multivibrador biestável; portanto, Q e Q 'são garantidos como inversos entre todas as entradas, exceto S = 1, R = 1, o que não é permitido. A tabela de excitação para o flip-flop SR é útil para entender o que ocorre quando os sinais são aplicados às entradas.
S R Q(t) Q(t+1)
----------------
0 x 0 0
1 0 0 1
0 1 1 0
x 0 1 1
As saídas Q e Q 'mudarão rapidamente de estado e pararão em um estado estável após os sinais serem aplicados a S e R.
Example 1: Q(t) = 0, Q'(t) = 1, S = 0, R = 0.
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(0 OR 1) = 0
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(0 OR 0) = 1
State 2: Q(t+1 state 1) = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 1) = 0
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(0 OR 0) = 1
Since the outputs did not change, we have reached a steady state; therefore, Q(t+1) = 0, Q'(t+1) = 1.
Example 2: Q(t) = 0, Q'(t) = 1, S = 0, R = 1
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(1 OR 1) = 0
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(0 OR 0) = 1
State 2: Q(t+1 state 2) = NOT(R OR Q'(t+1 state 1)) = NOT(1 OR 1) = 0
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(0 OR 0) = 1
We have reached a steady state; therefore, Q(t+1) = 0, Q'(t+1) = 1.
Example 3: Q(t) = 0, Q'(t) = 1, S = 1, R = 0
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(0 OR 1) = 0
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(1 OR 0) = 0
State 2: Q(t+1 state 2) = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(1 OR 0) = 0
State 3: Q(t+1 state 3) = NOT(R OR Q'(t+1 state 2)) = NOT(0 OR 0) = 1
Q'(t+1 state 3) = NOT(S OR Q(t+1 state 2)) = NOT(1 OR 1) = 0
We have reached a steady state; therefore, Q(t+1) = 1, Q'(t+1) = 0.
Example 4: Q(t) = 1, Q'(t) = 0, S = 1, R = 0
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(1 OR 1) = 0
State 2: Q(t+1 state 2) = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(1 OR 1) = 0
We have reached a steady state; therefore, Q(t+1) = 1, Q'(t+1) = 0.
Example 5: Q(t) = 1, Q'(t) = 0, S = 0, R = 0
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(0 OR 1) = 0
State 2: Q(t+1 state 2) = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 0) = 1
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(0 OR 1) = 0
We have reached a steady; state therefore, Q(t+1) = 1, Q'(t+1) = 0.
With Q=0, Q'=0, S=0, and R=0, an SR flip-flop will oscillate until one of the inputs is set to 1.
Example 6: Q(t) = 0, Q'(t) = 0, S = 0, R = 0
State 1: Q(t+1 state 1) = NOT(R OR Q'(t)) = NOT(0 OR 0) = 1
Q'(t+1 state 1) = NOT(S OR Q(t)) = NOT(0 OR 0) = 1
State 2: Q(t+1 state 2) = NOT(R OR Q'(t+1 state 1)) = NOT(0 OR 1) = 0
Q'(t+1 state 2) = NOT(S OR Q(t+1 state 1)) = NOT(0 OR 1) = 0
State 3: Q(t+1 state 3) = NOT(R OR Q'(t+1 state 2)) = NOT(0 OR 0) = 1
Q'(t+1 state 3) = NOT(S OR Q(t+1 state 2)) = NOT(0 OR 0) = 1
State 4: Q(t+1 state 4) = NOT(R OR Q'(t+1 state 3)) = NOT(0 OR 1) = 0
Q'(t+1 state 4) = NOT(S OR Q(t+1 state 3)) = NOT(0 OR 1) = 0
...
As one can see, a steady state is not possible until one of the inputs is set to 1 (which is usually handled by power-on reset circuitry).
Se examinarmos a implementação mais simples de um flip-flop SR (consulte http://en.wikipedia.org/wiki/File:Transistor_Bistable_interactive_animated_EN.svg ), descobrimos que ele é composto por dois transistores de junção bipolar (BJTs) e quatro resistores (substitua os comutadores SPST por terra com os interruptores SPDT que podem alternar as linhas de configuração e redefinição entre o potencial de terra e V +). Os BJTs são configurados como inversores de emissor comuns. O coletor (saída) de cada transistor é retornado à base (entrada) do transistor oposto. A entrada S é conectada com a saída do BJT cuja conexão do coletor serve como saída Q (a junção de R1 / R3). A entrada R é conectada por um fio com a saída do BJT cuja conexão de coletor serve como saída Q '(a junção de R2 / R4).
Quando o circuito é ligado pela primeira vez, nenhum transistor é polarizado para a frente na região de saturação por uma pequena fração de segundo, o que significa que Q e Q 'estão no nível lógico 1. A tensão disponível em cada coletor é alimentada à base do transistor oposto, que faz com que ele se incline para frente na região de saturação. O transistor que se torna polarizado para a frente primeiro começa a conduzir a corrente primeiro, o que, por sua vez, causa uma queda de tensão no resistor do coletor, configurando sua saída para o nível lógico 0. Essa queda na tensão do coletor impedirá o transistor oposto de tornando-se tendencioso; portanto, definindo o estado inicial do flip-flop. É basicamente uma condição de corrida de hardware que leva a um resultado imprevisível.