Texto de pré-visualização
Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 1 Engenharia de Controle e Automação Sistemas Digitais Professor Ricardo Kerschbaumer 17 de novembro de 2020 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 2 Sumário AULA 1 CONCEITOS INTRODUTÓRIOS 6 11 SISTEMAS DIGITAIS 6 111 Sinais digitais e sinais analógicos 6 112 Representação de sinais digitais 7 113 Porque usar sinais digitais 7 12 GRANDEZAS DIGITAIS 7 121 Contando em binário 9 13 CIRCUITOS DIGITAIS 9 131 Aspectos elétricos 9 132 Conversores AD e DA 10 133 Formas de onda digitais 11 14 EXERCÍCIOS 12 AULA 2 CÓDIGOS E SISTEMAS NUMÉRICOS 13 21 SISTEMAS DE NUMERAÇÃO 13 211 Sistema decimal 13 212 Sistema binário 13 213 Sistema octal 14 214 Sistema hexadecimal 15 215 Sistema BCD 16 216 Código Gray 17 22 CONVERSÃO ENTRE BASES 17 221 Converter inteiro decimal para outras bases 17 23 NÚMEROS NEGATIVOS 19 231 Sinal e magnitude 19 232 Complemento de um 20 233 Complemento de dois 20 24 PONTO FLUTUANTE 21 241 O padrão IEEE 745 21 25 CÓDIGO ALFANUMÉRICO 23 251 Código ASCII 24 AULA 3 ÁLGEBRA BOOLEANA 26 31 INTRODUÇÃO 26 32 FUNÇÕES BOOLEANAS 26 33 PROPRIEDADES FUNDAMENTAIS DA ÁLGEBRA BOOLEANA 26 331 Teorema de DeMorgan 27 332 Exemplo de aplicação de DeMorgan 27 333 Algumas identidades auxiliares 28 34 TABELAS VERDADE 28 35 SIMPLIFICAÇÃO DE FUNÇÕES BOOLEANAS 28 36 FORMATO PADRÃO PARA FUNÇÕES BOOLEANAS 31 37 MAPAS DE KARNAUGH 31 371 Preenchimento do mapa de Karnaugh 33 372 Grupos de celas adjacentes 33 373 Resolvendo o mapa de Karnaugh 34 374 Exemplos de mapa de Karnaugh 35 375 Mapas com mais de quatro variáveis 38 376 Funções incompletas 38 38 EXERCÍCIOS DE MAPA DE KARNAUGH 39 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 3 AULA 4 PORTAS LÓGICAS 41 41 INTRODUÇÃO 41 42 PORTA LÓGICA INVERSORA 41 43 ATRASO DE PROPAGAÇÃO 42 44 PORTA OU 43 45 PORTA E 44 46 PORTA NÃO OU 45 47 PORTA NÃO E 47 48 PORTA OU EXCLUSIVO 48 49 PORTAS LÓGICAS COM MAIS ENTRADAS 50 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 4 Lista de figuras FIGURA 1 SINAL ANALÓGICO 6 FIGURA 2 SINAL DIGITAL 7 FIGURA 3 GRANDEZAS DIGITAIS 8 FIGURA 4 MÚLTIPLO DE BYTE 8 FIGURA 5 NÍVEIS DE TENSÃO 9 FIGURA 6 SINAL DIGITAL TÍPICO 10 FIGURA 7 CONVERSOR ANALÓGICO DIGITAL 10 FIGURA 8 CONVERSOR DIGITAL ANALÓGICO 10 FIGURA 9 PROCESSAMENTO DIGITAL DE SINAIS 11 FIGURA 10 FORMA DE ONDA DE SINAL DIGITAL 11 FIGURA 11 FORMA DE ONDA DO EXERCÍCIO 1 12 FIGURA 12 SISTEMA DE NUMERAÇÃO DE BASE 10 13 FIGURA 13 SISTEMA DE NUMERAÇÃO DE BASE 2 14 FIGURA 14 NÚMERO FRACIONÁRIO NA BASE 2 14 FIGURA 15 SISTEMA DE NUMERAÇÃO DE BASE 8 14 FIGURA 16 RELAÇÃO ENTRE OCTAL E BINÁRIO 15 FIGURA 17 SISTEMA DE NUMERAÇÃO DE BASE 16 15 FIGURA 18 RELAÇÃO ENTRE HEXADECIMAL DECIMAL E BINÁRIO 15 FIGURA 19 COMPARATIVO ENTRE AS BASES 16 FIGURA 20 CÓDIGO GRAY 17 FIGURA 21 PRIMEIRO PASSO DA DIVISÃO SUCESSIVA 17 FIGURA 22 SEGUNDO PASSO DA DIVISÃO SUCESSIVA 18 FIGURA 23 CONCLUSÃO DO MÉTODO DA DIVISÃO SUCESSIVA 18 FIGURA 24 EXEMPLO 1 DE DIVISÃO SUCESSIVA 18 FIGURA 25 VERIFICAÇÃO DO RESULTADO DA CONVERSÃO 18 FIGURA 26 EXEMPLO 2 DE DIVISÃO SUCESSIVA 19 FIGURA 27 VERIFICAÇÃO DO RESULTADO DA CONVERSÃO 19 FIGURA 28 REPRESENTAÇÃO POR SINAL E MAGNITUDE 20 FIGURA 29 REPRESENTAÇÃO EM COMPLEMENTO DE UM 20 FIGURA 30 REPRESENTAÇÃO EM COMPLEMENTO DE DOIS 20 FIGURA 31 NÚMEROS NEGATIVOS EM COMPLEMENTO DE DOIS 21 FIGURA 32 PONTO FLUTUANTE DE PRECISÃO SIMPLES 22 FIGURA 33 PONTO FLUTUANTE DE PRECISÃO DUPLA 22 FIGURA 34 POSSÍVEIS REPRESENTAÇÕES NO PADRÃO IEEE 754 23 FIGURA 35 EXEMPLO DE PONTO FLUTUANTE DE PRECISÃO SIMPLES 23 FIGURA 36 A TABELA ASCII 24 FIGURA 37 TABELA ASCII EXPANDIDA 25 FIGURA 38 MODELO DE MAPA DE KARNAUGH PARA QUATRO VARIÁVEIS 32 FIGURA 39 MAPAS DE KARNAUGH PARA 2 E 3 VARIÁVEIS 32 FIGURA 40 MAPA DE KARNAUGH PARA A TABELA 33 FIGURA 41 EXEMPLOS DE GRUPOS VÁLIDOS DE CELAS 34 FIGURA 42 RESOLUÇÃO DE MAPA DE KARNAUGH 34 FIGURA 43 MAPA DE KARNAUGH DO EXEMPLO 35 FIGURA 44 MAPA DE KARNAUGH DO EXEMPLO 36 FIGURA 45 MAPA DE KARNAUGH DO EXEMPLO 36 FIGURA 46 MAPA DE KARNAUGH DO EXEMPLO 37 FIGURA 47 MAPA DE KARNAUGH PARA ESTE EXEMPLO 38 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 5 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 6 Aula 1 Conceitos introdutórios Nesta aula serão apresentados alguns conceitos necessários ao entendimento dos conteúdos de sistemas digitais A princípio serão apresentadas as diferenças entre sinais analógicos e sinais digitais Em seguida serão apresentados os fundamentos das representações dos sinais digitais e as vantagens e desvantagens de sua utilização Finalmente serão discutidos os circuitos digitais seus aspectos elétricos a conversão dos sinais entre o ambiente analógico e o digital e as formas de onda relacionadas 11 Sistemas digitais Os Sistemas digitais ou circuitos digitais ou ainda circuitos lógicos são definidos como circuitos eletrônicos que empregam a utilização de sinais elétricos em apenas dois níveis de tensão de forma a definir uma representação de valores binária Os sinais elétricos transportados por estes circuitos são chamados de sinais digitais ou sinais binários 111 Sinais digitais e sinais analógicos Os sistemas digitais são sistemas no qual os sinais têm um número finito de valores discretos normalmente dois se contrapondo a sistemas analógicos onde os sinais têm valores pertencentes a um conjunto contínuo ou infinito de valores A Figura 1 Sinal analógicoFigura 1 apresenta um gráfico da tensão em função do tempo representando um sinal analógico Figura 1 Sinal analógico Nesta figura é possível observar que a amplitude do sinal pode assumir qualquer valor A Figura 2 por sua vez apresenta um gráfico da tensão em função do tempo representando um sinal digital Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 7 Figura 2 Sinal digital Nesta figura é possível observar que o sinal pode assumir apenas dois valores distintos um com tensão mais baixa e outro com tensão mais alta 112 Representação de sinais digitais Como já mencionado sinais digitais costumas assumir dois estados Assim é possível utilizar sinais digitais para representar fenômenos com as mesmas características Por exemplo um sinal digital pode ser utilizado para representar o estado de uma lâmpada ligada ou desligada É comum dizermos que um sinal digital ou seja um sinal binário pode assumir dois estados lógicos Estes estados têm várias denominações ligado e desligado ou alto e baixo ou ainda verdadeiro e falso Utilizaremos a seguinte notação para representar os estados de um sinal digital O digito 0 zero representa o valor falso ou baixo enquanto o digito 1 um representa o valor verdadeiro ou alto 113 Porque usar sinais digitais Os sinais digitais e consequentemente os sistemas digitais são utilizados por apresentarem algumas vantagens sobre os sinais analógicos As principais vantagens dos sinais digitais são Os sinais digitais são muito mais imunes a distorções ruídos e interferências Os circuitos digitais são mais confiáveis e robustos Os circuitos digitais são fáceis de projetar e mais baratos A implementação de hardware em circuitos digitais é mais flexível 12 Grandezas digitais Um único sinal digital pode assumir apenas dois estados como já mencionado Porém para a maioria das aplicações dois estados não são suficientes Imagine que se deseja contar o número de pessoas em uma sala seria necessária uma quantidade muito maior de estados para representar este número Para contornar este tipo de situação utilizase não apenas um mas vários sinais Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 8 digitais para representar uma determinada grandeza Neste contexto surgem diferentes nomenclaturas para determinados números de sinais binários agrupados A nomenclatura utilizada para os sinais digitais é o bit Binary digit A seguir são apresentadas as principais notações utilizadas para grupos de bits Um sinal composto por apenas um bit é um sinal binário único Um sinal composto por quatro Bits é chamado de nibble Um sinal composto por oito Bits é chamado de byte Um sinal composto por dezesseis Bits é chamado de word A Figura 3 mostra graficamente a relação entre os diferentes grupos de Bits Figura 3 Grandezas digitais Quando se trata do armazenamento de informações digitais é comum a utilização de múltiplos para representar grandes quantidades de bits A seguir são apresentados alguns múltiplos comumente utilizados 1 kilobyte KB 1024 bytes 1 megabyte MB 1024 kilobytes 1 gigabyte GB 1024 megabytes 1 terabyte TB 1024 gigabytes 1 petabyte PB 1024 terabytes Apesar de muito utilizada esta notação não é totalmente correta pois foi desenvolvida para numeração de base 10 e não para representação binária Assim o múltiplo k kilo por exemplo deveria representar 1000 e não 1024 Para evitar confusões foi desenvolvida uma outra nomenclatura especificamente para sistemas digitais A Figura 4 apresenta os múltiplos de byte Figura 4 Múltiplo de byte Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 9 121 Contando em binário Existem várias formas de representar as informações em formato digital apenas para ilustrar este conceito a Tabela 1 apresenta a representação dos números de 0 a 9 na forma de bits Tabela 1 Números na forma binária Números Informação binária 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Estas representações serão assunto das próximas aulas 13 Circuitos digitais Circuitos digitais são a implementação de sistemas digitais na forma de circuitos eletrônicos onde os sinais digitais são representados por sinais elétricos 131 Aspectos elétricos Para a construção de circuitos eletrônicos digitais é necessário implementar os sinais lógicos 0 e 1 na forma de sinais elétricos Existem várias formas de fazer isso as principais serão estudadas mais a frente A título de exemplo a Figura 5 apresenta os níveis de tensão dos estados lógicos em um sistema digital de 5 V Figura 5 Níveis de tensão É comum dizermos que o nível lógico 0 é representado por 0 V e o nível lógico 1 é representado por 5 V mas na prática é um pouco mais complicado Como pode ser observado na Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 10 Figura 5 existem faixas de tensão que representam cada um dos níveis Isso torna os sistemas digitais mais robustos e imunes a interferências Para simplificar os sinais são representados como na Figura 6 Figura 6 Sinal digital típico Existem muitas outras tecnologias de implementação de circuitos digitais mas geralmente o nível 0 é representado por uma tensão baixa perto de 0 V e o nível 1 é geralmente representado por uma tensão mais alta 132 Conversores AD e DA Uma vez que os sinais do mundo físico são analógicos é necessário convertêlos para sinais digitais e viceversa sempre que os sinais digitais tenham que interagir com os sinais do meio físico A conversão de sinais analógicos em sinais digitais é realizada por um dispositivo eletrônico chamado conversor analógico digital AD A Figura 7 mostra o diagrama de um conversor analógico digital de 8 bits Figura 7 Conversor Analógico Digital Da mesma forma a conversão de sinais digitais em sinais analógicos é realizada por um dispositivo eletrônico chamado conversor digital analógico DA A mostra o diagrama de um conversor digital analógico de 8 bits Figura 8 Conversor Digital Analógico Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 11 A maioria dos sistemas digitais é utilizado para processar sinais oriundos de sensores analógicos como por exemplo microfones sensores de temperatura sensores de luminosidade etc Assim estes sinais são primeiro convertidos de analógicos para digitais para só então serem processados Este processamento é então realizado por circuitos digitais projetados para este fim Os resultados deste processamento são também sinais digitais que devem então ser convertidos em sinais analógicos utilizando um conversor digital analógico Os sinais analógicos resultantes podem então ser enviado para atuadores como por exemplo alto falantes motores etc A Figura 9 apresenta um diagrama de blocos de um sistema de processamento digital de sinais analógicos Figura 9 Processamento digital de sinais 133 Formas de onda digitais Nos estudos de sistemas digitais é comum a utilização de gráficos que representam as formas de onda de sinais digitais Destes gráficos é possível obter várias informações importantes como a amplitude do sinal o período e a frequência A Figura 10 apresenta um gráfico típico de um sinal digital Figura 10 Forma de onda de sinal digital No eixo vertical é possível verificar a amplitude deste sinal neste caso 5 V No eixo horizontal é apresentada a escala de tempo neste caso em milissegundos Se o sinal apresentado no gráfico for um sinal repetitivo é possível observar também seu período O período de um sinal é o tempo que ele leva para se repetir No gráfico da figura p período é de 5 ms ou 0005 s Em função do período podese calcular a frequência do sinal através da seguinte formula 𝐹 1 𝑃 Onde F é a frequência e P o período No exemplo da figura a frequência é de 200 Hz Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 12 14 Exercícios 1 Dado o sinal digital da Figura 11 determine a amplitude o período e a frequência Figura 11 Forma de onda do exercício 1 a Amplitude b Período c Frequência Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 13 Aula 2 Códigos e sistemas numéricos Nesta aula serão abordados assuntos relacionados a forma com que os sistemas digitais codificam as informações Inicialmente serão abordados os sistemas de numeração enfatizando o sistema binário o octal o hexadecimal e o BCD Na sequência estudaremos os métodos de conversão entre os diversos sistemas de numeração O assunto seguinte é a representação de números negativos Por fim estudaremos a representação de números de ponto flutuante e os códigos alfanuméricos 21 Sistemas de numeração Os sistemas de numeração são formas de representar os números Cada sistema de numeração possui um conjunto específico de caracteres O número de caracteres de cada conjunto é chamado de base do sistema de numeração A seguir serão apresentados os principais sistemas de numeração relacionados aos sistemas digitais 211 Sistema decimal O sistema decimal é o mais conhecido sistema de numeração e é amplamente empregado em todo o mundo Este sistema utiliza um conjunto de 10 caracteres ou símbolos 0 1 2 3 4 5 6 7 8 e 9 para representar ou números Estes caracteres são também chamados de dígitos Como são 10 caracteres que compõe a base do sistema decimal este sistema é também conhecido como sistema de base 10 Neste sistema cada dígito possui um peso relacionado a uma potência de sua base neste caso a base 10 A Figura 1Figura 12 apresenta a representação do número 5432789 na base 10 Figura 12 Sistema de numeração de base 10 É possível observar que a direita da vírgula as potências da base são negativas sinalizando pesos menores do que 1 Já a direita da vírgula as potências da base são positivas O peso de cada uma das posições ocupadas pelos dígitos é a base elevada a potência relacionada a sua posição Para a determinação do valor de um número na base 10 deve se fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 5 103 4 102 3 101 2 100 7 101 8 102 8 103 5432789 212 Sistema binário O sistema binário segue a mesma lógica porém ele utiliza um conjunto de apenas 2 caracteres ou símbolos 0 e 1 para representar ou números Assim este sistema de numeração é chamado de sistema de base 2 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 14 Neste sistema de numeração os pesos dos dígitos são todos potências de 2 A Figura 13 apresenta a representação do número 1000110 na base 2 Quando a base de um número é diferente da base 10 é comum colocarse o número da base subscrita no final do número assim o número anterior seria 10001102 Figura 13 Sistema de numeração de base 2 Para a determinação do valor de um número em na base 2 se deve fazer a soma de cada um de seus dígitos 0 ou 1 multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 10001102 1 26 0 25 0 24 0 23 1 22 1 21 0 20 7010 Quando se utiliza apenas números inteiros sem a parte fracionária o maior número que pode ser representado por um conjunto de bits pode ser determinado pela seguinte expressão 𝑀𝑎𝑖𝑜𝑟 𝑉𝑎𝑙𝑜𝑟 2𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑏𝑖𝑡𝑠 1 Assim como no sistema decimal o sistema binário pode utilizar dígitos a direita da vírgula A Figura 14 apresenta um exemplo Figura 14 Número fracionário na base 2 A determinação do valor de um número nestas condições segue a mesma lógica dos anteriores veja a seguir 10101112 1 24 0 23 1 22 0 21 1 20 1 21 1 22 217510 O sistema de numeração binário é o sistema utilizado nos sistemas digitais daí sua grande importância para nossos estudos 213 Sistema octal O sistema octal possui este nome porque utiliza um conjunto de 8 caracteres ou símbolos 0 1 2 3 4 5 6 e 7 para representar ou números Assim este sistema de numeração é chamado de sistema de base 8 Assim como nos sistemas de numeração anteriores os pesos dos dígitos são todos potências da base neste caso 8 A Figura 15 apresenta a representação do número 420547 na base 8 Figura 15 Sistema de numeração de base 8 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 15 Para a determinação do valor de um número em na base 8 devese assim como nos anteriores fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 4205478 4 83 2 82 0 81 5 80 4 81 7 82 218160937510 O sistema octal é importante para os estudos de sistemas digitais pois os números 0 a 7 podem ser representados por 3 bits assim a representação binária de números em formato octal é facilitada A Figura 16 apresenta como cada número em octal pode ser representado por 3 bits Figura 16 Relação entre octal e binário 214 Sistema hexadecimal O sistema hexadecimal é parecido com o sistema octal porém utiliza 4 bits cara cada caractere Assim o sistema hexadecimal utiliza um conjunto de 16 caracteres ou símbolos 0 1 2 3 4 5 6 7 8 9 A B C D E e F para representar ou números Assim este sistema de numeração é chamado de sistema de base 16 Neste sistema as letras A B C D E e F correspondem respectivamente aos números decimais 10 11 12 13 14 e 15 ou seja A10 B11 C12 D13 E14 e F15 Assim como nos sistemas de numeração anteriores os pesos dos dígitos são todos potências da base neste caso 16 A Figura 17 apresenta a representação do número 3A4F2 na base 16 Figura 17 Sistema de numeração de base 16 Para a determinação do valor de um número em na base 16 devese assim como nos anteriores fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 3A4F216 3 162 A 161 4 160 F 161 2 162 932945312510 O sistema hexadecimal é importante para os estudos de sistemas digitais pois os números 0 a F podem ser representados por 4 bits assim a representação binária de números em formato hexadecimal é facilitada A Figura 18 apresenta como cada número em hexadecimal pode ser representado por 4 bits Figura 18 Relação entre hexadecimal decimal e binário Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 16 Para relacionar os diferentes sistemas de numeração a Figura 19 mostra uma tabela comparativa dos números de 0 a 20 Figura 19 Comparativo entre as bases 215 Sistema BCD O sistema ou código BCD do inglês Binary Coded Decimal é uma forma diferente de codificar números decimais em binário Nesta codificação cada dígito de um número decimal é codificado separadamente por uma combinação de 4 bits A seguir são apresentados dois exemplos de codificação no sistema BCD 37 0011 0111 459 0100 0101 1001 É importante salientar que o sistema BCD se diferencia do sistema binário convencional porque separa os bits em grupos de 4 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 17 216 Código Gray O código Gray é também uma forma binária de representa números porém tem o diferencial de possuir uma distância unitária entre os números A Figura 20 apresenta os números de 0 a 9 representados através do código Gray Figura 20 Código Gray Observando a figura é possível notar que de um número para outro apenas um bit muda Este código é mais utilizado em sistemas eletromecânicos onde a comutação das chaves consome mais energia e produz ruídos Assim o uso do código Gray garante que qualquer mudança altera apenas um bit minimizando o consumo de energia e o ruído 22 Conversão entre bases É comum que necessitemos converter um número em uma determinada base em seu valor equivalente em outra base Nas seções anteriores foi apresentado que para converter um número em qualquer base para a base decimal devese fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra As seções a seguir apresentas os procedimentos para realizar as conversões de números na base decimal para outras bases 221 Converter inteiro decimal para outras bases Para converter números inteiros da base decimal para qualquer outra base se utiliza um método chamado método de divisões sucessivas DS O funcionamento deste método é simples basta ir dividindo sucessivamente o número inteiro decimal pela base b que se deseja utilizar O resultado é a composição de todos os restos parciais das divisões A seguir são apresentados os passos para a aplicação do método 1 Efetue a divisão do número inteiro decimal N pela base b de forma a obter o quociente Q1 e o resto R1 O resto R1 e o quociente Q1 devem ser colocados respectivamente embaixo do número inteiro decimal N e da base b veja a Figura 21 Figura 21 Primeiro passo da divisão sucessiva Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 18 2 Repita o passo anterior dividindo o quociente Q1 pela base b para obter o quociente Q2 e o resto R2 veja a Figura 22 Figura 22 Segundo passo da divisão sucessiva Este processo deve ir se repetindo até que seja encontrado um quociente Qn com valor menor do que a base b veja a Figura 23 Figura 23 Conclusão do método da divisão sucessiva A obtenção do resultado acontece da seguinte forma O número inteiro na base b Ib é obtido do último quociente Qn e dos restos obtidos nas divisões sucessivas conforma a expressão a seguir Ib Qn Rn Rn1 Rn2 R1b Para facilitar o entendimento do método vejamos alguns exemplos A Figura 24 apresenta um exemplo de conversão de um inteiro decimal para a base 2 binário Figura 24 Exemplo 1 de divisão sucessiva Neste exemplo o número inteiro decimal 13710 é convertido para a base 2 O valor binário resultado é 100010012 Para comprovar este resultado podese fazer a soma de cada um dos dígitos multiplicado pelo peso da posição onde ele se encontra veja a Figura 25 Figura 25 Verificação do resultado da conversão Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 19 Observando a informação em formato binário e os respectivos pesos obtémse a seguinte expressão onde o resultado pode ser comprovado 100010012 1 27 0 26 0 25 0 24 1 23 0 22 0 21 1 20 13710 Para um segundo exemplo faremos a conversão do número 941810 para a base 16 Hexadecimal Veja a Figura 26 Figura 26 Exemplo 2 de divisão sucessiva O número inteiro decimal 941810 é convertido para a base 16 fica 24CA16 Para comprovar este resultado podese fazer a soma de cada um dos dígitos multiplicado pelo peso da posição onde ele se encontra veja a Figura 27 Figura 27 Verificação do resultado da conversão Observando a informação em formato hexadecimal e os respectivos pesos obtémse a seguinte expressão onde o resultado pode ser comprovado 24CA16 2 163 4 162 C 161 A 160 941810 É importante salientar que este método se aplica a números inteiros em caso de números com parte fracionária outros métodos devem ser empregados 23 Números negativos Os sistemas digitais também devem ser capazes de operar com números negativos assim é necessária uma forma de representar digitalmente estes números A seguir serão apresentados três métodos de representação de números negativos na forma de bits 231 Sinal e magnitude A primeira forma de representar digitalmente números negativos é através do sinal e da magnitude também conhecida como sinal e módulo Nesta representação um bit adicional é adicionado a esquerda do número em sua forma binária tradicional para representar o sinal Assim se este bit adicional for 0 o número é positivo e se for 1 o número é negativo A Figura 28 apresenta os números 1110 1110 910 e 910 no formato de sinal e magnitude Observe que o primeiro bit representa o sinal Quando este bit é 1 o número é negativo Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 20 Figura 28 Representação por sinal e magnitude A notação de sinal e magnitude é a forma mais simples de representação de números negativos porém esta representação não favorece a realização de operações aritméticas com estes números Esta notação também possui duas representações para o zero o 02 e o 02 232 Complemento de um Complemento de um é outra forma de representar números negativos na forma binária Nesta representação a combinação de bits que representa o valor negativo é obtida aplicandose o complemento inversão bit a bit no valor positivo representado em sinal e magnitude A Figura 29 apresenta os números 1110 1110 910 e 910 no formato de complemento de um Observe que para números negativos todos os bits são invertidos inclusive o sinal Figura 29 Representação em complemento de um A representação em complemento de um facilita a construção de circuitos aritméticos digitais porém ainda tem o inconveniente de duas representações para o valor zero o 02 e o 02 233 Complemento de dois A representação de números negativos em formato binário mais comum nos sistemas digitais atuais é o complemento de dois Nesta notação o valor negativo é obtido aplicandose o complemento inversão bit a bit no valor positivo representado em sinal e magnitude em seguida somase 1 a este valor A Figura 30 apresenta os números 1110 1110 910 e 910 no formato de complemento de dois Figura 30 Representação em complemento de dois Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 21 Observando o exemplo podese notar que o número 1110 tem sua representação em binário igual a 10112 para encontrar o valor binário em complemento de dois para o número 112 inicialmente adicionase um bit de sinal a representação do valor com sinal positivo assim chega se a 010112 O próximo passo é inverter todos os bits o resultado é 101002 A última etapa é somar 1 a este valor o resultado é 101012 A representação em complemento de dois é amplamente utilizar por apresentar algumas vantagens relevantes Os circuitos digitais para fazer a adição e a subtração são muito simples podendo inclusive ser unificados Outra vantagem desta notação é que o número zero apresenta apenas uma forma de representação A título de exemplo a Figura 31 apresenta os números de 810 a 710 na forma binária sem sinal e em complemento de dois Figura 31 Números negativos em complemento de dois 24 Ponto flutuante As técnicas de representação de números em sistemas digitais que foram estudadas até aqui são úteis para números inteiros porém em muitas circunstâncias é necessário o uso de números reais Para representar números reais os sistemas digitais atuais utilizam um padrão chamado IEEE 754 Nas seções a seguir será apresentado o básico deste padrão 241 O padrão IEEE 745 Este padrão apresenta duas opções para a codificação dos números reais A primeira se chama ponto flutuante de precisão simples e possui 32 bits de tamanho O primeiro bit mais significativo é dedicado a representação do sinal S Os 8 bits seguintes são dedicados ao expoente E Os 23 bits restantes são dedicados a representação da fração A Figura 32 apresenta esta Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 22 estrutura Observe que o número de bits é sempre 32 independente do valor que se esteja representando Figura 32 Ponto flutuante de precisão simples Para a representação de números neste formado é considerada a representação em notação científica normalizada ou seja com exatamente um dígito diferente de zero antes do ponto binário Para que se possa obter o valor numérico correspondente a representação em ponto flutuante de precisão simples devese fazer a seguinte operação 𝑉𝑎𝑙𝑜𝑟 1𝑠 1 𝐹 2𝐸127 Onde 1 𝐸 254 Existe também no padrão IEEE 754 uma representação de ponto flutuante de 64 bits Esta representação é chamada de ponto flutuante de precisão dupla A Figura 33 apresenta esta estrutura Figura 33 Ponto flutuante de precisão dupla Nesta notação para que se possa obter o valor numérico correspondente devese fazer a seguinte operação 𝑉𝑎𝑙𝑜𝑟 1𝑠 1 𝐹 2𝐸1023 Onde 1 𝐸 2046 O termo E sofre um deslocamento tanto na representação de precisão simples como na representação de precisão dupla Este deslocamento permite expressar expoentes positivos ou negativos o que por sua vez permite representar números muito grandes ou muito pequenos Quando se trabalha com pontos flutuantes normalizados no padrão IEEE 754 deve levar em conta os seguintes fatores No termo 1 F o 1 não aparece no valor binário pois se assume que o número está em notação científica com exatamente um dígito diferente de zero antes do ponto binário As equações não permitem a representação do número zero assim o padrão é preencher os campos E e F com zeros para representar o número zero É possível representar o infinito preenchendo o campo E com 1s e o campo F com 0s com o sinal apropriado Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 23 Quando o campo E é preenchido com 1s e o campo F é diferente de zero temse uma situação de número inválido indicado por NaN Not a Number Esta notação é útil para representar resultados inválidos como zero dividido por zero por exemplo Representações com E igual a zero e F diferente de zero indicam números não normalizados e devem ser evitadas A Figura 34 apresenta uma tabela que resume as possíveis representações no padrão IEEE 754 O valor max é 255 para números de precisão simples e 2047 para números de precisão dupla Figura 34 Possíveis representações no padrão IEEE 754 Vejamos como exemplo a representação do número 122510 A Figura 35 apresenta a representação deste número em ponto flutuante de precisão simples Figura 35 Exemplo de ponto flutuante de precisão simples Observado as informações binárias e seus respectivos pesos temos 𝑆 1 𝐸 1 27 1 21 130 𝐹 1 21 1 25 053125 Aplicando estes valores na fórmula temse 𝑉𝑎𝑙𝑜𝑟 11 1 053125 2130127 1225 25 Código alfanumérico Sistemas digitais também necessitam operar com informações na forma de textos assim é necessário codificar na forma binária também letras A codificação deste tipo de informações é chamada de codificação alfanumérica Os códigos alfanuméricos também chamados de códigos de caracteres letras são códigos binários usados para representar dados como letras do alfabeto números digitos símbolos matemáticos e sinais de pontuação de uma forma que é compreensível e processável por um computador Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 24 Este tipo de codificação é utilizada por dispositivos de entrada e saída como teclados monitores impressoras bem como para a transmissão de informações pelas redes de computadores por exemplo Existem várias codificações em uso atualmente como ASCII Unicode UTF8 etc Um dos mais simples e mais utilizado é o ASCII que será abordado a seguir 251 Código ASCII O Código ASCII American Standard Code for Information Interchange é um código muito popular usado em todos os sistemas digitais ele utiliza 7 bits para representar 128 caracteres Os primeiros 32 0 a 31 caracteres são ditos caracteres não imprimíveis e servem como comando de controle para os periféricos Os caracteres de 32 a 127 representam os símbolos letras e dígitos utilizados normalmente em nosso dia a dia A Figura 36 apresenta a tabela ASCII que contém todos estes 128 caracteres Figura 36 A tabela ASCII Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 25 Além dos 128 caracteres da tabela ASCII padrão existem mais 128 caracteres que são uma versão expandida da tabela ASCII Esta versão expandida contempla os caracteres de 128 a 255 Existem diversas versões desta expansão estas versões são dependentes do idioma do sistema por exemplo A Figura 37 apresenta os caracteres de 128 a 255 da tabela ASCII utilizada em um computador rodando Windows 10 em português do Brasil Figura 37 Tabela ASCII expandida Para aplicações mais complexas como por exemplo navegadores de internet ou editores de texto codificações mais complexas são utilizadas para representar digitalmente os caracteres Estas codificações permitem por exemplo a codificação de caracteres dos alfabetos orientais Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 26 Aula 3 Álgebra booleana Nesta aula serão abordados assuntos relacionados as regras matemáticas referentes as funções binárias Serão apresentados teoremas matemáticos e regras de simplificação de expressões booleanas bem como suas principais formas de representação 31 Introdução A álgebra booleana tem este nome em homenagem ao matemático e filósofo britânico George Boole É utilizada para fazer uma análise formal dos circuitos digitais através de um conjunto de regras matemáticas 32 Funções booleanas Para compor um sistema matemático de dois valores binário representado por zeros e uns utilizase funções booleanas Estas funções são compostas por variáveis binárias e por funções matemáticas binarias a adição lógica também chamada de função OU OR a multiplicação lógica também chamada de função E AND e inversão lógica Veja alguns exemplos 𝑦 𝑎 𝑏 𝑦 𝑎 𝑏 𝑐 Nas funções booleanas as letras representam variáveis que podem assumir valores 0 ou 1 33 Propriedades fundamentais da álgebra booleana Não é objetivo deste material demostrar os teoremas relacionados com a álgebra booleana serão apenas demostradas as propriedades fundamentais necessárias aos estudos dos sistemas digitais A Tabela 2 apresenta as propriedades envolvendo a função OU Tabela 2 Propriedades da função OU 𝑎 0 𝑎 𝑎 1 1 𝑎 𝑎 𝑎 𝑎 𝑎 1 𝑎 𝑏 𝑏 𝑎 comutativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 associativa A função OU pode ser imaginada da seguinte forma se pelo menos um dos operandos for verdadeiro o resultado é também verdadeiro Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 27 Assim como a função OU a função E também tem um conjunto de propriedades demostrado na Tabela 3 Tabela 3 propriedades da função E 𝑎 1 𝑎 𝑎 0 0 𝑎 𝑎 𝑎 𝑎 𝑎 0 𝑎 𝑏 𝑏 𝑎 comutativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 associativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑎 𝑐 distributiva 331 Teorema de DeMorgan Dentre os vários teoremas que compõe a álgebra booleana vale a pena citar os teoremas de DeMorgan Estes teoremas são extremamente úteis na simplificação de expressões em que um produto ou soma de variáveis é invertido Estes teoremas podem ser resumidos da seguinte forma 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 Segundo estes teoremas quando a operação OU entre duas variáveis é invertida é equivalente a inverter cada uma das variáveis individualmente e então fazer a operação E entre elas Da mesma forma quando a operação E entre duas variáveis é invertida é equivalente a inverter cada variável individualmente e então fazer a operação OU De forma generalizada estes teoremas são válidos para qualquer número de variáveis veja a seguir 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Os termos a b ou c podem ser também expressões booleanas complexas não faz diferença 332 Exemplo de aplicação de DeMorgan Os teoremas de DeMorgan podem ser utilizados para simplificar funções booleanas veja o seguinte exemplo Para simplificar a função booleana 𝑧 𝑎 𝑐 𝑏 𝑑 podemos considerar 𝑎 𝑐 como 𝑋 e 𝑏 𝑑 como Y assim teremos 𝑧 𝑋 𝑌 𝑋 𝑌 ou de forma equivalente 𝑧 𝑎 𝑐 𝑏 𝑑 Da mesma forma podemos aplicar o teorema de DeMorgan a cada um dos termos 𝑎 𝑐 𝑎 𝑐 𝑏 𝑑 𝑏 𝑑 Assim a expressão final simplificada é 𝑎 𝑐 𝑏 𝑑 ou ainda 𝑎 𝑐 𝑏 𝑑 pois a operação E tem precedência sobre a operação OU Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 28 333 Algumas identidades auxiliares Existem ainda algumas identidades que são úteis na hora de simplificar funções booleana são elas 𝑎 𝑎 𝑏 𝑎 𝑎 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 𝑎 𝑐 𝑎 𝑏 𝑐 É importante destacar que em algumas literaturas as operações E podem ter seu sinal suprimido assim 𝑎 𝑏 𝑐 𝑎𝑏𝑐 porém isso só funciona quando o nome das variáveis tem apenas uma letra com nomes mais longos pode haver confusão 34 Tabelas verdade Tabelas verdade é uma tabela que apresenta todas as possíveis entradas e as saídas correspondentes de uma função booleana Para uma função com N variáveis a tabela verdade deve possuir 2𝑁Linhas Considere por exemplo a função 𝑦 𝑎 𝑏 𝑐 a seguir é apresentada sua tabela verdade Tabela 4 Tabela verdade Entradas Saída a b c y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Nesta tabela é possível observar todas as possíveis entradas e as saídas correspondentes para a função 35 Simplificação de funções booleanas O objetivo da simplificação de funções booleanas é encontrar uma outra expressão que seja equivalente porém com um menor número de operações lógicas Para isso devese utilizar as propriedades e teoremas já apresentados Vejamos alguns exemplos 1 Simplifique a expressão 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Podemos chamar 𝑎 𝑏 𝑐 de x Aplicando a propriedade 𝑥 𝑥 𝑥 obtémse 𝑦 𝑎 𝑏 𝑐 Para verificar se a simplificação está correta vamos construir a tabela verdade Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 29 Tabela 5 Exemplo 1 de simplificação Entradas y a b c 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 Observando a Tabela 5 podese notar que 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 2 Simplifique a expressão 𝑦 𝑎 𝑏 𝑎 𝑏 𝑐 𝑏 𝑏 𝑐 Aplicando a propriedade distributiva em 𝑎 𝑏 𝑐 e 𝑏 𝑏 𝑐 obtemos 𝑦 𝑎 𝑏 𝑎 𝑏 𝑎 𝑐 𝑏 𝑏 𝑏 𝑐 Aplicando agora a propriedade 𝑎 𝑎 𝑎 para 𝑏 𝑏 e 𝑎 𝑏 𝑎 𝑏 obtemos 𝑦 𝑎 𝑏 𝑎 𝑐 𝑏 𝑏 𝑐 Aplicando a expressão auxiliar 𝑎 𝑎 𝑏 𝑎 em 𝑏 𝑏 𝑐 obtemos 𝑦 𝑎 𝑏 𝑎 𝑐 𝑏 Rearranjando os termos temos 𝑦 𝑏 𝑏 𝑎 𝑎 𝑐 Aplicando a expressão auxiliar 𝑎 𝑎 𝑏 𝑎 em 𝑏 𝑏 𝑎 obtemos 𝑦 𝑏 𝑎 𝑐 Este é o resultado final Para verificálo observe a Tabela 6 Tabela 6 Exemplo 2a de simplificação Entradas a b c 𝑎 𝑏 𝑏 𝑐 𝑎 𝑏 𝑐 𝑏 𝑏 𝑐 y 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 30 Agora compare o resultado da Tabela 6 com os resultados da Tabela 7 Tabela 7 Exemplo 2b de simplificação Entradas a b c 𝑎 𝑐 y 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 É possível observar que as duas expressões apresentam o mesmo resultado 3 Simplifique a expressão 𝑦 𝑎 𝑏 𝑐 𝑎 𝑐 𝑎 𝑏 Aplicando a propriedade distributiva isolando o 𝑎 obtemos 𝑦 𝑎 𝑏 𝑐 𝑐 𝑏 Aplicando DeMorgan em 𝑐 𝑏 obtemos 𝑦 𝑎 𝑏 𝑐 𝑏 𝑐 Agora aplicando a propriedade 𝑎 𝑎 1 em 𝑏 𝑐 𝑏 𝑐 obtemos 𝑦 𝑎 1 𝑎 O resultado pode ser verificado através da tabela verdade como nos casos anteriores 4 Simplifique a expressão 𝑦 𝑎 𝑏 𝑎 𝑐 Aplicando a propriedade distributiva obtemos 𝑦 𝑎 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Agora aplicando a propriedade 𝑎 𝑎 𝑎 obtemos 𝑦 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Aplicando a propriedade associativa podemos escrever 𝑦 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Agora aplicando a propriedade distributiva obtemos 𝑦 𝑎 1 𝑐 𝑏 𝑏 𝑐 Como qualquer coisa OU 1 é 1 obtemos 𝑦 𝑎 𝑏 𝑐 Este resultado também pode ser comprovado via tabelas verdade Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 31 36 Formato padrão para funções booleanas Existem algumas formas padronizadas para a expressão de funções booleanas Dentre elas a mais utilizada é a soma de produtos SOP Sum Of Products No formato de soma de produtos a função é representada pela soma de termos chamados minterms Se considerarmos uma função booleana de N variáveis um minterms é o produto destas N variáveis ou de seu complemento São exemplos de minterms para três variáveis 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 e 𝑎 𝑏 𝑐 etc A representação das funções booleanas na forma de soma de produtos é facilmente obtida da tabela verdade veja um exemplo a seguir Tabela 8 Obtenção da soma de produtos Entradas Minterms Saída a b c 0 0 0 𝑎 𝑏 𝑐 0 0 0 1 𝑎 𝑏 𝑐 1 0 1 0 𝑎 𝑏 𝑐 0 0 1 1 𝑎 𝑏 𝑐 0 1 0 0 𝑎 𝑏 𝑐 1 1 0 1 𝑎 𝑏 𝑐 0 1 1 0 𝑎 𝑏 𝑐 1 1 1 1 𝑎 𝑏 𝑐 0 Observando a Tabela 8 podemos notar que cada minterm representa um conjunto de entradas onde quando a entrada tem valor 1 a variável correspondente aparece diretamente e quando a entrada é 0 a variável correspondente aparece invertida complemento Por exemplo para a entrada 𝑎 0 𝑏 1 𝑒 𝑐 1 o minterm correspondente é 𝑎 𝑏 𝑐 Para obter a representação em soma de produtos da função que representa a Tabela 8 basta realizarmos a soma dos minterms das linhas da tabela onde a saída é 1 ignorando os minterms das linhas onde a saída é 0 Assim para a Tabela 8 a função seria a seguinte 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Esta função apresenta exatamente o comportamento da Tabela 8 A representação em soma de produtos não representa a função minimizada ou seja é possível obter uma função equivalente menor Existem ainda outras representações para funções booleanas como por exemplo o produto de somas mas não é o objetivo deste material abordar tais representações 37 Mapas de Karnaugh Observando as seções anteriores notase que a minimização de funções booleanas é muito importante e não é uma tarefa trivial Neste sentido o matemático e cientista da computação Edward W Veitch criou um sistema que depois foi aperfeiçoado pelo engenheiro de telecomunicações Maurice Karnaugh que possibilita simplificar uma equação booleana ou Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 32 converter uma tabela verdade em sua equação booleana minimizada Este método ficou conhecido como mapa de Karnaugh Os mapas de Karnaugh são úteis para minimizar circuitos ou equações booleanas de até 6 variáveis para mais do que isso este método se torna complicado Um mapa de Karnaugh pode ser entendido como uma outra forma de representar uma tabela verdade onde a finalidade é facilitar sua simplificação Para uma função de N variáveis um mapa de Karnaugh é uma tabela de 2𝑁 quadrados denominados celas A Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Figura 38 apresenta um mapa de Karnaugh para quatro variáveis a b c e d Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Na Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Figura 38 podese observar que um mapa de Karnaugh é composto por celas que possuem um valor binário relacionado as quatro variáveis envolvidas Na esquerda estão representados os valores das variáveis a e b É importante notar que a distribuição destes valores não segue a distribuição padrão e sim uma distribuição em que cada elemento se diferencia de seus vizinhos em apenas 1 bit Assim para as variáveis a e b a sequência de distribuição é 00 01 11 e 10 Seguindo a mesma lógica na parte superior estão representadas as variáveis c e d estas as variáveis seguem a mesma sequência de distribuição é 00 01 11 e 10 A título de exemplo no interior das celas foi colocado o valor binário para as variáveis a b c e d seguindo esta ordem As Figura 39 a e b apresentam respectivamente exemplos de formatação de mapas de Karnaugh respectivamente para 2 e 3 variáveis Figura 39 Mapas de Karnaugh para 2 e 3 variáveis Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 33 371 Preenchimento do mapa de Karnaugh O preenchimento do mapa de Karnaugh é o processo de observar cada uma das linhas da tabela verdade identificar a cela correspondente e colocar nesta cela 1 ou 0 correspondente ao resultado daquela linha na tabela Como exemplo vamos considerar a tabela verdade da Tabela 9 Tabela 9 Tabela verdade com três variáveis Entradas Saída a b c 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Esta tabela verdade é composta por três variáveis a b e c Para esta tabela o mapa de Karnaugh é apresentado na Figura 40 Figura 40 Mapa de Karnaugh para a tabela Observe por exemplo que a linha destacada em vermelho na Tabela 9 corresponde as entradas 𝑎 0 𝑏 1 𝑐 1 apresenta uma saída igual a 1 Esta linha corresponde ao número 1 destacado em vermelho no mapa de Karnaugh da Figura 40 O mesmo procedimento é adotado para mapas com diferentes números de variáveis 372 Grupos de celas adjacentes A próxima etapa na montagem do mapa de Karnaugh é o agrupamento das celas adjacentes cujo valor é 1 Podem ser criados grupos de 1 2 4 8 e assim por diante de celas sempre potências de 2 A Figura 41 apresenta alguns agrupamentos de celas válidos Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 34 Figura 41 Exemplos de grupos válidos de celas Observe que um mesmo número 1 pode participar de mais de um grupo Os agrupamentos de celas podem extrapolar as bordas do mapa por exemplo saindo pela esquerda e entrando pela direita ou saindo por baixo e entrando por cima É muito importante que se faça sempre grupos com o maior número de uns possível pois só assim o processo de simplificação irá funcionar 373 Resolvendo o mapa de Karnaugh A última etapa na simplificação por mapa de Karnaugh é encontrar a expressão que representa cada um dos grupos de celas demarcado na etapa anterior Para isso fazse a análise de cada grupo individualmente Veja os grupos demarcados na Figura 42 Figura 42 Resolução de mapa de Karnaugh Nesta figura temos dois grupos o vermelho com quatro celas e o azul também com quatro celas Para cada grupo devese fazer a seguinte pergunta Quais são os valores que cada uma das variáveis assume neste grupo Para o primeiro grupo vermelho temos 𝑎 01 𝑏 01 e 𝑐 0 Neste caso as variáveis a e b pode assumir 0 e 1 e a variável c só pode assumir o valor 0 Isso quer dizer que as variáveis a e b são irrelevantes para este grupo e a variável c devem ser negada invertida Assim temos que 𝑎 𝑏 𝑐 desta forma a expressão que representa este grupo é 𝑐 Aplicando a mesma lógica ao segundo grupo azul temos 𝑎 01 𝑏 1 e 𝑐 01 Assim temos que 𝑎 𝑏 𝑐 desta forma a expressão que representa este grupo é simplesmente 𝑏 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 35 A resposta final é a soma das expressões que representam cada um dos grupos Para este exemplo temos 𝑦 𝑐 𝑏 Observe que a entrada a não influencia na saída 374 Exemplos de mapa de Karnaugh Para deixar mais clara a utilização dos mapas de Karnaugh na minimização de funções serão apresentados alguns exemplos com diferentes números de variáveis desmontando diferentes senários 1 Utilize o mapa de Karnaugh para determinar a função booleana mínima para os dados da Tabela 10 Tabela 10 Exemplo de mapa de Karnaugh com duas variáveis a b y 0 0 0 0 1 1 1 0 1 1 1 0 Observando a Tabela 10 é possível montar o seguinte mapa de Karnaugh Figura 43 Mapa de Karnaugh do exemplo Note que não é possível fazer grupos com mais de 1 cela assim temos para este mapa dois grupos No primeiro grupo azul as variáveis a e b assumem os seguintes valores 𝑎 1 𝑒 𝑏 0 assim para este grupo temos a expressão 𝑎 𝑏 Já para o segundo grupo vermelho as variáveis a e b assumem os seguintes valores 𝑎 0 𝑒 𝑏 1 assim para este grupo temos a expressão 𝑎 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑎 𝑏 𝑎 𝑏 2 Utilize o mapa de Karnaugh para determinar a função booleana mínima para os dados da Tabela 11 Tabela 11 Exemplo de mapa de Karnaugh com duas variáveis a b y 0 0 0 0 1 1 1 0 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 36 Observando a Tabela 11 é possível montar o seguinte mapa de Karnaugh Figura 44 Mapa de Karnaugh do exemplo Para este mapa temos novamente dois grupos porém grupos com 2 celas No primeiro grupo azul as variáveis a e b assumem os seguintes valores 𝑎 1 𝑒 𝑏 01 assim para este grupo temos a expressão 𝑎 Já para o segundo grupo vermelho as variáveis a e b assumem os seguintes valores 𝑎 01 𝑒 𝑏 1 assim para este grupo temos a expressão 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑎 𝑏 3 Neste exemplo o objetivo é minimizar a expressão que está na forma de soma de produtos 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 É possível montar o mapa de Karnaugh diretamente da equação porém fica mais fácil montar primeiro a tabela verdade Assim a Tabela 12 apresenta as entradas e saídas para esta equação booleana Tabela 12 Tabela verdade para este exemplo a b c y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Observando a Tabela 12 é possível montar o seguinte mapa de Karnaugh Figura 45 Mapa de Karnaugh do exemplo Para este mapa temos três grupos dois deles com 2 celas e um com 4 celas No primeiro grupo azul as variáveis a b e c assumem os seguintes valores 𝑎 01 𝑏 0 𝑒 𝑐 1 assim para este grupo temos a expressão 𝑏 𝑐 Já para o segundo grupo verde as variáveis a b e c assumem Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 37 os seguintes valores 𝑎 01 𝑏 1 𝑒 𝑐 0 assim para este grupo temos a expressão 𝑏 𝑐 No terceiro grupo vermelho as variáveis a b e c assumem os seguintes valores 𝑎 1 𝑏 01 𝑒 𝑐 01 assim para este grupo temos a expressão 𝑎 A expressão resultante é a soma das três anteriores o que resulta em 𝑦 𝑏 𝑐 𝑏 𝑐 𝑎 4 O quarto exemplo é uma tabela verdade com 4 variáveis para o qual se deseja encontrar a função minimizada Veja a Tabela 13 Tabela 13 Tabela verdade do exemplo a b c d y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Observando a Tabela 13 é possível montar o seguinte mapa de Karnaugh Figura 46 Mapa de Karnaugh do exemplo Para este mapa temos três grupos todos com 4 celas No primeiro grupo azul as variáveis a b c e d assumem os seguintes valores 𝑎 1 𝑏 01 𝑐 01 𝑒 𝑑 0 assim para este grupo temos a expressão 𝑎 𝑑 Já para o segundo grupo verde as variáveis a b c e d assumem os seguintes valores 𝑎 01 𝑏 01 𝑐 1 𝑒 𝑑 1 assim para este grupo temos a expressão 𝑐 𝑑 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 38 No terceiro grupo vermelho as variáveis a b c e d assumem os seguintes valores 𝑎 0 𝑏 01 𝑐 0 𝑒 𝑑 01 assim para este grupo temos a expressão 𝑎 𝑐 A expressão resultante é a soma das três anteriores o que resulta em 𝑦 𝑎 𝑑 𝑐 𝑑 𝑎 𝑐 5 Para o quinto exemplo reservamos um caso diferente dos anteriores com relação a montagem dos grupos no mapa de Karnaugh Para este exemplo desejase minimizar a função de quatro variáveis 𝑦 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 Para esta função booleana temos o mapa de Karnaugh da Figura 47 Figura 47 Mapa de Karnaugh para este exemplo O mapa de Karnaugh para esta função permite criar um grupo com as quatro celas dos cantos como mostrado na Figura 47 As variáveis a b c e d assumem os seguintes valores para o grupo 𝑎 01 𝑏 0 𝑐 01 𝑒 𝑑 0 assim a expressão minimizada resultante é 𝑦 𝑏 𝑑 375 Mapas com mais de quatro variáveis A mesma técnica pode ser utilizada para minimizar equações booleanas com mais de 4 variáveis Porém nestes casos os mapas ficam mais complicados permitindo a formação de grupos mais complexo Este material não irá abordar estes casos mas a literatura apresenta várias soluções para este tipo de problemas 376 Funções incompletas Para muitos problemas do mundo real é possível que não se tenha a tabela verdade completa ou ainda algumas das combinações das entradas não irão acontecer devido a restrições físicas do sistema digital Para estas situações a saída dos sistemas para determinadas entradas não importa em inglês é normal dizer DontCare Veja um exemplo na Tabela 14 Tabela 14 Exemplo de tabela verdade incompleta a b c y 0 0 0 1 0 0 1 x 0 1 0 0 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 39 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 x 1 1 1 1 Nestes casos para as linhas da tabela onde a saída não é importante o valor desta saída é simbolizado por x Da mesma forma na hora de montar o mapa de Karnaugh as celas correspondentes a estas linhas recebem x Para a Tabela 15 podemos compor o mapa de Karnaugh da Figura 47 Tabela 15 Mapa de Karnaugh para o exemplo Na hora de resolver o mapa de Karnaugh e obter as expressões booleanas resultantes os valores desconhecidos x podem ser interpretados como 0 ou 1 o que for resultar no maior grupo de celas Assim será possível obter a menor expressão booleana que atenda a tabela verdade sem se preocupar com as linhas incompletas ou não relevantes Dito isso para o mapa de Karnaugh da Figura 47 temos dois grupos um com 2 celas e um com 4 celas No primeiro grupo azul as variáveis a b e c assumem os seguintes valores 𝑎 01 𝑏 01 𝑒 𝑐 1 assim para este grupo temos a expressão 𝑐 Já para o segundo grupo vermelho as variáveis a b e c assumem os seguintes valores 𝑎 0 𝑏 0 𝑒 𝑐 01 assim para este grupo temos a expressão 𝑎 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑐 𝑎 𝑏 38 Exercícios de mapa de Karnaugh 1 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 16 Tabela verdade do exercício 1 de mapas de Karnaugh a b y 0 0 1 0 1 1 1 0 1 1 1 0 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 40 2 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte soma de produtos 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 3 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 17 Tabela verdade do exercício 3 de mapas de Karnaugh a b c d y 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 4 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 18 Tabela verdade do exercício 4 de mapas de Karnaugh a b c y 0 0 0 1 0 0 1 x 0 1 0 x 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 x 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 41 Aula 4 Portas lógicas O objetivo desta aula é introduzir as portas lógicas que são os componentes eletrônicos fundamentais nos sistemas digitais 41 Introdução Para que se posso construir sistemas digitais é necessário que se utilize circuitos eletrônicos capazes de executar as funções booleanas básicas Os circuitos desenvolvidos para este fim são chamados de portas lógicas A título de exemplo a Figura 48 apresenta a imagem de um circuito integrado que contém 6 portas lógicas inversoras Figura 48 Circuito integrado da porta lógica inversora A seguir serão apresentadas as principais portas lógicas 42 Porta lógica inversora A mais simples das portas lógicas é a porta inversora NOT em inglês Esta porta possui uma entrada e uma saída Quando a entrada recebe nível lógico 0 a saída assume o nível lógico 1 e quando a entrada recebe nível lógico 1 a saída assume o nível lógico 0 A Tabela 19 apresenta a tabela verdade para a porta inversora Tabela 19 Tabela verdade da porta inversora Entrada Saída a y 0 1 1 0 A expressão booleana para a porta inversora é 𝑦 𝑎 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 42 A porta inversora é representada nos diagramas de circuitos digitais ou sistemas digitais pelos símbolos apresentados na Figura 49 Figura 49 Simbologia da porta inversora A Figura 49 a apresenta a simbologia tradicional e mais comum para a porta inversora esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 49 b A Figura 50 apresenta a forma de onde para a estrada e a saída de uma porta inversora Figura 50 Forma de onda da porta inversora Os fabricantes de circuitos integrados costumam empacotar as portas lógicas em pacotes contendo várias unidades A Figura 51 apresenta duas imagens de um circuito integrado chamado 7404 que contém 6 portas inversoras Figura 51 Circuito integrado 7404 43 Atraso de propagação A propagação das entradas para a saída das portas lógicas não acontece instantaneamente existe um atraso Este atraso é resultado das capacitâncias internas do circuito Nos sistemas digitais costumase chamar estes atrasos de atrasos de propagação em inglês delay Apesar de muito pequeno em algumas situações até desprezível este atraso pode em algumas situações produzir resultados indesejados nos circuitos Na maioria dos gráficos de formas de onda digital estes atrasos são desconsiderados mas em algumas situações é importante que eles sejam considerados Assim a Figura 52 apresenta a Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 43 mesma forma de onda da porta inversora apresentada na Figura 51 porém agora considerando o atraso de propagação Figura 52 Forma de onda inversora com atraso É importante ressaltar que este atraso de propagação é consequência da tecnologia utilizada na fabricação dos circuitos integrados assim tecnologias diferentes de fabricantes diferentes possuem também diferentes atrasos de propagação 44 Porta OU A segunda porta lógica que vamos estudar é a porta lógica OU em inglês OR Esta porta lógica diferentemente da porta inversora possui duas entradas Para esta porta a saída assume 1 se qualquer uma das entradas ou as duas entradas forem iguais a 1 A saída assume 0 apenas se as duas entradas forem iguais a 0 A Tabela 20 apresenta a tabela verdade da porta OU Tabela 20 Tabela verdade da porta OU Entradas Saída a b y 0 0 0 0 1 1 1 0 1 1 1 1 A expressão booleana para a porta OU é 𝑦 𝑎 𝑏 A porta OU é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 53 Figura 53 Simbologia da porta OU A Figura 53 a apresenta a simbologia tradicional e mais comum para a porta OU esta simbologia segue a norma ANSI American National Standards Institute Existe também a Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 44 simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 53 b A Figura 54 apresenta a forma de onda para as estradas e a saída de uma porta OU Figura 54 Forma de onda da porta OU O circuito integrado 7432 é um dos mais comuns a implementar as portas OU nos circuitos digitais A Figura 55 apresenta uma imagem deste circuito que contém 4 portas OU Figura 55 Circuito integrado 7432 45 Porta E A porta lógica E em inglês AND assim como a porta OU possui duas entradas Para esta porta a saída assume 1 somente quando as duas entradas são 1 Se uma ou mais entradas forem 0 a saída assume valor 0 A Tabela 21 apresenta a tabela verdade da porta E Tabela 21 Tabela verdade da porta E Entradas Saída a b y 0 0 0 0 1 0 1 0 0 1 1 1 A expressão booleana para a porta E é 𝑦 𝑎 𝑏 A porta E é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 56 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 45 Figura 56 Simbologia da porta E A Figura 56 a apresenta a simbologia tradicional e mais comum para a porta E esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 56 b A Figura 57 apresenta a forma de onda para as estradas e a saída de uma porta E Figura 57 Forma de onda da porta E O circuito integrado 7408 é um dos mais comuns a implementar as portas E nos circuitos digitais A Figura 58 apresenta uma imagem deste circuito que contém 4 portas E Figura 58 Circuito integrado 7408 46 Porta Não OU Além das três portas lógicas que representam as três operações fundamentais da álgebra booleana existem ainda outras A porta lógica Não OU em inglês NOR é uma delas Assim como as portas anteriores esta possui duas entradas Para esta porta a saída assume 1 somente quando as duas entradas são 0 Se uma ou mais entradas forem 1 a saída assume valor 0 É possível notar que esta porta apresenta exatamente o mesmo comportamento que a porta OU só que com a saída invertida A Tabela 22 apresenta a tabela verdade da porta Não OU Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 46 Tabela 22 Tabela verdade da porta Não OU Entradas Saída a b y 0 0 1 0 1 0 1 0 0 1 1 0 A expressão booleana para a porta Não OU é 𝑦 𝑎 𝑏 A porta Não OU é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 59 Figura 59 Simbologia da porta Não OU A Figura 59 a apresenta a simbologia tradicional e mais comum para a porta Não OU esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 59 b A Figura 60 apresenta a forma de onda para as estradas e a saída de uma porta Não OU Figura 60 Forma de onda da porta não OU O circuito integrado 7402 é um dos mais comuns a implementar as portas Não OU nos circuitos digitais A Figura 61 apresenta uma imagem deste circuito que contém 4 portas Não OU Figura 61 Circuito integrado 7402 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 47 47 Porta Não E A porta lógica Não E em inglês NAND assim como as portas anteriores possui duas entradas Para esta porta a saída assume 0 somente quando as duas entradas são 1 Se uma ou mais entradas forem 0 a saída assume valor 1 É possível notar que esta porta apresenta exatamente o mesmo comportamento que a porta E só que com a saída invertida A Tabela 23 apresenta a tabela verdade da porta Não E Tabela 23 Tabela verdade para a porta Não E Entradas Saída a b y 0 0 1 0 1 1 1 0 1 1 1 0 A expressão booleana para a porta Não E é 𝑦 𝑎 𝑏 A porta Não E é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 62 Figura 62 Simbologia da porta Não E A Figura 62 a apresenta a simbologia tradicional e mais comum para a porta Não E esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 62 b A Figura 63 apresenta a forma de onda para as estradas e a saída de uma porta Não E Figura 63 Forma de onda da porta Não E O circuito integrado 7400 é um dos mais comuns a implementar as portas Não E nos circuitos digitais A Figura 64 apresenta uma imagem deste circuito que contém 4 portas Não E Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 48 Figura 64 Circuito integrado 7400 48 Porta OU Exclusivo A porta lógica OU Exclusivo em inglês XOR assim como as portas anteriores possui duas entradas Para esta porta a saída assume 0 quando as duas entradas são iguais e assume 1 se as duas entradas são diferentes A Tabela 24 apresenta a tabela verdade da porta OU Exclusivo Tabela 24 Tabela verdade da porta OU Exclusivo Entradas Saída a b y 0 0 0 0 1 1 1 0 1 1 1 0 Para esta função é utilizado um operador especial com o símbolo Assim a expressão booleana para a porta OU Exclusivo é 𝑦 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 A porta OU Exclusivo é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 65 Figura 65 Simbologia da porta OU Exclusivo A Figura 65 a apresenta a simbologia tradicional e mais comum para a porta OU Exclusivo esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 65 b A Figura 66 apresenta a forma de onda para as estradas e a saída de uma porta OU Exclusivo Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 49 Figura 66 Forma de onda da porta OU exclusivo O circuito integrado 7486 é um dos mais comuns a implementar as portas OU Exclusivo nos circuitos digitais A Figura 67 apresenta uma imagem deste circuito que contém 4 portas OU Exclusivo Figura 67 Circuito integrado 7486 49 Porta Não OU Exclusivo A porta lógica Não OU Exclusivo em inglês XNOR assim como as portas anteriores possui duas entradas Para esta porta a saída assume 1 quando as duas entradas são iguais e assume 0 se as duas entradas são diferentes A Tabela 25 apresenta a tabela verdade da porta OU Exclusivo Tabela 25 Tabela verdade da porta Não OU Exclusivo Entradas Saída a b y 0 0 1 0 1 0 1 0 0 1 1 1 A expressão booleana para a porta Não OU Exclusivo é 𝑦 𝑎 𝑏 A porta Não OU Exclusivo é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 68 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 50 Figura 68 Porta Não OU Exclusivo A Figura 68Figura 65 a apresenta a simbologia tradicional e mais comum para a porta Não OU Exclusivo esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 68 b A Figura 69 apresenta a forma de onda para as estradas e a saída de uma porta Não OU Exclusivo Figura 69 Forma de onda porta Não OU Exclusivo O circuito integrado 74266 implementa as portas Não OU Exclusivo nos circuitos digitais A Figura 70 apresenta uma imagem deste circuito que contém 4 portas Não OU Exclusivo Figura 70 Pinagem Integrado 74266 410 Portas lógicas com mais entradas Até aqui foram apresentadas portas lógicas com duas entradas porém é comum necessitarmos de portas lógicas com mais entradas Para estas situações temse duas soluções possíveis a associação de várias portas para aumentar o número de entradas ou a utilização de circuitos integrados que implementam portas com mais entradas A Figura 71 apresenta um exemplo de associação de portas lógicas para a obtenção de mais entradas Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 51 Figura 71 Associação de portas E Neste exemplo são associadas 3 portas E de duas entradas para a obtenção de um circuito digital equivalente a uma porta E de 4 entradas A segunda alternativa é a utilização de portas lógicas com mais entradas São disponibilizadas diversas portas com diversos números de entradas A Figura 72 apresenta como exemplo circuitos integrados com portas lógicas de três entradas Figura 72 Portas lógicas com 3 entradas 411 Resumo das portas lógicas Para facilitar o acesso as informações sobre as portas lógicas a Tabela 26 apresenta um resumo de tudo o que foi visto com relação as portas lógicas É importante destacar que nesta tabela são apresentadas apenas as portas com duas entradas porém existem inúmeras outras configurações com números de entradas variados disponíveis no mercado Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 52 Tabela 26 Resumo das portas lógicas Porta Símbolo Função Tabela Verdade Inversora NOT 𝑦 𝑎 OU OR 𝑦 𝑎 𝑏 E AND 𝑦 𝑎 𝑏 Não OU NOR 𝑦 𝑎 𝑏 Não E NAND 𝑦 𝑎 𝑏 OU Exclusivo XOR 𝑦 𝑎 𝑏 Não OU Exclusivo XNOR 𝑦 𝑎 𝑏
Texto de pré-visualização
Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 1 Engenharia de Controle e Automação Sistemas Digitais Professor Ricardo Kerschbaumer 17 de novembro de 2020 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 2 Sumário AULA 1 CONCEITOS INTRODUTÓRIOS 6 11 SISTEMAS DIGITAIS 6 111 Sinais digitais e sinais analógicos 6 112 Representação de sinais digitais 7 113 Porque usar sinais digitais 7 12 GRANDEZAS DIGITAIS 7 121 Contando em binário 9 13 CIRCUITOS DIGITAIS 9 131 Aspectos elétricos 9 132 Conversores AD e DA 10 133 Formas de onda digitais 11 14 EXERCÍCIOS 12 AULA 2 CÓDIGOS E SISTEMAS NUMÉRICOS 13 21 SISTEMAS DE NUMERAÇÃO 13 211 Sistema decimal 13 212 Sistema binário 13 213 Sistema octal 14 214 Sistema hexadecimal 15 215 Sistema BCD 16 216 Código Gray 17 22 CONVERSÃO ENTRE BASES 17 221 Converter inteiro decimal para outras bases 17 23 NÚMEROS NEGATIVOS 19 231 Sinal e magnitude 19 232 Complemento de um 20 233 Complemento de dois 20 24 PONTO FLUTUANTE 21 241 O padrão IEEE 745 21 25 CÓDIGO ALFANUMÉRICO 23 251 Código ASCII 24 AULA 3 ÁLGEBRA BOOLEANA 26 31 INTRODUÇÃO 26 32 FUNÇÕES BOOLEANAS 26 33 PROPRIEDADES FUNDAMENTAIS DA ÁLGEBRA BOOLEANA 26 331 Teorema de DeMorgan 27 332 Exemplo de aplicação de DeMorgan 27 333 Algumas identidades auxiliares 28 34 TABELAS VERDADE 28 35 SIMPLIFICAÇÃO DE FUNÇÕES BOOLEANAS 28 36 FORMATO PADRÃO PARA FUNÇÕES BOOLEANAS 31 37 MAPAS DE KARNAUGH 31 371 Preenchimento do mapa de Karnaugh 33 372 Grupos de celas adjacentes 33 373 Resolvendo o mapa de Karnaugh 34 374 Exemplos de mapa de Karnaugh 35 375 Mapas com mais de quatro variáveis 38 376 Funções incompletas 38 38 EXERCÍCIOS DE MAPA DE KARNAUGH 39 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 3 AULA 4 PORTAS LÓGICAS 41 41 INTRODUÇÃO 41 42 PORTA LÓGICA INVERSORA 41 43 ATRASO DE PROPAGAÇÃO 42 44 PORTA OU 43 45 PORTA E 44 46 PORTA NÃO OU 45 47 PORTA NÃO E 47 48 PORTA OU EXCLUSIVO 48 49 PORTAS LÓGICAS COM MAIS ENTRADAS 50 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 4 Lista de figuras FIGURA 1 SINAL ANALÓGICO 6 FIGURA 2 SINAL DIGITAL 7 FIGURA 3 GRANDEZAS DIGITAIS 8 FIGURA 4 MÚLTIPLO DE BYTE 8 FIGURA 5 NÍVEIS DE TENSÃO 9 FIGURA 6 SINAL DIGITAL TÍPICO 10 FIGURA 7 CONVERSOR ANALÓGICO DIGITAL 10 FIGURA 8 CONVERSOR DIGITAL ANALÓGICO 10 FIGURA 9 PROCESSAMENTO DIGITAL DE SINAIS 11 FIGURA 10 FORMA DE ONDA DE SINAL DIGITAL 11 FIGURA 11 FORMA DE ONDA DO EXERCÍCIO 1 12 FIGURA 12 SISTEMA DE NUMERAÇÃO DE BASE 10 13 FIGURA 13 SISTEMA DE NUMERAÇÃO DE BASE 2 14 FIGURA 14 NÚMERO FRACIONÁRIO NA BASE 2 14 FIGURA 15 SISTEMA DE NUMERAÇÃO DE BASE 8 14 FIGURA 16 RELAÇÃO ENTRE OCTAL E BINÁRIO 15 FIGURA 17 SISTEMA DE NUMERAÇÃO DE BASE 16 15 FIGURA 18 RELAÇÃO ENTRE HEXADECIMAL DECIMAL E BINÁRIO 15 FIGURA 19 COMPARATIVO ENTRE AS BASES 16 FIGURA 20 CÓDIGO GRAY 17 FIGURA 21 PRIMEIRO PASSO DA DIVISÃO SUCESSIVA 17 FIGURA 22 SEGUNDO PASSO DA DIVISÃO SUCESSIVA 18 FIGURA 23 CONCLUSÃO DO MÉTODO DA DIVISÃO SUCESSIVA 18 FIGURA 24 EXEMPLO 1 DE DIVISÃO SUCESSIVA 18 FIGURA 25 VERIFICAÇÃO DO RESULTADO DA CONVERSÃO 18 FIGURA 26 EXEMPLO 2 DE DIVISÃO SUCESSIVA 19 FIGURA 27 VERIFICAÇÃO DO RESULTADO DA CONVERSÃO 19 FIGURA 28 REPRESENTAÇÃO POR SINAL E MAGNITUDE 20 FIGURA 29 REPRESENTAÇÃO EM COMPLEMENTO DE UM 20 FIGURA 30 REPRESENTAÇÃO EM COMPLEMENTO DE DOIS 20 FIGURA 31 NÚMEROS NEGATIVOS EM COMPLEMENTO DE DOIS 21 FIGURA 32 PONTO FLUTUANTE DE PRECISÃO SIMPLES 22 FIGURA 33 PONTO FLUTUANTE DE PRECISÃO DUPLA 22 FIGURA 34 POSSÍVEIS REPRESENTAÇÕES NO PADRÃO IEEE 754 23 FIGURA 35 EXEMPLO DE PONTO FLUTUANTE DE PRECISÃO SIMPLES 23 FIGURA 36 A TABELA ASCII 24 FIGURA 37 TABELA ASCII EXPANDIDA 25 FIGURA 38 MODELO DE MAPA DE KARNAUGH PARA QUATRO VARIÁVEIS 32 FIGURA 39 MAPAS DE KARNAUGH PARA 2 E 3 VARIÁVEIS 32 FIGURA 40 MAPA DE KARNAUGH PARA A TABELA 33 FIGURA 41 EXEMPLOS DE GRUPOS VÁLIDOS DE CELAS 34 FIGURA 42 RESOLUÇÃO DE MAPA DE KARNAUGH 34 FIGURA 43 MAPA DE KARNAUGH DO EXEMPLO 35 FIGURA 44 MAPA DE KARNAUGH DO EXEMPLO 36 FIGURA 45 MAPA DE KARNAUGH DO EXEMPLO 36 FIGURA 46 MAPA DE KARNAUGH DO EXEMPLO 37 FIGURA 47 MAPA DE KARNAUGH PARA ESTE EXEMPLO 38 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 5 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 6 Aula 1 Conceitos introdutórios Nesta aula serão apresentados alguns conceitos necessários ao entendimento dos conteúdos de sistemas digitais A princípio serão apresentadas as diferenças entre sinais analógicos e sinais digitais Em seguida serão apresentados os fundamentos das representações dos sinais digitais e as vantagens e desvantagens de sua utilização Finalmente serão discutidos os circuitos digitais seus aspectos elétricos a conversão dos sinais entre o ambiente analógico e o digital e as formas de onda relacionadas 11 Sistemas digitais Os Sistemas digitais ou circuitos digitais ou ainda circuitos lógicos são definidos como circuitos eletrônicos que empregam a utilização de sinais elétricos em apenas dois níveis de tensão de forma a definir uma representação de valores binária Os sinais elétricos transportados por estes circuitos são chamados de sinais digitais ou sinais binários 111 Sinais digitais e sinais analógicos Os sistemas digitais são sistemas no qual os sinais têm um número finito de valores discretos normalmente dois se contrapondo a sistemas analógicos onde os sinais têm valores pertencentes a um conjunto contínuo ou infinito de valores A Figura 1 Sinal analógicoFigura 1 apresenta um gráfico da tensão em função do tempo representando um sinal analógico Figura 1 Sinal analógico Nesta figura é possível observar que a amplitude do sinal pode assumir qualquer valor A Figura 2 por sua vez apresenta um gráfico da tensão em função do tempo representando um sinal digital Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 7 Figura 2 Sinal digital Nesta figura é possível observar que o sinal pode assumir apenas dois valores distintos um com tensão mais baixa e outro com tensão mais alta 112 Representação de sinais digitais Como já mencionado sinais digitais costumas assumir dois estados Assim é possível utilizar sinais digitais para representar fenômenos com as mesmas características Por exemplo um sinal digital pode ser utilizado para representar o estado de uma lâmpada ligada ou desligada É comum dizermos que um sinal digital ou seja um sinal binário pode assumir dois estados lógicos Estes estados têm várias denominações ligado e desligado ou alto e baixo ou ainda verdadeiro e falso Utilizaremos a seguinte notação para representar os estados de um sinal digital O digito 0 zero representa o valor falso ou baixo enquanto o digito 1 um representa o valor verdadeiro ou alto 113 Porque usar sinais digitais Os sinais digitais e consequentemente os sistemas digitais são utilizados por apresentarem algumas vantagens sobre os sinais analógicos As principais vantagens dos sinais digitais são Os sinais digitais são muito mais imunes a distorções ruídos e interferências Os circuitos digitais são mais confiáveis e robustos Os circuitos digitais são fáceis de projetar e mais baratos A implementação de hardware em circuitos digitais é mais flexível 12 Grandezas digitais Um único sinal digital pode assumir apenas dois estados como já mencionado Porém para a maioria das aplicações dois estados não são suficientes Imagine que se deseja contar o número de pessoas em uma sala seria necessária uma quantidade muito maior de estados para representar este número Para contornar este tipo de situação utilizase não apenas um mas vários sinais Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 8 digitais para representar uma determinada grandeza Neste contexto surgem diferentes nomenclaturas para determinados números de sinais binários agrupados A nomenclatura utilizada para os sinais digitais é o bit Binary digit A seguir são apresentadas as principais notações utilizadas para grupos de bits Um sinal composto por apenas um bit é um sinal binário único Um sinal composto por quatro Bits é chamado de nibble Um sinal composto por oito Bits é chamado de byte Um sinal composto por dezesseis Bits é chamado de word A Figura 3 mostra graficamente a relação entre os diferentes grupos de Bits Figura 3 Grandezas digitais Quando se trata do armazenamento de informações digitais é comum a utilização de múltiplos para representar grandes quantidades de bits A seguir são apresentados alguns múltiplos comumente utilizados 1 kilobyte KB 1024 bytes 1 megabyte MB 1024 kilobytes 1 gigabyte GB 1024 megabytes 1 terabyte TB 1024 gigabytes 1 petabyte PB 1024 terabytes Apesar de muito utilizada esta notação não é totalmente correta pois foi desenvolvida para numeração de base 10 e não para representação binária Assim o múltiplo k kilo por exemplo deveria representar 1000 e não 1024 Para evitar confusões foi desenvolvida uma outra nomenclatura especificamente para sistemas digitais A Figura 4 apresenta os múltiplos de byte Figura 4 Múltiplo de byte Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 9 121 Contando em binário Existem várias formas de representar as informações em formato digital apenas para ilustrar este conceito a Tabela 1 apresenta a representação dos números de 0 a 9 na forma de bits Tabela 1 Números na forma binária Números Informação binária 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Estas representações serão assunto das próximas aulas 13 Circuitos digitais Circuitos digitais são a implementação de sistemas digitais na forma de circuitos eletrônicos onde os sinais digitais são representados por sinais elétricos 131 Aspectos elétricos Para a construção de circuitos eletrônicos digitais é necessário implementar os sinais lógicos 0 e 1 na forma de sinais elétricos Existem várias formas de fazer isso as principais serão estudadas mais a frente A título de exemplo a Figura 5 apresenta os níveis de tensão dos estados lógicos em um sistema digital de 5 V Figura 5 Níveis de tensão É comum dizermos que o nível lógico 0 é representado por 0 V e o nível lógico 1 é representado por 5 V mas na prática é um pouco mais complicado Como pode ser observado na Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 10 Figura 5 existem faixas de tensão que representam cada um dos níveis Isso torna os sistemas digitais mais robustos e imunes a interferências Para simplificar os sinais são representados como na Figura 6 Figura 6 Sinal digital típico Existem muitas outras tecnologias de implementação de circuitos digitais mas geralmente o nível 0 é representado por uma tensão baixa perto de 0 V e o nível 1 é geralmente representado por uma tensão mais alta 132 Conversores AD e DA Uma vez que os sinais do mundo físico são analógicos é necessário convertêlos para sinais digitais e viceversa sempre que os sinais digitais tenham que interagir com os sinais do meio físico A conversão de sinais analógicos em sinais digitais é realizada por um dispositivo eletrônico chamado conversor analógico digital AD A Figura 7 mostra o diagrama de um conversor analógico digital de 8 bits Figura 7 Conversor Analógico Digital Da mesma forma a conversão de sinais digitais em sinais analógicos é realizada por um dispositivo eletrônico chamado conversor digital analógico DA A mostra o diagrama de um conversor digital analógico de 8 bits Figura 8 Conversor Digital Analógico Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 11 A maioria dos sistemas digitais é utilizado para processar sinais oriundos de sensores analógicos como por exemplo microfones sensores de temperatura sensores de luminosidade etc Assim estes sinais são primeiro convertidos de analógicos para digitais para só então serem processados Este processamento é então realizado por circuitos digitais projetados para este fim Os resultados deste processamento são também sinais digitais que devem então ser convertidos em sinais analógicos utilizando um conversor digital analógico Os sinais analógicos resultantes podem então ser enviado para atuadores como por exemplo alto falantes motores etc A Figura 9 apresenta um diagrama de blocos de um sistema de processamento digital de sinais analógicos Figura 9 Processamento digital de sinais 133 Formas de onda digitais Nos estudos de sistemas digitais é comum a utilização de gráficos que representam as formas de onda de sinais digitais Destes gráficos é possível obter várias informações importantes como a amplitude do sinal o período e a frequência A Figura 10 apresenta um gráfico típico de um sinal digital Figura 10 Forma de onda de sinal digital No eixo vertical é possível verificar a amplitude deste sinal neste caso 5 V No eixo horizontal é apresentada a escala de tempo neste caso em milissegundos Se o sinal apresentado no gráfico for um sinal repetitivo é possível observar também seu período O período de um sinal é o tempo que ele leva para se repetir No gráfico da figura p período é de 5 ms ou 0005 s Em função do período podese calcular a frequência do sinal através da seguinte formula 𝐹 1 𝑃 Onde F é a frequência e P o período No exemplo da figura a frequência é de 200 Hz Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 12 14 Exercícios 1 Dado o sinal digital da Figura 11 determine a amplitude o período e a frequência Figura 11 Forma de onda do exercício 1 a Amplitude b Período c Frequência Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 13 Aula 2 Códigos e sistemas numéricos Nesta aula serão abordados assuntos relacionados a forma com que os sistemas digitais codificam as informações Inicialmente serão abordados os sistemas de numeração enfatizando o sistema binário o octal o hexadecimal e o BCD Na sequência estudaremos os métodos de conversão entre os diversos sistemas de numeração O assunto seguinte é a representação de números negativos Por fim estudaremos a representação de números de ponto flutuante e os códigos alfanuméricos 21 Sistemas de numeração Os sistemas de numeração são formas de representar os números Cada sistema de numeração possui um conjunto específico de caracteres O número de caracteres de cada conjunto é chamado de base do sistema de numeração A seguir serão apresentados os principais sistemas de numeração relacionados aos sistemas digitais 211 Sistema decimal O sistema decimal é o mais conhecido sistema de numeração e é amplamente empregado em todo o mundo Este sistema utiliza um conjunto de 10 caracteres ou símbolos 0 1 2 3 4 5 6 7 8 e 9 para representar ou números Estes caracteres são também chamados de dígitos Como são 10 caracteres que compõe a base do sistema decimal este sistema é também conhecido como sistema de base 10 Neste sistema cada dígito possui um peso relacionado a uma potência de sua base neste caso a base 10 A Figura 1Figura 12 apresenta a representação do número 5432789 na base 10 Figura 12 Sistema de numeração de base 10 É possível observar que a direita da vírgula as potências da base são negativas sinalizando pesos menores do que 1 Já a direita da vírgula as potências da base são positivas O peso de cada uma das posições ocupadas pelos dígitos é a base elevada a potência relacionada a sua posição Para a determinação do valor de um número na base 10 deve se fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 5 103 4 102 3 101 2 100 7 101 8 102 8 103 5432789 212 Sistema binário O sistema binário segue a mesma lógica porém ele utiliza um conjunto de apenas 2 caracteres ou símbolos 0 e 1 para representar ou números Assim este sistema de numeração é chamado de sistema de base 2 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 14 Neste sistema de numeração os pesos dos dígitos são todos potências de 2 A Figura 13 apresenta a representação do número 1000110 na base 2 Quando a base de um número é diferente da base 10 é comum colocarse o número da base subscrita no final do número assim o número anterior seria 10001102 Figura 13 Sistema de numeração de base 2 Para a determinação do valor de um número em na base 2 se deve fazer a soma de cada um de seus dígitos 0 ou 1 multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 10001102 1 26 0 25 0 24 0 23 1 22 1 21 0 20 7010 Quando se utiliza apenas números inteiros sem a parte fracionária o maior número que pode ser representado por um conjunto de bits pode ser determinado pela seguinte expressão 𝑀𝑎𝑖𝑜𝑟 𝑉𝑎𝑙𝑜𝑟 2𝑛ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑏𝑖𝑡𝑠 1 Assim como no sistema decimal o sistema binário pode utilizar dígitos a direita da vírgula A Figura 14 apresenta um exemplo Figura 14 Número fracionário na base 2 A determinação do valor de um número nestas condições segue a mesma lógica dos anteriores veja a seguir 10101112 1 24 0 23 1 22 0 21 1 20 1 21 1 22 217510 O sistema de numeração binário é o sistema utilizado nos sistemas digitais daí sua grande importância para nossos estudos 213 Sistema octal O sistema octal possui este nome porque utiliza um conjunto de 8 caracteres ou símbolos 0 1 2 3 4 5 6 e 7 para representar ou números Assim este sistema de numeração é chamado de sistema de base 8 Assim como nos sistemas de numeração anteriores os pesos dos dígitos são todos potências da base neste caso 8 A Figura 15 apresenta a representação do número 420547 na base 8 Figura 15 Sistema de numeração de base 8 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 15 Para a determinação do valor de um número em na base 8 devese assim como nos anteriores fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 4205478 4 83 2 82 0 81 5 80 4 81 7 82 218160937510 O sistema octal é importante para os estudos de sistemas digitais pois os números 0 a 7 podem ser representados por 3 bits assim a representação binária de números em formato octal é facilitada A Figura 16 apresenta como cada número em octal pode ser representado por 3 bits Figura 16 Relação entre octal e binário 214 Sistema hexadecimal O sistema hexadecimal é parecido com o sistema octal porém utiliza 4 bits cara cada caractere Assim o sistema hexadecimal utiliza um conjunto de 16 caracteres ou símbolos 0 1 2 3 4 5 6 7 8 9 A B C D E e F para representar ou números Assim este sistema de numeração é chamado de sistema de base 16 Neste sistema as letras A B C D E e F correspondem respectivamente aos números decimais 10 11 12 13 14 e 15 ou seja A10 B11 C12 D13 E14 e F15 Assim como nos sistemas de numeração anteriores os pesos dos dígitos são todos potências da base neste caso 16 A Figura 17 apresenta a representação do número 3A4F2 na base 16 Figura 17 Sistema de numeração de base 16 Para a determinação do valor de um número em na base 16 devese assim como nos anteriores fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra Veja o exemplo a seguir 3A4F216 3 162 A 161 4 160 F 161 2 162 932945312510 O sistema hexadecimal é importante para os estudos de sistemas digitais pois os números 0 a F podem ser representados por 4 bits assim a representação binária de números em formato hexadecimal é facilitada A Figura 18 apresenta como cada número em hexadecimal pode ser representado por 4 bits Figura 18 Relação entre hexadecimal decimal e binário Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 16 Para relacionar os diferentes sistemas de numeração a Figura 19 mostra uma tabela comparativa dos números de 0 a 20 Figura 19 Comparativo entre as bases 215 Sistema BCD O sistema ou código BCD do inglês Binary Coded Decimal é uma forma diferente de codificar números decimais em binário Nesta codificação cada dígito de um número decimal é codificado separadamente por uma combinação de 4 bits A seguir são apresentados dois exemplos de codificação no sistema BCD 37 0011 0111 459 0100 0101 1001 É importante salientar que o sistema BCD se diferencia do sistema binário convencional porque separa os bits em grupos de 4 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 17 216 Código Gray O código Gray é também uma forma binária de representa números porém tem o diferencial de possuir uma distância unitária entre os números A Figura 20 apresenta os números de 0 a 9 representados através do código Gray Figura 20 Código Gray Observando a figura é possível notar que de um número para outro apenas um bit muda Este código é mais utilizado em sistemas eletromecânicos onde a comutação das chaves consome mais energia e produz ruídos Assim o uso do código Gray garante que qualquer mudança altera apenas um bit minimizando o consumo de energia e o ruído 22 Conversão entre bases É comum que necessitemos converter um número em uma determinada base em seu valor equivalente em outra base Nas seções anteriores foi apresentado que para converter um número em qualquer base para a base decimal devese fazer a soma de cada um de seus dígitos multiplicado pelo peso da posição onde ele se encontra As seções a seguir apresentas os procedimentos para realizar as conversões de números na base decimal para outras bases 221 Converter inteiro decimal para outras bases Para converter números inteiros da base decimal para qualquer outra base se utiliza um método chamado método de divisões sucessivas DS O funcionamento deste método é simples basta ir dividindo sucessivamente o número inteiro decimal pela base b que se deseja utilizar O resultado é a composição de todos os restos parciais das divisões A seguir são apresentados os passos para a aplicação do método 1 Efetue a divisão do número inteiro decimal N pela base b de forma a obter o quociente Q1 e o resto R1 O resto R1 e o quociente Q1 devem ser colocados respectivamente embaixo do número inteiro decimal N e da base b veja a Figura 21 Figura 21 Primeiro passo da divisão sucessiva Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 18 2 Repita o passo anterior dividindo o quociente Q1 pela base b para obter o quociente Q2 e o resto R2 veja a Figura 22 Figura 22 Segundo passo da divisão sucessiva Este processo deve ir se repetindo até que seja encontrado um quociente Qn com valor menor do que a base b veja a Figura 23 Figura 23 Conclusão do método da divisão sucessiva A obtenção do resultado acontece da seguinte forma O número inteiro na base b Ib é obtido do último quociente Qn e dos restos obtidos nas divisões sucessivas conforma a expressão a seguir Ib Qn Rn Rn1 Rn2 R1b Para facilitar o entendimento do método vejamos alguns exemplos A Figura 24 apresenta um exemplo de conversão de um inteiro decimal para a base 2 binário Figura 24 Exemplo 1 de divisão sucessiva Neste exemplo o número inteiro decimal 13710 é convertido para a base 2 O valor binário resultado é 100010012 Para comprovar este resultado podese fazer a soma de cada um dos dígitos multiplicado pelo peso da posição onde ele se encontra veja a Figura 25 Figura 25 Verificação do resultado da conversão Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 19 Observando a informação em formato binário e os respectivos pesos obtémse a seguinte expressão onde o resultado pode ser comprovado 100010012 1 27 0 26 0 25 0 24 1 23 0 22 0 21 1 20 13710 Para um segundo exemplo faremos a conversão do número 941810 para a base 16 Hexadecimal Veja a Figura 26 Figura 26 Exemplo 2 de divisão sucessiva O número inteiro decimal 941810 é convertido para a base 16 fica 24CA16 Para comprovar este resultado podese fazer a soma de cada um dos dígitos multiplicado pelo peso da posição onde ele se encontra veja a Figura 27 Figura 27 Verificação do resultado da conversão Observando a informação em formato hexadecimal e os respectivos pesos obtémse a seguinte expressão onde o resultado pode ser comprovado 24CA16 2 163 4 162 C 161 A 160 941810 É importante salientar que este método se aplica a números inteiros em caso de números com parte fracionária outros métodos devem ser empregados 23 Números negativos Os sistemas digitais também devem ser capazes de operar com números negativos assim é necessária uma forma de representar digitalmente estes números A seguir serão apresentados três métodos de representação de números negativos na forma de bits 231 Sinal e magnitude A primeira forma de representar digitalmente números negativos é através do sinal e da magnitude também conhecida como sinal e módulo Nesta representação um bit adicional é adicionado a esquerda do número em sua forma binária tradicional para representar o sinal Assim se este bit adicional for 0 o número é positivo e se for 1 o número é negativo A Figura 28 apresenta os números 1110 1110 910 e 910 no formato de sinal e magnitude Observe que o primeiro bit representa o sinal Quando este bit é 1 o número é negativo Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 20 Figura 28 Representação por sinal e magnitude A notação de sinal e magnitude é a forma mais simples de representação de números negativos porém esta representação não favorece a realização de operações aritméticas com estes números Esta notação também possui duas representações para o zero o 02 e o 02 232 Complemento de um Complemento de um é outra forma de representar números negativos na forma binária Nesta representação a combinação de bits que representa o valor negativo é obtida aplicandose o complemento inversão bit a bit no valor positivo representado em sinal e magnitude A Figura 29 apresenta os números 1110 1110 910 e 910 no formato de complemento de um Observe que para números negativos todos os bits são invertidos inclusive o sinal Figura 29 Representação em complemento de um A representação em complemento de um facilita a construção de circuitos aritméticos digitais porém ainda tem o inconveniente de duas representações para o valor zero o 02 e o 02 233 Complemento de dois A representação de números negativos em formato binário mais comum nos sistemas digitais atuais é o complemento de dois Nesta notação o valor negativo é obtido aplicandose o complemento inversão bit a bit no valor positivo representado em sinal e magnitude em seguida somase 1 a este valor A Figura 30 apresenta os números 1110 1110 910 e 910 no formato de complemento de dois Figura 30 Representação em complemento de dois Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 21 Observando o exemplo podese notar que o número 1110 tem sua representação em binário igual a 10112 para encontrar o valor binário em complemento de dois para o número 112 inicialmente adicionase um bit de sinal a representação do valor com sinal positivo assim chega se a 010112 O próximo passo é inverter todos os bits o resultado é 101002 A última etapa é somar 1 a este valor o resultado é 101012 A representação em complemento de dois é amplamente utilizar por apresentar algumas vantagens relevantes Os circuitos digitais para fazer a adição e a subtração são muito simples podendo inclusive ser unificados Outra vantagem desta notação é que o número zero apresenta apenas uma forma de representação A título de exemplo a Figura 31 apresenta os números de 810 a 710 na forma binária sem sinal e em complemento de dois Figura 31 Números negativos em complemento de dois 24 Ponto flutuante As técnicas de representação de números em sistemas digitais que foram estudadas até aqui são úteis para números inteiros porém em muitas circunstâncias é necessário o uso de números reais Para representar números reais os sistemas digitais atuais utilizam um padrão chamado IEEE 754 Nas seções a seguir será apresentado o básico deste padrão 241 O padrão IEEE 745 Este padrão apresenta duas opções para a codificação dos números reais A primeira se chama ponto flutuante de precisão simples e possui 32 bits de tamanho O primeiro bit mais significativo é dedicado a representação do sinal S Os 8 bits seguintes são dedicados ao expoente E Os 23 bits restantes são dedicados a representação da fração A Figura 32 apresenta esta Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 22 estrutura Observe que o número de bits é sempre 32 independente do valor que se esteja representando Figura 32 Ponto flutuante de precisão simples Para a representação de números neste formado é considerada a representação em notação científica normalizada ou seja com exatamente um dígito diferente de zero antes do ponto binário Para que se possa obter o valor numérico correspondente a representação em ponto flutuante de precisão simples devese fazer a seguinte operação 𝑉𝑎𝑙𝑜𝑟 1𝑠 1 𝐹 2𝐸127 Onde 1 𝐸 254 Existe também no padrão IEEE 754 uma representação de ponto flutuante de 64 bits Esta representação é chamada de ponto flutuante de precisão dupla A Figura 33 apresenta esta estrutura Figura 33 Ponto flutuante de precisão dupla Nesta notação para que se possa obter o valor numérico correspondente devese fazer a seguinte operação 𝑉𝑎𝑙𝑜𝑟 1𝑠 1 𝐹 2𝐸1023 Onde 1 𝐸 2046 O termo E sofre um deslocamento tanto na representação de precisão simples como na representação de precisão dupla Este deslocamento permite expressar expoentes positivos ou negativos o que por sua vez permite representar números muito grandes ou muito pequenos Quando se trabalha com pontos flutuantes normalizados no padrão IEEE 754 deve levar em conta os seguintes fatores No termo 1 F o 1 não aparece no valor binário pois se assume que o número está em notação científica com exatamente um dígito diferente de zero antes do ponto binário As equações não permitem a representação do número zero assim o padrão é preencher os campos E e F com zeros para representar o número zero É possível representar o infinito preenchendo o campo E com 1s e o campo F com 0s com o sinal apropriado Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 23 Quando o campo E é preenchido com 1s e o campo F é diferente de zero temse uma situação de número inválido indicado por NaN Not a Number Esta notação é útil para representar resultados inválidos como zero dividido por zero por exemplo Representações com E igual a zero e F diferente de zero indicam números não normalizados e devem ser evitadas A Figura 34 apresenta uma tabela que resume as possíveis representações no padrão IEEE 754 O valor max é 255 para números de precisão simples e 2047 para números de precisão dupla Figura 34 Possíveis representações no padrão IEEE 754 Vejamos como exemplo a representação do número 122510 A Figura 35 apresenta a representação deste número em ponto flutuante de precisão simples Figura 35 Exemplo de ponto flutuante de precisão simples Observado as informações binárias e seus respectivos pesos temos 𝑆 1 𝐸 1 27 1 21 130 𝐹 1 21 1 25 053125 Aplicando estes valores na fórmula temse 𝑉𝑎𝑙𝑜𝑟 11 1 053125 2130127 1225 25 Código alfanumérico Sistemas digitais também necessitam operar com informações na forma de textos assim é necessário codificar na forma binária também letras A codificação deste tipo de informações é chamada de codificação alfanumérica Os códigos alfanuméricos também chamados de códigos de caracteres letras são códigos binários usados para representar dados como letras do alfabeto números digitos símbolos matemáticos e sinais de pontuação de uma forma que é compreensível e processável por um computador Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 24 Este tipo de codificação é utilizada por dispositivos de entrada e saída como teclados monitores impressoras bem como para a transmissão de informações pelas redes de computadores por exemplo Existem várias codificações em uso atualmente como ASCII Unicode UTF8 etc Um dos mais simples e mais utilizado é o ASCII que será abordado a seguir 251 Código ASCII O Código ASCII American Standard Code for Information Interchange é um código muito popular usado em todos os sistemas digitais ele utiliza 7 bits para representar 128 caracteres Os primeiros 32 0 a 31 caracteres são ditos caracteres não imprimíveis e servem como comando de controle para os periféricos Os caracteres de 32 a 127 representam os símbolos letras e dígitos utilizados normalmente em nosso dia a dia A Figura 36 apresenta a tabela ASCII que contém todos estes 128 caracteres Figura 36 A tabela ASCII Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 25 Além dos 128 caracteres da tabela ASCII padrão existem mais 128 caracteres que são uma versão expandida da tabela ASCII Esta versão expandida contempla os caracteres de 128 a 255 Existem diversas versões desta expansão estas versões são dependentes do idioma do sistema por exemplo A Figura 37 apresenta os caracteres de 128 a 255 da tabela ASCII utilizada em um computador rodando Windows 10 em português do Brasil Figura 37 Tabela ASCII expandida Para aplicações mais complexas como por exemplo navegadores de internet ou editores de texto codificações mais complexas são utilizadas para representar digitalmente os caracteres Estas codificações permitem por exemplo a codificação de caracteres dos alfabetos orientais Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 26 Aula 3 Álgebra booleana Nesta aula serão abordados assuntos relacionados as regras matemáticas referentes as funções binárias Serão apresentados teoremas matemáticos e regras de simplificação de expressões booleanas bem como suas principais formas de representação 31 Introdução A álgebra booleana tem este nome em homenagem ao matemático e filósofo britânico George Boole É utilizada para fazer uma análise formal dos circuitos digitais através de um conjunto de regras matemáticas 32 Funções booleanas Para compor um sistema matemático de dois valores binário representado por zeros e uns utilizase funções booleanas Estas funções são compostas por variáveis binárias e por funções matemáticas binarias a adição lógica também chamada de função OU OR a multiplicação lógica também chamada de função E AND e inversão lógica Veja alguns exemplos 𝑦 𝑎 𝑏 𝑦 𝑎 𝑏 𝑐 Nas funções booleanas as letras representam variáveis que podem assumir valores 0 ou 1 33 Propriedades fundamentais da álgebra booleana Não é objetivo deste material demostrar os teoremas relacionados com a álgebra booleana serão apenas demostradas as propriedades fundamentais necessárias aos estudos dos sistemas digitais A Tabela 2 apresenta as propriedades envolvendo a função OU Tabela 2 Propriedades da função OU 𝑎 0 𝑎 𝑎 1 1 𝑎 𝑎 𝑎 𝑎 𝑎 1 𝑎 𝑏 𝑏 𝑎 comutativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 associativa A função OU pode ser imaginada da seguinte forma se pelo menos um dos operandos for verdadeiro o resultado é também verdadeiro Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 27 Assim como a função OU a função E também tem um conjunto de propriedades demostrado na Tabela 3 Tabela 3 propriedades da função E 𝑎 1 𝑎 𝑎 0 0 𝑎 𝑎 𝑎 𝑎 𝑎 0 𝑎 𝑏 𝑏 𝑎 comutativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 associativa 𝑎 𝑏 𝑐 𝑎 𝑏 𝑎 𝑐 distributiva 331 Teorema de DeMorgan Dentre os vários teoremas que compõe a álgebra booleana vale a pena citar os teoremas de DeMorgan Estes teoremas são extremamente úteis na simplificação de expressões em que um produto ou soma de variáveis é invertido Estes teoremas podem ser resumidos da seguinte forma 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 Segundo estes teoremas quando a operação OU entre duas variáveis é invertida é equivalente a inverter cada uma das variáveis individualmente e então fazer a operação E entre elas Da mesma forma quando a operação E entre duas variáveis é invertida é equivalente a inverter cada variável individualmente e então fazer a operação OU De forma generalizada estes teoremas são válidos para qualquer número de variáveis veja a seguir 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Os termos a b ou c podem ser também expressões booleanas complexas não faz diferença 332 Exemplo de aplicação de DeMorgan Os teoremas de DeMorgan podem ser utilizados para simplificar funções booleanas veja o seguinte exemplo Para simplificar a função booleana 𝑧 𝑎 𝑐 𝑏 𝑑 podemos considerar 𝑎 𝑐 como 𝑋 e 𝑏 𝑑 como Y assim teremos 𝑧 𝑋 𝑌 𝑋 𝑌 ou de forma equivalente 𝑧 𝑎 𝑐 𝑏 𝑑 Da mesma forma podemos aplicar o teorema de DeMorgan a cada um dos termos 𝑎 𝑐 𝑎 𝑐 𝑏 𝑑 𝑏 𝑑 Assim a expressão final simplificada é 𝑎 𝑐 𝑏 𝑑 ou ainda 𝑎 𝑐 𝑏 𝑑 pois a operação E tem precedência sobre a operação OU Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 28 333 Algumas identidades auxiliares Existem ainda algumas identidades que são úteis na hora de simplificar funções booleana são elas 𝑎 𝑎 𝑏 𝑎 𝑎 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 𝑎 𝑐 𝑎 𝑏 𝑐 É importante destacar que em algumas literaturas as operações E podem ter seu sinal suprimido assim 𝑎 𝑏 𝑐 𝑎𝑏𝑐 porém isso só funciona quando o nome das variáveis tem apenas uma letra com nomes mais longos pode haver confusão 34 Tabelas verdade Tabelas verdade é uma tabela que apresenta todas as possíveis entradas e as saídas correspondentes de uma função booleana Para uma função com N variáveis a tabela verdade deve possuir 2𝑁Linhas Considere por exemplo a função 𝑦 𝑎 𝑏 𝑐 a seguir é apresentada sua tabela verdade Tabela 4 Tabela verdade Entradas Saída a b c y 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Nesta tabela é possível observar todas as possíveis entradas e as saídas correspondentes para a função 35 Simplificação de funções booleanas O objetivo da simplificação de funções booleanas é encontrar uma outra expressão que seja equivalente porém com um menor número de operações lógicas Para isso devese utilizar as propriedades e teoremas já apresentados Vejamos alguns exemplos 1 Simplifique a expressão 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Podemos chamar 𝑎 𝑏 𝑐 de x Aplicando a propriedade 𝑥 𝑥 𝑥 obtémse 𝑦 𝑎 𝑏 𝑐 Para verificar se a simplificação está correta vamos construir a tabela verdade Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 29 Tabela 5 Exemplo 1 de simplificação Entradas y a b c 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 Observando a Tabela 5 podese notar que 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 2 Simplifique a expressão 𝑦 𝑎 𝑏 𝑎 𝑏 𝑐 𝑏 𝑏 𝑐 Aplicando a propriedade distributiva em 𝑎 𝑏 𝑐 e 𝑏 𝑏 𝑐 obtemos 𝑦 𝑎 𝑏 𝑎 𝑏 𝑎 𝑐 𝑏 𝑏 𝑏 𝑐 Aplicando agora a propriedade 𝑎 𝑎 𝑎 para 𝑏 𝑏 e 𝑎 𝑏 𝑎 𝑏 obtemos 𝑦 𝑎 𝑏 𝑎 𝑐 𝑏 𝑏 𝑐 Aplicando a expressão auxiliar 𝑎 𝑎 𝑏 𝑎 em 𝑏 𝑏 𝑐 obtemos 𝑦 𝑎 𝑏 𝑎 𝑐 𝑏 Rearranjando os termos temos 𝑦 𝑏 𝑏 𝑎 𝑎 𝑐 Aplicando a expressão auxiliar 𝑎 𝑎 𝑏 𝑎 em 𝑏 𝑏 𝑎 obtemos 𝑦 𝑏 𝑎 𝑐 Este é o resultado final Para verificálo observe a Tabela 6 Tabela 6 Exemplo 2a de simplificação Entradas a b c 𝑎 𝑏 𝑏 𝑐 𝑎 𝑏 𝑐 𝑏 𝑏 𝑐 y 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 30 Agora compare o resultado da Tabela 6 com os resultados da Tabela 7 Tabela 7 Exemplo 2b de simplificação Entradas a b c 𝑎 𝑐 y 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 É possível observar que as duas expressões apresentam o mesmo resultado 3 Simplifique a expressão 𝑦 𝑎 𝑏 𝑐 𝑎 𝑐 𝑎 𝑏 Aplicando a propriedade distributiva isolando o 𝑎 obtemos 𝑦 𝑎 𝑏 𝑐 𝑐 𝑏 Aplicando DeMorgan em 𝑐 𝑏 obtemos 𝑦 𝑎 𝑏 𝑐 𝑏 𝑐 Agora aplicando a propriedade 𝑎 𝑎 1 em 𝑏 𝑐 𝑏 𝑐 obtemos 𝑦 𝑎 1 𝑎 O resultado pode ser verificado através da tabela verdade como nos casos anteriores 4 Simplifique a expressão 𝑦 𝑎 𝑏 𝑎 𝑐 Aplicando a propriedade distributiva obtemos 𝑦 𝑎 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Agora aplicando a propriedade 𝑎 𝑎 𝑎 obtemos 𝑦 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Aplicando a propriedade associativa podemos escrever 𝑦 𝑎 𝑎 𝑐 𝑏 𝑎 𝑏 𝑐 Agora aplicando a propriedade distributiva obtemos 𝑦 𝑎 1 𝑐 𝑏 𝑏 𝑐 Como qualquer coisa OU 1 é 1 obtemos 𝑦 𝑎 𝑏 𝑐 Este resultado também pode ser comprovado via tabelas verdade Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 31 36 Formato padrão para funções booleanas Existem algumas formas padronizadas para a expressão de funções booleanas Dentre elas a mais utilizada é a soma de produtos SOP Sum Of Products No formato de soma de produtos a função é representada pela soma de termos chamados minterms Se considerarmos uma função booleana de N variáveis um minterms é o produto destas N variáveis ou de seu complemento São exemplos de minterms para três variáveis 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 e 𝑎 𝑏 𝑐 etc A representação das funções booleanas na forma de soma de produtos é facilmente obtida da tabela verdade veja um exemplo a seguir Tabela 8 Obtenção da soma de produtos Entradas Minterms Saída a b c 0 0 0 𝑎 𝑏 𝑐 0 0 0 1 𝑎 𝑏 𝑐 1 0 1 0 𝑎 𝑏 𝑐 0 0 1 1 𝑎 𝑏 𝑐 0 1 0 0 𝑎 𝑏 𝑐 1 1 0 1 𝑎 𝑏 𝑐 0 1 1 0 𝑎 𝑏 𝑐 1 1 1 1 𝑎 𝑏 𝑐 0 Observando a Tabela 8 podemos notar que cada minterm representa um conjunto de entradas onde quando a entrada tem valor 1 a variável correspondente aparece diretamente e quando a entrada é 0 a variável correspondente aparece invertida complemento Por exemplo para a entrada 𝑎 0 𝑏 1 𝑒 𝑐 1 o minterm correspondente é 𝑎 𝑏 𝑐 Para obter a representação em soma de produtos da função que representa a Tabela 8 basta realizarmos a soma dos minterms das linhas da tabela onde a saída é 1 ignorando os minterms das linhas onde a saída é 0 Assim para a Tabela 8 a função seria a seguinte 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 Esta função apresenta exatamente o comportamento da Tabela 8 A representação em soma de produtos não representa a função minimizada ou seja é possível obter uma função equivalente menor Existem ainda outras representações para funções booleanas como por exemplo o produto de somas mas não é o objetivo deste material abordar tais representações 37 Mapas de Karnaugh Observando as seções anteriores notase que a minimização de funções booleanas é muito importante e não é uma tarefa trivial Neste sentido o matemático e cientista da computação Edward W Veitch criou um sistema que depois foi aperfeiçoado pelo engenheiro de telecomunicações Maurice Karnaugh que possibilita simplificar uma equação booleana ou Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 32 converter uma tabela verdade em sua equação booleana minimizada Este método ficou conhecido como mapa de Karnaugh Os mapas de Karnaugh são úteis para minimizar circuitos ou equações booleanas de até 6 variáveis para mais do que isso este método se torna complicado Um mapa de Karnaugh pode ser entendido como uma outra forma de representar uma tabela verdade onde a finalidade é facilitar sua simplificação Para uma função de N variáveis um mapa de Karnaugh é uma tabela de 2𝑁 quadrados denominados celas A Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Figura 38 apresenta um mapa de Karnaugh para quatro variáveis a b c e d Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Na Figura 38 Modelo de mapa de Karnaugh para quatro variáveis Figura 38 podese observar que um mapa de Karnaugh é composto por celas que possuem um valor binário relacionado as quatro variáveis envolvidas Na esquerda estão representados os valores das variáveis a e b É importante notar que a distribuição destes valores não segue a distribuição padrão e sim uma distribuição em que cada elemento se diferencia de seus vizinhos em apenas 1 bit Assim para as variáveis a e b a sequência de distribuição é 00 01 11 e 10 Seguindo a mesma lógica na parte superior estão representadas as variáveis c e d estas as variáveis seguem a mesma sequência de distribuição é 00 01 11 e 10 A título de exemplo no interior das celas foi colocado o valor binário para as variáveis a b c e d seguindo esta ordem As Figura 39 a e b apresentam respectivamente exemplos de formatação de mapas de Karnaugh respectivamente para 2 e 3 variáveis Figura 39 Mapas de Karnaugh para 2 e 3 variáveis Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 33 371 Preenchimento do mapa de Karnaugh O preenchimento do mapa de Karnaugh é o processo de observar cada uma das linhas da tabela verdade identificar a cela correspondente e colocar nesta cela 1 ou 0 correspondente ao resultado daquela linha na tabela Como exemplo vamos considerar a tabela verdade da Tabela 9 Tabela 9 Tabela verdade com três variáveis Entradas Saída a b c 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Esta tabela verdade é composta por três variáveis a b e c Para esta tabela o mapa de Karnaugh é apresentado na Figura 40 Figura 40 Mapa de Karnaugh para a tabela Observe por exemplo que a linha destacada em vermelho na Tabela 9 corresponde as entradas 𝑎 0 𝑏 1 𝑐 1 apresenta uma saída igual a 1 Esta linha corresponde ao número 1 destacado em vermelho no mapa de Karnaugh da Figura 40 O mesmo procedimento é adotado para mapas com diferentes números de variáveis 372 Grupos de celas adjacentes A próxima etapa na montagem do mapa de Karnaugh é o agrupamento das celas adjacentes cujo valor é 1 Podem ser criados grupos de 1 2 4 8 e assim por diante de celas sempre potências de 2 A Figura 41 apresenta alguns agrupamentos de celas válidos Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 34 Figura 41 Exemplos de grupos válidos de celas Observe que um mesmo número 1 pode participar de mais de um grupo Os agrupamentos de celas podem extrapolar as bordas do mapa por exemplo saindo pela esquerda e entrando pela direita ou saindo por baixo e entrando por cima É muito importante que se faça sempre grupos com o maior número de uns possível pois só assim o processo de simplificação irá funcionar 373 Resolvendo o mapa de Karnaugh A última etapa na simplificação por mapa de Karnaugh é encontrar a expressão que representa cada um dos grupos de celas demarcado na etapa anterior Para isso fazse a análise de cada grupo individualmente Veja os grupos demarcados na Figura 42 Figura 42 Resolução de mapa de Karnaugh Nesta figura temos dois grupos o vermelho com quatro celas e o azul também com quatro celas Para cada grupo devese fazer a seguinte pergunta Quais são os valores que cada uma das variáveis assume neste grupo Para o primeiro grupo vermelho temos 𝑎 01 𝑏 01 e 𝑐 0 Neste caso as variáveis a e b pode assumir 0 e 1 e a variável c só pode assumir o valor 0 Isso quer dizer que as variáveis a e b são irrelevantes para este grupo e a variável c devem ser negada invertida Assim temos que 𝑎 𝑏 𝑐 desta forma a expressão que representa este grupo é 𝑐 Aplicando a mesma lógica ao segundo grupo azul temos 𝑎 01 𝑏 1 e 𝑐 01 Assim temos que 𝑎 𝑏 𝑐 desta forma a expressão que representa este grupo é simplesmente 𝑏 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 35 A resposta final é a soma das expressões que representam cada um dos grupos Para este exemplo temos 𝑦 𝑐 𝑏 Observe que a entrada a não influencia na saída 374 Exemplos de mapa de Karnaugh Para deixar mais clara a utilização dos mapas de Karnaugh na minimização de funções serão apresentados alguns exemplos com diferentes números de variáveis desmontando diferentes senários 1 Utilize o mapa de Karnaugh para determinar a função booleana mínima para os dados da Tabela 10 Tabela 10 Exemplo de mapa de Karnaugh com duas variáveis a b y 0 0 0 0 1 1 1 0 1 1 1 0 Observando a Tabela 10 é possível montar o seguinte mapa de Karnaugh Figura 43 Mapa de Karnaugh do exemplo Note que não é possível fazer grupos com mais de 1 cela assim temos para este mapa dois grupos No primeiro grupo azul as variáveis a e b assumem os seguintes valores 𝑎 1 𝑒 𝑏 0 assim para este grupo temos a expressão 𝑎 𝑏 Já para o segundo grupo vermelho as variáveis a e b assumem os seguintes valores 𝑎 0 𝑒 𝑏 1 assim para este grupo temos a expressão 𝑎 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑎 𝑏 𝑎 𝑏 2 Utilize o mapa de Karnaugh para determinar a função booleana mínima para os dados da Tabela 11 Tabela 11 Exemplo de mapa de Karnaugh com duas variáveis a b y 0 0 0 0 1 1 1 0 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 36 Observando a Tabela 11 é possível montar o seguinte mapa de Karnaugh Figura 44 Mapa de Karnaugh do exemplo Para este mapa temos novamente dois grupos porém grupos com 2 celas No primeiro grupo azul as variáveis a e b assumem os seguintes valores 𝑎 1 𝑒 𝑏 01 assim para este grupo temos a expressão 𝑎 Já para o segundo grupo vermelho as variáveis a e b assumem os seguintes valores 𝑎 01 𝑒 𝑏 1 assim para este grupo temos a expressão 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑎 𝑏 3 Neste exemplo o objetivo é minimizar a expressão que está na forma de soma de produtos 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 É possível montar o mapa de Karnaugh diretamente da equação porém fica mais fácil montar primeiro a tabela verdade Assim a Tabela 12 apresenta as entradas e saídas para esta equação booleana Tabela 12 Tabela verdade para este exemplo a b c y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Observando a Tabela 12 é possível montar o seguinte mapa de Karnaugh Figura 45 Mapa de Karnaugh do exemplo Para este mapa temos três grupos dois deles com 2 celas e um com 4 celas No primeiro grupo azul as variáveis a b e c assumem os seguintes valores 𝑎 01 𝑏 0 𝑒 𝑐 1 assim para este grupo temos a expressão 𝑏 𝑐 Já para o segundo grupo verde as variáveis a b e c assumem Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 37 os seguintes valores 𝑎 01 𝑏 1 𝑒 𝑐 0 assim para este grupo temos a expressão 𝑏 𝑐 No terceiro grupo vermelho as variáveis a b e c assumem os seguintes valores 𝑎 1 𝑏 01 𝑒 𝑐 01 assim para este grupo temos a expressão 𝑎 A expressão resultante é a soma das três anteriores o que resulta em 𝑦 𝑏 𝑐 𝑏 𝑐 𝑎 4 O quarto exemplo é uma tabela verdade com 4 variáveis para o qual se deseja encontrar a função minimizada Veja a Tabela 13 Tabela 13 Tabela verdade do exemplo a b c d y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Observando a Tabela 13 é possível montar o seguinte mapa de Karnaugh Figura 46 Mapa de Karnaugh do exemplo Para este mapa temos três grupos todos com 4 celas No primeiro grupo azul as variáveis a b c e d assumem os seguintes valores 𝑎 1 𝑏 01 𝑐 01 𝑒 𝑑 0 assim para este grupo temos a expressão 𝑎 𝑑 Já para o segundo grupo verde as variáveis a b c e d assumem os seguintes valores 𝑎 01 𝑏 01 𝑐 1 𝑒 𝑑 1 assim para este grupo temos a expressão 𝑐 𝑑 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 38 No terceiro grupo vermelho as variáveis a b c e d assumem os seguintes valores 𝑎 0 𝑏 01 𝑐 0 𝑒 𝑑 01 assim para este grupo temos a expressão 𝑎 𝑐 A expressão resultante é a soma das três anteriores o que resulta em 𝑦 𝑎 𝑑 𝑐 𝑑 𝑎 𝑐 5 Para o quinto exemplo reservamos um caso diferente dos anteriores com relação a montagem dos grupos no mapa de Karnaugh Para este exemplo desejase minimizar a função de quatro variáveis 𝑦 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 𝑎 𝑏 𝑐 𝑑 Para esta função booleana temos o mapa de Karnaugh da Figura 47 Figura 47 Mapa de Karnaugh para este exemplo O mapa de Karnaugh para esta função permite criar um grupo com as quatro celas dos cantos como mostrado na Figura 47 As variáveis a b c e d assumem os seguintes valores para o grupo 𝑎 01 𝑏 0 𝑐 01 𝑒 𝑑 0 assim a expressão minimizada resultante é 𝑦 𝑏 𝑑 375 Mapas com mais de quatro variáveis A mesma técnica pode ser utilizada para minimizar equações booleanas com mais de 4 variáveis Porém nestes casos os mapas ficam mais complicados permitindo a formação de grupos mais complexo Este material não irá abordar estes casos mas a literatura apresenta várias soluções para este tipo de problemas 376 Funções incompletas Para muitos problemas do mundo real é possível que não se tenha a tabela verdade completa ou ainda algumas das combinações das entradas não irão acontecer devido a restrições físicas do sistema digital Para estas situações a saída dos sistemas para determinadas entradas não importa em inglês é normal dizer DontCare Veja um exemplo na Tabela 14 Tabela 14 Exemplo de tabela verdade incompleta a b c y 0 0 0 1 0 0 1 x 0 1 0 0 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 39 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 x 1 1 1 1 Nestes casos para as linhas da tabela onde a saída não é importante o valor desta saída é simbolizado por x Da mesma forma na hora de montar o mapa de Karnaugh as celas correspondentes a estas linhas recebem x Para a Tabela 15 podemos compor o mapa de Karnaugh da Figura 47 Tabela 15 Mapa de Karnaugh para o exemplo Na hora de resolver o mapa de Karnaugh e obter as expressões booleanas resultantes os valores desconhecidos x podem ser interpretados como 0 ou 1 o que for resultar no maior grupo de celas Assim será possível obter a menor expressão booleana que atenda a tabela verdade sem se preocupar com as linhas incompletas ou não relevantes Dito isso para o mapa de Karnaugh da Figura 47 temos dois grupos um com 2 celas e um com 4 celas No primeiro grupo azul as variáveis a b e c assumem os seguintes valores 𝑎 01 𝑏 01 𝑒 𝑐 1 assim para este grupo temos a expressão 𝑐 Já para o segundo grupo vermelho as variáveis a b e c assumem os seguintes valores 𝑎 0 𝑏 0 𝑒 𝑐 01 assim para este grupo temos a expressão 𝑎 𝑏 A expressão resultante é a soma das duas anteriores o que resulta em 𝑦 𝑐 𝑎 𝑏 38 Exercícios de mapa de Karnaugh 1 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 16 Tabela verdade do exercício 1 de mapas de Karnaugh a b y 0 0 1 0 1 1 1 0 1 1 1 0 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 40 2 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte soma de produtos 𝑦 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 𝑎 𝑏 𝑐 3 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 17 Tabela verdade do exercício 3 de mapas de Karnaugh a b c d y 0 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 4 Utilizando mapa de Karnaugh encontre a função booleana minimizada para a seguinte tabela verdade Tabela 18 Tabela verdade do exercício 4 de mapas de Karnaugh a b c y 0 0 0 1 0 0 1 x 0 1 0 x 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 x 1 1 1 1 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 41 Aula 4 Portas lógicas O objetivo desta aula é introduzir as portas lógicas que são os componentes eletrônicos fundamentais nos sistemas digitais 41 Introdução Para que se posso construir sistemas digitais é necessário que se utilize circuitos eletrônicos capazes de executar as funções booleanas básicas Os circuitos desenvolvidos para este fim são chamados de portas lógicas A título de exemplo a Figura 48 apresenta a imagem de um circuito integrado que contém 6 portas lógicas inversoras Figura 48 Circuito integrado da porta lógica inversora A seguir serão apresentadas as principais portas lógicas 42 Porta lógica inversora A mais simples das portas lógicas é a porta inversora NOT em inglês Esta porta possui uma entrada e uma saída Quando a entrada recebe nível lógico 0 a saída assume o nível lógico 1 e quando a entrada recebe nível lógico 1 a saída assume o nível lógico 0 A Tabela 19 apresenta a tabela verdade para a porta inversora Tabela 19 Tabela verdade da porta inversora Entrada Saída a y 0 1 1 0 A expressão booleana para a porta inversora é 𝑦 𝑎 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 42 A porta inversora é representada nos diagramas de circuitos digitais ou sistemas digitais pelos símbolos apresentados na Figura 49 Figura 49 Simbologia da porta inversora A Figura 49 a apresenta a simbologia tradicional e mais comum para a porta inversora esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 49 b A Figura 50 apresenta a forma de onde para a estrada e a saída de uma porta inversora Figura 50 Forma de onda da porta inversora Os fabricantes de circuitos integrados costumam empacotar as portas lógicas em pacotes contendo várias unidades A Figura 51 apresenta duas imagens de um circuito integrado chamado 7404 que contém 6 portas inversoras Figura 51 Circuito integrado 7404 43 Atraso de propagação A propagação das entradas para a saída das portas lógicas não acontece instantaneamente existe um atraso Este atraso é resultado das capacitâncias internas do circuito Nos sistemas digitais costumase chamar estes atrasos de atrasos de propagação em inglês delay Apesar de muito pequeno em algumas situações até desprezível este atraso pode em algumas situações produzir resultados indesejados nos circuitos Na maioria dos gráficos de formas de onda digital estes atrasos são desconsiderados mas em algumas situações é importante que eles sejam considerados Assim a Figura 52 apresenta a Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 43 mesma forma de onda da porta inversora apresentada na Figura 51 porém agora considerando o atraso de propagação Figura 52 Forma de onda inversora com atraso É importante ressaltar que este atraso de propagação é consequência da tecnologia utilizada na fabricação dos circuitos integrados assim tecnologias diferentes de fabricantes diferentes possuem também diferentes atrasos de propagação 44 Porta OU A segunda porta lógica que vamos estudar é a porta lógica OU em inglês OR Esta porta lógica diferentemente da porta inversora possui duas entradas Para esta porta a saída assume 1 se qualquer uma das entradas ou as duas entradas forem iguais a 1 A saída assume 0 apenas se as duas entradas forem iguais a 0 A Tabela 20 apresenta a tabela verdade da porta OU Tabela 20 Tabela verdade da porta OU Entradas Saída a b y 0 0 0 0 1 1 1 0 1 1 1 1 A expressão booleana para a porta OU é 𝑦 𝑎 𝑏 A porta OU é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 53 Figura 53 Simbologia da porta OU A Figura 53 a apresenta a simbologia tradicional e mais comum para a porta OU esta simbologia segue a norma ANSI American National Standards Institute Existe também a Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 44 simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 53 b A Figura 54 apresenta a forma de onda para as estradas e a saída de uma porta OU Figura 54 Forma de onda da porta OU O circuito integrado 7432 é um dos mais comuns a implementar as portas OU nos circuitos digitais A Figura 55 apresenta uma imagem deste circuito que contém 4 portas OU Figura 55 Circuito integrado 7432 45 Porta E A porta lógica E em inglês AND assim como a porta OU possui duas entradas Para esta porta a saída assume 1 somente quando as duas entradas são 1 Se uma ou mais entradas forem 0 a saída assume valor 0 A Tabela 21 apresenta a tabela verdade da porta E Tabela 21 Tabela verdade da porta E Entradas Saída a b y 0 0 0 0 1 0 1 0 0 1 1 1 A expressão booleana para a porta E é 𝑦 𝑎 𝑏 A porta E é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 56 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 45 Figura 56 Simbologia da porta E A Figura 56 a apresenta a simbologia tradicional e mais comum para a porta E esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 56 b A Figura 57 apresenta a forma de onda para as estradas e a saída de uma porta E Figura 57 Forma de onda da porta E O circuito integrado 7408 é um dos mais comuns a implementar as portas E nos circuitos digitais A Figura 58 apresenta uma imagem deste circuito que contém 4 portas E Figura 58 Circuito integrado 7408 46 Porta Não OU Além das três portas lógicas que representam as três operações fundamentais da álgebra booleana existem ainda outras A porta lógica Não OU em inglês NOR é uma delas Assim como as portas anteriores esta possui duas entradas Para esta porta a saída assume 1 somente quando as duas entradas são 0 Se uma ou mais entradas forem 1 a saída assume valor 0 É possível notar que esta porta apresenta exatamente o mesmo comportamento que a porta OU só que com a saída invertida A Tabela 22 apresenta a tabela verdade da porta Não OU Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 46 Tabela 22 Tabela verdade da porta Não OU Entradas Saída a b y 0 0 1 0 1 0 1 0 0 1 1 0 A expressão booleana para a porta Não OU é 𝑦 𝑎 𝑏 A porta Não OU é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 59 Figura 59 Simbologia da porta Não OU A Figura 59 a apresenta a simbologia tradicional e mais comum para a porta Não OU esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 59 b A Figura 60 apresenta a forma de onda para as estradas e a saída de uma porta Não OU Figura 60 Forma de onda da porta não OU O circuito integrado 7402 é um dos mais comuns a implementar as portas Não OU nos circuitos digitais A Figura 61 apresenta uma imagem deste circuito que contém 4 portas Não OU Figura 61 Circuito integrado 7402 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 47 47 Porta Não E A porta lógica Não E em inglês NAND assim como as portas anteriores possui duas entradas Para esta porta a saída assume 0 somente quando as duas entradas são 1 Se uma ou mais entradas forem 0 a saída assume valor 1 É possível notar que esta porta apresenta exatamente o mesmo comportamento que a porta E só que com a saída invertida A Tabela 23 apresenta a tabela verdade da porta Não E Tabela 23 Tabela verdade para a porta Não E Entradas Saída a b y 0 0 1 0 1 1 1 0 1 1 1 0 A expressão booleana para a porta Não E é 𝑦 𝑎 𝑏 A porta Não E é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 62 Figura 62 Simbologia da porta Não E A Figura 62 a apresenta a simbologia tradicional e mais comum para a porta Não E esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 62 b A Figura 63 apresenta a forma de onda para as estradas e a saída de uma porta Não E Figura 63 Forma de onda da porta Não E O circuito integrado 7400 é um dos mais comuns a implementar as portas Não E nos circuitos digitais A Figura 64 apresenta uma imagem deste circuito que contém 4 portas Não E Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 48 Figura 64 Circuito integrado 7400 48 Porta OU Exclusivo A porta lógica OU Exclusivo em inglês XOR assim como as portas anteriores possui duas entradas Para esta porta a saída assume 0 quando as duas entradas são iguais e assume 1 se as duas entradas são diferentes A Tabela 24 apresenta a tabela verdade da porta OU Exclusivo Tabela 24 Tabela verdade da porta OU Exclusivo Entradas Saída a b y 0 0 0 0 1 1 1 0 1 1 1 0 Para esta função é utilizado um operador especial com o símbolo Assim a expressão booleana para a porta OU Exclusivo é 𝑦 𝑎 𝑏 𝑎 𝑏 𝑎 𝑏 A porta OU Exclusivo é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 65 Figura 65 Simbologia da porta OU Exclusivo A Figura 65 a apresenta a simbologia tradicional e mais comum para a porta OU Exclusivo esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 65 b A Figura 66 apresenta a forma de onda para as estradas e a saída de uma porta OU Exclusivo Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 49 Figura 66 Forma de onda da porta OU exclusivo O circuito integrado 7486 é um dos mais comuns a implementar as portas OU Exclusivo nos circuitos digitais A Figura 67 apresenta uma imagem deste circuito que contém 4 portas OU Exclusivo Figura 67 Circuito integrado 7486 49 Porta Não OU Exclusivo A porta lógica Não OU Exclusivo em inglês XNOR assim como as portas anteriores possui duas entradas Para esta porta a saída assume 1 quando as duas entradas são iguais e assume 0 se as duas entradas são diferentes A Tabela 25 apresenta a tabela verdade da porta OU Exclusivo Tabela 25 Tabela verdade da porta Não OU Exclusivo Entradas Saída a b y 0 0 1 0 1 0 1 0 0 1 1 1 A expressão booleana para a porta Não OU Exclusivo é 𝑦 𝑎 𝑏 A porta Não OU Exclusivo é representada nos diagramas de circuitos digitais pelos símbolos apresentados na Figura 68 Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 50 Figura 68 Porta Não OU Exclusivo A Figura 68Figura 65 a apresenta a simbologia tradicional e mais comum para a porta Não OU Exclusivo esta simbologia segue a norma ANSI American National Standards Institute Existe também a simbologia normatizada pela IEC International Electrotechnical Commission apresentada na Figura 68 b A Figura 69 apresenta a forma de onda para as estradas e a saída de uma porta Não OU Exclusivo Figura 69 Forma de onda porta Não OU Exclusivo O circuito integrado 74266 implementa as portas Não OU Exclusivo nos circuitos digitais A Figura 70 apresenta uma imagem deste circuito que contém 4 portas Não OU Exclusivo Figura 70 Pinagem Integrado 74266 410 Portas lógicas com mais entradas Até aqui foram apresentadas portas lógicas com duas entradas porém é comum necessitarmos de portas lógicas com mais entradas Para estas situações temse duas soluções possíveis a associação de várias portas para aumentar o número de entradas ou a utilização de circuitos integrados que implementam portas com mais entradas A Figura 71 apresenta um exemplo de associação de portas lógicas para a obtenção de mais entradas Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 51 Figura 71 Associação de portas E Neste exemplo são associadas 3 portas E de duas entradas para a obtenção de um circuito digital equivalente a uma porta E de 4 entradas A segunda alternativa é a utilização de portas lógicas com mais entradas São disponibilizadas diversas portas com diversos números de entradas A Figura 72 apresenta como exemplo circuitos integrados com portas lógicas de três entradas Figura 72 Portas lógicas com 3 entradas 411 Resumo das portas lógicas Para facilitar o acesso as informações sobre as portas lógicas a Tabela 26 apresenta um resumo de tudo o que foi visto com relação as portas lógicas É importante destacar que nesta tabela são apresentadas apenas as portas com duas entradas porém existem inúmeras outras configurações com números de entradas variados disponíveis no mercado Instituto Federal Catarinense Campus Luzerna Sistemas Digitais Professor Ricardo Kerschbaumer 52 Tabela 26 Resumo das portas lógicas Porta Símbolo Função Tabela Verdade Inversora NOT 𝑦 𝑎 OU OR 𝑦 𝑎 𝑏 E AND 𝑦 𝑎 𝑏 Não OU NOR 𝑦 𝑎 𝑏 Não E NAND 𝑦 𝑎 𝑏 OU Exclusivo XOR 𝑦 𝑎 𝑏 Não OU Exclusivo XNOR 𝑦 𝑎 𝑏