Escolar Documentos
Profissional Documentos
Cultura Documentos
1
1 Sistemas Numéricos Básicos
A tecnologia digital tornou-se generalizada e engloba praticamente todos os aspec-
tos de nossas vidas cotidianas. Podíamos vê-lo sendo usado em computadores e
aparelhos relacionados, entretenimento, automação (robótica), etc médica Embora
quantidades físicas medidos no mundo real são analógicos, a maioria destes são pro-
cessados por meios digitais. A fim de fazer isso, temos que converter a quantidade
medida analógico em digital, processar a quantidade digital usando circuitos digitais
e depois reconverter para analógico.
O conteúdo deste livro concentra-se no projeto de circuitos digitais, para permitir a
transformação da quantidade digital. Mas antes de olharmos para os princípios de
tais projetos, precisamos entender os conceitos básicos de sistemas numéricos.
O dígito de menor peso (ou seja, o primeiro da direita) é conhecido como o dígito
menos significativo (LSD-least significant digit), enquanto o dígito mais à esquerda
(maior peso) é conhecido como o digito mais significativo (MSD-most significant
digit). No exemplo mostrado na figura 1.1, o MSD é o dígito 6, enquanto o LSD é
dígito 3. A Figura 1.2 mostra o caso de número decimal fracionário.
3
Chapter 1 Sistemas Numéricos Básicos
4
1.3 Conversão entre diferentes sistemas numéricos
O problema com este método é que certos valores posicionais (tais como 22 e 20 ,
no exemplo acima) pode ser facilmente esquecido. Há um outro método chamado
divisão sucessiva que é mais freqüentemente empregado. A Figura 1.5 ilustra o
5
Chapter 1 Sistemas Numéricos Básicos
método. Ele funciona por divisão repetitiva com um valor de 2 (até que o quociente
seja 0) e os dígitos restantes de cada passo representa o número binário (na ordem
inversa).
Da mesma forma, podemos converter um número decimal para octal e hexadecimal.
As Figuras 1.6 e 1.7 ilustram os passos para essas conversões. Lembre-se que a
resposta final está na ordem inversa!
6
1.4 Outros códigos numéricos
a binário pode ser feito exclusivamente de três dígitos equivalente binário de cada
dígito octal. Isto é mostrado na Figura 1.8 (b).
7
Chapter 1 Sistemas Numéricos Básicos
8
1.4 Outros códigos numéricos
cos no sistema de numeração decimal, quatro dígitos binários (bits) são necessários
(três bits só vão dar oito representações, o que não é suficiente para um sistema
decimal.). A Figura 1.10 apresenta um exemplo, enquanto que a Tabela 1.2 dá o
código BCD.
9
Chapter 1 Sistemas Numéricos Básicos
10
1.4 Outros códigos numéricos
11
Chapter 1 Sistemas Numéricos Básicos
12
2 Introdução as Portas Lógicas
Os blocos de construção básicos de circuitos digitais são portas lógicas. A maioria
das portas lógicas são lógica binária, ou seja, tem dois estados de 0 ou 1. A entrada
ou saída dessas portas lógicas só podem existir em um desses estados, onde um
sistema de lógica positiva trata 0 como valor FALSO e 1 como valor VERDADEIRO
e, inversamente, para o sistema de lógica negativa. A Figura 2.1 mostra uma forma
de onda lógica que é 1 lógico entre um tempo t1 e t2 e é 0 lógico em outros momentos.
A lógica positiva será assumida ao longo do livro, exceto onde indicado o contrário.
As figuras 2.2 e 2.3 mostram a entrada e faixas de tensão de saída para lógica 0 e
1 para um porta lógica (A porta é realmente um tipo de NAND CMOS. A NAND
será discutida mais adiante neste capítulo.) comum usada em dispositivos digitais.
A região de transição é o intervalo em que a tensão não é definida e, portanto, a
entrada ou a saída de tensão do dispositivo não devem ser incluídas nesta região
como o valor lógico pode ser 0 ou 1. As faixas de saída são menores em comparação
com as faixas de entrada, que é útil para reduzir a interferência de ruído. A diferença
entre as faixas de entrada e saída é conhecido como margem de ruído. Embora seja
habitual ter uma margem de ruído que é a mesma para ambos os valores lógicos,
isto não tem que ser o caso, o tempo todo.
Para ilustrar a utilidade desta margem de ruído, considere um exemplo onde não há
interferência de ruído entre dois dispositivos. Suponhamos que a tensão do primeiro
dispositivo de saída digital é de 4,6 V (isto é, a lógica digital 1) e um spike (ruído)
de -0.5V entra como interferência. O valor da tensão de entrada para o segundo
dispositivo será de 4,1 V, e o nível de entrada digital ainda será 1. Sem esta margem
de ruído, o nível de entrada digital para o segundo dispositivo seja imprevisível,
uma vez que irá cair dentro da região de transição. A diferença entre a entrada ea
saída varia para um dado valor lógico é conhecido como garantida a imunidade ao
ruído, o que é 1V no presente processo. Também deve ser evidente que a região de
13
Chapter 2 Introdução as Portas Lógicas
transição para a tensão de saída será mais larga do que a tensão de entrada, devido
esta margem de ruído.
Forma de onda de pulso real não se assemelha à forma mostrada na figura 2.1, mas é
muito semelhante à que é mostrada na Figura 2.4 (Mesmo esta figura é simplificada
para facilidade de compreensão. Forma de onda real terá muitos picos.), onde existe
um período de tempo necessário para o impulso para subir e descer e estes são
conhecidos como tempos de subida e descida, respectivamente. O tempo necessário
para o impulso a aumentar entre 10% e 90% da amplitude é o tempo de subida,
enquanto o tempo de queda é o tempo necessário para que o valor da amplitude para
cair para 10% de 90%. O aumento real e os tempos de queda para um dispositivo
digital depende de suas especificações; dispositivos caros têm tempos menores. A
largura do pulso é medido utilizando-se 50% do aumento da queda e os valores de
amplitude como mostrado na figura.
14
2.1 Porta AND
Figure 2.5: Símbolos lógicos da porta AND (a) Tradicional (b) Padrão IEEE/ANSI
15
Chapter 2 Introdução as Portas Lógicas
Entradas da porta AND não tem de ser limitada a duas, pode ser qualquer número
de entradas maiores do que um, como mostrado na figura 2.6.
Figure 2.6: Porta AND de três e quatro entradas (a) F = A·B·C (b) F = A·B·C·D
16
2.2 Porta OR
2.2 Porta OR
A porta OR (OU), como mostrado na Figura 2.9 tem representação algébrica, F =
A + B. A tabela de verdade, que dá a saída F para as entradas A e B, é dada na
Tabela 2.2. Pode ser visto que a saída é alta, quando qualquer uma das entradas é
alta e a saída só é baixa, quando todas as entradas são baixas.
Table 2.2: Tabela de verdade para porta AND de duas entradas
Similar à porta AND, pode haver qualquer número de entradas maiores do que um,
como mostrado na Figura 2.10.
17
Chapter 2 Introdução as Portas Lógicas
A porta NOT pode também ser ligada em cascata e alguns exemplos são mostrados
na Figura 2.13. Deve ser óbvio que o número ímpar de ligações de portas NOT dá
um nível lógico de saída que é complementar ao nível lógico de entrada e um número
par de ligações de portas NOT dar um nível lógico de saída que é o mesmo que o
nível lógico de entrada.
18
2.6 Porta NOR
Table 2.4: Tabela verdade ilustrando implementação de porta AND usando portas
OR e NOT
na Tabela 2.5. Uma operação de portas NAND podem também ser obtidas através
da operação em cascata de portas AND e NOT como mostrado na Figura 2.16.
Algebricamente, a operação pode ser definida como F = AB.
A porta NOR é basicamente uma porta OR com a saída invertida. A Figura 2.18
mostra o símbolo lógico com a tabela de verdade mostrada na Tabela 2.6. Alge-
bricamente, a operação pode ser definida como F = A + B. Similarmente a porta
NAND, diversas portas OR podem ser usadas para implementar portas AND, OR
ou NOT. Um exemplo disto é mostrado na Figura 2.19 e o leitor pode facilmente
verificar através do uso da tabela verdade que F = AB.
19
Chapter 2 Introdução as Portas Lógicas
20
2.7 Circuitos Integrados
21
Chapter 2 Introdução as Portas Lógicas
Figure 2.9: Símbolos lógicos da porta OR (a) Tradicional (b) Padrão IEEE/ANSI
22
2.7 Circuitos Integrados
23
Chapter 2 Introdução as Portas Lógicas
Figure 2.12: Símbolos lógicos da porta NOT (a) Tradicional (b) Padrão
IEEE/ANSI
Figure 2.15: Símbolos lógicos da porta NAND (a) Tradicional (b) Padrão
IEEE/ANSI
24
2.7 Circuitos Integrados
Figure 2.18: Símbolos lógicos da porta NOR (a) Tradicional (b) Padrão
IEEE/ANSI
25
Chapter 2 Introdução as Portas Lógicas
26
3 Circuitos Lógicos Combinacionais
No capítulo anterior, operação e tabelas verdade de portas individuais foram dis-
cutidos. No entanto, na prática, as portas individuais raramente são úteis e as
combinações de várias portas são empreguadas para uma aplicação particular. Por
exemplo, ver a Figura 3.1, onde diferentes portas são utilizados para obter a saída
F.
27
Chapter 3 Circuitos Lógicos Combinacionais
A simplificação acima pode não ser clara nesta fase, mas será o objetivo das seções
seguintes ao olhar para a álgebra booleana, que será útil para simplificar circuitos
lógicos. Não só o resultado da simplificação em menor custo, projeto mais simples
(já que menos portas serão usadas), que também irá reduzir a outras complicações,
tais como superaquecimento e atraso de propagação.
28
3.3 O teorema de DeMorgan
Deve ser evidente agora que quando uma expressão contém AND e OR, o operador
AND tem precedência sobre o operador OR. Por exemplo, 0 · 1 + 1 · 1 = 0 + 1 = 1,
e não 0 · 1 + 1 · 1 = 0 · 1 · 1 = 0.
O teorema de DeMorgan é muito útil para simplificar expressões quando elas contêm
uma barra (inversão) sobre mais do que uma única variável. Ele afirma que uma
expressão invertida pode ser substituída pelas suas variáveis invertidas individuais,
mas com AND substituída por OR e vice-versa. Por exemplo:
Teorema de DeMorgan: A · B = A + B e A + B = A · B .
29
Chapter 3 Circuitos Lógicos Combinacionais
30
3.4 Mais exemplos
Table 3.4: Teoremas Booleanos para operação de uma única variável e uma
constante
Nesta seção, alguns exemplos são apresentados para ilustrar a simplificação usando
álgebra booleana e o teorema de DeMorgan:
31
Chapter 3 Circuitos Lógicos Combinacionais
32
3.4 Mais exemplos
33
Chapter 3 Circuitos Lógicos Combinacionais
Figure 3.6: Circuito lógico simplificado do exemplo mostrado na Figura 3.4 e 3.5
34
3.5 Portas XOR e XNOR
Figure 3.8: Símbolos lógicos da porta XOR (a) Tradicional (b) Padrão IEEE/ANSI
A Tabela 3.7 mostra a álgebra booleana para a operação XOR. A operação XOR
também é tanto comutativa quanto associativa: A ⊕ B = B ⊕ A e A ⊕ (B ⊕ C) =
(A ⊕ B) ⊕ C = A ⊕ B ⊕ C.
35
Chapter 3 Circuitos Lógicos Combinacionais
Figure 3.9: Símbolos lógicos da porta XNOR (a) Tradicional (b) Padrão
IEEE/ANSI
exemplo, se o código ASCII de sete bits para W, 1010111 (ver Tabela 1.1), é para
ser transmitido, um oitavo bit de paridade é acrescentado no início do código. Este
bit de paridade será ou 0 ou 1 dependendo se paridade par ou impar é requerida.
Assumindo que é par o verificador de paridade, então o número total de bits será
par. Neste caso, o bit de paridade será de 1 e de código a serem transmitidos será
11010111.
Portas XOR podem ser usadas até mesmo como verificadoras de paridade. Por
exemplo, com três entradas, a expressão serão F = A ⊕ B ⊕ C e a saída é ALTA,
se uma das entradas ou todas as três entradas são ALTAS. Da mesma forma, para
oito entradas, a saída é ALTA quando o número ímpar de entradas é ALTA.
A Figura 3.10 mostra o circuito lógico usando sete de dois portões de entrada XOR
onde os bits que representam o código são A0 , A1 , ...., A6 e o bit de paridade é P .
A saída F será ALTA quando o número ímpar de entradas é ALTO. Portanto, se o
código não é transmitido corretamente (por exemplo, resultando em número ímpar
de 1s), então o LED acende-se para mostrar que um erro ocorreu. Por outro lado,
com a transmissão correta, o número de 1s será ainda par e a saída será BAIXA (ou
seja, o LED não acende).
Deveria ser óbvio que portas XNOR pode ser usada como verificador de paridade
ímpar pois a saída será ALTA somente quando número par de entradas é ALTO.
36
3.5 Portas XOR e XNOR
37
4 Mapas de Karnaugh
No capítulo anterior, a simplificação de expressões para circuitos lógicos combi-
nacionais foi estudada usando álgebra booleana e teorema de DeMorgan. Neste
capítulo, um método diferente baseado em gráfico chamado mapa de Karnaugh (ou
mapas K) será estudado para simplificar as expressões. Mas antes do mapa K ser
discutido, os dois tipos de métodos para escrever expressões de circuitos lógicos serão
discutidos.
39
Chapter 4 Mapas de Karnaugh
Assim, a tabela verdade para termos POS pode ser facilmente preenchido para cada
termo, dando saída F = 0 com as variáveis A e B, seguindo a lógica negativa (isto
é variável complementada é 1 lógico e a não complementada é 0 lógico).
A Tabela 4.4 dá a tabela verdade para o segundo exemplo de POS F = (A + B +
C)(A + C)(B + C).
Expressões POS não são freqüentemente empregadas em sistemas digitais, mas dis-
cutida aqui por causa de completude.
4.3 Mapas K
Como mencionado anteriormente, o mapa K é um método gráfico que é útil para
simplificar expressões lógicas. Embora os métodos algébricos discutido no Capítulo
3 podem igualmente ser usados para simplificar a expressão, é frequentemente mais
40
4.3 Mapas K
41
Chapter 4 Mapas de Karnaugh
Além de par de laços, podemos ter laços quad (envolvendo quatro 1s). Considere
uma expressão lógica três variáveis: F = ABC + ABC + ABC + ABC + ABC. A
tabela verdade pode ser completada com cada termo ABC, ABC, ABC, ABC e
ABC dando a saída F = 1, como mostrado na Tabela 4.6.
A Figura 4.5 dá o mapa K completo de três variável. Note, em particular na se-
quência de variáveis A e B no mapa K. A seqüência (ordem) segue código de gray
(00 → 01 → 11 → 10 com AB → AB → AB → AB), onde apenas um bit muda
42
4.3 Mapas K
nas células adjacentes. A Figura 4.6 (a) mostra o laço quad aplicado para quatro 1s
adjacentes. As variáveis B e C estão em formas complementada e não complemen-
tada no laço quad, então essas variáveis vão desaparecer, deixando apenas a variável
A.
No entanto, não é o fim da simplificação, visto que há mais uma 1 que não está
emparelhado (para F = ABC). Laços em mapas K podem envolver em torno, para
criar um par de laço, como mostrado na Figura 4.6 (b). A variável A está nas formas
complementada e não complementada no circuito par, por isso vai desaparecer,
deixando apenas BC. Assim, a expressão simplificada resultante será F = A + BC.
Como outro exemplo, considere F = AB + ABC + ABC. Uma vez que um dos
termos, AB tem apenas duas variáveis, deve ser expandido para dar AB = AB(C +
C)+ = ABC + ABC. Então F = ABC + ABC + ABC + ABC. Agora, o mapa K
pode ser construído como mostrado na Figura 4.7 e o laço quad aplicado para dar
F = B.
Pode-se verificar que a simplificação algébrica também dá o mesmo resultado. Isto
43
Chapter 4 Mapas de Karnaugh
F = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+AB
A Figura 4.8 mostra o mapa K para essa expressão. Com quatro variáveis, laço
octeto (com oito 1s) é possível. Note que os laços devem ser tão grande quanto
possível, por isso, se existe uma escolha de dois laços quádruplos e um laço octeto,
então o laço octeto deve ser criado.
Só permanece a variável C a partir do laço octeto pois as outras variáveis estão nas
fosmas complementadas e não complementadas e então desaparecem. Há dois laços
quad que dão AD e AD. A expressão final é F = AD + AD + C .
Deve ser agora evidente que um loop de um par remove variável, um circuito quad re-
move duas variáveis, enquanto um circuito octeto remove três variáveis. No exemplo
acima, octeto laço variáveis removidos A, B e D.
44
4.3 Mapas K
Considere a tabela de verdade como na Tabela 4.7. Para este exemplo, vamos obter
o diagrama de circuito lógico simplificado.
Em primeiro lugar, a expressão lógica deve ser obtida a partir da tabela de verdade
e usando-a, traçar o mapa K (como mostrado na Figura 4.9). Em seguida, pode-
se obter a expressão simplificada e com ela desenhar o diagrama de circuito lógico
simplificado, como mostrado na Figura 4.10. Expressão lógica:
F = ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD+ABCD
Mapa K
Expressão simplificada: F = A + BD + CD
Diagrama de circuito lógico simplificado:
Como outro exemplo, considere uma expressão lógica
45
Chapter 4 Mapas de Karnaugh
No projeto de lógica digital, muitas vezes encontramos condições que não importam
. Estas condições são casos que não irão ocorrer em nosso projeto e, portanto, a
saída pode ser configurada para qualquer valor (0 ou 1). As condições irrelevantes
são denotadas usando X nas tabelas de verdade e mapas K. Por exemplo, considere
um dispositivo de exibição de sete segmentos, como mostrado na Figura 4.12 que é
comumente utilizado para exibir caracteres hexadecimais.
O dispositivo é constituído por 7 diodos emissores de luz (LEDs) no qual a luz
com diferentes padrões dar a saída hexadecimal, conforme mostrado na Figura 4.13.
Note que os caracteres hexadecimais A a F são normalmente apresentados numa
mistura de letras maiúsculas e minúsculas para evitar ambiguidades (por exemplo a
diferenciação D com 0, B com 8, etc.)
A Tabela 4.8 dá as codificações de caracteres para os sete LEDs (a, b, ...., g), onde
o 1 denota que o LED estará ligado e um 0 denota que o LED estará desligado.
Então, para mostrar o numeral 0, os LEDs a, b, c, d, e, f estarão ligados e o LED
g estará desligado. Da mesma forma, para exibir caracteres F, os LEDs, a, e, f, g e
estará ligado enquanto LEDs b, c e d estarão desligado.
Agora, por uma questão de discutir as condições irrelevantes, consideramos que
estamos usando o display de sete segmentos apenas para exibir os números decimais
(ou seja, de 0 a 9). Assim, enquanto que a concepção de fiação necessária para o
dispositivo, podemos agora ignorar mostra o resto das letras A a F. Esta situação
será denotado com X como na Tabela 4.9. Vamos obter a expressão lógica de um
LED a. Para evitar confusão com os caracteres hexadecimais, vamos designar as
46
4.3 Mapas K
Figure 4.5: Mapa K de três variáveis para F = ABC +ABC +ABC +ABC +ABC
47
Chapter 4 Mapas de Karnaugh
Figure 4.6: Mapa K de três variáveis mostrado na Figura 4.5 (a) laço quad (b)
laço par
Figure 4.7: Mapa K de três variáveis para F = ABC + ABC + ABC + ABC
48
4.3 Mapas K
49
Chapter 4 Mapas de Karnaugh
50
4.3 Mapas K
51
Chapter 4 Mapas de Karnaugh
52
4.3 Mapas K
53
Chapter 4 Mapas de Karnaugh
54
4.3 Mapas K
55
5 Circuitos Multivibrador Biestável
Neste capítulo, os circuitos que possuem dois estados estáveis (ou seja, off e on),
será estudado. Estes circuitos são também vulgarmente conhecidos como flip-flops.
Como eles tem dois estados estáveis (isto é valor lógico 0 ou 1) são úteis para
armazenar um bit de dado digitais, ou seja, como elementos de memória. Vários
tipos de flip-flops serão estudados antes de olharmos para outros multivibradores
para gerar um único trem de pulsos.
A Figura 5.1 mostra um símbolo de um flip-flop em geral. Normalmente, há uma ou
duas entradas para o flip-flop e a saída tem também um complemento. As entradas
são 0 ou 1 lógico e comumente conhecido como entrada set (ou preset) quando igual
a 1 (estado ALTO) e entrada reset (ou clear) quando igual a 0 (estado BAIXO).
57
Chapter 5 Circuitos Multivibrador Biestável
para 0 lógico. A saída do flip-flop SR não está definida quando as duas entradas são
1, então esta situação deve ser evitada quando se utiliza o flip-flop SR. Na discussão
acima, o estado de Q será oposto ao estado de Q em todos os momentos.
Uma entrada de habilitação pode ser usada para controlar o funcionamento dos flip-
flops, como mostrado na Figura 5.3. Aqui as entradas R e S só terão um efeito sobre
a saída Q+ se a entrada de ativação é 1. Quando E = 1, as NAND (em negrito)
atuarão como inversores, assim, o circuito comporta exatamente como o flip-flop SR
com NAND na Figura 5.2 (b). A Tabela 5.2 fornece os valores da tabela verdade.
58
5.1 Flip-Flop S-R
59
Chapter 5 Circuitos Multivibrador Biestável
60
5.2 Flip-Flop J-K
61
Chapter 5 Circuitos Multivibrador Biestável
5.3 Flip-Flop D
O flip-flop D também é conhecido como flip-flop de dados, uma vez que pode ar-
mazenar um único bit de dados. A saída Q do flip-flop segue a entrada única D aos
respectivos pulsos de relógio. A Figura 5.13 mostra o símbolo do flip-flop D.
A Tabela 5.5 dá a tabela verdade para o flip-flop D. A saída Q seguirá a entrada D
para um clock NGT ou PGT, dependendo se se trata de flip-flop de borda negativa
ou positiva. O flip-flop D também pode ter entradas assíncronas tais como P RE e
CLR que afectam a saída Q independentemente do relógio.
A Figura 5.14 apresenta um exemplo do diagrama de temporização do flip-flop D:
- No tempo t1 ,como D = 1, Q vai para 1 lógico
- No tempo t2 ,como D = 0, Q vai para 0 lógico
- No tempo t23 ,como P RE = 0, Q vai para 1 lógico
- No tempo t3 ,como D = 1, Q permanece em 1 lógico
62
5.4 Flip-Flop T
5.4 Flip-Flop T
O último flip-flop a ser considerado neste capítulo é o flip-flop T . A tabela verdade
do flip-flop T é dada na Tabela 5.6 supondo que ele é acionado por um relógio NGT.
A saída para o flip-flop alterna em T = 1, originando, assim, uma forma de onda de
relógio semelhante, mas com metade da frequência, como mostrado pelo diagrama
de temporização da Figura 5.16. Quando T = 0, a saída Q não é alterada.
63
Chapter 5 Circuitos Multivibrador Biestável
64
5.5 Multivibradores monoestável e astável
Figure 5.2: Flip-flop S-R: (a) símbolo geral (b) usando portas NAND (c) usando
portas NOR
65
Chapter 5 Circuitos Multivibrador Biestável
Figure 5.4: Flip-flops SR com clock (a) PGT (b) NGT, note a bolha para o flip-flop
gatilhado NGT
66
5.5 Multivibradores monoestável e astável
Figure 5.5: Diagrama temporal para o exemplo de um flip-flop com borda NGT
Figure 5.6: Diagrama temporal para o exemplo de um flip-flop com borda PGT
67
Chapter 5 Circuitos Multivibrador Biestável
Figure 5.8: Diagrama temporal para o exemplo de um flip-flop SR com borda NGT
e entradas assíncronas
68
5.5 Multivibradores monoestável e astável
69
Chapter 5 Circuitos Multivibrador Biestável
70
5.5 Multivibradores monoestável e astável
Figure 5.14: Diagrama temporal para o exemplo de um flip-flop D com borda NGT
71
Chapter 5 Circuitos Multivibrador Biestável
72
5.5 Multivibradores monoestável e astável
Figure 5.17: Flip-flop T (a) símbolo geral (b) contruído usando flip-flop JK
73
Chapter 5 Circuitos Multivibrador Biestável
74
6 Circuitos aritméticos
Nos computadores, cálculos aritméticos, como adição e subtração binária são feitos
em unidade lógica aritmética (ALU -arithmetic logic unit), que consiste de portas
lógicas e flip-flops. Portas lógicas executam a operação aritmética, enquanto os
flip-flops (ou seja, registro e acumulador) são usados como memória de armazena-
mento temporário (algo como um bloco de rascunho que usamos para realizar cálculo
matemático). Vamos olhar para os circuitos somador e subtrator neste capítulo.
S0 = A0B0 + A0B0
Uma vez que esta é a expressão da XOR (ver Seção 3.5), isto também pode ser
expresso como
75
Chapter 6 Circuitos aritméticos
S0 = A0 ⊕ B0
Da mesma forma, a expressão para C1 é
C1 = A0 B0
76
6.2 Somador completo
Tabela 6.2, onde pode ser visto que as três entradas binárias, A0 , B0 e C0 adicionam-
se para dar às duas saídas binárias, S0 e C1 . O símbolodo somador completo é
mostrada na Figura 6.4.
Table 6.2: Combinações para o somador completo
Mapas K para as duas saídas do somador completo são mostrados na Figura 6.5.
Para Σ0 , nenhum laço é possível e a expressão é
Σ0 = A0 B0 C0 + A0 B0 C0 + A0 B0 C0 + A0 B0 C0
Σ0 = C0 A0 B0 + A0 B0 + C0 A0 B0 + A0 B0
77
Chapter 6 Circuitos aritméticos
que também podem ser expressas na forma mais simples utilizando expressões XOR
e XNOR assim
Σ0 = C0 A0 ⊕ B0 + C0 (A0 ⊕ B0 )
Σ0 = C0 X0 + C0 X0
A simplificação pode ser feita usando uma expressão XOR para dar
Σ0 = A0 ⊕ B0 ⊕ C0
C1 = A0 B0 + A0 C0 + B0 C0
78
6.4 Adição paralela utilizando circuitos integrados
79
Chapter 6 Circuitos aritméticos
6.5.1 Complemento de 2
80
6.5 Subtração paralela
Deve ser óbvio que um somador também pode funcionar como subtrator com portas
adicionais. Por exemplo, o somador completo mostrado na Figura 6.4 pode ser
utilizado para desenhar um subtrator invertendo B0 e definindo C0 = 1 (ambas
estas ações irão resultar na forma de complemento de 2 para B0 ), como mostrado
na Figura 6.13. Semelhante a somadores paralelos, subtratores paralelos podem ser
concebidos utilizando vários somadores completo como mostrado na Figura 6.14.
Usando o exemplo da Figura 6.12, o 74LS283 pode ser modificado para atuar
como subtrator como mostrado na Figura 6.15. O minuendo é representado por
A0 , A1 , A2 , A3 e os inversores convertem o subtraendo (B0 , B1 , B2 , B3 ) para um
complemento de 1 e C0 é ajustado a 1 para converter este um número de comple-
mento de 1 para complemento de 2. As saídas (Σ0 , Σ1 , Σ2 , Σ3 ) denotam a resposta
correta como 4 e o carry de saída, C4 = 1 é descartado.
81
Chapter 6 Circuitos aritméticos
82
6.5 Subtração paralela
83
Chapter 6 Circuitos aritméticos
84
6.5 Subtração paralela
85
7 Codificadores e Multiplexadores
Neste capítulo, analisaremos dois tipos de operações que são comuns em disposi-
tivos digitais: codificação e multiplexagem. Dispositivos de codificação podem ser
categorizados como codificadores ou decodificadores e da mesma forma, temos mul-
tiplexadores e de-multiplexadores. CIs popularmentes disponíveis irão ser usado
para ilustrar essas operações.
7.1 Encoder(codificador)
Um codificador é um dispositivo que faz alguma forma de codificação, por exemplo
convertendo um número octal a binário, como mostrado na figura 7.1. Em geral,
um codificador N bits tem 2N linhas de entrada e N linhas de saída, no caso do
codificador octal para binário, é de 8 para 3, ou seja, oito linhas de entrada e três
linhas de saída. Apenas uma entrada é ativa de cada vez.
A Tabela 7.1 dá a tabela verdade para este codificador. Pode ser visto que apenas
uma linha de entrada está ativa. Por simplicidade de discussão nesta fase, assumimos
87
Chapter 7 Codificadores e Multiplexadores
que as linhas de entrada e saída para o decodificador é ativo em ALTO, embora nós
veremos mais tarde que a maioria dos decodificadores têm linhas de saída e de
entrada ativo em BAIXO. Quando uma entrada é ativada, o binário correspondente
é a saída. Por exemplo, quando I6 = 1, as saídas são O2 = 1, O1 = 1 e O0 = 0,
que é o número binário para seis. Note-se a ordenação dos índices para as linhas
de entrada e saída na Tabela 7.1: I7 , I6 , ...., I0 são ordenados da esquerda para a
direita, enquanto é O2 , O1 , O0 para as saídas. Este esquema de ordenação é apenas
escolhido para permitir a fácil compreensão dos conceitos.
88
7.1 Encoder(codificador)
Table 7.2: Tabela verdade para codificador de prioridade 4 para 2 prioridade (com
condições irrelevantes)
os mapas K, temos que expandir a Tabela 7.2 para incluir tanto os casos 0 e 1 para
as condições irrelevantes, como mostrado na Tabela 7.3. A partir dos mapas K, as
expressões para as saídas são
O0 = I2 I1 + I3 ,
O1 = I2 + I3 .
A partir da Tabela 7.3, podemos também observar que as saídas serão todas 0 lógico
para dois casos: quando todas as entradas são 0 e I0 = 1. Esta ambiguidade pode
ser resolvida por meio de um pino de saída especial e será discutida mais tarde.
A Figura 7.3 mostra os circuitos lógicos para as saídas O0 e O1 .
89
Chapter 7 Codificadores e Multiplexadores
90
7.2 Decodificadores
7.2 Decodificadores
O decodificador é o oposto do codificador, por exemplo, um descodificador 3 para
8, que aceita três entradas binárias e ativa a saída única correspondente, conforme
mostrado na Figura 7.5. A Figura 7.6 mostra um CI 74xx138, que é um descodifi-
cador binário para octal (3 para 8) . As três entradas estão ativas em nível ALTO
(note que não há bolha na figura), mas as oito saídas são todas ativas em nível
BAIXO. Além disso, três entradas de habilitação: dois ativas em nível BAIXO e
uma ativa em nível ALTO necessitam estar no modo afirmado para habilitar o CI
(ou seja, E3 = 1, E2 = 0 e E1 = 0). Se qualquer uma dessas entradas estão em
um estado inativo, então todas as saídas estarão em estado inativo (i.e 1 lógico uma
vez que estes são pinos ativos em nível BAIXO), independentemente das entradas,
como mostrado pelas três primeiras linhas da Tabela 7.5. Quando E3 , E2 e E1 estão
ativados, as entradas afetam a saída. Por exemplo, quando I 2 = I 1 = I 0 = 1 então
o pino O7 torna-se baixo e quando I 2 = I 1 = 1 e I 0 = 0 o pino O6 torna-se baixo
7.3 Multiplexador
O Multiplexador (também conhecido como seletor de dados) é um dispositivo digital
que funciona como um interruptor tomando várias entradas e ligando uma entrada
91
Chapter 7 Codificadores e Multiplexadores
O0 = S0 I0 + S0 I1
92
7.4 Demultiplexador
7.4 Demultiplexador
Um demultiplexador faz o oposto do multiplexador levando uma única entrada para
uma saída seleccionada. Por isso, é também conhecido como distribuidor de dados.
Um exemplo de um desmultiplexador de uma 1 para 8 linhas é mostrada na Figura
7.11.
93
Chapter 7 Codificadores e Multiplexadores
94
7.4 Demultiplexador
95
Chapter 7 Codificadores e Multiplexadores
96
7.4 Demultiplexador
97
Chapter 7 Codificadores e Multiplexadores
98
7.4 Demultiplexador
99
Chapter 7 Codificadores e Multiplexadores
100
7.4 Demultiplexador
101
Chapter 7 Codificadores e Multiplexadores
102
8 Contadores
Neste capítulo, vamos utililizar flip-flops e portas lógicas para projetar contadores.
Existem dois tipos de contadores: assíncronos e síncronos. Contadores assíncronos
são também conhecidos como contadores por pulsação quando as ondas de pulsos
de relógio a partir de um flip-flop é ligado ao próximo. A saída do contador pode
ser incorreta se o atraso acumulado da ondulação é maior que o pulso do clock.
Contadores síncronos, por outro lado, tem a entrada de pulsos de relógio comum a
cada um flip-flop e, portanto, não sofrem este efeito de ondulação. No entanto, esses
contadores de frequência exigem circuitos adicionais.
103
Chapter 8 Contadores
Figure 8.1: Contador assíncrono crescente de dois bits com pulso de clock NGT.
A Figura 8.4 mostra um contador assíncrono crescente de dois bits, mas com o clock
gatilhando na borda positiva. O figura é quase a mesma da Figura 8.1, exceto que a
entrada de clock do 2 flip-flop vem de Q1 em vez de um Q1 . O diagrama de estado
e a tabela de estado será a mesmo, como mostrado na Figura 8.2. O diagrama de
temporização é mostrada na Figura 8.5, onde pode ser visto que os flip-flops mudam
na borda positiva de relógio (PGT)).
O diagrama de tempo na Figura 8.5 pode ser analisado como segue: no tempo t1 ,
o pulso de relógio PGT comuta Q1 para alternar de 0 lógico para 1 lógico. Não
há nenhuma alteração em Q2 e a saída do contador é 01. No tempo t2 , o pulso de
relógio PGT faz Q1 para mudar de estado para 0 lógico. Como a saída de Q do
flip-flop 1 atua como entrada de relógio para o flip-flop 2, no momento t2 , Q2 comuta
para o nível lógico 1 e a saída do contador é agora 10. No tempo t3 , o relógio de
entrada PGT comuta Q1 a um nível lógico 1, mas não há nenhuma alteração em Q2
já que a entrada de relógio de flip-flop 2 neste momento é NGT e não PGT levando
a saída do contador para 11. No tempo t4 , tanto Q1 e Q2 comutam para 0 lógico
levando a saída do contador para 00. Em t5 , Q1 comuta para 1 lógico, mas não
há nenhuma alteração em Q2 . Pode ser visto que os ciclos do contador através dos
estados é 00 → 01 → 10 → 11 e o ciclo é repetido.
104
8.2 Contador assíncrono decrescente
Figure 8.3: Diagrama temporal para o contador assíncrono crescente de dois bits
com pulso de clock NGT.
Figure 8.4: Contador assíncrono crescente de dois bits com pulso de clock PGT.
105
Chapter 8 Contadores
Figure 8.5: Diagrama temporal para o contador assíncrono crescente de dois bits
com pulso de clock PGT.
10. No tempo t3 , ambos flip-flops receberm entradas de clock NGT e comutam para
os estados opostos, levando a saída como 01. No momento t4 , o flip-flop 1 comuta
para 0 lógico, levando a saída do contador para 00. Assim, os ciclos do contador
são: 11 → 10 → 01 → 00.
Da mesma forma, um contador com maior número de bits pode ser construído. Por
exemplo, um contador assíncrono decrescente de 4 bits com pulso de clock PGT
usando JK flip-flops é mostrado na Figura 8.9. As entradas de clock (com exceção
do primeiro flip-flop) vêm de output Q do flip-flop anterior. O ciclo do contador
será:
1111 → 1110 → 1101 → 1100 → 1011 → 1010 → 1001 → 1000 → 0111 → 0110 →
0101 → 0100 → 0011 → 0010 → 0001 → 0000.
A Tabela 8.1 apresenta um resumo das entradas de clock para o segundo flip-flop
em diante do contador up/down versus tipo borda de gatilho.
106
8.3 Contador assíncrono com ciclos incompletos
Figure 8.6: Contador assíncrono decrescente de dois bits com pulso de clock NGT
usando flip-flop tipo T.
107
Chapter 8 Contadores
Figure 8.8: Diagrama temporal para o contador assíncrono decrescente de dois bits
com pulso de clock NGT.
Figure 8.9: Contador assíncrono decrescente de quatro bits com pulso de clock
PGT
Vejamos outro exemplo: um contador para contar apenas 000 → 001 → 010 →
011 → 100 . Nesta situação, vamos precisar de três flip-flops e o contador tem que
parar o ciclo em 100 (e saltar 101, 110 e 111) e voltar para 000. Em outras palavras,
o contador tem de reiniciar depois de 100. O diagrama de estado é mostrado na
Figura 8.13. Como mencionado anteriormente, o estado temporário de 101 ocorre
apenas durante um curto período de tempo e, consequentemente, não aparece no
ciclo. O circuito adicional usando NAND e entradas CLR resetam o contador a 000
quando o estado 101 ocorre . O circuito lógico é mostrado na Figura 8.14. Assim
que o estado Q3 = 1 (isto é, C = 1) e Q1 = 1 (isto é, A = 1) ocorrem, as entradas
clear resetam todos o flip-flops para 0 e o contador retoma o seu ciclo.
108
8.4 Contadores síncronos
109
Chapter 8 Contadores
Figure 8.11: Three state asynchronous up-counter with PGT clock pulse (with-
CLR input).
Suponha que desejamos projetar um contador que conte 000 → 010 → 011 → 111
e, em seguida, volte para 000. Neste contador, há vários estados não usados: 001,
100, 101 e 110. Embora esses estados não deve ocorrer em nosso projeto, é uma
boa prática definir o contador ir à 000 se qualquer um desses estados indesejáveis
ocorrem.
Passo 1 : Diagrama de estados é mostrado na Figura 8.15.
Passo 2 : O número de flip-flops é três e vamos supor que são usados flip-flops JK .
Passo 3 : A tabela de excitação é, basicamente, uma tabela de verdade, que dá
as entradas J e K necessárias para permitir uma alteração na saída corrente de Q
para próximo estadoQ+ . A tabela 8.2 mostra o quadro geral de excitação para um
flip-flop JK (com condições irrelevantes, X).
A tabela de excitação para o contador a ser projetado é mostrada na Tabela 8.3.
Passo 4 : Usando a Tabela 8.3 de excitação , podemos obter os mapas K para cada
entrada, como mostrado nas Figuras 8.16-8,18 onde os estados presentes devem ser
utilizados para desenhar os mapas K.
A partir dos mapas K, as expressões simplificadas para as entradas são:
110
8.4 Contadores síncronos
Figure 8.12: Timing diagram for three state asynchronous up-counter with PGT
clock pulse.
JA = AC; KA = C + A
JB = BC; KB = C
JC = AB KA = 1
Passo 5 : O diagrama de circuito lógico é dado na Figura 8.19. Observe que to-
das as entradas de relógio são ligadas juntas e, portanto, o flip-flops são pulsados
simultaneamente.
111
Chapter 8 Contadores
Passo 1 : Como o LSB do contador não muda, não precisamos estar preocupados
com o projeto para este bit e podemos definir QA = 0. Assim, o diagrama de estado
simplificado é mostrado na Figura 8.20.
Passo 2 : O número de flip-flops é somente dois e flip-flops T serão usados.
Passo 3 : A tabela geral de excitação para o flip-flop tipo T é dada na Tabela 8.4,
enquanto a tabela de excitação pra o contador édado na Tabela 8.5.
Passo 4 : O mapas K são mostrados na Figura 8.21. As expressões simplificadas são
TB = 1
TC = B
112
8.4 Contadores síncronos
Figure 8.14: Five state asynchronous up-counter with NGT clock pulse (withCLR
input).
113
Chapter 8 Contadores
114
8.4 Contadores síncronos
115
Chapter 8 Contadores
116
8.4 Contadores síncronos
117
Chapter 8 Contadores
118
8.4 Contadores síncronos
119