Buscar

Capitulo-2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Digital Design 
Copyright © 2006 
Frank Vahid 
1 
Sistemas Digitais 
Capítulo 2: 
Projeto Lógico Combinacional 
Slides to accompany the textbook Digital Design, First Edition, 
by Frank Vahid, John Wiley and Sons Publishers, 2007. 
http://www.ddvahid.com 
Copyright © 2007 Frank Vahid 
Instructors of courses requiring Vahid's Digital Design textbook (published by John Wiley and Sons) have permission to modify and use these slides for customary course-related activities, 
subject to keeping this copyright notice in place and unmodified. These slides may be posted as unanimated pdf versions on publicly-accessible course websites.. PowerPoint source (or pdf 
with animations) may not be posted to publicly-accessible websites, but may be posted for students on internal protected sites or distributed directly to students by other electronic means. 
Instructors may make printouts of the slides available to students for a reasonable photocopying charge, without incurring royalties. Any other use requires explicit permission. Instructors 
may obtain PowerPoint source or obtain special use permissions from Wiley – see http://www.ddvahid.com for information. 
Material traduzido e adaptado para o 
Português pelo Prof. Ricardo O. Duarte e 
revisado pelos Profs. Luciano Pimenta e 
Hermes Magalhães 
DELT – EEUFMG 
(Rev. 2) 
Digital Design 
Copyright © 2006 
Frank Vahid 
2 
Introdução 
Circuito digital 
combinacional 
1 
a 
b 
1 
F 0 
1 
a 
b 
? 
F 0 
• Aprenderemos como projetar Circuitos Digitais 
• Começaremos com os circuitos mais simples: 
– Circuitos Combinacionais 
• Circuito digital no qual suas saídas dependem única e 
exclusivamente da combinação momentânea dos 
valores lógicos das entradas do circuito 
Circuito Digital 
2.1 
Circuito digital 
sequencial 
Note: Slides with animation are denoted with a small red "a" near the animated items 
Digital Design 
Copyright © 2006 
Frank Vahid 
3 
Chaves 
• A chave eletrônica é o elemento base 
do projeto de circuitos digitais binários. 
– Terminologia elétrica 
• Tensão: Diferença de potencial elétrico 
entre dois pontos quaisquer do circuito. 
– Analogia com a pressão da água em pontos 
diferentes de uma tubulação. 
• Corrente: Fluxo de partículas eletricamente 
carregadas. 
– Analogia com o fluxo da água em um tubo. 
• Resistencia: Tendência do fio a resistir ao 
fluxo de corrente. 
– Analogia com o diâmetro do tubo. 
• V = I * R (Lei de Ohm) 
4.5 A 4.5 A 
4.5 A 
2 ohms 
9V 
0 V 
9 V 
+ – 
2.2 
Digital Design 
Copyright © 2006 
Frank Vahid 
4 
Chaves • Uma chave é composta por 3 partes: 
 
– Entrada (ou fonte), Saída … 
• A corrente deseja fluir da entrada ou 
fonte para a saída. 
– e Entrada de controle 
• Terminal que controla se a corrente 
pode ou não fluir da entrada para a 
saída. 
• Evolução das chaves eletrônicas 
(encolhimento em tamanho, 
velocidade de chaveamento, consumo 
e potência dissipada) 
– 1930s: Relés 
– 1940s: Válvulas 
– 1950s: Transistor (dispositivo) 
– 1960s: Circuito Integrado (CI) 
» Inicialmente alguns poucos 
transistores por CI. 
» Depois, centenas, milhares, 
milhões, … 
Chave desligada 
Chave ligada 
saída fonte 
entrada 
saída fonte 
entrada 
Entrada de 
controle 
Entrada de 
controle 
( b ) 
Relés Válvulas 
transistor 
Circuito Integrado (CI) 
Moeda (1/4 de dólar) 
(imagem comparativa) 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
5 
Lei de Moore 
• Capacidade de integração de chaves em CIs 
dobrando a cada 18 meses. 
 
– Conhecida como a “Lei de Moore”, enunciado por 
Gordon Moore, co-fundador da Intel 
• Enunciada em 1965, previa que o número de 
transistores por CI dobraria a cada ano 
aproximadamente. 
• Transistores são componentes eletrônicos utilizados 
principalmente como amplificadores e interruptores de 
sinais elétricos. 
– A capa do livro ilustra o fenômeno. 
• Para um determinado número de chaves (transistores) o 
CI “encolhe” pela metade a cada 18 meses. 
– Imagine quanto um CI encolheria em 10 anos. 
– Possibilita um potencial incrível de processamento de 
dados e armazenamento em dispositivos (CIs) 
incrivelmente minúsculos. 
– Atualmente dentro de um CI moderno existem bilhões 
de transistores (Core quad) 
• O primeiro Pentium (início dos anos 90) comportava 
somente 3 milhões de transistores. 
Uma foto do CI Pentium - Intel 
com alguns poucos milhões de 
transistores. 
Digital Design 
Copyright © 2006 
Frank Vahid 
6 
O Transistor CMOS 
• Transistor CMOS: Complementary Metal-Oxide-Semiconductor 
– Elemento básico na construção de chaves em CIs (sistemas digitais modernos). 
– O transistor mais popular usado em CIs digitais é do tipo CMOS. 
 
não 
conduz 
0 
conduz 
1 
porta 
nMOS 
não 
conduz 
1 
porta 
pMOS 
conduz 
0 
Silício – não é um condutor nem um isolante ideal: 
 Material semicondutor 
2.3 
a 
fonte 
dreno 
fonte 
dreno 
Digital Design 
Copyright © 2006 
Frank Vahid 
7 
Portas Lógicas 
Construindo blocos maiores para projetar Circuitos Digitais 
(a partir de chaves…) 
• “Portas lógicas” são blocos construtivos básicos mais adequados que chaves 
(transistores) para construir circuitos digitais maiores. 
2.4 
Digital Design 
Copyright © 2006 
Frank Vahid 
8 
A Álgebra Booleana e sua relação com os 
Circuitos Digitais 
• Para entender os benefícios das “portas lógicas” vs. 
chaves, precisamos aprender a Álgebra Booleana. 
• Álgebra tradicional 
– As variáveis representam números reais. 
– Operadores manipulam variáveis e produzem outros números 
reais. 
• Álgebra Booleana 
– Variáveis representam somente 0 ou 1. 
– Operadores produzem somente 0 ou 1. 
– Operadores lógicos básicos 
• AND: a AND b produz 1 somente quando a=1 e b=1 
• OR: a OR b produz 1 somente quando a=1 ou b=1 ou ambos 
forem iguais a 1. 
• NOT: NOT a produz o inverso (oposto) de a (1 se a=0, 0 se a=1) 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
AND 
0 
0 
0 
1 a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
OR 
0 
1 
1 
1 
a 
0 
1 
NOT 
1 
0 
Digital Design 
Copyright © 2006 
Frank Vahid 
9 
A Álgebra Booleana e sua relação com os 
Circuitos Digitais 
• Desenvolvida em meados do século XIX (aprox. 1850) pelo 
matemático britânico George Boole para formalizar o raciocínio lógico 
humano. 
– Ex: “Eu irei almoçar se Maria OU João forem, E Silvia não for.” 
• Considere a variável F representando minha ida ao almoço. (1 significa eu vou 
e 0 não vou) 
• Da mesma forma: m para Maria vai, j para João, e s para Silvia 
• Então F = (m OR j) AND NOT(s) 
– Possibilita: 
• Avaliações formais de expressões lógicas 
– m=1, j=0, s=1 --> F = (1 OR 0) AND NOT(1) = 1 AND 0 = 0 
• Transformações formais de expressões lógicas 
– F = (m and NOT(s)) OR (j and NOT(s)) 
» Parece diferente, mas é a mesma função lógica! 
» Estudaremos as técnicas formais de transformação lógica 
em breve. 
– OBS: o Apêndice A do livro trata sobre Álgebras Booleanas. 
 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
AND 
0 
0 
0 
1 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
OR 
0 
1 
1 
1 
a 
0 
1 
NOT 
1 
0 
Foto retirada de http://pt.wikipedia.org/wiki/George_Boole 
Digital Design 
Copyright © 2006 
Frank Vahid 
10 
Como avaliar Expressões Booleanas? 
• Avalie a equação booleana F = (a AND b) OR (c AND d) 
para os valores lógicos dados a seguir para as variáveis 
a, b, c, e d: 
– Q1: a=1, b=1, c=1, d=0. 
• resposta: F = (1 AND 1) OR (1 AND 0) = 1 OR 0 = 1. 
– Q2: a=0, b=1, c=0, d=1. 
• resposta : F = (0 AND 1) OR (0 AND 1) = 0 OR 0 = 0. 
– Q3: a=1, b=1, c=1, d=1. 
• resposta : F = (1 AND 1) OR (1 AND 1) = 1 OR 1 = 1. 
a 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
AND 
0 
0 
0 
1 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
OR 
0 
1 
1 
1 
a 
0 
1 
NOT 
1 
0 
Digital Design 
Copyright © 2006 
Frank Vahid 
11 
Como converter situações lógicas para 
Expressões Booleanas? 
• Converta as seguintessituações para as respectivas 
Equações Booleanas. 
– Q1. A saída F será verdadeira se a for 1 e b for 1. 
• Resposta: F = a AND b 
– Q2. A saída F será verdadeira se qualquer um ou ambos a ou b 
forem iguais a 1. 
• Resposta: F = a OR b 
– Q3. A saída F será falsa se ambos a e b não forem 0. 
• Resposta: 
– (a) Primeira solução: F = NOT(a) AND NOT(b) 
– (b) Segunda solução: F = NOT(a OR b) 
– Q4. A saída F será verdadeira se a for 1 e b for 0. 
• Resposta : F = a AND NOT(b) 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
12 
Como converter situações lógicas para 
Expressões Booleanas? 
• Q1. Um aspersor automático de um sistema de combate a incêndios 
deve borrifar água quando uma temperatura elevada for detectada e o 
sistema estiver habilitado. 
– Resposta: Considere h a variável Booleana que representa “temperatura 
elevada detectada,” e representando “habilitado,” e F representando 
“borrifando água.” Equação: F = h AND e. 
• Q2. Um alarme sonoro de carro deverá ser ativado se o sistema de 
alarme estiver habilitado e se o carro for sacudido ou se a porta for 
aberta. 
– Resposta: Faça a representar “alarme habilitado,” s representar “carro 
sacudido,” d representar “porta aberta,” e F representar “alarme 
disparado.” Equação: F = a AND (s OR d). 
– (a) Alternativamente, assumindo que o sensor de porta d representa “porta 
fechada” ao invés de aberta (significando d=1 quando a porta estiver 
fechada, 0 quando estiver aberta), obteremos a seguinte equação: 
F = a AND (s OR NOT(d)). 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
13 
Relacionando a Álgebra Booleana e o 
Projeto de Circuitos Digitais 
• Implementação de operadores Booleanos usando 
transistores: 
– Chamamos essa implementações de portas lógicas. 
– Construiremos circuitos digitais matematicamente. 
– Utilizaremos a Álgebra Booleana para construir circuitos 
 digitais. 
Boolean 
algebra 
(mid-1800s) 
Intenção de Boole: formalizar 
o raciocínio humano 
Chaves 
(1930s) 
Shannon (1938) 
Projeto Digital 
Mostrou a aplicação 
da Álgebra Booleana 
no projeto de circuitos 
baseados em chaves 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
0 
0 
0 
1 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
0 
1 
1 
1 
x 
0 
1 
F 
1 
0 
F x 
x 
y 
F 
OR N O T 
F 
x 
y 
AND 
0 
1 
y 
x 
x 
y 
F 
1 
0 
F x 
Símbolo 
Tabela verdade 
Circuito 
Com 
transistores 
0 
1 
x y 
F 
y 
x 
Observação: Essas 
implementações de portas OR e 
AND mostradas acima são 
ineficientes; veremos o porquê 
disso e mostraremos em breve 
como implementar portas OR e 
AND mais eficientes. 
Telefonia e outras 
aplicações 
eletrônicas 
Digital Design 
Copyright © 2006 
Frank Vahid 
14 
Portas Lógicas NOT/OR/AND 
e seus respectivos diagramas de tempo 
 (ou diagramas temporais) 
0 
1 
1 
0 
tempo 
F 
x 
1
0
x
y
F
1
1
0
0
time
1 
0 
x 
y 
F 
1 
1 
0 
0 
tempo 
Digital Design 
Copyright © 2006 
Frank Vahid 
15 
Construindo Circuitos a partir de Portas Lógicas 
• Lembre do exemplo do sistema de detecção de 
movimentos em ambientes escuros. 
– Acionar a lâmpada (F=1) quando um movimento for detectado (a=1) 
e não tiver luz ambiente (b=0) 
– F = a AND NOT(b) 
– A partir da equação booleana F construo o circuito usando portas 
lógicas, AND e NOT, como mostrado na figura. 
Digital Design 
Copyright © 2006 
Frank Vahid 
16 
Exemplo: Conversão de uma Expressão em 
Lógica Booleana para um Circuito Digital 
• Q: Converta a seguinte equação booleana em um circuito 
digital,usando as portas lógicas que você conhece até esse 
momento: 
F = a AND NOT( b OR NOT(c) ) 
a 
F 
( a ) 
a 
b 
c 
F 
( b ) 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
17 
Exemplo: Sistema de alerta de cinto não engatado 
para carros 
• Como projetar? 
• Sensores: variáveis 
– s=1: cinto engatado 
– k=1: chave na ignição 
– p=1: pessoa no assento 
• Obtenha a Equação Booleana 
– Pessoa no assento, e cinto não engatado, 
e chave na ignição. 
• Converta a equação em circuito. 
• Observe: 
– A Álgebra Booleana possibilita a 
obtenção da equação lógica e a 
conversão da mesma em circuito. 
• Como projetar com chaves? 
• Evidente que portas lógicas são 
construídas a partir de chaves, mas 
raciocinamos melhor a partir de portas 
lógica e não chaves. 
• Agora estamos trabalhando com blocos 
maiores (as portas lógicas). 
w = p AND NOT(s) AND k 
k 
p 
s 
w 
BeltWarn 
Digital Design 
Copyright © 2006 
Frank Vahid 
18 
Algumas convenções para desenho de 
circuitos e portas lógicas 
x
y
F
no yes
no
not ok
ok
yes
Digital Design 
Copyright © 2006 
Frank Vahid 
19 
Álgebra Booleana 
• Por definição portas lógicas se baseiam na Álgebra Booleana. Usamos 
métodos algébricos para manipular e transformar circuitos digitais. 
– Vamos aprender alguns métodos da Álgebra Booleana. 
• Começamos por algumas notações: Escrever a AND b, a OR b, e NOT(a) 
é muito tedioso. Imagine um circuito com dezenas de variáveis! 
– Usamos símbolos: a * b, a + b, and a’ (na realidade, a * b pode ser só ab). 
• Notação inicial: w = (p AND NOT(s) AND k) OR t 
• Nova notação: w = ps’k + t 
– Essa expressão é lida da seguinte forma: “w é igual a p E s linha E k, OU t” 
– Ou ainda de forma mais simples “w é igual a p s linha k, OU t” 
– s’ é o mesmo que o “complemento a um de s”, ou simplesmente “o complemento de s” 
• Embora sejam os mesmos símbolos usados na Álgebra, não os chame de “vezes” ou 
“mais” 
Regras de precedência na Álgebra Booleana, maior precedência primeiro. 
 Símbolo Nome Descrição 
( ) Parênteses Avalie expressões dentro do parênteses primeiro. 
’ NOT Avalie-os da esquerda para a direita 
* AND Avalie-os da esquerda para a direita 
+ OR Avalie-os da esquerda para a direita 
2.5 
Digital Design 
Copyright © 2006 
Frank Vahid 
20 
Precedência de Operadores na Álgebra Booleana 
• Avalie as seguintes equações Booleanas, assumindo a=1, b=1, c=0, d=1. 
– Q1. F = a * b + c 
• Resposta: * tem precedencia sobre +, então avaliamos a equação como: 
F = (1 *1) + 0 = (1) + 0 = 1 + 0 = 1. 
– Q2. F = ab + c 
• Resposta: o problema é idêntico ao anterior, usando a notação simplificada de * 
– Q3. F = ab’ 
• Resposta : primeiro avaliamos b’ porque NOT tem precedencia sobre AND, 
resultando em: F = 1 * (1’) = 1 * (0) = 1 * 0 = 0. 
– Q4. F = (ac)’ 
• Resposta: primeiro avaliamos o que está entre parênteses, depois invertemos 
(complementamos – NOT) o resultado, obtendo-se: (1*0)’ = (0)’ = 0’ = 1. 
– Q5. F = (a + b’) * c + d’. 
• Resposta: Dentro do parênteses: (1 + (1’)) = (1 + (0)) = (1 + 0) = 1. Próximo, * tem 
precedencia sobre +, obtendo-se: (1 * 0) + 1’ = (0) + 1’. O NOT tem precedncia 
sobre o OR, obtendo-se: (0) + (1’) = (0) + (0) = 0 + 0 = 0. 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
21 
Terminologia da Álgebra Booleana 
• Exemplo de uma equação: F(a,b,c) = a’bc + abc’ + ab + c 
• Variável 
– Representa um valor binário (0 ou 1) 
– Três variáveis: a, b, e c 
• Literal 
– Forma de aparência da variável, na forma normal ou 
complementada. 
– Nove literais: a’, b, c, a, b, c’, a, b, e c 
• Produto 
– Produto de um literal ou mais literais combinados. 
– Quatro produtos: a’bc, abc’, ab, c 
• Soma de produtos 
– Equação escrita como OR dos produtos. 
– A equação do exemplo é uma soma de produtos. A equação: 
 F = (a+b)c + d não! Digital Design 
Copyright © 2006 
Frank Vahid 
22 
Propriedades da Álgebra Booleana 
• Comutativa 
– a + b = b + a 
– a * b = b * a 
• Distributiva 
– a * (b + c) = a * b + a * c 
– a + (b * c) = (a + b) * (a + c) 
• Associativa 
– (a + b) + c = a + (b + c) 
– (a * b) * c = a * (b * c) 
• Identidade 
– 0 + a = a + 0 = a 
– 1 * a = a * 1 = a 
• Complemento 
– a + a’ = 1 
– a * a’ = 0 
• Para provar cada propriedade, avalie 
todas as possibilidades. 
• Mostre que abc’ é equivalente a c’ba.– Use a propriedade comutativa: 
• a*b*c’ = a*c’*b = c’*a*b = c’*b*a = c’ba. 
• Mostre que abc + abc’ = ab. 
– Primeiro a propriedade distributiva. 
• abc + abc’ = ab(c+c’). 
– Propriedade do complemento 
• Troque c+c’ por 1: ab(c+c’) = ab(1). 
– Propriedade da identidade 
• ab(1) = ab*1 = ab. 
• Mostre que x + x’z é equivalente a 
x + z. 
– Segunda propriedade distributiva 
• Troque x+x’z por (x+x’)*(x+z). 
– Propriedade do complemento 
• Troque (x+x’) por 1, 
– Propriedade da identidade 
• Troque 1*(x+z) por x+z. 
 
Exemplo de uso das propriedades 
Digital Design 
Copyright © 2006 
Frank Vahid 
23 
Exemplo de aplicação da Álgebra Booleana 
• Um circuito de abertura de 
portas automáticas (shoppings) 
– Saída: f=1 (abre a porta) 
– Entradas: 
• p=1: pessoa detectada 
• h=1: porta mantida aberta 
manualmente. 
• c=1: porta mantida fechada 
– Queremos que a porta se abra 
quando: 
• h=1 e c=0, ou 
• h=0 e p=1 e c=0 
– Equação: f = hc’ + h’pc’ 
 
• Encontramos uma função pronta 
em uma biblioteca: 
• f = c’hp + c’hp’ + c’h’p 
– Podemos usá-la? 
• É a mesma função f = hc’ + h’pc’ ? 
• Verificamos com o auxílio da 
Álgebra Booleana: 
 
f = c’hp + c’hp’ + c’h’p (propriedade distributiva) 
f = c’h(p + p’) + c’h’p (propriedade do complemento) 
f = c’h(1) + c’h’p (propriedade da identidade) 
f = c’h + c’h’p (propriedade comutativa) 
f = hc’ + h’pc’ Mesma função! 
f 
h 
c 
p 
DoorOpener 
Digital Design 
Copyright © 2006 
Frank Vahid 
24 
Álgebra Booleana: Propriedades Adicionais 
• Elemento Nulo 
– a + 1 = 1 
– a * 0 = 0 
• Lei da idempotência 
– a + a = a 
– a * a = a 
• Lei da involução 
– (a’)’ = a 
• Lei de DeMorgan 
– (a + b)’ = a’b’ 
– (ab)’ = a’ + b’ 
– Muito útil ! 
• Para prová-las 
avalie todas as 
possibilidades. 
Circuito 
a 
b 
c 
S 
• Comportamento: 
• Três lavatórios, cada um com um 
sensor (a, b, c), igual a 1 se a 
porta estiver fechada. 
• Luz “Livre” representada por (S) 
se algum lavatório estiver livre. 
• Equação e circuito 
• S = a’ + b’ + c’ 
• Transformação 
• (abc)’ = a’+b’+c’ (por DeMorgan) 
• S = (abc)’ 
• Nova equação e novo circuito. 
Circuito 
S a 
b 
c 
• Alternativa: Ao invés 
de acender “Livre,” 
acender “Ocupado” 
– Oposto da função 
“Livre” S = a’ + b’ + c’ 
– Então S’ = (a’ + b’ + c’)’ 
• S’ = (a’)’ * (b’)’ * (c’)’ 
(por DeMorgan) 
• S’ = a * b * c 
(Involução) 
– Mais intuitivo: 
• Ocupado se todas as 
portas estiverem 
trancadas. 
Exemplo: Luz de lavatório ocupado em aviões 
Digital Design 
Copyright © 2006 
Frank Vahid 
25 
Representação de Funções Booleanas 
• Uma função booleana pode ser representada de diferentes formas. 
– Acima podemos ver sete representações diferentes da mesma função, 
usando quatro métodos diferentes: descrição em Português, Equações, 
Circuito e Tabela Verdade. 
2.6 
a 
a 
b 
F 
F 
Circuito 1 
Circuito 2 
( c ) 
( d ) 
Português 1: F produz 1 quando a é 0 e b é 0, ou quando a é 0 e b é 1. 
Português 2: F produz 1 quando a é 0, independente do valor de b 
( a ) 
( b ) 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
1 
1 
0 
0 
A função F 
Tabela verdade 
Equação 2: F(a,b) = a’ 
Equação 1: F(a,b) = a’b’ + a’b 
Digital Design 
Copyright © 2006 
Frank Vahid 
26 
Tabelas Verdade 
• Define o valor de F para 
cada combinação possível 
de valores binários das 
entradas. 
– 2 entradas: 4 linhas. 
– 3 entradas: 8 linhas. 
– 4 entradas: 16 linhas. 
– n entradas: 2
n
 linhas. 
• Q: Use a tabela verdade 
para encontrar F(a,b,c) que 
é sempre 1 quando abc 
representar um número em 
binário maior ou igual a 5. 
c 
0 
0 
1 
1 
0 
0 
1 
1 
0 
0 
1 
1 
0 
0 
1 
1 
d 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
0 
1 
a 
0 
0 
0 
0 
0 
0 
0 
0 
1 
1 
1 
1 
1 
1 
1 
1 
b 
0 
0 
0 
0 
1 
1 
1 
1 
0 
0 
0 
0 
1 
1 
1 
1 
F c 
0 
1 
0 
1 
0 
1 
0 
1 
a 
0 
0 
0 
0 
1 
1 
1 
1 
b 
0 
0 
1 
1 
0 
0 
1 
1 
F a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
( a ) 
( b ) 
( c ) 
c 
0 
1 
0 
1 
0 
1 
0 
1 
a 
0 
0 
0 
0 
1 
1 
1 
1 
b 
0 
0 
1 
1 
0 
0 
1 
1 
F 
0 
0 
0 
0 
0 
1 
1 
1 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
Entradas Saídas 
a ' b ' a ' b 
27 
Conversão entre Representações 
• Podemos converter de uma forma de 
representação a outra. 
• Conversões comuns: 
– De equação para circuitos (já vimos) 
– De tabela verdade para equação (que 
poderá ser convertida para circuitos) 
• Faça um OR de todos “termos de 
produto” na entrada que resultem F=1 
– De equação para tabela verdade 
• Avalie a equação para cada combinação 
de entradas (cada linha). 
• Gerar colunas intermediárias evitará 
possíveis erros. 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
1 
1 
0 
0 
Entradas Saídas 
F = soma dos termos 
a’b’ 
a’b 
Termos 
F = a’b’ + a’b 
c 
0 
1 
0 
1 
0 
1 
0 
1 
a 
0 
0 
0 
0 
1 
1 
1 
1 
b 
0 
0 
1 
1 
0 
0 
1 
1 
F 
0 
0 
0 
0 
0 
1 
1 
1 
Q: Converta para equação 
a 
F = ab’c + abc’ + abc 
ab’c 
abc’ 
abc 
1 
1 
0 
0 
1 
0 
0 
0 
0 
1 
0 
0 
a 
Q: Converta para tabela verdade: F = a’b’ + a’b 
Digital Design 
Copyright © 2006 
Frank Vahid 
28 
Representações Padrão: Tabelas Verdade 
• Como determinar quando duas 
funções fazem o mesmo? 
– Caso da abertura de portas de 
shoppings. 
• f = hc’ + h’pc’ é a mesma função 
g=c’hp + c’hp’ + c’h’p ? 
• Usamos propriedades da Álgebra 
Booleana. 
• Mas se usarmos as propriedades de 
formas diversas, podemos chegar a 
diferentes equações, sem concluir 
se o resultado final é o mesmo. 
• Solução: Converter para Tabelas 
verdade 
– Tabelas verdade só produzem uma 
única solução para uma dada 
função. 
• Representação Padrão 
g = c’hp + c’hp’ + c’h’p 
g = c’h(p + p’) + c’h’p 
g = c’h(1) + c’h’p 
g = c’h + c’h’p 
g = c’(h+h’p) 
g= c’(h+p) 
(A que conclusão chegamos ?) 
f = hc’ + h’pc’ 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
1 
1 
0 
1 
F = ab + a ' 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
F 
1 
1 
0 
1 
F = a’b’ + 
a’b + ab 
Q: Determine se F=ab+a’ é a mesma função 
que F=a’b’+a’b+ab, convertendo cada uma 
em sua respectiva tabela verdade. 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
29 
Forma Canônica – Soma de Mintermos 
• Tabelas verdade ficam enormes para um grande número de 
entradas. 
• Usamos uma forma padrão para descrição de equações. 
– Conhecida como forma canônica. 
– Na álgebra: agrupamos termos de mesma potência em polinômios. 
• ax2 + bx + c (3x2 + 4x + 2x2 + 3 + 1 --> 5x2 + 4x + 4) 
– Na Álgebra Booleana: Geramos somas de mintermos. 
• Mintermo: é um produto no qual todas as variáveis da função aparecem 
no termo exatamente uma vez (na forma complementada ou não). 
• Coloque a equação na forma de soma de produtos. 
• Em seguida expanda cada produto de forma a gerar um mintermo. 
Q: Determine se F(a,b)=ab+a’ é a mesma função que F(a,b)=a’b’+a’b+ab, 
convertendo a primeira equação para a forma canônica (a segunda 
equação já está na forma canônica) 
F = ab+a’ (já esta sob a forma de soma de produtos) 
F = ab + a’(b+b’) (expandindo os termos) 
F = ab + a’b + a’b’ (IGUAL – os mesmos 3 termos da outra equação) 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
30 
Circuitos com Múltiplas Saídas 
• Muitos circuitos possuem mais de uma saída. 
• Um circuito para cada saída, ou circuitos com portas compartilhadas. 
• Ex: F = ab + c’, G = ab + bc 
– Termo em comum nas duas equações: ab 
 
 
a 
b 
c 
F 
G 
( a ) 
a 
b 
c 
F 
G 
( b ) 
Opção 1: Circuitos independentes Opção 2: Portas compartilhadas 
Digital Design 
Copyright © 2006 
Frank Vahid 
31 
Exemplo com Múltiplas Saídas: 
Conversor BCD para 7-Segmentos 
a = w’x’y’z’ + w’x’yz’ + w’x’yz + w’xy’z + 
w’xyz’ + w’xyz +wx’y’z’ + wx’y’z 
abcdefg = 1111110 0110000 1101101
a
f
b
d
g
e
c
(b)(a)
b = w’x’y’z’ + w’x’y’z + w’x’yz’ + w’x’yz + 
w’xy’z’ + w’xyz + wx’y’z’ + wx’y’z 
Digital Design 
Copyright © 2006 
Frank Vahid 
32 
Procedimento de Projeto de Circuitos Lógicos 
Combinacionais 
Passo Descrição 
Passo 1 Identifique 
a função 
Crie a tabela verdade ou equações, o que for 
mais natural para o problema em questão, para 
descrever o comportamento do circuito lógico 
combinacional. 
Passo 2 Converta para 
equações 
Esse passo só é necessário se no passo 1 você 
descreveu o circuito na forma de tabela verdade. 
Crie uma equação para cada saída, fazendo um 
OR de todos os mintermos gerados para cada 
saída. Simplifique as equações se desejar 
economizar portas. 
Passo 3 Implemente 
as equações 
na forma de 
circuitos 
Para cada saída (equação) crie o circuito 
correspondente usando portas lógicas. 
(Compartilhar portas entre diferentes saídas é 
uma opção possível.) 
2.7 
Digital Design 
Copyright © 2006 
Frank Vahid 
33 
Exemplo: Detector de 3 níveis lógicos “1” 
consecutivos 
• Problema: Circuito para detectar três 
“1s” consecutivos em uma entrada de 8 
bits: abcdefgh 
• 00011101  1 10101011  0 
11110000  1 
– Passo 1: Identificamos a função 
• Tabela verdade ou equação? 
– Tabela verdade enorme: 2^8=256 linhas 
– Equação: geramos termos para cada 
caso onde encontarmos 3 “1s” 
consecutivos. 
• y = abc + bcd + cde + def + efg + fgh 
– Passo 2: Convertemos para equações 
(feito). 
– Passo 3: Implementamos o circuito 
usando portas lógicas. 
bcd 
def 
fgh 
abc 
cde 
efg 
y 
a 
b 
c 
d 
e 
f 
g 
h 
a 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
34 
Exemplo: Contagem de “1s” 
• Problema: O circuito deverá 
produzir uma saída de dois bits “yz” 
em binário para representar a 
quantidade de 1s nas três entradas 
• 010  01 101  10 000  00 
– Passo 1: Identificamos a função 
• Tabela verdade ou equação? 
– Tabela verdade é imediato! 
– Passo 2: Convertemos em equação 
• y = a’bc + ab’c + abc’ + abc 
• z = a’b’c + a’bc’ + ab’c’ + abc 
– Passo 3: Implementamos 
. o circuito 
a 
b 
c 
a 
b 
c 
a 
b 
c 
a 
b 
c 
z 
a 
b 
c 
a 
b 
c 
a 
b 
y 
Digital Design 
Copyright © 2006 
Frank Vahid 
35 
Mais Portas Lógicas 
• NAND: Inverso de AND (“NOT AND”) 
• NOR: Inverso de OR (“NOT OR”) 
• XOR: Produz 1 se uma única entrada 
for igual a 1 (vale para um XOR de 2 
entradas – Para um número maior de 
entradas: número ímpar de 1s) 
• XNOR: Inverso de XOR (“NOT XOR”) 
 Conhecida como função que 
representa a “coincidência” 
2.8 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
1 
0 
0 
1 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
0 
1 
1 
0 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
1 
0 
0 
0 
x 
0 
0 
1 
1 
y 
0 
1 
0 
1 
F 
1 
1 
1 
0 
x 
y 
x 
y 
F F 
NOR NAND XOR XNOR 
1 
0 
x y 
F 
x 
y 
NAND 
1 
0 
x 
x 
y 
y 
F 
NOR 
• NAND mesmo que AND com alimentação 
& terra invertidos. Porque? 
• nMOS conduz bem 0, mas não 1, 
• pMOS conduz bem 1, mas não 0. 
• Portanto NANDs são melhores que AND 
(vide livro do Adel Sedra – Microeletrônica). 
• Assim como NOR, mesmo que OR com 
alimentação/terra invertidos. 
• AND em CMOS é feita usando NAND com NOT 
• OR em CMOS é feita usando NOR com NOT 
• Logo NAND/NOR são mais usadas. 
Digital Design 
Copyright © 2006 
Frank Vahid 
36 
Mais Portas Lógicas: Exemplos de uso 
• Exemplo do lavatório em aviões: 
– S = (abc)’          
• Para detectar todos os 0… 
– Podemos usar um NOR  
• Para detectar uma igualdade 
– Usamos XNOR: 
S 
Circuito 
a 
b 
c 
0 
0 
0 
1 
a0 
b0 
a1 
b1 
a2 
b2 
A=B 
• Lavatório - Comportamento: 
• Três lavatórios, cada um com um 
sensor (a, b, c), igual a 1 se a 
porta estiver fechada. 
• Luz “Livre” representada por (S) 
se algum lavatório estiver livre. 
• Circuito S = (abc)’ 
• Para detectar a paridade de um 
número: 
– Usamos XOR: úteis para gerar bits 
de paridade par (empregado para 
detectar a ocorrência de erro em 
transmissão de dados) 
Digital Design 
Copyright © 2006 
Frank Vahid 
37 
Completude da porta NAND 
Porta Lógica Universal 
• Qualquer função Booleana pode ser implementada usando 
somente portas lógicas NAND. Porque? 
– Bastam portas AND, OR e NOT para gerar qualquer função booleana 
(diz-se que formam um conjunto universal de portas lógicas). 
– NOT: Pode ser formada por uma NAND de 2 entradas com as 
entradas curto-circuitadas ou interligadas. 
– AND: NAND seguido de um NOT 
– OR: NAND precedida de NOT em suas entradas: 
• Podemos usar o teorema de DeMorgan (ab)’=a’+b’, fazendo: 
• (a’b’)’ = a + b 
• O mesmo vale para NOR 
  NOR é também uma porta lógica Universal ! 
Digital Design 
Copyright © 2006 
Frank Vahid 
38 
Número de Funções Booleanas Possíveis 
• Quantas funções de 2 variáveis? 
– 22 linhas em uma tabela verdade, 2 
alternativas para cada. 
– 2(2
2) = 24 = 16 funções possíveis 
• N variáveis 
– 2N linhas 
– 2(2
N) funções possíveis 
a 
0 
0 
1 
1 
b 
0 
1 
0 
1 
0 ou 1 2 alternativas 
0 ou 1 2 alternativas 
0 ou 1 2 alternativas 
0 ou 1 2 alternativas 
F 
24 = 16 
Funções possíveis 
f0 
0 
0 
0 
0 
b 
0 
1 
0 
1 
a 
0 
0 
1 
1 
f1 
0 
0 
0 
1 
f2 
0 
0 
1 
0 
f3 
0 
0 
1 
1 
f4 
0 
1 
0 
0 
f5 
0 
1 
0 
1 
f6 
0 
1 
1 
0 
f7 
0 
1 
1 
1 
f8 
1 
0 
0 
0 
f9 
1 
0 
0 
1 
f10 
1 
0 
1 
0 
f11 
1 
0 
1 
1 
f12 
1 
1 
0 
0 
f13 
1 
1 
0 
1 
f14 
1 
1 
1 
0 
f15 
1 
1 
1 
1 
0
 
a
 A
N
D
 b
 
a
 
b
 
a
 X
O
R
 b
 
a
 O
R
 b
 
a
 N
O
R
 b
 
a
 X
N
O
R
 b
 
b
’ 
a
’ 
a
 N
A
N
D
 b
 
1
 
Digital Design 
Copyright © 2006 
Frank Vahid 
39 
Decodificadores 
• Decodificador: Circuito (Bloco) lógico 
combinacional muito usado em circuitos 
maiores. 
– Converte um número binário em uma 
única saída ativa (em nível lógico 1). 
• Decodificador de 2 entradas: 4 números 
binários possíveis como entrada. 
– Logo 4 saídas, uma para cada número 
binário possível. 
• Como decodificadores são constituídos? 
– Uma porta AND associada a cada saída 
para representar cada combinação binária 
das entradas. 
• Decodificador com entrada de enable “e” 
– As saídas serão todas iguais a 0 se e=0 
– Comportamento original se e=1 
• Um decodificador de n entradas: 
– 2n saídas 
 
 
 
2.9 
i0 
i1 
d0 
d1 
d2 
d3 1 
1 
1 
0 
0 
0 
i0 
i1 
d0 
d1 
d2 
d3 0 
0 
0 
0 
0 
1 
i0 
i1 
d0 
d1 
d2 
d3 
i0 
i1 
d0 
d1 
d2 
d3 0 
0 
1 
0 
1 
0 
0 
1 
0 
1 
0 
0 
i0 
i1 
d0 
d1 
d2 
d3 e 1 
1 
1 
1 
0 
0 
0 
e 
i0 
i1 
d0 
d1 
d2 
d3 0 
1 
1 
0 
0 
0 
0 
i0 
d0 
d1 
d2 
d3 
i1 
i1’i0’ 
i1’i0 
i1i0’ 
i1i0 
Digital Design 
Copyright © 2006 
Frank Vahid 
40 
Exemplo de Decodificador 
• Display de contagem 
regressiva 
– Um microprocessador 
conta de 59 a 0 em 
binário produzindo 
como saída 6 bits. 
– Queremos acender 
uma das 60 luzes para 
cada número em 
binário. 
– Usaremos um 
decodificador 6x64 
• 4 saídas não serão 
usadas. 
d0 
d1 
d2 
d3 
i0 
i1 
i2 
i3 
i4 
i5 
e 
6x64 
dcd 
d58 
d59 
d60 
d61 
d62 
d63 
0 
Happy 
New Year 
1 
2 
3 
58 
59 
a 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
2 2 1 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 
1 
0 
0 
0 
0 
0 
0 0 
Digital Design 
Copyright © 2006 
Frank Vahid 
41 
Multiplexador (Mux) 
• Mux: Outro circuito (bloco) lógico combinacional básico. 
– Roteia uma de suas N entradas de dados para sua saída, baseado 
no valor binário de suas entradas de controle (ou seleção). 
• MUX de 4 entradas  necessita 2 entradas de seleção para indicar 
qual entrada será roteada paraa saída. 
• MUX de 8 entradas  3 entradas de seleção. 
• MUX de N entradas  log2(N) entradas de seleção 
– Analogia com parque de manobras ferroviárias. 
 
Digital Design 
Copyright © 2006 
Frank Vahid 
42 
Conteúdo interno de um MUX 
s0 
d 
i0 
i1 
2 × 1 
i1 
i0 
s0 
1 
d 
2 × 1 
i1 
i0 
s0 
0 
d 
2 × 1 
i1 
i0 
s0 
d 
0 
i0 (1*i0=i0) 
i0 
(0+i0=i0) 
1 
0 
 
2x1 mux 
i0 
4  1 
i2 
i1 
i3 
s1 s0 
d 
s0 
d 
i0 
i1 
i2 
i3 
s1 
4x1 mux 
0 
a 
Digital Design 
Copyright © 2006 
Frank Vahid 
43 
Exemplo de uso de MUXs 
• Um deputado pode usar 4 chaves para selecionar seu voto 
em cada questão proposta, numeradas como 1, 2, 3, 4. 
• Uma pessoa pode exibir qualquer voto do deputado em um 
painel luminoso (verde = 1, vermelho = 0) através de 2 
chaves, usadas para representar o voto do deputado em 
uma das questões 1, 2, 3 ou 4. 
• Necessitamos de um MUX 4x1 
i0 
4x1 
i2 
i1 
i3 
s1 s0 
d 
1 
2 
3 
4 
Chaves de um Deputado 
Chaves de 
controle 
Verde/ 
Vermelho 
ligado/ 
desligado 
Digital Design 
Copyright © 2006 
Frank Vahid 
44 
MUXs combinados – Muxs de N-bits 
• Ex: Queremos implementar um MUX que selecione uma de 2 
entradas de 4 bits cada A (a3 a2 a1 a0) ou B (b3 b2 b1 b0) 
– Precisaremos de um MUX 2x1 de 4-bits (necessários 4 MUXs 2x1 
compartilhando a entrada de seleção) para selecionar entre A ou B. 
i0 
s0 
i1 
2  1 
d 
i0 
s0 
i1 
2  1 
d 
i0 
s0 
i1 
2  1 
d 
i0 
s0 
i1 
2  1 
d 
a3 
b3 
I 0 
s0 
s0 
I 1 
4-bit 
2x1 
D C 
A 
B 
a2 
b2 
a1 
b1 
a0 
b0 
s0 
4 
C 
4 
4 
4 
c3 
c2 
c1 
c0 
é a notação 
simplificada para 
Simbologia 
simplificada: 
Digital Design 
Copyright © 2006 
Frank Vahid 
45 
Exemplo de um MUX de N-bits 
• Quatro itens diferentes que podem ser exibidos 
– Temperatura (T), Média de Km por litros de combustível (A), Valor instântaneo: Km/l 
(I), Km por rodar (M) – cada número com 8 bits. 
– Escolha o item a ser exibido com duas entradas de seleção x e y. 
• Usaremos 8 MUXes 4x1. 
– Implementação através de MUXs combinados (como no slide anterior). 
Digital Design 
Copyright © 2006 
Frank Vahid 
46 
Considerações Adicionais 
Captura de Esquemáticos e Simulações 
• Captura de Esquemáticos 
– Ferramenta de computador para auxiliar o projetista no desenho do circuito. 
• Simulador 
– Ferramenta de computador para auxiliar o projetista na verificação do 
comportamento das saídas do circuito em função das entradas. 
• Saídas exibidas em formas de onda. 
2.10 
Simulação Simular 
d3 
d2 
d1 
d0 
i0 
i1 
Outputs 
Entradas 
d3 
d2 
d1 
d0 
i0 
i1 
Saídas 
Entradas 
Digital Design 
Copyright © 2006 
Frank Vahid 
47 
Considerações Adicionais 
Comportamento Não Ideal de Portas – Atrasos (Delays) 
• Portas lógicas reais apresentam atrasos para gerar saídas. 
– Saídas não mudam de valor lógico imediatamente após a mudança 
de valor lógico das entradas. 
Digital Design 
Copyright © 2006 
Frank Vahid 
48 
Sumário do capítulo 2 
• Circuitos Combinacionais 
– Circuitos nos quais as saídas são função do valor lógico atual das entradas. 
• Chaves: Componentes básicos dos circuitos digitais. 
• Portas lógicas Booleanas: AND, OR, NOT – Blocos construtivos básicos 
de circuitos digitais (conjunto universal) 
– Possibilita o uso da Álgebra Booleana para projetar circuitos. 
– Portas NAND também formam um conjunto universal, assim como portas NOR 
• Álgebra Booleana: usa variáveis com 2 valores lógicos (0/1)/operadores. 
• Representação de funções Booleanas: Conversão de uma forma em outra. 
• Projeto de Circuitos Combinacionais: Conversão de equação (ou tabela) 
em circuitos através de passos bem definidos. 
• Outras portas lógicas: NAND, NOR, XOR, XNOR. 
• Muxes e decodificadores: Blocos lógicos combinacionais comuns em 
projetos maiores.

Continue navegando