16
Sistemas Digitais
CEFET/MG
8
Sistemas Digitais
CEFET/MG
15
Sistemas Digitais
CEFET/MG
5
Sistemas Digitais
CEFET/MG
5
Sistemas Digitais
CEFET/MG
4
Sistemas Digitais
CEFET/MG
1
Sistemas Digitais
CEFET/MG
10
Sistemas Digitais
CEFET/MG
9
Sistemas Digitais
CEFET/MG
2
Sistemas Digitais
CEFET/MG
Texto de pré-visualização
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 httpwwwddvahidcom Copyright 2007 Frank Vahid Instructors of courses requiring Vahids Digital Design textbook published by John Wiley and Sons have permission to modify and use these slides for customary courserelated activities subject to keeping this copyright notice in place and unmodified These slides may be posted as unanimated pdf versions on publiclyaccessible course websites PowerPoint source or pdf with animations may not be posted to publiclyaccessible 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 httpwwwddvahidcom for information Prof Luciano C A Pimenta Tradução e Adaptação para o Português Prof Ricardo de Oliveira Duarte DELT EE UFMG 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 21 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 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 o fluxo de corrente Analogia com o diâmetro do tubo V I R Lei de Ohm 45 A 45 A 45 A 2 ohms 9V 0V 9V 22 Digital Design Copyright 2006 Frank Vahid 4 Chaves Uma chave é composta por 3 partes Entrada ou fonte e saída A corrente deseja fluir da entrada ou fonte para a saída 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 14 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 cofundador 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 MetalOxideSemiconductor Elemento básico na construção de chaves em CIs sistemas digitais modernos O transistor mais popular usado em CIs é 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 23 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 24 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 a1 e b1 OR a OR b produz 1 somente quando a1 ou b1 ou ambos forem iguais a 1 NOT NOT a produz o inverso oposto de a 1 se a0 0 se a1 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 NOTs Possibilita Avaliações formais de expressões lógicas m1 j0 s1 F 1 OR 0 AND NOT1 1 AND 0 0 Transformações formais de expressões lógicas F m and NOTs OR j and NOTs 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 httpptwikipediaorgwikiGeorgeBoole 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 a1 b1 c1 d0 resposta F 1 AND 1 OR 1 AND 0 1 OR 0 1 Q2 a0 b1 c0 d1 resposta F 0 AND 1 OR 0 AND 1 0 OR 0 0 Q3 a1 b1 c1 d1 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 seguintes situaçõ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 NOTa AND NOTb b Segunda solução F NOTa OR b Q4 A saída F será verdadeira se a for 1 e b for 0 Resposta F a AND NOTb 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 d1 quando a porta estiver fechada 0 quando estiver aberta obteremos a seguinte equação F a AND s OR NOTd 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 mid1800s 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 NOT 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 NOTORAND 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 F1 quando um movimento for detectado a1 e não tiver luz ambiente b0 F a AND NOTb 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 em um Circuito Digital Q Converta a seguinte equação booleana em um circuito digitalusando as portas lógicas que você conhece até esse momento F a AND NOT b OR NOTc 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 s1 cinto engatado k1 chave na ignição p1 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 NOTs 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 NOTa é 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 NOTs AND k OR t Nova notação w psk 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 Avalieos da esquerda para a direita AND Avalieos da esquerda para a direita OR Avalieos da esquerda para a direita 25 Digital Design Copyright 2006 Frank Vahid 20 Precedência de Operadores na Álgebra Booleana Avalie as seguintes equações Booleanas assumindo a1 b1 c0 d1 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 obtendose 10 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 obtendose 1 0 1 0 1 O NOT tem precedncia sobre o OR obtendose 0 1 0 0 0 0 0 a Digital Design Copyright 2006 Frank Vahid 21 Terminologia da Álgebra Booleana Exemplo de uma equação Fabc abc 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 abc 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 abc 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 cba Use a propriedade comutativa abc acb cab cba cba Mostre que abc abc ab Primeiro a propriedade distributiva abc abc abcc Propriedade do complemento Troque cc por 1 abcc ab1 Propriedade da identidade ab1 ab1 ab Mostre que x xz é equivalente a x z Segunda propriedade distributiva Troque xxz por xxxz Propriedade do complemento Troque xx por 1 Propriedade da identidade Troque 1xz por xz 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áticos shoppings Saída f1 abre a porta Entradas p1 pessoa detectada h1 porta mantida aberta manualmente c1 porta mantida fechada Queremos que a porta se abra quando h1 e c0 ou h0 e p1 e c0 Equação f hc hpc Encontramos um CI barato que implementa a função f chp chp chp Podemos usálo É a mesma função f cphh Verificamos com o auxílio da Álgebra Booleana f chp chp chp f chp p chp propriedade distributiva f ch1 chp propriedade do complemento f ch chp propriedade da identidade f hc hpc propriedade comutativa 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 ab 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 abc 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 26 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 Fab a Equação 1 Fab ab ab 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 Fabc 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 27 a 0 0 1 1 b 0 1 0 1 F Entradas Saídas a b a b Conversão entre Representações Podemos converter de uma forma de representação a outra Conversões comuns Equação para circuitos já vimos Tabela verdade para equação que poderá ser convertida para circuitos Faça um OR de cada termo de entrada que deverá produzir F1 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 ab ab Termos F ab ab 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 abc abc abc abc abc abc 1 1 0 0 1 0 0 0 0 1 0 0 a Q Converta para tabela verdade F ab ab 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 hpc é a mesma função Usamos propriedades da Álgebra Booleana Mas se usarmos as propriedades indevidamente conseguiremos provar que a equação não é a mesma Não Solução Converter para Tabelas verdade Tabelas verdade só produzem uma única solução para uma dada função Representação Padrão f chp chp ch f chp p chp f ch1 chp f ch chp o que aconteceria se parássemos por aqui f hc hpc 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 ab ab ab Q Determine se Faba é a mesma função que Fababab convertendo cada uma em sua respectiva tabela verdade a Iguais 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 uma única 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 Fababa é a mesma função que Fabababab convertendo a primeira equação para a forma canônica a segunda equação já está na forma canônica F aba já esta sob a forma de soma de produtos F ab abb expandindo os termos F ab ab ab 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 Exemplo com Múltiplas Saídas Conversor BCD para 7Segmentos a wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz b wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz Procedimento de Projeto de Circuitos Lógicos Combinacionais Passo Passo 1Identifique a função Passo 2Converta para equações Passo 3Implemente as equações na forma de circuitos Descriçã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 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 se desejar as equações 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 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 Passo 1 Identificamos a função Tabela verdade ou equação Tabela verdade enorme 28256 linhas Equação geramos termos para cada caso onde encontramos 3 1s y abc bcd cde def efg fgh Passo 2 Convertemos para equações feito Passo 3 Implementamos o circuito usando portas lógicas Exemplo Contagem de 1s Problema O circuito deverá produzir uma saída de dois bits yz em binário para representar o número 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 abc abc abc abc z abc abc abc abc Passo 3 Implementamos o circuito 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 quete representa a coincidência NAND mesmo que AND com alimentação terra invertidos Porque nMOS conduz bem 0s mas não 1s vídeo livro do Adel Sedra Microeletrônica portanto NANDs são melhores Assim como NOR mesmo que OR com alimentaçãoterra invertidos AND em CMOS NAND com NOT OR em CMOS NOR com NOT Logo NANDNOR são mais usadas Mais Portas Lógicas Exemplos de uso Exemplo do lavatório em aviões S abc Para detectar todos os 0s Podemos usar um NOR Para detectar uma igualdade Usamos XNOR Para detectar um número de 1s Usamos XOR Úteis para gerar bits de paridade usados para detectar a ocorrência de um erro em transmissão de dados Completude da porta NAND Porta Lógica Universal Qualquer função Booleana pode ser implementada usando somente portas lógicas NAND Por quê Necessitamos de AND OR e NOT para gerar qualquer função NOT Substituído por uma NAND de uma entrada Uma NAND de 2 entradas com as entradas curtocircuitadas ou interligadas AND NAND seguido de um NOT OR NAND precedida de 2 NOTs Mesma coisa para NOR NOR é também uma porta lógica Universal 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 222 24 16 funções possíveis N variáveis 2N linhas 22N funções possíveis Decodificadores e Multiplexadores Muxs 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 e0 Comportamento original se e1 Um decodificador de n entrada 2n saídas 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 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 para a saída MUX de 8 entradas 3 entradas de seleção MUX de N entradas log2N entradas de seleção Analogia com parque de manobras ferroviárias Conteúdo interno de um MUX 2x1 mux 4x1 mux 0110I0 1 01i0I0 Digital Design Copyright 2006 Frank Vahid 43 Exemplo de uso de MUXs Um prefeito 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 prefeito em um painel luminoso verde 1 vermelho 0 através de 2 chaves usadas para representar o voto do prefeito em uma das questões 1 2 3 ou 4 Necessitamos de um MUX 4x1 mux i0 4x1 i2 i1 i3 s1 s0 d 1 2 3 4 Chaves do Prefeito Chaves de controle Verde Vermelho ligado desligado Digital Design Copyright 2006 Frank Vahid 44 MUXs combinados Muxs de Nbits 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 4bits 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 I0 s0 s0 I1 4bit 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 Nbits Quatro itens diferentes que podem ser exibidos Temperatura T Média de Km por litros de combustível A Valor instântaneo Kml 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 210 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 Possibilita o uso da Álgebra Booleana para projetar circuitos Álgebra Booleana usa variáveis com 2 valores lógicos 01operadores 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
16
Sistemas Digitais
CEFET/MG
8
Sistemas Digitais
CEFET/MG
15
Sistemas Digitais
CEFET/MG
5
Sistemas Digitais
CEFET/MG
5
Sistemas Digitais
CEFET/MG
4
Sistemas Digitais
CEFET/MG
1
Sistemas Digitais
CEFET/MG
10
Sistemas Digitais
CEFET/MG
9
Sistemas Digitais
CEFET/MG
2
Sistemas Digitais
CEFET/MG
Texto de pré-visualização
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 httpwwwddvahidcom Copyright 2007 Frank Vahid Instructors of courses requiring Vahids Digital Design textbook published by John Wiley and Sons have permission to modify and use these slides for customary courserelated activities subject to keeping this copyright notice in place and unmodified These slides may be posted as unanimated pdf versions on publiclyaccessible course websites PowerPoint source or pdf with animations may not be posted to publiclyaccessible 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 httpwwwddvahidcom for information Prof Luciano C A Pimenta Tradução e Adaptação para o Português Prof Ricardo de Oliveira Duarte DELT EE UFMG 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 21 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 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 o fluxo de corrente Analogia com o diâmetro do tubo V I R Lei de Ohm 45 A 45 A 45 A 2 ohms 9V 0V 9V 22 Digital Design Copyright 2006 Frank Vahid 4 Chaves Uma chave é composta por 3 partes Entrada ou fonte e saída A corrente deseja fluir da entrada ou fonte para a saída 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 14 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 cofundador 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 MetalOxideSemiconductor Elemento básico na construção de chaves em CIs sistemas digitais modernos O transistor mais popular usado em CIs é 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 23 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 24 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 a1 e b1 OR a OR b produz 1 somente quando a1 ou b1 ou ambos forem iguais a 1 NOT NOT a produz o inverso oposto de a 1 se a0 0 se a1 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 NOTs Possibilita Avaliações formais de expressões lógicas m1 j0 s1 F 1 OR 0 AND NOT1 1 AND 0 0 Transformações formais de expressões lógicas F m and NOTs OR j and NOTs 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 httpptwikipediaorgwikiGeorgeBoole 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 a1 b1 c1 d0 resposta F 1 AND 1 OR 1 AND 0 1 OR 0 1 Q2 a0 b1 c0 d1 resposta F 0 AND 1 OR 0 AND 1 0 OR 0 0 Q3 a1 b1 c1 d1 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 seguintes situaçõ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 NOTa AND NOTb b Segunda solução F NOTa OR b Q4 A saída F será verdadeira se a for 1 e b for 0 Resposta F a AND NOTb 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 d1 quando a porta estiver fechada 0 quando estiver aberta obteremos a seguinte equação F a AND s OR NOTd 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 mid1800s 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 NOT 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 NOTORAND 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 F1 quando um movimento for detectado a1 e não tiver luz ambiente b0 F a AND NOTb 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 em um Circuito Digital Q Converta a seguinte equação booleana em um circuito digitalusando as portas lógicas que você conhece até esse momento F a AND NOT b OR NOTc 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 s1 cinto engatado k1 chave na ignição p1 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 NOTs 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 NOTa é 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 NOTs AND k OR t Nova notação w psk 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 Avalieos da esquerda para a direita AND Avalieos da esquerda para a direita OR Avalieos da esquerda para a direita 25 Digital Design Copyright 2006 Frank Vahid 20 Precedência de Operadores na Álgebra Booleana Avalie as seguintes equações Booleanas assumindo a1 b1 c0 d1 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 obtendose 10 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 obtendose 1 0 1 0 1 O NOT tem precedncia sobre o OR obtendose 0 1 0 0 0 0 0 a Digital Design Copyright 2006 Frank Vahid 21 Terminologia da Álgebra Booleana Exemplo de uma equação Fabc abc 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 abc 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 abc 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 cba Use a propriedade comutativa abc acb cab cba cba Mostre que abc abc ab Primeiro a propriedade distributiva abc abc abcc Propriedade do complemento Troque cc por 1 abcc ab1 Propriedade da identidade ab1 ab1 ab Mostre que x xz é equivalente a x z Segunda propriedade distributiva Troque xxz por xxxz Propriedade do complemento Troque xx por 1 Propriedade da identidade Troque 1xz por xz 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áticos shoppings Saída f1 abre a porta Entradas p1 pessoa detectada h1 porta mantida aberta manualmente c1 porta mantida fechada Queremos que a porta se abra quando h1 e c0 ou h0 e p1 e c0 Equação f hc hpc Encontramos um CI barato que implementa a função f chp chp chp Podemos usálo É a mesma função f cphh Verificamos com o auxílio da Álgebra Booleana f chp chp chp f chp p chp propriedade distributiva f ch1 chp propriedade do complemento f ch chp propriedade da identidade f hc hpc propriedade comutativa 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 ab 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 abc 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 26 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 Fab a Equação 1 Fab ab ab 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 Fabc 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 27 a 0 0 1 1 b 0 1 0 1 F Entradas Saídas a b a b Conversão entre Representações Podemos converter de uma forma de representação a outra Conversões comuns Equação para circuitos já vimos Tabela verdade para equação que poderá ser convertida para circuitos Faça um OR de cada termo de entrada que deverá produzir F1 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 ab ab Termos F ab ab 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 abc abc abc abc abc abc 1 1 0 0 1 0 0 0 0 1 0 0 a Q Converta para tabela verdade F ab ab 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 hpc é a mesma função Usamos propriedades da Álgebra Booleana Mas se usarmos as propriedades indevidamente conseguiremos provar que a equação não é a mesma Não Solução Converter para Tabelas verdade Tabelas verdade só produzem uma única solução para uma dada função Representação Padrão f chp chp ch f chp p chp f ch1 chp f ch chp o que aconteceria se parássemos por aqui f hc hpc 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 ab ab ab Q Determine se Faba é a mesma função que Fababab convertendo cada uma em sua respectiva tabela verdade a Iguais 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 uma única 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 Fababa é a mesma função que Fabababab convertendo a primeira equação para a forma canônica a segunda equação já está na forma canônica F aba já esta sob a forma de soma de produtos F ab abb expandindo os termos F ab ab ab 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 Exemplo com Múltiplas Saídas Conversor BCD para 7Segmentos a wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz b wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz wxyz Procedimento de Projeto de Circuitos Lógicos Combinacionais Passo Passo 1Identifique a função Passo 2Converta para equações Passo 3Implemente as equações na forma de circuitos Descriçã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 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 se desejar as equações 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 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 Passo 1 Identificamos a função Tabela verdade ou equação Tabela verdade enorme 28256 linhas Equação geramos termos para cada caso onde encontramos 3 1s y abc bcd cde def efg fgh Passo 2 Convertemos para equações feito Passo 3 Implementamos o circuito usando portas lógicas Exemplo Contagem de 1s Problema O circuito deverá produzir uma saída de dois bits yz em binário para representar o número 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 abc abc abc abc z abc abc abc abc Passo 3 Implementamos o circuito 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 quete representa a coincidência NAND mesmo que AND com alimentação terra invertidos Porque nMOS conduz bem 0s mas não 1s vídeo livro do Adel Sedra Microeletrônica portanto NANDs são melhores Assim como NOR mesmo que OR com alimentaçãoterra invertidos AND em CMOS NAND com NOT OR em CMOS NOR com NOT Logo NANDNOR são mais usadas Mais Portas Lógicas Exemplos de uso Exemplo do lavatório em aviões S abc Para detectar todos os 0s Podemos usar um NOR Para detectar uma igualdade Usamos XNOR Para detectar um número de 1s Usamos XOR Úteis para gerar bits de paridade usados para detectar a ocorrência de um erro em transmissão de dados Completude da porta NAND Porta Lógica Universal Qualquer função Booleana pode ser implementada usando somente portas lógicas NAND Por quê Necessitamos de AND OR e NOT para gerar qualquer função NOT Substituído por uma NAND de uma entrada Uma NAND de 2 entradas com as entradas curtocircuitadas ou interligadas AND NAND seguido de um NOT OR NAND precedida de 2 NOTs Mesma coisa para NOR NOR é também uma porta lógica Universal 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 222 24 16 funções possíveis N variáveis 2N linhas 22N funções possíveis Decodificadores e Multiplexadores Muxs 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 e0 Comportamento original se e1 Um decodificador de n entrada 2n saídas 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 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 para a saída MUX de 8 entradas 3 entradas de seleção MUX de N entradas log2N entradas de seleção Analogia com parque de manobras ferroviárias Conteúdo interno de um MUX 2x1 mux 4x1 mux 0110I0 1 01i0I0 Digital Design Copyright 2006 Frank Vahid 43 Exemplo de uso de MUXs Um prefeito 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 prefeito em um painel luminoso verde 1 vermelho 0 através de 2 chaves usadas para representar o voto do prefeito em uma das questões 1 2 3 ou 4 Necessitamos de um MUX 4x1 mux i0 4x1 i2 i1 i3 s1 s0 d 1 2 3 4 Chaves do Prefeito Chaves de controle Verde Vermelho ligado desligado Digital Design Copyright 2006 Frank Vahid 44 MUXs combinados Muxs de Nbits 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 4bits 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 I0 s0 s0 I1 4bit 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 Nbits Quatro itens diferentes que podem ser exibidos Temperatura T Média de Km por litros de combustível A Valor instântaneo Kml 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 210 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 Possibilita o uso da Álgebra Booleana para projetar circuitos Álgebra Booleana usa variáveis com 2 valores lógicos 01operadores 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