Professional Documents
Culture Documents
As funções de um sistema digital são de forma binária. Esse sistema emprega dispositivos
que apresentam somente dois estados. Por exemplo, um transistor da chave eletrônica é polarizado
para operar no corte ou na saturação. Então, somente as tensões de saída de nível alto VOH e de
nível baixo VOL são permitidas. Várias denominações são usadas para estes dois níveis discretos de
tensão. e os mais comum são apresentados na Tabela 1.1
Tabela 2.1 Terminologia do estado binário
1 2 3 4 5 6 7 8
Um dos Verdadeiro Nível 1 Com Excitado Desligado Fechado Sim
estados alto pulso
O outro Falso Nível 0 Sem Não Ligado Aberto Não
estado baixo pulso excitado
1
2
Onde i = 0, 1, ... m;
m = 0, 1, ... ∞ é o quantidade dos algarismos (posições) no número binário M(2) ,
{ai} ∈ {0, 1} é o conjunto de algarismos binários básicos no qualquer número M(2).
Os algarismos 0 e 1 têm o mesmo significativo que no sistema decimal, mas se dá uma
interpretação diferente para a posição ocupada pelo dígito. No sistema binário os algarismos
representam individualmente os coeficientes (do conjunto {ai} ∈ {0, 1}) das potências de dois e não
das potências de dez, como no sistema decimal.
2
3
Por exemplo, o número decimal 19 é escrito na representação binária como 10011, pois
10011( 2) = 1 × 24 + 0 × 23 + 0 × 22 + 1 × 21 + 1 × 20 = 16 + 0 + 0 + 2 + 1 = 19(10 ) .
3
4
Nós consideramos só três funções lógicas básicas. Todas as funções lógicas restantes podem ser
obtidas utilizando a composição destas funções básicas.
A operação "NÃO" ( em inglês "NOT" ) é mais simples das operações lógicas. Se x é uma
variável lógica, seu inverso é representando por x (leia-se "não-x" ou "x-barra"). A Fig. 1.1 mostra
a tabela da verdade da operação "NÃO" ou "Negação".
x y
0 1
1 0 y= x
‘ (a) (b)
Fig. 1.1 (a) Tabela da verdade,
(b) Expressão da operação NÃO.
A tabela mostrada na Fig. 1.1a chama-se tabela da verdade ( em inglês "truth tabela" ) e é
uma forma útil de representar funções lógicas. A coluna da esquerda mostra os valores que x pode
assumir e a coluna da direita os valores resultantes para a variável y. Como neste caso temos uma
única variável independente, é claro que a tabela da verdade possui duas linhas, uma vez que x
somente pode ser "0" ou "1".
A Fig. 1.2 mostra um circuito elétrico que representa a operação "NÃO".
R
x _
S L y= x
+ 0 1 americano
L 1 0 ou
V
- S x y= x
1
padrão IEC117-13
(a) (b) (c)
Fig. 1.2 (a) Circuito representativo da operação "NÃO",
(b) Tabela da verdade ,
(c) Símbolos do circuito inversor.
Neste circuito, se a chave S está aberta (S=0) a lâmpada L está acesa (L=1) e se a chave S
está fechada (S=1) a lâmpada L está apagada (L=0).
4
5
A operação "E" ( em inglês "AND" ) é definida como aquela em que a variável de saída y é
igual a "1" se, e somente se, todas as variáveis de entrada forem iguais a "1". A operação lógica
"E" se chama multiplicação lógica ou a conjunção das variáveis independentes. Para duas
variáveis independentes. Para duas variáveis independentes , usando os símbolos de multiplicação e
de conjunção, a expressão da operação lógica "E" pode ser escrita como
y = x 1 ∧ x 2 = x 1 & x 2 = x 1 . x 2 = x 1x 2 e é lida como y igual a x1 E x2.
A Fig. 1.3 ilustra um circuito elétrico que representa a operação lógica "E" para duas
variáveis e sua tabela da verdade. O circuito que realiza a operação "E" denomina-se porta "E".
S1 S2 S1 S2 L x1
y=x 1 x2
0 0 0 x2
americano
+ 0 1 0 ou
V L x1
1 0 0 & y=x 1 x2
- x2
1 1 1 I E C 117-13
(a) (b) (c)
Fig. 1.3 (a) Circuito representativo da operação "E". (b) Tabela da verdade.
(c) Símbolos de uma porta "E" para duas entradas x1 e x2.
As convenções utilizadas são as mesmas que para o circuito da Fig. 1.2 e você ver
claramente que para que a lâmpada L esteja acesa (estado lógico "1") é necessário que as chaves S1
e S2 estejam fechadas (ambas no estado lógico "1").
5
6
A operação "OU" ( em inglês "OR" ) é definida como aquela em que a variável de saída é
igual a "1" se uma ou mais variáveis de entrada forem iguais a "1". Isto é, equivalente a dizer que a
saída será igual a "0" se , e somente se, todas as variáveis de entrada forem iguais a "0". A
operação lógica "OU" se chama a adição lógica ou a disjunção das variáveis independentes. Para
duas variáveis independentes, usando os símbolos de adição e de disjunção, podemos escrever a
operação lógica "OU" como
y = x1 ∨ x 2 = x1 + x 2 que é lida como y igual a x1 OU x2
A Fig. 1.4 mostra um circuito elétrico que representa a operação "OU" para duas variáveis,
sua tabela da verdade e os símbolos usados para representar a porta "OU".
S1
S1 S2 L x1
y = x 1+ x 2
x2
0 0 0 americano
S2 0 1 1
+
V 1 0 1 x1 y = x 1+ x 2
L 1
- x2
1 1 1 padrão IEC
(a) (b) (c)
Fig. 1.4 (a) Circuito representativo da operação "OU", (b) Tabela da verdade.
(c) Símbolos de uma porta "OU" para duas entradas x1 e x2.
Vamos agora examinar uma série de propriedades das operações lógicas. Estas propriedades
podem ser verificadas de maneira simples através das tabelas da verdade.
1. As operações "E' e "OU" são comutativas como as operações aritméticas: multiplicação e
adição, ou seja:
x1 . x 2 = x 2 . x1
x1 + x 2 = x 2 + x1
2. As operações "E" e "OU" são associativas como as operações aritméticas respectivas, ou seja:
x 1 .( x 2 .x 3 ) = (x 1 . x 2 ).x 3
x 1 + ( x 2 + x 3 ) = (x 1 + x 2 ) + x 3
3. Teorema da involução
x=x
6
7
que quer dizer que a dupla negação conduz à variável original (não-não x é igual a x).
4. A operação "E" é distributiva em relação à operação "OU" (como a multiplicação aritmética é
distributiva em relação à adição aritmética).
x 1 . ( x 2 + x 3 ) = x 1 .x 2 + x 1 .x 3
5. Outras propriedades:
x.x = x; x + x = x;
x.0 = 0; x.1 = x;
x + 0 = x; x + 1 = 1;
x. x = 0 ; x + x = 1;
x 1 + x 1 .x 2 = x 1 x1 + x1 . x 2 = x1 + x 2;
As operações "NÃO", "E" e "OU" podem ser realizadas utilizando-se portas "NÃO-E" e, por
este motivo, a porta "NÃO-E" é conhecida como bloco lógico universal (em inglês "NAND").
Se as três operações básicas podem ser realizadas com portas "NÃO-E", isto significa que
qualquer circuito lógico pode ser sintetizado apenas com este tipo de porta.
Uma porta "NÃO-E" com duas entradas fornece a saída:
y = x1 . x 2
Aplicando o mesmo sinal às duas entradas, temos y = x . x mas como x.x=x, segue-se y = x .
Em outras palavras, para obter a função "NÃO" a partir da porta "NÃO-E", basta ligar todas as
entradas juntas. A Fig. 1.5a mostra um inversor construído a partir de uma porta "NÃO-E" de duas
entradas
7
8
_ _ _ _
x y= x x1 x 1. x 2 y = x 1. x 2 = x1 x1 y = x 1. x 2 =
& & & & &
= x1 . x 2 = x1+x 2
x2
_
x2 x2
&
(a) (b) (c)
Como a operação "NÃO-E" é o inverso da operação "E" basta inverter a saída da porta
"NÃO-E" para obter a função "E". A Fig. 1.5b mostra como é obtida a função "E" para duas
variáveis a partir de portas "NÃO-E" .
Para conseguir a função "OU" a partir de portas "NÃO-E" , devemos considerar o primeiro
teorema de De Morgan (Eq. 1.1), lembrando também que a dupla negação retorna à variável
original. Veja as expressões abaixo:
y = x1 . x 2 = x1 + x 2 = x1 + x 2
ou seja, para obter a função "OU", realizamos a operação "NÃO-E" com os complementos das
variáveis de entrada. A Fig. 1.5c mostra como é obtido a função "OU" para duas variáveis a partir
de portas "NÃO-E" .
Também a porta "NÃO-OU" (em inglês "NOR") pode ser utilizada para realizar as três
operações lógicas fundamentais "NÃO", "E" e "OU". Assim, a porta "NÃO-OU" é também um
8
9
bloco lógico universal e qualquer circuito lógico pode ser construído apenas com este tipo de
porta:
y = x1 + x 2
Se aplicarmos o mesmo sinal às entradas de uma porta "NÃO-OU" de, por exemplo, duas
entradas, teremos na saída y = x + x , mas, como x + x = x, segue-se que y = x .
Assim para conseguir a função "NÃO" a partir da porta "NÃO-OU", basta conectar juntas
todas as entradas da porta.
A Fig. 1.6a mostra um inversor construindo com uma porta "NÃO-OU" de duas entradas;
_ _ _ _
x 1 y= x x1 x1 y = x 1+ x 2 = x1 x 1+ x 2 y = x 1+ x 2 =
1 1 1 1
= x1 . x 2 = x 1+ x 2
x2
_
x2 1 x2
Para conseguir a função "E" a partir de portas "NÃO-OU" , devemos considerar o segundo
teorema de De Morgan (Eq. 1.2) e o fato que a dupla negação retorna à variável original. Veja as
expressões abaixo:
y = x1 + x 2 = x1 & x 2 = x1 & x 2
ou seja, para obter a função "E", realizamos a operação "NÃO-OU" com os complementos das duas
variáveis de entrada. A Fig. 1.6b mostra como é conseguida a função "E" para duas variáveis com
portas "NÃO-OU" .
1.8 Função "OU exclusivo".
Uma importante função lógica de duas variáveis é a função "OU exclusivo" (em inglês:
"EXCLUSIVE-OR" ou "EXOR"), que encontra grande aplicação prática em circuitos digitais,
9
10
como, por exemplo, somadores. A operação "OU exclusivo" é representada por uma cruz dentro de
um círculo e tem a segunda denominação "adição em módulo 2":
y = x1 ⊕ x 2
A Fig. 1.7 mostra a tabela da verdade para a função "EXOR" e os dois símbolos (americano
e europeu).
x1 x2 y
0 0 0 x1
x1 =1 y = x 1+ x 2
y = x 1+ x 2
0 1 1 x2
x2
1 0 1
1 1 0
(b)
(a) (c)
A função "OU exclusivo" também há função lógica universal mas pode ser representada em
termos das operações fundamentais "E", "OU", "NÃO", pela equação:
y = x 1 .x 2 + x 1 .x 2 = x 1 ⊕ x 2 (1.3)
Fica como exercício para você a construção do circuito "OU exclusivo" de portas "E",
"OU", "NÃO" conforme à formula (1.3).
10
11
x1 & S1
1
G2
G1 1 y= ?
x3 G4
&
S2
x2
G3
Solução:
A saída da porta G2 será: S1 = x 1 .x 3 . A saída da porta G3 será: S 2 = x 2 .x 3 .
x3 x2 x1 S1 S2 y
0 0 0 0 0 0
0 0 1 1 0 1
0 1 0 0 0 0
0 1 1 1 0 1
1 0 0 0 0 0
1 0 1 0 0 0
1 1 0 0 1 1
1 1 1 0 1 1
11
12
x1
&
S2
G2
& y= ?
& S1
G1 G4
S3
&
x2
G3
S1 = x 1 x 2 = x 1 + x 2
S 2 = x 1S 1
S 3 = x 2S 1
e para a saída:
( )
y = S 2S 3 = S 2 + S 3 = x 1S 1 + x 2S 1 = x 1S 1 + x 2S 1 = (x 1 + x 2 )S 1 = (x 1 + x 2 ) x 1 + x 2 =
= x 1 x 1 + x 1 x 2 + x 2 x 1 + x 2 x 2 = x 1 x 2 + x 1x 2 = x 1 ⊕ x 2 .
O circuito realiza a função "OU exclusivo" entre x1 e x2 . Este circuito (Fig. 2.10) é a
maneira mais simples de implementar a função "EXOR" quando se dispõe somente de portas
"NAND".
12
13
x1
S1
x2 G1
S2 S3
G4
x3 y= ?
G6
x4 G2 S4
G5
G3
13
14
x3 x2 x1 y
linha 0 0 0 0 0
∗linha 1 0 0 1 1
∗linha 2 0 1 0 1
linha 3 0 1 1 0
∗linha 4 1 0 0 1
linha 5 1 0 1 0
linha 6 1 1 0 0
∗linha 7 1 1 1 1
Os passos de um método prático para obter uma função lógica expressa como soma de
produtos (DNF) são seguintes;
1. Verificamos as combinações das entradas para as quais a função é igual a 1.
A saída y será igual a 1 para as combinações das entradas indicadas nas linhas 1,2,4 e 7 da tabela
na Fig. 1.12.
2. Expressamos cada uma das combinações acima como uma operação "E" das variáveis de entrada,
onde aquelas iguais a "0" aparecem barradas (invertidas).
A expressão (1.4) representa a função lógica na forma FDNF (forma normal de disjunção
completa) pelas funções básicas "E", "OU", "NÃO", e o diagrama funcional do circuito
combinacional, utilizando os símbolos correspondentes a estas funções é mostrado na Fig. 1.13.
14
15
S1
_
x1 x1
S2
y
_
x2 x2
S3
_
x3 x3 S4
Freqüentemente, a tabela da verdade pode ser dada pela uma série das combinações das
variáveis de entrada para as quais a função lógica y é igual a 1. Em regra, esta série é dada pelos
números decimais que são equivalentes aos números binários formados pela combinações das
variáveis de entrada. Por exemplo, a tabela da verdade da Fig. 1.12 pode ser dada da seguinte
maneira:
y = ( 1, 2, 4, 7 )(10)
Isto é, para as combinações das variáveis x3 x2 x1: 001, 010, 100 111, a função y é igual a 1.
Para as restantes combinações das variáveis de entrada y = 0.
A expressão lógica que foi obtida pelo método do item 1.4 na forma de uma soma de
produtos não é, entretanto, necessariamente o mais simples possível. Por exemplo, consideramos a
expressão na forma FDNF:
y = x 3x 2x1 + x 3x 2 x1 + x 3x 2x1 (1.5)
A Eq.(1.5) pode ser simplificada, utilizando as propriedades das funções lógicas (veja item
1.2.4). Assim:
15
16
y = x 3x 2x1 + x 3x 2 x1 + x 3x 2x1 =
= x 3x 2x1 + x 3x 2 x1 + x 3x 2x1 + x 3x 2x1 = (1.6)
= x 2 x 1 (x 3 + x 3 ) + x 3 x 2 (x 1 + x1 ) = x 2 x 1 + x 3 x 2
Comparando as Eqs. (1.5) e (1.6) podemos ver que a Eq. (1.6) é mais simples do que a
Eq.(1.5). Isto é, tem menos dos termos e das operações lógicas.
A expressão lógica (1.6) pode ser implementada por blocos lógicos universais "NÃO-E"
uma função lógica expressa na forma de soma de produtos basta:
1. Aplicar cada uma das combinações das entradas que correspondem aos produtos a uma porta
"NÃO-E";
2. Utilizar as saídas das portas "NÃO-E" obtidas acima como entradas para uma porta "NÃO-E"
cuja saída será a função desejada.
O exemplo anterior (Eq. 1.6) ilustra a simplificação de função lógica através de
manipulações algébricas. Este processo é trabalhoso, envolvendo o uso de artifícios, como a
repetição de termos já existentes, e exigindo uma certa familiaridade com os teoremas e postulados
da álgebra de Boole. O método não é prático para funções um pouco mais complexas e é difícil
garantir que a expressão final seja de fato a mais simples possível. É possível atingir uma forma
irredutível mas não mínima.
No exemplo da Eq. (1.6) podemos observar que a simplificação resulta de haver termos que
diferem entre si por apenas uma variável. Dois termos que enquadrem nesta categoria são chamados
adjacentes e resultam na simplificação da variável pela qual diferem. Por exemplo:
y = x 3x 2x1 + x 3x 2x1 =
( )
= x 2x1 x 3 + x 3 = x 2x1 .
16
17
Para simplificar a função lógica desta maneira e obter a expressão lógica final que seja a
mais simples possível na forma DNF (soma de produtos das variáveis) se usam os mapas de
Karnaugh. Os mapas de Karnaugh são diagramas nos quais as adjacências entre os termos são
facilmente identificáveis. A tabela da verdade é plotada sobre o mapa, permitindo a identificação
dos termos adjacentes e a simplificação da expressão lógica. A Fig. 1.15 mostra os mapas de
Karnaugh para 2, 3 e 4 variáveis, com as adjacências indicadas pelas setas
x x 2 x1 00 01 11 10
x2 1 0 1 x3
0 0 1 0
2 3 1
1
(a) (b)
x2x1 00 01 11 10
x4x3
00 0 1 3 2
4 5 7 6
01
11 12 13 15 14
10 8 9 11 10
(c)
As células do mapa de Karnaugh devem ser preenchidas conforme aos valores da função
lógica na tabela da verdade. Nos mapas de Karnaugh mostrados na Fig. 1.15 os dois termos são
adjacentes quando tiverem os valores da função igual a 1 e:
a) estiverem lado a lado na mesma fila ou coluna,
b) estiverem na mesma fila, um na primeira e outro na última coluna,
c) estiverem na mesma coluna, um na primeira e outro na última fila.
Para simplificarmos uma função lógica através do mapa de Karnaugh, fazemos a plotagem da
mesma sobre o mapa e procuramos agrupar os termos adjacentes em pares, quadras, óctuplos, etc.
17
18
Exemplo 1: Simplificar a função lógica cuja tabela da verdade é mostrada na Fig. 1.16a,
expressando a como uma soma de produtos.
x2 x1 y
x1 x1
0 0 1 x1 0 1
x2
0 1 1 x2 0 1 1
1 0 0 x2 1 0 1
1 1 1
(a) (b)
Solução. Construindo o mapa de Karnaugh para duas variáveis e plotando a tabela sobre ele,
obteremos a Fig. 1.16b. Como desejamos obter a função simplificada expressa na forma de soma de
produtos, devemos agrupar os termos correspondentes ao valor 1. O menor número de grupos de
termos adjacentes que tem o maior número de termos possível é indicado no mapa de Karnaugh da
Fig. 1.16b: 2 grupos com 2 termos cada. A expressão resultante para esta maneira de agrupamento é
seguinte: y = x 2 + x1
Esta expressão é a forma mínima de uma soma de produtos.
Exemplo 2: Simplificar a função lógica cuja tabela de verdade é dada pela seqüência das
combinações de variáveis independentes na forma decimal, para qual esta função é igual a 1:
y = (2,3,4,5,6,7,12,13,14,15)10
Solução. Vamos construir a tabela da verdade ( Fig. 1.17 ).
Código Código binário das combinações Função
decimal de variáveis independentes lógica
N x4 x3 x2 x1 y
0 0 0 0 0 0
18
19
1 0 0 0 1 0
2* 0 0 1 0 1
3* 0 0 1 1 1
4* 0 1 0 0 1
5* 0 1 0 1 1
6* 0 1 1 0 1
7* 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 0
12* 1 1 0 0 1
13* 1 1 0 1 1
14* 1 1 1 0 1
15* 1 1 1 1 1
Fig. 1.17 Tabela da verdade do exemplo 1.
Construindo o mapa de Karnaugh para 4 variáveis e plotando a tabela da Fig. 1.17 sobre ele,
obteremos a Fig. 1.18.
x2 x2
X2X1 00 01 11 10
X4X3 quadra x4 x2
0 1 3 2
00 0 0 1 1 x3
x4
4 5 7 6
01
1 1 1 1
x3
12 13 15 14
11
1 1 1 1
x4
8 9 11 10 oitava x3
10 x3
0 0 0 0
x1 x1 x1
19
20
(
y = x1 + x 2 x 3 + x 4 )
Nesta forma a função lógica pode ser realizada mais fácil só através das portas lógicas de
duas variáveis.
20
21
CAPÍTULO II CIRCUITOS MULTIVIBRADORES BIESTÁVEIS
G2 Q Qn 0 0 Qn Permanece no mesmo
S x 0 1 1 setado; estado "1"
x 1 0 0 ressetado; estado "0"
x 1 1 _ não permitido
A Fig. 2.1a mostra o uso de portas "NÃO-OU" conectadas em série com realimentação
positiva e com entradas adicionais através das quais são fornecidos sinais para mudar o estado do
circuito. As entradas estão marcadas com R para reset o flip-flop (Q = "0") e S para set (Q = "1").
Vamos admitir que inicialmente a saída Q esteja em "0" e a saída Q em "1", ou seja que o flip-flop
esteja ressetado (fica no estado "0"). Suponhamos também que as entradas R e S estejam em "0".
Observaremos a ação da realimentação positiva que mantém este estado estável através da seguinte
malha:
S
Tmín
S
R
t
Tmín
t
t pd (f-f)
_ 1 0
Q
confirma
o estado
t
confirma
t
tpd (porta)
o estado
t pd (f-f)
0 1
Fig. 2.2 Formas de onda dos sinais nas entradas e saídas do flip-flop RS
com os atrasos de propagação das portas lógicas e do flip-flop.
tpd(f-f) = 3tpd(porta) é o tempo de propagação da realimentação positiva.
A Fig. 2.3 mostra o circuito básico de um flip-flop construído com portas "NÃO-E", mais
conhecido com o nome de R S NAND LATCH ou Flip-flop RS assíncrono.
23
_ tn t n+1
S saída Q Ação do circuito
G1 Qn Rn Sn Q n+1
Qn 0 0 _ não permitido
_ Qn 0 1 0 ressetado; estado "0"
R G2 _
saída Q Qn 1 0 1 setado; estado "1"
Qn 1 1 Qn permanece no mesmo estado
(a) (b)
Fig. 2.3 (a) Circuito flip-flop assíncrono com portas "NÃO-E".
(b) Tabela-verdade.
Quando as entradas R = S = 1 a realimentação positiva mantém o estado estável anterior
(Qn = "0" ou "1"). A mudança dos estados de flip-flop ocorrerá se a entrada S for para "0" com
R = 1 ou a entrada R for para "0" com S = 1, conforme à tabela da verdade na Fig. 2.3b.
S (J) G1 G6 S
G3 Qm G8 Q
C
C R
_ _
_ ___ Q
G4 G9 Q CLR
R (K) G2 Qm G7
(a) (b)
G5
CLR
Fig. 2.6 (a) Flip-flop RS Master-Slave com as portas "NÃO-E". Flip-flop JK MS pode ser obtido
pelas conexões de realimentação desenhadas com linhas tracejadas.
(b) Símbolo lógico de flip-flop RS MS com as entradas assíncronas adicionais P R e C L R .
25
A Fig. 2.7 mostra algumas formas de onda ilustrativas do circuito da Fig. 2.6 que esclarece
melhor o funcionamento do flip-flop MS.
tp
C
t
R
*
t
S Master
*
t
Qm
* *
* t
_
C
t
Slave
Q
Pulsos de relógio positivos C são aplicados ao mestre e são invertidos pela porta G5 antes
de serem utilizados para excitar o escravo. Para C = 1, o mestre é habilitado ("enable") e sua
operação segue a tabela da verdade da Fig. 2.4a. Entretanto, visto que C = 1, o escravo RS é
inibido (não muda de estado), de maneira que a saída Q é invariante durante a duração tp do pulso.
Após a passagem do pulso, C = 0, de maneira que o mestre é inibido e C = 1, o que provoca que o
escravo seja habilitado ("enable") e a saída do mestre Qm será transferida para o escravo Q = Qm.
O circuito do flip-flop JK Master-Slave se distingue do flip-flop RS MS pelas conexões
adicionais de realimentação desenhadas com linhas tracejadas. Estas conexões permitem o estado
das entradas C = J = K = 1 (J é "jerk"- estabelecer, K é "kill"- restaurar). Analisando o
funcionamento do circuito da Fig. 2.7a podemos concluir que quando J = K = 1 e após a passagem
do pulso C o flip-flop JK muda o seu estado para o contrário, ou seja Q( t + 1) = Q ( t) . A tabela da
t
D
* *
* * t
Q
t (c)
Fig. 2.9 (a) Flip-flop tipo D gatilhando pela borda positiva: (a) Tabela-verdade;
(b) Símbolo lógico;
(c) Formas de onda.
27
Na Fig. 2.10 é mostrado o flip-flop T ("toggle") construído a partir do flip-flop D da Fig.
2.9a e suas formas de onda do funcionamento.
T= C
PR Q
T
C _ t
D= Q
D
_ t
Q
___ Q
CL
t
(a)
(b)
Fig. 2.10 (a) Flip-flop T assíncrono construído a partir do flip-flop D.
(b) Formas de onda para flip-flop T gatilhando pela borda positiva de T = C.
28
28
29
Q1 Q2 Q3
In Out
J Q1 J Q2 J Q3 saída em série
entrada em série _ ___
("double rail C _ C _ C _ ("double rail
In Out
input") K Q1 K Q2 K Q3 output")
CLK
In
1 0 1
t
CLK
1 2 3 4 5 6
t
Q1
1
t
Q2
0
t
Q 3 = Out
1
t
29
30
A Fig. 3.4 ilustra o diagrama básico do registrador de deslocamento construído com flip-
flops tipo D gatilhando pela borda positiva (ascendente) da entrada CLOCK.
Q1 Q2 Q3
In Out
D Q1 D Q2 D Q3
_ _ _
C C Q2 C
Q1 Q3
CLK
Fig. 3.4 Registrador de deslocamento com 3 flip-flops tipo D.
Desenha as mesmas formas de onda como na Fig. 3.3 para o circuito da Fig. 3.3 para o
circuito da Fig. 3.4 por conta.
Q1 "1"
__ __ Q2 __ Q3 __ Qn
J PR Q J PR Q J PR Q J PR Q
C C C C
___ _ ___ _ ___ _ ___ _
K CLR Q K CLR Q K CLR Q K CLR
Q
"1"
CLK
INIT
No circuito da Fig. 3.5 o contador é inicialmente carregado com "1" no primeiro estágio e
"0" nos demais, através da linha INIT. A cada pulso de CLOCK, o bit "1" será deslocado para a
direita e, ao atingir o último estágio, será novamente transferido para o primeiro. Em outras
palavras, o bit "1" (ou "0") é circulado pelo contador em anel. A vantagem do contador em anel é
que ele fornece a saída já decodificada, uma vez, que somente uma das saídas estará em "1" (ou
"0") para cada contagem.
30
31
CLK J Q0 J Q1 J Q2
C C C
Entrada T FF0 FF1 FF2
K K K
___ _ ___ _ ___ _
CLR Q0 CLR Q1 CLR Q2
INIT
(a)
CLK
1 2 3 4 5 6 7 8
t
Q0
0 1 0 1 0 1 0 1 0
t
Q1
0 0 1 1 0 0 1 1 0
t
Q2
0 0 0 0 1 1 1 1 0
t
tT (b)
31
32
(CLK) a serem contados são aplicados à entrada de relógio do FF0. Para todos os estágios, J e
K são ligados à fonte de alimentação, de maneira que J = K = 1. Esta conexão converte cada
estágio em um flip-flop tipo T assíncrono que muda de estado todas as vezes em que a forma de
onda na entrada de relógio (C) muda de "1" para "0" (Q é saída do escravo). Esta operação
necessita que:
1. Q0 mude de estado na descida do pulso.
2. Todos os outros Qi façam a transição quando e apenas quando a saída do flip-flop
precedente mude de "1" para "0".
Esta transição negativa "propaga-se como onda" através do contador do dígito de menor
significado para o de maior significado. Portanto estes contadores são conhecidos também como
contadores ondulantes ("ripple counter"). Segundo este raciocínio, é fácil concluir que, de
fato, o circuito da Fig. 4.1a irá contar os pulsos de CLOCK recebidos, segundo a seqüência 000,
001, 010, 011, 100, 101, 110 e 111, como é mostrado na Fig. 4.1b. Quando Q0 = Q1 = Q2 = 1, a
próxima transição negativa do pulso de CLK fará o contador retornar ao estado inicial, com Q0
= Q1 = Q2 = 0. Cada um dos passos da contagem é chamado de estado do contador e podemos
dizer que o circuito da Fig. 4.1a possui 8 estados.
Observe que a freqüência do sinal de CLK aparece dividida por dois na saída do
primeiro estágio (Q0), por quatro na saída do segundo estágio (Q1) e por oito na saída do
terceiro estágio (Q2).
Se acrescentarmos mais um estágio ao circuito da Fig. 4.1a, teremos um contador binário
de 4 bits, que contará na seqüência 0000, 0001, ... , 1110, 1111, ou seja, terá 16 estados. De um
modo geral, um contador binário puro, como o da Fig. 4.1a, com N estágios apresentará um
ciclo de contagem com 2 N estados e a freqüência do CLOCK aparecerá dividida por 2 i na saída
do i-ésimo estágio. À medida que o número de estágios aumenta, a freqüência máxima
permissível do sinal de CLK na entrada do contador assíncrono diminui devido ao atraso de
propagação de transporte t T (veja a Fig. 4.1b). O atraso de propagação de transporte é o tempo
necessário para o contador completar sua resposta ao pulso de entrada. Assim, o tempo de
transporte será da ordem de grandeza da soma dos tempos de atraso de propagação de todos os
binários, isto é:
tT = N tpd ( FF) ,
1
f máx ≤ ,
tT
onde N é o número de estágios,
32
33
D Q0 D Q1 D Q2
Entrada T
C FF0_ C FF1_ C FF2_
CLK ___ ___ ___
CLR Q0 CLR Q1 CLR Q2
INIT
Utilizando a Fig. 2.11b (página 42) desenhar as formas de onda correspondentes à Fig.
4.2 por conta.
33
34
n < 2N . Por exemplo, n = 5, 10, 13, etc. Para consegui-lo usaremos um método básico:
- construímos o contador de maneira que, ao ser atingida a contagem n - 1 e ocorrer a
transição do CLOCK que não é responsável pelo gatilhamento, sejam ativadas as entradas de
PRESET assíncrono; a transição seguinte do CLK ressetará o contador para "0". Um exemplo
do contador assíncrono divisor por 6 (módulo n = 6) é mostrado na Fig. 4.3.
Q0 Q1 Q2
"1"
__ __ __
J PR Q J PR Q J PR Q
CLOCK
C FF0 C FF1 C FF1
___ _ ___ _ ___ _
K CLR Q K CLR Q K CLR Q
INIT
G1
34
35
CLK
1 2 3 4 5 6 7
t
Q0
0 1 0 1 0 1 0 1
t
Q1
0 0 1 1 0 0 1 0 0
t
Q2
0 0 0 0 1 1 1 0 0
__ t
PR
G1 é excitado
t
Fig. 4.4 Formas de onda para o contador divisor por 6 da Fig. 4.3
35
36
Q0 Q1 Q2 Q3
INIT
K K K K
CLOCK
G1 G2
Observe que, agora, o controle dos flip-flops é feito através das entradas J e K. Sabemos
que se J = K = 1 o flip-flop se complementa e que se J = K = 0 o flip-flop não muda de estado.
Assim, o primeiro estágio irá mudar de estado a cada pulso de CLOCK; o segundo só mudará de
estado quando o FF0 estiver setado, ou seja, a cada dois pulsos de CLK. O terceiro estágio FF2
só mudará de estado quando os dois primeiros ( FF0 e FF1 ) estiverem em "1" ( através da porta
"E" G1 ), ou seja, a cada quatro pulsos de CLK. Finalmente, o quatro estágio só mudará de
estado através a porta G2 (porta "E") quando os três primeiros ( FF0, FF1 e FF2 ) estiverem em
"1", ou seja, a cada oitavo pulsos de CLK.
No circuito da Fig. 4.5, a freqüência máxima do CLOCK será limitada apenas pelo atraso
de um flip-flop e da uma porta lógica. Isto é verdadeiro para o contador síncrono com qualquer
número de estágios, utilizando a configuração com transporte paralelo. O período mínimo T do
sinal de CLK será:
T ≥ tpd (FF ) + tpd (G)
Admitindo tpd (FF ) = 50nS e tpd (G) = 10nS , a freqüência máxima do sinal de
36
37
1 1
f má x= = = 16,67MHz
T (50 + 10) × 10 -9
Mas, à medida que o número de estágios aumenta, a saída de um flip-flop deve alimentar
um número maior de portas e o número de entradas das portas torna-se maior.
Um exemplo do contador síncrono da família TTL é CI 74193. O CI 74193 é o contador
síncrono universal ( crescente/decrescente ) com entradas assíncronas de CLR e PR para 4
entradas paralelas, tem 4 saídas paralelas, ou seja, funciona também como registrador de dados
paralelo.
f máx = 25 MHz
37
38
5.1 Decodificadores.
Fig. 5.1 Tabela-verdade e sistema das funções lógicas do decodificador completo de 3 entradas.
A partir da Fig. 5.1 podemos construir o circuito lógico do decodificador utilizando portas
lógicas "NÃO" e "E" como é mostrado na Fig. 5.2. Uma entrada adicional denominada intervalo
("strobe") é acrescentada a cada porta "E". Todas estas entradas adicionais são ligadas juntas e são
38
39
x2 x1 x0 S
y0
y0
DC 0 y1
x0 1
y1 1 y2
2
x1 2 y3
3
x2 4 y4
y2 4
y5
5
y6
y3 6
y7
S EN 7
y4
S é uma entrada adicional
denominada intervalo ou "strobe"
y5
(b)
y6
y7
(a)
Fig. 5.2 (a) Circuito lógico do decodificador completo de 3 entrados utilizando portas "NÃO" e "E".
(b) Símbolo lógico do decodificador de 3 para 8.
39
40
O conceito apresentando na Fig. 5.2 pode ser facilmente estendido para 2, 3 ou n linhas de
entrada. Na prática, não é necessário construir estes decodificadores a partir de portas lógicas, pois
há uma grande variedade de CI's que realizam estas funções.
corresponde a "0".
74154 _
1 Entradas Saídas
DC _0 __ __ _ _ _ __ __
2 A3 A2 A1 ...
23 1_ E0 E1 A0 0 1 2 14 15
3
A0 _2 0 0 0 0 0 0 0 1 1 ... 1 1
4
22 _3 0 1 0 1 ... 1
A1 5 0 0 0 0 1 1
_4 6 ...
5_ 0 0 0 0 1 0 1 1 0 1 1
21 7
A2 _6 ... ... ... ... ... ... ... ... ... ... ... ...
8
20 _7 0 0 1 1 1 0 1 1 1 ... 0 1
9
A3 8_ ...
10 0 0 1 1 1 1 1 1 1 1 0
9
__ 11 ... 1
10
__ 0 1 x x x x 1 1 1 1
13
11
__ 1 0 x x x x 1 1 1 ... 1
14 1
12
__ ...
& 15 1 1 x x x x 1 1 1 1 1
19 __ 13
__
E1 16
14
__
18 __ 17
E0 15 (b)
t pd =49nS
(a)
40
41
O mais comum dos códigos BCD ("binary-coded decimal") ou em português DCB (decimal
codificado em binário) é o BCD 8421, no qual cada algarismo decimal corresponde a seu
equivalente binário. O nome BCD 8421 deriva do peso atribuído a cada bit de código; como cada
bit possui um valor posicional, o código BCD 8421 é dito com pesos. Este código é tão difundido
que quando dizemos apenas código BCD subentende-se tratar-se do BCD 8421. Por exemplo, o
número decimal 296 necessita de três conjuntos de 4 dígitos binários ( ou de três tétradas ). Isto é,
296 = 0010 1001 0110 (BCD)
(10)
1 tétr. 2 tétr. 3 tétr.
A tabela de código BCD 8421 e o símbolo do decodificador BCD para decimal da série
TTL 7442 é mostrado na Fig. 5.4.
Fig. 5.4 (a) Símbolo lógico do decodificador BCD para decimal 7442.
(b) Tabela do código BCD 8421.
41
42
Um dispositivo capaz de mostrara uma informação de uma forma visível para o ser humano
denomina-se mostrador ou "display". Um mostrador em estado sólido, no qual os segmentos
obtêm sua luminosidade a partir de diodos emissores de luz ( LED: "light emmiting diode" ) é
operado em baixa tensão e baixa potência e assim podem ser alimentados diretamente de portas
lógicas em circuito integrado.
Um mostrador LED de sete segmentos juntamente com a tabela de decodificação de BCD
para 7 segmentos é mostrado na Fig. 5.5.
a a b c d e f g
Decimal
0 0 0 0 0 0 0 1
f b 1 1 0 0 1 1 1
1
g 2 0 0 1 0 0 1 1
3 0 0 0 0 1 1 0
e c 4 1 0 0 1 1 0 0
5 0 1 0 0 1 0 0
6 1 1 0 0 0 0 0
d 7 0 0 0 1 1 1 1
0 = segmento aceso 8 0 0 0 0 0 0
0
1 = segmento apagado
9 0 0 0 1 1 0 0
A família TTL tem CI 7447 de decodificador para 7 segmentos com saídas em coletor
aberto capazes de drenar uma corrente IOL até 40 mA. As saídas são ativas no estado "0" e assim
este CI é adequado para controlar um "display" cujos segmentos se acendam com "0".
O símbolo lógico do 7447 é mostrado na Fig. 5.6.
42
43
7447
13 LT = 0 ("Lamp test") força todas as saídas para "0"
07 DC _
A0 a provocando o acendimento de todos os segmentos.
_ 12 Quando RBI ("ripple blank input") =0 e A 3 A 2 A 1 A 0
01 b
A1 _ 11 = 0000 , todas as saídas vão para "1", apagando o display,
c_
10 a saída RB0 ("ripple blank output") vai para "0" e pode
02 d
A2 _ ser utilizada como RBI para o estágio anterior.
09
06 e RBI e RBO são utilizados para apagar os zeros não
_ 15
A3 significativos de um série de displays
f
03 _ 13
LT g
05 ___ ___ 04 t pd = 45nS
RBI RBO
Por conta: Sintetize as equações lógicas na forma de soma dos produtos utilizando a tabela
do decodificação da Fig. 5.5 e desenhe o circuito lógico do decodificador BCD para 7 segmentos
utilizando as portas lógicas "NÃO-E".
43
44
x0
x1
y
x2
x3
DC 0
A0 1 1
2 x 0 ... x 3 são as entradas dos dados
A1 2 A 0 , A 1 são as entradas de seleção
3
y é a única saída
74151
04 Seleção Strobe Saídas
D0 MUX
03 A2 A1 A0 S Y Y
D1
02 x x x 1 0 1
__
D2
01 0 0 0 0 D0 D0
__
D3 0 0 1 0 D1 D1
__
15 0 1 0 0 D2 D2
D4 06 __
14 Y 0 1 1 0 D3 D3
__
D5 05 D4
1 0 0 0 D4
__
13 Y
D6 1 0 1 0 D5 D5
__
12 1 0 D6 D6
D7 1 0 __
11 1 1 1 0 D7 D7
A0
10
A1
09
A2 (b)
07 _ t pd = 19nS
S
(a)
Fig. 5.8 (a) Símbolo lógico do CI 74151.
(b) Tabela da verdade.
44
45
5.4.1 Semi-somador.
Sejam A e B dois números binários de um bit que desejamos somar aritmeticamente. Há
apenas 4 possibilidades:
1. B = 0 , A = 0 : a soma S é igual a 0.
2. B = 0 , A = 1 : a soma S é igual a 1.
3. B = 1 , A = 0 : a soma S é igual a 1.
4. B = 1 , A = 1 : a soma S é igual a 0 e vai um que é chamado o bit de transporte("carry").
A Fig. 5.9 mostra a tabela da verdade para a soma de 2 bits e o circuito lógico capaz de
realizá-la que se chama semi-somador.
A
SP = A + B B SS SP
B
A C
C = A.B
(c)
(b)
Fig. 5.9 (a) Tabela-verdade com as equações lógicas do semi-somador.
(b) Circuito lógico do semi-somador ("half-adder").
(c) Símbolo utilizado para o semi-somador.
45
46
Cn C n -1
1 1 1 1 1 } CARRY intermediári
1 1 0 = An 1 1 0 1 1
+
0 1 1 = Bn 0 1 0 1 0
CARRY final
1 0 1 0 = Sn 0 0 1 0 1
De um modo geral, quando desejamos somar dois bits, An e Bn, quais quer de dois números
binários, devemos considerar o CARRY, vindo do estágio anterior (Cn-1). O resultado será uma
soma Sn. A tabela da verdade deste raciocínio é visto na Fig. 5.11.
As equações lógicas podem ser obtidas na forma canônica da soma dos produtos pela tabela
da verdade como:
46
47
A partir das equações lógicas (5.2) podemos construir o circuito lógico do somador
completo utilizando os dois semi-somadores e uma porta lógica "OU" como é mostrado na Fig.
5.12.
Bn SP = B n + A n S n = Cn-1 + ( B n + A n)
B SS SP B SS SP
Bn SC S n
An G'n = B n A n G"n = C n-1 ( B n + A n ) An
A C A C C n-1 Cn
C n-1
C'n
(a) (b)
Fig. 5.12 (a) Somador completo consistindo em semi-somadores.
(b) Símbolo lógico do somador completo ("full-adder").
Com o somador completo podemos realizar a adição de números binários de n bits. A Fig.
5.13 ilustra um somador para dois números binários de 4 bits.
S0 S1 S2 S3
B n SC S n B n SC S n B n SC S n B n SC S n
An An An An
C4
"0"
Cn-1 Cn Cn-1 Cn Cn-1 Cn Cn-1 Cn
B0 A0 B1 A1 B2 A2 B3 A3
47
48
circuitos ( em regra, CI's ) usam a técnica de antecipação do CARRY e são conhecidos como
SOMADORES COM CARRY LOOK-AHEAD.
Já foi dito acima que a subtração de números binários é geralmente feita através da soma do
complemento do subtraindo ao diminuendo.
Define-se o complemento 2 de um número binário de n bits como:
complemento 2 = 2n - número ou
complemento 2 = A mais A mais 1.
Por exemplo, o complemento 2 de 101 é 011, de 1011 é 0101 e etc.
Uma regra fácil para encontrar o complemento 2 de um número binário:
- troque os 0's por 1's e os 1's por 0's e some 1 ao resultado.
Por exemplo:
51 (10) = 110011 51 = 110011
+ (10)
-18 (10) =- 010010 complemento 2 de 18 =101110
(10) --------------
(desprezado) 1 ← 100001 = 33(10) .
48
49
Fig. 5.14 Símbolo e nomes dos pinos da ALU 74181 (tpd=35 nS).
49
Portas lógicas “NÃO-E” da família de CI’s 74xx
02 13 02 13 02 13 02 13
03 12 03 12 03 12 03 12
04 11 04 11 04 11 04 11
05 10 05 10 05 10 05 10
06 09 06 09 06 09 06 09
CI 7410
01
02 12
CI 7410 2-1
13
01,02
12
13 1-1
03 01 CI 7420
04 06
2-2 02 06
05 04 3-1
05
03,04 11
06 10 08
05 1-2 2-3
09
11
10 08
1-3
09