Buscar

9a-Aula

Prévia do material em texto

Aula 09 
 
Memórias e Circuitos Digitais Seqüenciais 
 
Introdução 
 
 Os circuitos lógicos estudados até aqui são chamados de 
combinacionais (ou combinatórios). São assim chamados porque a sua 
saída depende apenas dos valores presentes nas suas entradas. Portanto, 
esses circuitos não possuem memória. 
 
 Os circuitos lógicos que incorporam memória são denominados 
circuitos seqüenciais; isto é, sua saída não depende apenas do valor 
presente na entrada, mas também dos valores de instantes anteriores. 
Esses circuitos requerem, para sua operação, o uso de um relógio 
(clock) de temporização. 
 
 Há basicamente duas formas para fazer com que um circuito 
digital tenha memória, essas são: 
 
1. Realimentação positiva 
2. Armazenamento de carga em um capacitor. 
 
 
 A realimentação positiva faz com o circuito tenha dois estados 
estáveis. Tal circuito biestável pode ser empregado par armazenar um 
bit de informação. Um circuito biestável pode permanecer em dado 
estado indefinidamente na ausência de sinal e, portanto, pertence à 
categoria de circuitos seqüências estáticos. 
 
 O armazenamento de carga em um capacitor indicará um 1 
quando estiver carregado; quando estiver descarregado, terá um 0 
armazenado. Uma vez que as correntes de fuga são inevitáveis e 
causam a descarga do capacitor, ele necessitará ser regenerado 
periodicamente, no processo conhecido como restauração. Portanto, 
como na lógica dinâmica, memórias baseadas no armazenamento de 
cargas são conhecidas como memórias dinâmicas e pertencem à classe 
de circuitos seqüências dinâmicas. 
 
 
 
 O Latch 
 
 O elemento básico de memória, lacth está representado na figura 
A.9.1 a). Ele consiste em dois inversores lógicos, G1 e G2, conectados 
em malhas fechada. Os inversores forma uma malha de realimentação 
positiva. 
 
 
 
 
Figura A.9.1 a) Latch básico. b) O latch com a malha de realimentação 
aberta. c)Determinação do ponto de operação do latch. 
 
 
 Princípio de funcionamento 
 
 Para entender o funcionamento do latch, vamos abrir a malha de 
realimentação do inversor G1 (por, exemplo) e aplicar um voltagem vW 
que varia de 0 V até uma tensão maior que VOH; como indicado na 
figura A.9.1 b). A característica de transferência dos dois inversores 
está mostrada figura A.9.1 c). Observe que essa característica consiste 
em três segmentos, com o segmento do meio correspondendo à região 
de transição dos inversores. 
 
 É mostrada também na figura uma reta com inclinação 1. Essa 
reta representa a relação entrada igual a saída (vW = vZ), que é obtida 
quando conectamos os pontos W e Z. 
 
 Como pode ser observado na figura, a linha reta intercepta a curva 
de transferência em três pontos, A, B e C. É deixado por aluno mostrar 
que, enquanto os pontos A e C são estáveis, no sentido em que o 
circuito permanece em um deles indefinidamente, o ponto B é um ponto 
de operação instável; o latch não pode permanecer por um período 
significativo. 
 
 
 Portanto o latch é um circuito biestável que possui duas saídas 
complementares. O estado estável no qual o latch opera depende da 
excitação externa que o força para um estado particular. O latch então 
memoriza essa ação externa, permanecendo indefinidamente no estado 
a que foi levado. Como elemento de memória, o latch é capaz de 
armazenar um bit de informação. Finalmente, deve ser óbvio que o 
circuito latch descrito é do tipo estático. 
 
 Analisaremos a seguir, o mecanismo pelo qual o latch pode ser 
disparado, para mudar de estado. O latch, junto com o circuito de 
disparo, forma um flip-flop . 
 
 
O flip-flop 
 
 O tipo mais simples de flip-flop é o set/reset (RS ou SR), 
mostrado na figura A.9.2 a). É formado por duas portas NOU (ou NOR) 
interligadas por conexões cruzadas entre entradas e saídas e, portanto, 
incorpora um latch. A segunda entrada de cada porta NOU é usada para 
entradas de disparos do flip-flop. Essas duas entradas são denominadas 
S (para set) e R (para reset). As saídas são chamadas Q e Q , 
enfatizando o fato de que elas são complementares. Considera-se o flip-
flop no estado de set (isto é, armazenando um 1 lógico) quando Q é alta 
e Q é baixa. Quando o flip-flop está no outro estado (Q baixa e Q alta), 
ele é considerado em reset (armazenando um 0 lógico). 
 
 
 
 
 
 
Figura A.9.2 O flip-flop tipo set/reset (SR) e sua tabela verdade. 
 
Q 
 A operação do flip-flop está resumida pela tabela verdade na 
figura A.9.2 b), na qual Qn representa o valor de Q no instante tn antes 
da aplicação dos sinais R e S, e Qn+1 representa o valor de Q no 
instantes tn+1 após a aplicação dos sinais de entrada. 
Operação do flip-flop 
 
 Consideraremos o caso em que o flip-flop está memorizando o 0 
lógico. Uma vez que Q será baixa, as duas entradas da porta NOU P2 
serão baixas. Sua saída então será alta. Esse nível alto é aplicado a 
entrada de P1, fazendo com que a saída Q seja baixa, satisfazendo a 
condição inicial. Para o estado set do flip-flop, elevamos a entrada S 
para o nível lógico 1, enquanto mantemos R em 0. O 1 no terminal A 
forçará a saída de P2, Q , para 0. portanto, as duas entradas de P1 serão 
0 e sua saída Q será 1. No entanto, mesmo que S volte para 0, o flip-flop 
permanecerá no último estado adquirido, set. Obviamente, se elevarmos 
S para 1 novamente (com R permanecendo em 0), não haverá 
modificação. Para o estado de reset do flip-flop, precisamos elevar R 
para 1, enquanto mantemos S = 0. Podemos mostrar de imediato que 
isso força o flip-flop ao estado de reset e o flip-flop permanecerá nesse 
estado, mesmo depois de R retornar a 0. Devemos observar que o sinal 
de disparo simplesmente dá início à ação regenerativa da malha de 
realimentação do lacth. 
 
 Finalmente deixamos como exercício para o aluno mostrar que as 
saída do flip-flop ficam indeterminada, caso as duas entradas forem 
elevadas para o nível lógico 1. 
 
 Em vez de utilizarmos duas porta NOU, podemos implementar 
também um flip-flop SR pela conexão de duas porta NE(ou NAND) 
interligadas por conexões cruzadas, em que as funções set e reset 
estarão ativas quando em nível baixo e as entradas serão, dessa forma, 
chamadas de S e R. 
 
 Implementação de flip-flop tipo SR em CMOS 
 
 
 O flip-flop da figura A.9.2 pode ser diretamente implementado em 
CMOS simplesmente substituindo cada uma das portas NOU por seu 
correspondente circuito CMOS já visto. Deixamos como exercício para 
o aluno esboçar o circuito resultante. Embora o circuito assim obtido 
funcione muito bem, ele é relativamente complexo. Como alternativa, 
consideraremos o circuito simplificado que, além do mais, implementa 
uma lógica adicional. Especificamente, a figura A.9.3 mostra outra 
versão de flip-flop SR controlada por um sinal de relógio. Visto que as 
entradas de relógio formam funções E com as entradas set e reset, o 
flip-flop pode ser setado e resetado quando o sinal de relógio φ estiver 
em nível alto. Observe que, embora os inversores ligados de forma 
cruzadas no núcleo do flip-flop sejam do tipo CMOS complementar, 
somente os transistores NMOS realizam as funções de ativar o set-
reset. Todavia, uma vez que não há um caminho entre VDD e terra 
(exceto durante o chaveamento), o circuito não dissipa nenhuma 
potência estática. 
 
 
 
Figura A.9.3 Implementação CMOS de um flip-flop SR com sinal de 
relógio. O sinal de relógio está indicado por φ. 
 
Operação do flip-flop SR dinâmico 
 
 Considere inicialmente quando o flip-flop está no estado reset (Q 
= 0, Q = 1, isto é, vQ = 0 e Qv = VDD) e desejamos passá-los para o 
estado set. Para tanto, aplicaremos um nível alto na entrada S, enquanto 
R é mantido em nível baixo. Então, quando o relógio φ for para o nível 
alto, tanto Q5 como Q6 conduzirão e farão a tensão Qv abaixar. Se Qv 
cair abaixo da tensão de transição do inversor formado por (Q3 e Q4) 
sua saída mudará de estado (ou pelo menos começará a mudar de 
estado) e a tensão vQ subirá. Esse aumento de vQ será realimentado para 
entrada do inversor formadopor Q1 e Q2, fazendo com que Qv por sua 
vez, tenha sua tensão de saída diminuída até chegar em 0 V. Esse 
processo de realimentação positiva é característica do latch. 
 
 Duas hipóteses foram admitidas na análise acima do flip-flop 
dinâmico: 
 
1. Os transistores Q5 e Q6 fornecem corrente suficiente para abaixar 
a tensão no nó Q ao menos levemente abaixo da tensão de 
transição do inversor Q3 e Q4. Isso é essencial para que o processo 
iniciar regenerativo. Sem essa excitação inicial o flip-flop não 
chaveará. 
2. O sinal set deve permanecer em nível alto por um intervalo de 
tempo suficiente longo para fazer com que o processo 
regenerativo aconteça durante o chaveamento. Uma estimativa 
para largura mínima necessária para o pulso set pode ser obtida 
somando o intervalo em que 
Q
v é reduzido de VDD para VDD/2 com 
o intervalo para que a tensão vQ passe de 0 a VDD/2. 
 
 Finalmente, dado a simetria do circuito, todas essa observações se 
aplicam ao processo reset. 
Exemplo: 
 
 O flip-flop SR CMOS mostrado na figura A.9.3 é fabricado em 
uma tecnologia para qual µnCox = 50 µA/V 2, µpCox = 20, VTn0 = - VTp0 = 
VT0 = 1,0 V e VDD = 5 V. Os inversores têm (W/L)n = 4 µm/2 µm e 
(W/L)p = 10 µm/2 µm. os quatro transistores NMOS no circuito set/reset 
têm razões (W/L) idênticas. Determine o valor mínimo necessário para 
essa razão garantir que o flip-flop chaveará. 
 
 
Solução: 
 
 A figura A.9.4 mostra a parte relevante do circuito flip-flop para 
análise neste exemplo. Observe que o processo de regeneração ainda 
não começou e supõe-se que 
Q
v = 0 e, portanto, Q2 estará conduzindo. 
Dessa forma, o circuito se comporta como uma porta psedo-NMOS e 
nossa tarefa é escolher as razões (W/L) para Q5 e Q6, tal que o valor de 
VOL desse inversor seja menor que VDD/2 (isto é, a transição do inversor 
formado por Q3 e Q4 (que são casados). 
 
 Para encontramos o valor mínimo necessário de (W/L) 
utilizaremos dois caminhos. No primeiro igualamos as correntes que 
passam por Q2 , Q5 e Q6 na situação onde Qv = VDD/2 e que podemos 
supor que os transistores Q5 e Q6 podem ser substituído por um 
transistor de (W/L)equiv. (associação em série) igual à metade da razão de 
(W/L)5 e (W/L)6. Assim, verificando que os transistores Q5 e Q6 estão 
operando na região de triodo, temos 
 
 
 
( ) ( ) ( ) 


 −−




=


 −−




 2
2
'2
5
'
2
1
||)(
2
1
2
1
SDSDTpSG
Q
pDSDSTnGS
Q
n
VVVV
L
W
kVVVV
L
W
k
 
( ) ( ) ( ) 


 −−




=


 −−




 2
2
2
5
2/5
2
1
2/515
2
10
20)2/5(
2
1
2/5152
150
QQL
W
 
 
25 2
10
202
150
QQL
W





=




 logo, 
 
4
5
=





QL
W
 e 4
6
=





QL
W
 
 
 
 
 
 
Figura A.9.4 Parte importante do circuito do flip-flop para determinar 
as razões mínimas (W/L) de Q5 e Q6 para garantir o chaveamento. 
 
 
 A segunda maneira de determinarmos a razão mínima de (W/L)Q5 
e (W/L)Q6 é admitindo que a metade da tensão de saída Qv = VDD/2 
ficará sobre cada um dos transistores e, como para esta situação o 
transistore que fica sujeito a menor tensão VGS é o transistor Q6 , então 
faremos a corrente que passa por este transistor igual a corrente que 
passa por Q2, portanto 
 
 
 
( ) ( ) ( ) 


 −−




=


 −−




 2
2
'2
6
'
2
1
||)(
2
1
SDSDTpSG
Q
pDSDSTnGS
Q
n
VVVV
L
W
kVVVV
L
W
k 
 
( ) ( ) ( ) 


 −−




=


 −−−




 2
2
2
6
2/5
2
1
2/515
2
10
20)4/5(
2
1
4/514/5550
QQL
W
 
 









=









8
55
2
200
32
85
50
26 QQL
W
 logo, 
 
 
2.5
6
≅





QL
W
 e 2.5
5
≅





QL
W
 
 
 
Um valor muito próximo do resultado anterior. Lembrando que este é 
um valor mínimo absoluto, poderíamos, na prática escolher uma razão 
6 ou 7. 
 
Exercício: 
 
 Repita o exemplo anterior para determinar o valor mínimo 
necessário de (W/L)Q5 = (W/L)Q6 tal que o chaveamento ocorra quando 
as entradas S e φ estiverem em VDD/2. 
 
 
Resposta : 24,4. 
 
 
Implementação mais simples de flip-flop SR dinâmico 
 
 Uma implementação mais simples para uma flip-flop SR 
controlado por relógio é mostrada na figura A.9.5. Nesse caso, a lógica 
de transistores de passagem é empregada para implementar as funções 
set-reset por relógio. 
 
 Esse circuito é comum como célula básica de memória estática de 
acesso randômico (static random-access memory – SRAM). 
 
 
 
 
Figura A.9.5 Uma implementação CMOS mais simples de um flip-flop 
SR controlado por relógio. 
 
 
 
Circuitos flip-flop tipo D 
 
 Existem vários tipos de flip-flop. Muitos podem ser sintetizados 
em termos de portas lógicas. As portas lógicas depois podem ser 
substituídas pela implementação CMOS de seus circuitos. Essa 
abordagem simples quase sempre leva para uma implementação mais 
complexa. Em muitos casos, circuitos mais simples podem ser 
projetados em vez do projeto a partir de portas lógicas. Para ilustrar 
isso, apresentaremos o projeto de um circuito de um flip-flop de dados 
ou tipo D. 
 
 O flip-flop tipo D é apresentado em forma de diagrama de blocos 
na figura A.9.6. Este tem duas entradas, a entrada de dados D e a 
entrada do relógio φ. As saídas complementares Q e Q . Quando a 
entrada do relógio for baixa, o flip-flop está no estado de memória ou 
repouso; a mudança no sinal de dados não tem nenhum efeito nas 
saídas do flip-flop. Quando o relógio vai para o nível alto, o flip-flop 
adquire o nível lógico presente em D logo na subida da borda do pulso 
de relógio. Diz-se que esse flip-flop é disparado pela borda (edge-
triggered). Algumas implementações do flip-flop tipo D incluem 
também as entradas de set e reset que se impõem sobre a operação com 
o relógio que acabamos de descrever. 
 
 
 
Figura A.9.6 Representação na forma de diagrama de blocos de um flip-
flop tipo D 
 
 Uma simples implementação de um flip-flop tipo D é apresentada 
na figura A.9.7. O circuito consiste em dois inversores conectados em 
uma malha de realimentação positiva como se fosse um latch estático 
semelhante àquele mostrado na figura A.9.1, exceto que aqui a malha 
de realimentação fica fechada por apenas uma parte do tempo. 
Especificamente, a malha de realimentação estará fechada quando o 
sinal de relógio estiver em nível baixo (φ =0, 1=φ ). A entrada D está 
conectada no flip-flop por meio de uma chave que fecha quando o sinal 
de relógio está em nível alto. O princípio de funcionamento é direto: 
quando φ =1, a malha de realimentação estará aberta e a entrada D 
estará conectada na entrada do inversor P1. A capacitância de entrada 
do nó P1 será carregada com o mesmo valor de D e a capacitância no de 
entrada P2 será carregada com o valor de D . Então, quando o sinal de 
relógio passar a nível baixo, a linha de entrada ficará isolada do flip-
flop, a malha de realimentação passa a ficar fechada e o latch adquire o 
valor de D assim que φ vai para nível baixo, fornecendo uma saída Q = 
D. 
 
 Este circuito combina a técnica de realimentação positiva presente 
em circuitos biestáveis estáticos com a técnica de armazenamento de 
cargas de circuitos dinâmicos. 
 
 Finalmente, é importante observar que para uma operação 
apropriada deste e de muitos outros circuitos que empregam sinais de 
relógio é necessário que φ e φ não devem estar simultaneamente em 
nível alto em nenhum instante. Essa condição é definida em relação as 
duas fases de relógio como fases não sobrepostas (nonoverlapping). 
 
 
 
 
 
 
 
 
 
 
 
 
 
Figura A.9.7 Uma simples implementação de um flip-flop tipo D. a) 
emprega um sinal de relógio com duas fases não superpostas mostradas 
em b). 
 
 
 
 Observando mais atentamente o circuito da figura A.9.7 notamos 
que, durante o intervalo de tempo em que φ está em nível alto, a saída 
do flip-flop segue o mesmo sinal da linha de entrada D. Isso pode 
ocasionar problemas em determinadas situaçõesde projetos lógico. O 
problema pode ser resolvido de forma efetiva utilizando a configuração 
mestre-escravo (master-slave) mostrada na figura A.9.8. 
 
 O circuito mestre-escravo consiste em um par de circuitos do tipo 
mostrado na figura A.9.7, controlado por fases de relógio alternadas. 
Aqui, para enfatizar que as duas fases de relógio não devem apresentar 
sobreposição, vamos representá-las por φ1 e φ2, conforme mostrado na 
figura A.9.7 b). A operação do circuito é a seguinte: 
 
 
1. Quando φ1 está em nível alto e φ2 está em nível baixo, a entrada 
está conectada ao latch-mestre cuja malha de realimentação está 
aberta, enquanto o latch escravo está isolado. Portanto, a saída Q 
permanece no valor previamente armazenado no latch escravo 
cuja malha de realimentação está agora fechada. As capacitâncias 
nodais do latch mestre são carregadas com as tensões apropriadas 
correspondentes ao valor presente de D. 
2. Quando φ1 vai para nível baixo, o latch-mestre está isolado da 
linha de dados da entrada. Então, quando φ2 vai para o nível alto, 
a malha de realimentação do latch-mestre passa a estar fechada e 
o valor de D fica constante e armazenado. Além disso, sua saída 
está conectada ao latch escravo cuja malha de realimentação está 
agora aberta. As capacitâncias nodais no escravo são 
apropriadamente carregadas tal que, quando φ1 vai para nível alto 
novamente, o latch escravo trava em um novo valor de D e 
fornece-o na saída, Q = D. 
 
A partir dessa descrição, notamos que, na transição positiva do sinal 
de relógio φ2, a saída Q adota o valor de D que havia na linha D no 
fim da fase de relógio anterior, φ1. Esse valor de saída permanece 
constante por um período de relógio. Finalmente, note que, durante o 
intervalo sem sobreposição em nível baixo, ambos os latches têm 
suas malhas de realimentação abertas e teremos as capacitâncias 
nodais mantendo a maior parte da sua carga. Nesse caso, o intervalo 
sem sobreposição deve ser feito o mais curto possível (da ordem de 
1ns ou menos na prática). 
 
 
 
 
 
 
Figura A.9.8 a) Um flip-flop D mestre-escravo. b) Formas de onda do 
relógio não superpostas.

Continue navegando