circuitos elétricos e sistemas digitaisjmfigueiredo/cesd...2019/12/06 · jf/cesdig 2019/2020...
TRANSCRIPT
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Introdução à Lógica Sequencial
Circuitos Elétricos e Sistemas Digitais2018-2019 - 1.º Semestre
JF 181CESDig & CEletro 2019/20 Digital Fundamentals: A Systems Approach, T. L. Floyd © Pearson Higher Education, Inc. All Rights Reserved
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Introdução à lógica sequencial
• Quase todos circuitos digitais práticos são uma mistura de circuitos lógicos combinacionais e
circuitos lógicos sequenciais. Nos circuitos lógicos combinacionais a(s) saída(s) são função
apenas dos valores das entradas, i.e., os valores das saídas só dependem dos valores das
entradas, e obedecem às regras da lógica booleana. São descritos por tabelas de verdade.
• Nos circuitos lógicos sequenciais a saída futura depende dos valores das entradas atuais e da
saída presente (saída que resultou das entradas anteriores), isto é, a saída depende também do
histórico da saída e das entradas. Isto quer dizer que, ao contrário da lógica combinacional, a
lógica sequencial tem memória. Estes circuitos são descritos por tabelas de estados ou
diagramas de estado.
• Os circuitos sequenciais mais importantes/comuns designam-se por biestáveis e permitem
armazenar 1 bit de informação, e possibilitam que a informação armazenada possa ser reescrita.
• Com vários circuitos biestáveis ligados por intermédio de lógica adicional é possível construir
máquinas de estado finitas, blocos básicos na construção de todos circuitos digitais, e circuitos de
memória etc., tais como contadores, divisores de frequência, entre outros.
18217-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Introdução à lógica sequencial
Os circuitos lógicos sequenciais (circuitos biestáveis) podem ser divididos em dois grupos:
• Circuitos biestáveis síncronos: o estado muda apenas de acordo com os sinais de relógio.
• Circuitos biestáveis assíncronos: o estado pode mudar a qualquer momento, de acordo com as
alterações dos valores das entradas.
Os circuitos bestáveis assíncronos, designados por trincos ou “latches”, não necessitam de um
sinal de relógio para funcionarem.
Os circuitos biestáveis síncronos, também designados básculas ou “flip-flops”, necessitam de um
sinal de relógio para funcionarem. Os flip-flops podem ser: i) sensíveis ao bordo ascendente do sinal
de relógio; ii) sensíveis ao bordo descendente do sinal de relógio; ou iii) sensíveis ao valor lógico do
sinal de relógio.
Os circuitos sequenciais (maquinas de estados, etc.) são capazes de produzir saídas que não
dependem apenas das entradas atuais, mas também de entradas passadas e de estado anteriores.
Por isso necessitam de guardar os valores dos referidos estados anteriores, isto é, ter memória. O
objetivo dos elementos de memória é guardar valores lógicos.
O elemento de memória mais simples é o “latch” (trinco/tranca/guarda). Neste contexto, guardar
significa que o circuito é capaz de recordar ou lembrar um valor.
18317-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Lógica combinacional vs lógica sequencial
Entradas saídas
entradas saídas
11
01
ΣC
01
10
Entrada passada
saída passada
Entrada presente
saída presente
Somador/Adder
Exemplo: de um circuito combinacional
Lógica combinacional Lógica sequencial(lógica combinatória) (lógica biestável)
A saída atual depende apenas das entradas no instante atual.
Entradas saídas
Armazenar(bloco dememória)
Saída anterior
“Clock”/“relógio”
realimentação
A saída atual será dependente das entradas atuais e das entradas/saídas passadas.
saída anterior
Embora as portas lógicas, por si só, não tenham capacidade de armazenar de informação (bits), pode-se criar um elemento de memória com portas lógicas aplicando o conceito de realimentação.
18417-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Latches ou trincos e básculas ou flip-flops
Circuitos lógicos (idealizados) representativos de um latch:
Estas implementações da “latch” não teriam quaisquer utilidade, já que não têm entradas, e por isso não permitem escolher os valores a guardar pela latch.
185
ǪǬ
Ǫ
Ǭ
ǪEnt
Trinco/Latch com 1 entrada
Estes circuitos são constituídos por dois inversores que negam permanentemente o valor que está guardado.
Neste circuitos estão disponíveis a saída “direta” e a saída “negada”.
Um circuito mais realista/útil, com uma entrada, seria da forma:
Este circuito possui uma entrada através da qual se se fornece o valor que se pretende guardar, e uma saída Q, que permite ler o valor guardado. Contudo, para este circuito funcionar conforme esperado há aspetos práticos que terão que ser acautelados: impedir que haja curto-circuitos na saída do inversor inferior cada vez que é imposto um valor diferente daquele que estava armazenado nesse ponto do circuito).
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Circuitos biestáveis RS
186
O problema é resolvido com o circuito abaixo, que é um circuito biestável (tem dois estados estáveis) conhecido como biestável/trinco RS ou “latch” RS:
A saída Q do latch RS passa a 0 quando R passa de 0 a 1, com S=0; e passa a 1 quando S passa de 0 a 1, com R=0.
Este latch não produz saídas Q e não-Q coerentes se R e S forem Altos (“1”) em simultâneo.
Latch RS implementada com portas não-OU (NOR), com duas entradas, R e S, correspondentes às funcionalidades Reset e Set.
Reset corresponde a reiniciar ou colocar a 0 (zero/Baixo), que no caso das latches significa colocar a saída Q a 0.
Set corresponde a ATIVAR ou seja colocar a saída Q a 1 (um/Alto).
Nas discussões que se seguem consideram-se todos os elementos como sendo ideais; por isso os tempos de propagação dos sinais é considerado como sendo nulos.
A saída Q do latch RS passa a 0 quando R passa de 0 a 1 (entrada R ativada), e passa de 0 a 1 quando S passa de 0 a 1 (entrada S ativada).
Este circuito é capaz de reter os valores lógicos das saídas. Se R=S=0 ou se R/S passar de 1 a 0 a saída não é alterada, mantendo o seu valor.
17-12-2019
Q��� = R + Q� + S
Q��� = S + Q� + R
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Trincos/Latches RS e � �
O latch RS (latch obtido com portas NOR) realiza a função memória combinando duas portas lógicas de duas entradas idênticas de forma que a saída de cada uma das portas vai alimentar uma das entrada outra porta. A saída de uma das portas é designada Q e a saída da outra porta corresponde ao inverso de Q, Ǭ. O acoplamento cruzado das duas portas produz realimentação regenerativa.
187
Se ao invés das portas NOR forem usadas portas NAND, o latch obtido designa-se � � :
Neste caso a entrada livre da porta que produz a saída Q chama-se SET, e a entrada da porta que produz o inverso de Q, Ǭ, designa-se por RESET.
No trinco/latch implementado com portas NAND as entradas são ativadas com um BAIXO (R=0 ou S=0).
À entrada livre (entrada não usada no arranjo acima) da porta que produz Q chama-se RESET, e a entrada da segunda porta que produz a inversa de Q, Ǭ, designa-se por SET.
No trinco/latch implementado com portas NOR as entradas são ativadas com um ALTO (R=1 ou S=1).
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Trincos/Latches RS e S� R
188
Um trinco/latch é um circuito biestável (tem dois estado estáveis) que pode funcionar como memória
(tem um bloco de memória), sendo capaz de armazenar, temporariamente, um bit.
O latch RS reponde a entradas ativas em ALTO (um).
O latch S� R responde a entradas ativos em BAIXO (zero)
Dizer que as entradas são ativas a ALTO/BAIXO significa que é este valor lógico (ALTO/BAIXO) que impõe o resultado da saída da porta NOR/NAND.
Dependo do tipo de porta (NAND ou NOR) usada, as entradas do latch estão em repouso se forem ALTO (NAND) ou BAIXO (NOR).
Sempre que se deseja alterar a saída Q (e, portanto, a sua inversa) ativa-se uma das entradas: passando-a de ALTO (BAIXO) para BAIXO(ALTO).
Estas entradas correspondem ao valores anteriores da saída, ou seja dependem de um valor passado
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Operação do trinco/latch RS
0 00 11 01 1
NU: não usado
O estado 00 corresponde a memória (o latch mantém a saída).
Pode-se dizer que um latch é capaz de “trancar” o “0” e o “1”. Por isso o trinco/”latch” é o elemento básico de armazenamento de informação.
O latch S-R está num estado estável (“trancado”) em 1 ou 0, quando as duas entradas são BAIXO.
Se R for 0 e passar a 1 (Reset) a saída passará de “1” para zero “0” ou mantém-se em “0”.
Se S for 0 e passar a 1 (Set), a saída passará a “1” se estiver em “0”, e mantém-se em 1 se (já) for 1.
Funcionamento: Assume-se que o latch está inicialmente em BAIXO/RESET (Q=0) e que as entradas estão ambas inativas, i.e., R=0 e S=0. Para colocar o latch no estado “Q=1” (ALTO) [e a saída inversa passar a BAIXO (0)] aplica-se à entrada S um sinal ALTO (1). Se a latch estiver inicialmente em ALTO/SET, Q=1, com ambas as entradas inativas, para a colocar o latch no estado BAIXO (Q=0) R deve passar a ALTO (1), o que faz com que não-Q, Ǭ, passe a ALTO.
���� = � + �� · ��
189
Ǫn (Ǭn) representa a saída da latch
no instante de tempo n (instante de
tempo anterior à ação a executar) e
Ǫn+1 (Ǭn+1) indica a saída no instante
de tempo n+1 (o instante de tempo
posterior à ação a executar).
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Princípio de operação do trinco/latch RS
Inputs
A B X
Output
0 00 11 01 1
10 00
T.V. NOR
A
B
XPresente 1: Q=0, R=0 e S=0Ação: colocar S=1 (SET) e manter R=0Resultado: S=1 e Q=0 → �� = 0;
R = 0e�� =0 → Q= 1- mudança de estado (SET)
Presente 2: Q=1, R=0 e S=1Ação: colocar S=0 e manter R=0Resultado: S=0 e Q=1 → �� = 0;
R = 0e�� =0 → Q= 1 - sem mudança de estado
Presente 3: Q=1, R=0 e S=0Ação: colocar R=1 (RESET) e manter S=0Resultado: R=1 e �� = 0 → Q= 0;S = 0e� =0 → �� = 1 - mudança de estado (RESET)
Presente 4: Q=0, R=1 e S=0Ação: colocar S=1 e manter R=1Resultado: S=1 e Q= 0 → �� = 0;
R = 1e�� =0 → Q= 0 (não é possível) – estado indeterminado
0 00 11 01 1
NU: não usado
(Memória)
���� = � + �� · ��
19017-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Princípio de operação do trinco/latch ��
0 00 11 01 1
Este circuitos são equivalentes
191
=
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Princípio de operação do trinco/latch �-�
T.V. NAND
Presente 1: Q=0, �̅ = 1 e ��=1Ação: colocar �̅ = 0 (SET) e manter ��=1Resultado: �̅ = 0e�� = 1 → Q= 1��=1 e Q=1 → �� = 0 - mudança de estado
Presente 2: Q=1, �̅ = 1 e ��=1Ação: colocar �̅ = 0e manter ��=1Resultado: ��=1 e Q=1 → �� = 0;
�̅ = 0e�� = 0 → Q= 1 - sem mudança de estado
Presente 3: Q=1, �̅ = 1 e ��=1Ação: colocar ��=0 (RESET) e manter �̅ = 1Resultado: ��=0 e Q= 1 → �� = 1;
�̅ = 1e�� = 1→ Q= 0 - mudança de estado
Presente 4: Q=0, ��=1 e �̅ = 1Ação: colocar �� = 0 e manter �̅Resultado �� = 0e � = 0 → �� = 1
�̅=1e� = 1 → Q= 0 - mantém estado
Inputs
A B X
Output
0 00 11 01 1
11 10
A
B
X
0 00 11 01 1
19217-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Nunca se deve ativar simultaneamente o Set e o Reset.
Resumo da dinâmica do trinco/latch �-�
•193
=
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Exercício exemplo
0 00 11 01 1
T.V. NAND
Inputs
A B X
Output
0 00 11 01 1
11 10
19417-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Bistável Tipo D / latch D (D de delay)
0 00 11 01 1
NU: não usado /
(Memória)
Se impusermos no latch RS que R e S são sempre diferentes obtém-se o latch D:
0 11 0
0 11 0 ���� = �
195
Tabela de estados do latch RS
Tabela de estados do latch D
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Latch SR habilitado
Há situações em que é conveniente que os biestáveis estejam ativos (habilitados) apenas durante certos intervalos de tempo predeterminados, e que mantenham as suas saídas inalteradas no restante tempo, independentemente de alterações que possam ocorrer no valor das entradas. Um biestáveis podem ser habilitados/ativados por um estado ou por uma transição de estados. Os latch (trincos) são transparentes, isto é, as suas saídas são atualizadas sempre que a sua variável de habilitação (EN, de “enable”) esteja ativa. A variável de habilitação pode ser ativada com “1” ou com “0”.
Latch com EN ativo em “1”:
As entradas S e R controlam o estado para o qual o latch irá comutar quando um nível ALTO é aplicado (e/ou mantido) à entrada EN. O latch não mudará de estado até que EN seja nível ALTO.
Neste circuito o estado inválido ocorre quando S e R estiveram simultaneamente em ALTO.
196
EN: entrada de habilitação/ativação
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Exercício
19717-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Trinco D Controlado / Latch D Controlado
Regra simples: O latch D segue a entrada D quando a entrada EN está ativa.
0 11 01 1
0 11 0
NU
NU: não usado
Exercício
19817-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Latch J K
O Latch J-K elimina o efeito indesejado da combinação RS="11“, porque produz um valor indefinido à saída, com a introdução de duas portas NAND, em que uma das entradas é ligada à saída da segunda porta e a outra corresponde à entrada J ou K.
Q��� = S · R · Q� eQ��� = R · S · Q �
R= R · Q� eS= J · Q �
19917-12-2019
Entradas Estado seguinte
J (SET) K(Reset) ����
0 0 Q�
0 1 0
1 0 1
1 1 Q �
Q��� = S · R · Q�
Q��� = R · S · Q �
R= R · Q�
S= J · Q �
Tabela funcional da lacth J-K
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flops
200
A grande maioria dos dispositivos digitais sequenciais opera no modo síncrono ao contrário das latch, que não possuem relógio e cuja saída pode mudar de estado a qualquer momento. Acresce que os circuitos assíncronos são mais complexos, pois os seus elementos podem responder em períodos temporais diferentes. Os sistemas síncronos possuem um relógio que produz uma onda quadrada, a qual determina o intervalo de tempo em que as saídas dos diferentes dispositivos devem mudar de estado.
Os latch cujo estados são comandadas por sinais de relógio são chamados flip-flops, e podem ser sensíveis:• ao nível lógico do relógio (“level-triggered”), Figura (a), quando o estado das saídas só se pode modificar
durante o intervalo de tempo em que o valor lógico do relógio estiver alto ou baixo, conforme o flip-flop seja sensível ao valor alto ou baixo.
• à borda ascendente e à borda descendente do sinal de relógio (“edge-triggered”)• se o flip-flop responder apenas durante a transição de 0 para 1 do relógio designa-se por flip-flop sensível ao bordo ascendente ou à transição positiva do relógio (representado por um triangulo), Fig. (b);
• se o flip-flop responder apenas durante a transição de 1 para 0 do relógio o flip-flop é sensível ao bordo descendente ou à transição negativa do relógio (representado por um triangulo complementado por um inversor), Fig. (c).
(a) (b) (c)
Sensível ao valor lógico Sensível ao flanco ascendente Sensível ao flanco descendente
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flop/Báscula D (“delay”, atraso)
Quando um biestável é ativado para transição de estado (ou ao flanco/borda) passa a designar-se por báscula (ou flip-flop). Assim, um flip-flop difere de um latch na maneira como muda de estado. Isto é, um flip-flop é um circuito controlado pelo sinal de relógio, em que a mudança de estado (isto é, o valor do bit de saída) é determinada pelas transições/flanco/borda ascendentes ou descentes do sinal de relógio. A transição ascendente também se designa transição positiva (transição de 0 para 1); a transição descendente é também conhecida como transição negativa (transição de 1 de para 0).
Existem básculas ativas ao flanco/borda ascendente (transições BAIXO (0) → ALTO (1) e ao flanco/borda descendente (transição 1 para 0).
O circuito abaixo representa um flip-flop (báscula) que é sensível à transição de estado por flanco/borda ascendente do sinal de controlo (e.g. o sinal de relógio CK, CK de “clock”).
Circuito e símbolo de um flip-flop do tipo D ativo ao flanco ascendente (borda de subida – borda positiva) do pulso de relógio ou entrada de disparo (relógio, C ou CK).
20117-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flop D
O flip-flop D é usado quando se pretende armazenar um único bit (1 ou 0).
Conforme vimos, a adição de um inversor a ligar as entradas R e S de um flip-flop RS cria um flip-flop D básico, que tem apenas a entrada D, além do relógio. No estado SET o flip-flop armazena um nível 1 e no estado RESET armazena um nível 0. O bit de dados da entrada D é transferido para a saída Q em resposta ao flanco/borda do sinal de relógio (no caso da figura, flanco ascendente).
Uma vez “ativado”, a saída Q iguala o valor da entrada D até que um novo sinal de ativação (flanco ascendente do sinal de relógio) chegue.
202
Flanco ascendente
17-12-2019
Flanco ascendente
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Exercício exemplo
20317-12-2019
Flanco ascendente
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Báscula JK / Flip-flop J K
No flip-flop JK a combinação RS="11" passa a ser possível porque flip-flop tira partido da lógica combinacional que se adicionou ao latch JK. O funcionamento do flip-flop J-K de disparo de borda/flanco é idêntico ao do flip-flop RS nas condições de SET, RESET e repouso (memória). Porém o flip-flop J-K aprimora o funcionamento do flip-flop R-S interpretando a condição S = R = 1 como um comando de inversão (Não-Q), e deixa de haver o estado inválido como do flip-flop RS. Neste caso, os valores das entradas J e K determinam, em conjunto com o disparo de flanco do pulso de relógio, o estado de saída. Especificamente, a combinação J = 1, K = 0 corresponde ao “comando” para ativar (SET) a saída do flip-flop; a combinação J = 0, K = 1 ao “comando” para desativar (RESET) a saída do flip-flop; e a combinação J = K = 1 provoca a inversão das saídas do flip-flop, isto é, troca o sinal de saída Q pelo seu complemento, e o complemento por Q.
20417-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flop J-K
0 0 ↑0 1 ↑1 0 ↑1 1 ↑
Consideremos o caso em que o flip-flop ativado por flanco ascendente está resetado (Q=0), com a entrada J em ALTO e a entrada K em BAIXO. Quando um pulso de relógio "chega" à entrada CLK, a borda de subida (ascendente) ativa o flip-flop, que passa para o estado SET (Q=1), uma vez que J está em ALTO e Não-Q era ALTO até à chegada do pulso.
Se agora fizermos J=BAIXO e K=ALTO, a próxima borda ascendente do pulso a chegar faz com que o flip-flop mude para o estado RESET: K é ALTO e Q continua ALTO até à chegada do pulso; a chegada do pulso comuta Não-Q para ALTO, e Q para BAIXO.
Se ambas as entradas estiveram em BAIXO não há mudança de estado.
Se forem ambas ALTO há mudança (comutação/alteração) de estado (para o estado oposto) a cada chegada do pulso ascendente do sinal de relógio.
���� = � · �� + · ��
*alterna
205
Flanco ascendente
17-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flip tipo T (Toggle/Comutação)
Como vimos, no biestável JK a combinação RS=“11” é possível se tirarmos partido da lógica combinacional. Neste caso os valores das entradas J e K determinam univocamente o seu estado de saída, em conjunto com o pulso de relógio.
Assim, se ambas as entradas forem BAIXO não há mudança de estado. Se foram ambas forem ALTO há mudança (comutação/alterna) de estado (para o estado oposto) a cada transição de relógio sucessiva.
O flip-flop J-K conectado no modo toggle (alterna) – J=K=1 – é denominado flip-flop tipo T.
A saída do flip-flop tipo T muda de estado sempre que o biestável é habilitado pelo sinal de relógio.
���� = ! · �� + !� · ��
20617-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Combinações da entradas J e K no flip-flop J-K
Os valores das entradas J e K do flip-flop JK determinam os estados da saída.
Saída para as quatro possibilidade de entradas:
20717-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Flip-flops ativados por flanco positivo/negativo
A entrada de relógio sem círculo indica que o flip-flop é ativado pelo flanco ascendente.
208
O círculo na entrada de relógio indica que o flip-flop é ativado pelo flanco descendente.
A saída de um flip-flop ativado por flanco muda em resposta à transição positive ou à transição negative do sinal de relógio C.
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Entradas assíncronas “Preset” e “Clear”
A maioria dos flip-flops em circuitos integrados tem também entradas assíncronas, que afetam o estado do flip-flop independente do relógio, normalmente denominadas preset(PRE) e clear (CLR), ou “seta direto” (SD) e “reseta direto” (RD) por alguns fabricantes.
As entradas dos flip-flops até agora consideradas, as entradas R-S, D e J-K, são denominadas entradas síncronas porque os dados nessas entradas são transferidos para a saída do flip-flop apenas na borda de disparo do pulso de relógio correspondente; ou seja, os dados são transferidos de forma sincronizada com o sinal de relógio.
•209
Um nível ativo na entrada preset irá setar o flip-flop.
Um nível ativo na entrada clear irá resetar o flip-flop.
O símbolo lógico para um flip-flop J-K com entradas preset e clear está indicado na figura ao lado, para o caso de entradas ativas em nível BAIXO, conforme indicado pelos pequenos círculos.
As entradas de preset (PRE) e clear (CLR) têm que ser mantidas em nível ALTO para a operação síncrona.
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Exercício exemplo
���� = � · �� + · ��
21020-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Aplicações mais comuns dos flip-flops
Um flip-flop (FF) consegue armazenar 1 bit de informação. Habitualmente, a informação é guardada em múltiplos de 8 bits, por exemplo, 8, 16, 32, 64, …
No armazenamento de dados (registos), isto é se se pretender armazenar vários bits de informação, é necessário combinar vários FF. Se se pretender guardar 2 bits de informação são necessários 2 FF; para 3 bits de informação, por exemplo um número octal, são necessários 3 FF, para guardar 4 bits de informação, por exemplo um número hexadecimal, são necessários 4 FF.
Se os FFs forem sincronizados com o mesmo sinal de relógio podem armazenar os bits em simultâneo.
Os FFs são igualmente muito utilizados no projeto de circuitos divisores de frequência. Um divisor de frequência é um circuito que permite dividir o valor da frequência do sinal inicial por "#, em que $representa o número de FFs usados. Caso se pretenda reduzir a frequência para metade (dividir por dois), basta utilizar apenas um FF. Se se pretender construir um divisor de frequência por 8, são necessários 3 FFs, sendo que a saída dos dois primeiros FFs deve ser liga à entrada de relógio do FF subsequente.
Um circuito divisor de frequência pode igualmente ser considerar um contador decrescente ou crescente, conforme a saída ou a sua complementada de cada FF é ligada à entrada de relógio dos FFssubsequentes, ou em alternativa se se utilizar FFs sensíveis à borda descendente.
Os contadores são circuitos digitais compostos por um conjunto de FFs interligados com o propósito de realizar uma determinada sequência de contagem. Estes circuitos são muito utilizados na conceção de contadores de impulsos, divisores de frequência ou geradores de ondas faseadas.
Nos contadores assíncronos apenas o primeiro FF se encontra ligado ao relógio. Nos contadores síncronos, todos os FFs internos estão sincronizados com o mesmo sinal de relógio. O módulo de um contador corresponde ao valor máximo da contagem, que está diretamente ligado ao número de flip-flops.
A saída do FF ao qual está ligado sinal de relógio corresponde ao bit menos significativo, a saída do FF mais afastado corresponde ao bit mais significativo.
21120-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 2 bits
Um contador é assíncrono se os respetivos flip-flops não forem ativadas em simultâneo, isto é, não forem ativadas pelo mesmo sinal. Um contador assíncrono é também um divisor de frequência.
Num contador assíncrono, o relógio é aplicado apenas ao primeiro “andar”. Os andares subsequentes usam o sinal de relógio gerado pelo andar imediatamente anterior.
O esquema abaixo representa um contador assíncrono de 2 bit implementado com flip-flops T (���� = ! · �� + !� · ��), com disparo pela borda positiva.
(um contador de 2 bit só conta 4 sequências: 00 (0), 01 (1), 10 (2), e 11 (3), voltando a contar 00 (0), 01 (1), 10 (2), …)
212
As saídas Q0 e Q1 indicam o número de pulsos de relógio recebidos: Q1Q0.
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 2 bits
Diagrama de tempo do contador assíncrono de 2 bit (Q1Q0) implementado com flip-flops T.
Q1Q0 00 01 10 11 00 (binário)
0 1 2 3 0 (decimal)
213
Contador assíncrono de 2 bit implementado com flip-flops T (���� = ! · �� + !� · ��), disparados pela transição positiva.
As saídas Q0 e Q1indicam o número de pulsos de relógio recebidos: Q1Q0.
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Análise do contador assíncrono de 2 bitsUm contador assíncrono é também um divisor de frequência.
No exemplo que se segue os flip-flops são do tipo T (���� = ! · �� + !� · ��) disparados pela borda negativa. Os dois flip-flops estão inicialmente resetados.
As saídas QA e QB
indicam o número de pulsos de relógio recebidos: QBQA.
O flip-flop A comuta na transição negativa de cada pulso de relógio. A saída QA do flip-flop A é o relógio do flip-flop B, assim cada vez que QA faz uma transição de nível ALTO para nível BAIXO, o flip-flop B muda de estado (flip-flop T).
As formas de onda resultante de QA e QB são mostradas na figura.
•214
Sinal de frequência f
Sinal de frequência f/2
Sinal de frequência f/4
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 2 bitsFIGURE 9-4 A 2-bit asynchronous binary counter.
FIGURE 9-5 Timing diagram for the counter of Figure 9-4. As in previous chapters, output waveforms are shown in green.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 3 bits(conta até 7, de 0 a 7)
As saídas Q0, Q1 e Q2 indicam o número de pulsos de relógio recebidos: Q2Q1Q0.
flip-flops T (���� = ! · �� + !� · ��).
216
Q2Q1Q0 000 001 010 011 100 101 110 111 000 (binário)
0 1 2 3 4 5 6 7 0 (decimal)
20-12-2019
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 3 bitsFIGURE 9-6 Three-bit asynchronous binary counter and its timing diagram for one cycle.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de 4 bitsFIGURE 9-8 Four-bit asynchronous binary counter and its timing diagram
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de décadaFIGURE 9-9 An asynchronously clocked decade counter with asynchronous recycling.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Divisores de Frequência por 2 e por 4Um contador assíncrono pode funcionar também como divisor de frequência. Os contadores assíncronos abaixo permitem contar até 1 (decimal, 0 e 1) e até 3 (em decimal, 0, 1, 2 e 3), e também são designados por divisores de frequência por 2 e por 4.
Os flip-flops D e J-K estão ligados para funcionarem como divisores por 2.
Flip-flops T: ���� = ! · �� + !� · ��
Fip-flops D: ���� = �
•220
Os flip-flops J-K estão colocados em cascata para formarem um divisor por 4.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Divisor de Frequência por 4 com flip-flops D
O diagrama abaixo corresponde a um contador assíncrono de 2 bits, formado por 2 flip-flop do tipo D ativados à transição positiva do sinal de relógio. É também indicado o respetivo diagrama temporal.
1 2 3 0 1 2 3 0 1 2 3
Este contador assíncrono de 2 bits permite contar até 3 (em decimal) e é também um divisor em frequência por 2 e por 4: a saída de Q0 corresponde a um sinal com o dobro do período do sinal de relógio CK; a saída Q1 corresponde a um sinal cujo período é o quadruplo do período do sinal de relógio CK.
Q1Q0 → 01 → 10 → 11 → 00 → 01
221
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contadores de MóduloO módulo de um contador corresponde ao número de estado que o contador percorre (“conta”) em um ciclo completo de contagem. Isto é, o módulo de um contador é um valor xque o contador pode contar. O valor máximo da contagem em decimal é = 2& − 1, onde $representa o número de flip-flops ou bits de contagem.
Exemplos: um contador de módulo igual a 4 pode contar até 4 (3 decimal: 0, 1, 2 e 3); um contador de módulo 8 pode contar até 8 (0 - 7 decimal). (Ter presente que um contador também faz divisão de frequência). O módulo do contador corresponde ao valor máximo da divisão em frequência que se pode obter.
O diagrama abaixo corresponde a um contador assíncrono de 2 bits, formado por 2 flip-flop do tipo D ativados à transição positiva do sinal de relógio.
1 2 3 0 1 2 3 0 1 2 3 0
Este contador assíncrono de 2 bits permite contar até 4 (0, 1, 2 e 3, em decimal). Portanto é um contador de módulo 4. Este contador atua também como um divisor de frequência por 2 e como um divisor de frequência por 4.
222
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador de Módulo 6
O módulo de um contador é um valor x que o contador pode contar. Exemplo: um contador de módulo igual a 6 pode contar até 6 [000 (0) … 101 (5)].
O diagrama abaixo corresponde a um contador assíncrono de 3 bit, formado por 3 flip-flop do tipo D ativados à transição positiva do sinal de relógio.
Este contador poderá contar até 8. Contudo pretende-se que ele conta apenas até 6. Neste caso a contagem é reinicializada à 7ª sequencia, por forma a que contagem termine após se obterem as primeiras 6 sequências.
Q2Q1Q0 → 000 → 001 → 010 → 011 → 100 → 101 → 000
A sequência ‘101’ (quando Q0=1, Q1=0, e Q2=1) permite reiniciar a contagem, e, portanto, inicializar o respetivo flip-flop com valor zero (clear, CL=‘0’). O sinal de inicialização ou de clear – é aplicado às entradas CL dos flip-flops.
223
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador assíncrono de módulo 12 FIGURE 9-10 Asynchronously clocked modulus-12 counter with asynchronous recycling.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contadores de módulo elevadoContadores em cascata
Os contadores de módulos baixos podem ser colocados em cascata por forma a obter contadores de modulo mais elevado ou divisor de ordem mais elevada.
No circuito abaixo um contador de modulo 4 é colocado em casata com um Contador de modulo 8, permitindo obter um contador de modulo 32.
Q4Q3Q2Q1Q0
225
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Dois contadores assíncronos em cascata(todas as entradas J e K são ALTO).
Diagrama de tempo
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador de módulo 100 usando dois contadores de década em cascata.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Três contadores de décadas em cascata, formando um divisor de frequência de divisão por 1000 com saídas
intermediárias de divisão por 10 e divisão por 100.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de 2 bit
Um contador é síncrono quando os respetivos flip-flops (básculas) são ativados ao mesmo tempo, usando um sinal de relógio comum.
Nestes contadores é eliminada a desvantagem dos diferentes tempos de propagação dos sinais “através” dos flip-flops. Contudo, e por isso, requerem mais elementos para controlar as mudanças de estados.
O circuito abaixo corresponde a um contador síncrono de 2 bit, que tem a mesma sequência de contagem que o contador assíncrono de 3 bit anterior.
Flip-flops T: ���� = ! · �� + !� · ��.
229
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de 2 bit com flip-flops D
Um contador de código Gray de 2 bit pode ser implementado com 2 flip-flops do tipo D sensíveis ao flanco ascendente do sinal de relógio.
Conforme referido, não é considerado o tempo de propagação nos flip-flops.
Flip-flops D: ���� = �.
230
Q0 Q1
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de 2 bit com flip-flops JKFIGURE 9-12 2-bit synchronous binary counters.
FIGURE 9-14 Timing diagram for the counters of Figure 9-12.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono binário de 3 bitFIGURE 9-15 A 3-bit synchronous binary counter.
232
Contador binário de 3 bit usa uma porta AND. Ao contrario do contador de 2 bit já descrito. A saída da porta AND produz as entradas J e K do flip-flop FF2.
FIGURE 9-16 Timing diagram for the counter of Figure 9-15.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Sumário da análise do contador J-K de 3 bitsTABLE 9–4 Summary of the analysis of the counter in Figure 9–15.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador binário síncrono de 4 bit
234
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de 4 bit FIGURE 9-17 A 4-bit synchronous binary counter and timing diagram.
Times where the AND gate outputs are HIGH are indicated by the shaded areas.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de década BCD FIGURE 9-18 A synchronous BCD decade counter.
FIGURE 9-19 Timing diagram for the BCD decade counter (Q0 is the LSB).
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador descodificadorFIGURE 9-42 Decoding of state 6 (110).
A descodificação é a deteção de um número binário e pode ser feito com o apoio de portas AND.
A saída da porta AND no circuito abaixo passa a alto quando a saída do contador é igual a seis (110).
237
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono de 3 bit descodificador de 2 e 7FIGURE 9-43 A 3-bit counter with active-HIGH decoding of count 2 and count 7.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Contador síncrono ascendente/descendente FIGURE 9-22 A basic 3-bit up/down synchronous counter.
Um contador ascendente/descendente é capaz de progredir em qualquer direção, dependendo de uma entrada de controle.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Registo de deslocamentoOs registos são elementos fundamentais dos sistemas digitais, e consistem, basicamente, num conjunto de elementos de memória, normalmente flip-flops, ligados de uma determinada forma. Uma grande parte das operações realizadas com um microprocessador corresponde a transferências de e para um registo. Uma simples operação de soma obriga a fazer duas leituras (dos dois operandos) a partir de um registo, seguida da operação lógica e, por último, uma escrita, igualmente num registo, para guardar o resultado.
240
O registo de deslocamento realiza uma operação diferente mas também muito importante: a informação que se encontra associada à saída de um flip-flop é transferida, no próximo flanco, ao flip-flop seguinte. Exemplo: registo de deslocamento de 3 bit implementado com flip-flops do tipo D: este elemento permite efetuar um deslocamento do seu conteúdo para a direita em cada vertente ativa do relógio.
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Registo de deslocamento
241
Os registros de deslocamento podem formar contadores úteis recirculando um padrão de 0 e 1. Um contador Johnson é outro exemplo de um registro.
Contador Johnson de 4 bits construído usando uma série de flip-flops D
O diagrama de temporal do contador Johnson de 4 bits:
JF/CESDig 2019/2020 & Digital Fundamentals,” Thomas L Floyd, Global Edition (11e) Pearson Education
Armazenamento de dados em paralelo
Uma necessidade comum em sistemas digitais é armazenar diversos bits de dados em linhas em paralelo simultaneamente.Esta operação é ilustrada na Figura (a) usando quatro flip-flops. Cada uma das quatro linhas paralelas de dados é conectada na entrada D do flip-flop. As entradas de relógio CLK dos flip-flops são conectadas juntas, de forma que os flip-flops são disparados pelo mesmo pulso de relógio. Neste exemplo são usados flip-flops disparados por borda positiva, assim os dados nas entradas D são armazenados simultaneamente pelos flip-flops na borda positiva do relógio, conforme indicado no diagrama de temporização visto na Figura (b). Além disso, as entradas assíncronas de reset (R) são conectadas numa linha comum, a qual reseta todos os flip-flops.
242