·
Cursos Gerais ·
Sistemas Digitais
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
184
Sistemas Digitais
Sistemas Digitais
UNIA
15
Representação e Conversão de Sistemas de Numeração
Sistemas Digitais
UFMS
40
Representação de Dados e Sistemas de Numeração
Sistemas Digitais
UFMS
30
Representação de Dados e Sistemas de Numeração
Sistemas Digitais
UFMS
9
Descrição de Sistema para Assistência Técnica
Sistemas Digitais
CEUCLAR
1
Desenvolvimento de Programa em C para Operações com Números Binários
Sistemas Digitais
UFMS
3
Dados de Matrícula e Código de Exercícios
Sistemas Digitais
UFSJ
1
Identificação de Soma de Produtos em Expressões Lógicas
Sistemas Digitais
PUC
1
Função e Tabela da Verdade do Circuito
Sistemas Digitais
UFAL
9
CE3512 Sistemas Digitais - Lista de Exercícios 1 - Projeto de Sistemas Digitais 2022
Sistemas Digitais
FEI
Texto de pré-visualização
Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 1 Sistemas digitais Campus Alto Paraopeba Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 2 PARE Antes de prosseguir com a leitura verifique no site indicado no rodapé se você dispõe da última atualização deste conteúdo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 3 Índice Unidade 1 Aritmética binária 1 Origem da álgebra booleana 007 2 Sistemas de numeração 011 3 Números fracionários 021 4 Números negativos 029 5 Bases binária quaternária octal e hexadecimal 039 6 Adição 043 7 Subtração positiva 051 8 Subtração negativa 061 9 Multiplicação 063 10 Divisão 071 11 Conversão entre analógico e digital 075 12 Quantização binária 077 13 Bases híbridas 083 14 Bases fracionárias 087 Unidade 2 Álgebra booleana 1 Existência e unicidade 091 2 Forma canônica 097 3 Operações lógicas 105 4 Definição de funções lógicas 113 5 Irrelevâncias na forma canônica 121 6 Mapa de Karnaugh 125 7 Mapa de Karnaugh de vários IPEs 131 8 Irrelevância em Mapa de Karnaugh 135 9 Mapa de Karnaugh sem spikes 139 10 Minimização de funções múltiplas 147 11 Mapa de Karnaugh de cinco variáveis 159 12 Minimização algébrica 165 13 Conversores de código 173 14 Análise reversa 181 Unidade 3 Circuitos lógicos 1 Portas lógicas 187 2 Decodificadores 199 3 Codificadores 211 4 Multiplexadores 217 5 Demultiplexadores 229 6 Comutadores e roteadores 233 7 Conversores de código 243 8 Decodificadores personalizados 249 9 Circuitos aritméticos 253 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 4 Unidade 4 Lógica seqüencial 1 Introdução 263 2 Flip Flop RS 269 3 Flip Flop Datum 273 4 Flip Flop Datum master slave 277 5 Toggle Datum 285 6 Máquina de estados estáveis finitos 289 7 MEEFs com uma entrada 295 8 MEEFs com várias entradas 303 9 Contador assíncrono Datum 307 10 Contador síncrono Datum 311 11 Contador com desvio assíncrono 317 12 Contador com pulo assíncrono 323 13 Contador codificado 327 Unidade 5 Circuitos JK 1 Flip Flop JK 335 2 Toggle JK 343 3 Contador síncrono JK 345 4 Contador síncrono decrescente JK 351 5 Modificações no contador síncrono JK 355 6 Minimização no contador síncrono JK 359 7 Contador Anel 371 8 Contador Johnson 383 Unidade 6 Registradores 1 Registrador paralelo 389 2 Registrador série 393 3 Contador Johnson 397 4 Contador Anel 405 5 Memórias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 5 Unidade 1 Aritmética binária Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 6 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 7 Capítulo 101 Origem da álgebra booleana Não é possível construir uma ampla compreensão a respeito dos circuitos digitais modernos sem que se garanta primeiramente uma aprofundada compreensão acerca dos sistemas analógi cos Isto apesar de necessário não é suficiente haja vista que os sistemas digitais são uma aplicação física usando os postulados pertinentes aos circuitos analógicos da lógica booleana e de suas ex pansões como a lógica multivalores MVL e a lógica nebulosa Ao falar em lógica precisamos fazer a distinção entre a lógica filosófica e a lógica matemá tica Se por um lado não existe a menor dúvida de que a lógica filosófica representa a gênese de toda a teoria a respeito dos sistemas digitais e por isso seria digamos mais importante do que a outra por outro lado também não existe a menor dúvida de que a lógica matemática por trabalhar com números permite que os conceitos da lógica filosófica sejam aplicados aos sistemas físicos e mesmo quando tal aplicação está restrita à matemática teórica ainda assim o uso de números per mite a expansão da quantidade de variáreis do sistema a um nível inexequível quando na análise puramente filosófica Ao falar em lógica filosófica criamos um limite que define o escopo de um setor da filosofia humana A lógica filosófica ou filosofia lógica aborda a maneira como o cérebro humano ordena as informações as associações as conclusões e as dúvidas a fim de chegar às melhores tomadas de decisão possíveis A capacidade de efetuar operações lógicas durante o pensamento racional é um dos elementos que distinguem o ser humano das outras criaturas pensantes Embora acreditemos que animais sejam capazes de contar números associados a quantidades também sabemos que eles não podem efetuar operações lógicas de maneira consciente como por exemplo a conjunção e a disjunção Se nós humanos estamos enganados a respeito desta conclusão como acreditam algumas pessoas então é certo que os animais estão escondendo muito bem esta realidade tor nandoa imperceptível a nossos olhos haja vista que eles não produziram nenhuma evidência ex plícita a respeito desta realidade que não tenha sido fruto de um condicionamento comportamental induzido previamente por meio de algum treinador humano O pensamento lógico surgiu no exato momento em que o homem se tornou um ser racional seja por meio da teoria criacionista seja por meio da teoria evolucionista seja por meio de qualquer outra teoria que venha a ser considerada O fato porém de possuir um pensamento lógico não significa que o homem tenha consciência deste pensamento aliás sabemos que bebês e crianças possuem um pensamento extremamente lógico ao contrário das teorias que afirmam que pessoas nestas idades tenham um pensamento puramente emocional ou instintivo Isso porém não signi fica que as crianças tenham consciência desta realidade Também é possível que pessoas sábias maduras e inteligentes consigam aplicar os princípios da lógica filosófica com excelência sem que tais pessoas tenham jamais frequentado o ambiente escolar Isto era muito comum em um passado onde a educação estava baseada em uma Cultura Oral e Simbólica que durou hegemonicamente até o surgimento da imprensa em 1439 Este seria o caso de um pensamento lógico construído com base na observação e na experimentação ao longo de uma longa vida O efeito coletivo deste pensamento daria origem àquilo que chamamos de sa bedoria popular Mesmo assim tais pessoas sábias não tem consciência da existência do pensa mento lógico embora elas saibam aplicalo muito bem melhor até mesmo do que muitos profes sores e mestres A fim de que se tenha consciência deste tipo de pensamento é preciso ter conhe cimento das teorias lógicas e tal conhecimento disponível a todos nós foi construído ao longo dos milênios de história da civilização Embora seja impossível identificar com precisão quando o pensamento lógico recebeu suas primeiras formalizações teóricas podemos dizer que a civilização ocidental teria tido como norte para o seu pensamento lógico a filosofia grega Aliás este seria um dos três elementos que compõe Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 8 o tripé de sustentação do pensamento ocidental A filosofia grega o direito romano e a ética cristã Dentre os filósofos gregos mais conhecidos temos Sócrates 469 aC 399 aC Platão 427 aC 347 aC e Aristóteles 384 aC 322 aC Na época de Sócrates surgiram os sofistas pensa dores que com sua sabedoria filosófica atraiam jovens para suas aulas naquilo que seria a semente do que hoje chamamos de sistema privado de ensino Já na idade média considerada a idade das trevas em referência à carestia generalizada decorrente das constantes invasões externas mas também considerada a idade das luzes em referência ao culto à sabedoria promovido pelo estilo de vida monástico foi criado o sistema de ensino ou sistema de pensamento chamado de escolástico responsável pela caracterização da quilo que hoje o imaginário popular classifica como cultura europeia O sistema de ensino escolástico ou filosofia escolástica foi usado hegemonicamente em todas as universidades ocidentais do período medieval O método escolástico tem suas raízes na obra intitulada Suma Teológica do filósofo e teólogo Tomás de Aquino 1225 1274 Nesta oca sião aconteceu pela primeira vez um diálogo entre o paganismo da filosofia grega e o cristianismo da cultura monástica surgindo aquilo que ficou conhecido como filosofia medieval determinando a forma de pensamento da civilização ocidental nos dias de hoje O sistema escolástico consiste em uma adaptação cristã de um sistema de ensino desen volvido durante a idade antiga depois de Cristo do ano 1 até 476 dC e a alta idade média 476 dC ao início do século XI chamado de Artes Liberais Clássicas A palavra liberal remete ao fato de que se tratam de conhecimentos livres de opinião pessoal O conhecimento humano era dividido nas sete artes liberais agrupados em dois grupos a saber o trivium e o quatrivium O tivium é constituído por Lógica Gramática Retórica O quatrivium é constituído por Aritmética Astronomia Música Geometria Diferentemente da filosofia da sociologia da teologia das ciências políticas as sete artes liberais estão imunes a todo tipo de doutrina O terceiro item do quatrivium a música é puramente instrumental sem letra nem mensagens embutidas Somente após pleno domínio das sete artes liberais o jovem estudante estaria apto ao ingresso no estudo doutrinal Pouco depois da invenção da imprensa o reformista alemão Martinho Lutero 1483 1546 propôs que a sabedoria popular mantida através da Cultura Oral e Simbólica fosse substituída por um sistema de ensino para todos de frequência obrigatória e mantido pelo Estado tese ins piradora para o artigo 205 da Constituição Federal de 1988 tese esta que colocaria um ponto final no período escolástico O advento da imprensa e do sistema de ensino estatal obtiveram enorme vantagem sobre o tradicional método oral ensinamento de pai para filho no que diz respeito à difusão do pensamento Em 1599 como resultado da contrareforma foi criado o mé todo pedagógico dos jesuítas também chamado de Ratio Studiorum ou Ratio atque Institutio Studiorum Societatis Iesu Embora o sistema de ensino Escolástico tenha apresentado resultados satisfatórios durante os séculos de sua aplicação no continente europeu século XIII ao XV embora existam evidências Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 9 que apontem para a hipótese de que talvez a moderna pedagogia ocidental não seja capaz de alcançar a excelência de tais resultados a sugestão de restauração daquele sistema de ensino tem sido motivo de muitas relutantes objeções nos acalorados debates promovidos por pedagogos e educadores um assunto que permaneceu dormente durante as idades moderna e contemporâ nea e que renasce em virtude dos preocupantes resultados alcançados através da aplicação das modernas práticas pedagógicas ocidentais provocando impacto na economia dos países ricos e ge rando pobreza nas economias emergentes Uma das justificativas apontadas para a sugestão de resgate da pedagogia escolástica estaria no fato de que o ensino de lógica de gramática e de retórica para as crianças em idade escolar promoveria uma geração de adultos verdadeiramente detentores de um pensamento crítico fruto de uma escola promotora da verdadeira educação para a autonomia Tal afirmação estaria baseada no fato de que em primeira instância a lógica promove a organização do pensamento e das informações Em segunda instância a gramática promove a correta escolha das palavras profe ridas e a correta interpretação das palavras recebidas pois é impossível criar uma linha de pensa mento sem pleno domínio do próprio idioma Em última instância a retórica promove a maneira eficiente por meio da qual a lógica organiza as palavras na produção do verdadeiro pensamento crítico Podemos concluir por meio de simples observação decorrente da atividade docente que aquilo que no Brasil se chama por analfabetismo funcional seria de fato alguma deficiência em nível moderado ou elevado nas três artes liberais triviais a lógica a gramática e a retórica Por causa dos avanços tecnológicos e das mudanças culturais e das diferenças regionais não seria possível resgatar a pedagogia do método escolástico em sua forma original europeia e me dieval mas seria possível resgatar o seu conteúdo programático aplicado aos modernos conceitos pedagógicos brasileiros George Boole 1815 1864 foi um matemático e professor britânico de matemática e de línguas fundando sua própria escola privada Em 1847 publicou o seu primeiro trabalho científico o livro intitulado The Mathematical Analysis of Logic O pioneirismo do trabalho de Boole está no fato de que pela primeira vez a lógica deixaria de estar associada à metafísica para se associar à matemática Em seus estudos Boole concluiu que a lógica poderia ser dividida em três níveis ou áreas 1 Lógica grega 2 Lógica escolástica 3 Lógica matemática Em 1854 Boole publicou sua mais famosa obra An Investigation of the Laws of the Thougt Os signos 0 e 1 são apresentados como indicadores dos valores lógicos A união entre conjuntos recebe o símbolo A intersecção entre conjuntos recebe o símbolo A equivalência ou identidade entre conjuntos é representada por George Boole não foi o único propositor daquilo que hoje chamamos de lógica booleana Um outro professor e lógico contemporâneo a George Boole o indiano Augustus de Morgan 1806 1871 foi o descobridor de várias propriedades lógicas incluindo aquelas que chamamos hoje de teoremas de De Morgan A lógica booleana apresenta grande contribuição para as ciências jurídicas Por meio de pro priedades como modus tollens modus ponens e reductio ad absurdum é possível traçar uma estra tégia de defesa uma estratégia de argumentação é possível analisar um depoimento em busca de contradições Embora George Boole houvesse cumprido a tarefa de trazer a lógica da metafísica para a matemática foi somente várias décadas após a sua morte que a lógica foi trazida da matemática Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 10 para a engenharia por meio de diversos tipos de implementações podendo estas serem hidráulica mecânica elétrica ótica etc mas é nos circuitos eletrônicos integrados que a álgebra booleana en contra atualmente o seu maior nicho de aplicação sem o qual nós não poderíamos sequer imagi nar como seriam as nossas vidas hoje Referências ftpftpcleunicampbrpubarquivoseducacionalArtGTpdf httpswwwsomatematicacombrbiografboolephp httpprofessoresdccuflabrgiacominCom164GeorgeBoolehtm httpswwwhistoriadomundocombrcuriosidadesartesliberaisclassicashtm httpswwwbritannicacombiographyAugustusDeMorgan httpwwwscielobrscielophpscriptsciarttextpidS141324782000000200010 httpsecclesiaecombrometodopedagogicodosjesuitas Todas as referências foram acessadas em 27092019 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 11 Capítulo 102 Sistemas de numeração Quando se fala em números estamos falando da representação da expressão de uma quan tidade Não é possível imaginar grandezas quantitativas sem que se faça uso de algum sistema de numeração A capacidade de uso destes sistemas talvez seja um diferencial entre a capacidade ra cional humana e as respostas instintivas dadas por animais O processo de quantização pode ser feito por meio de símbolos ou signos da mesma forma que a sinalização de sons orais e nasais também são representados por símbolos Símbolos são a representação gráfica de uma idéia abstrata Letras são os símbolos usados na definição de pronúncia Numerais são símbolos usados na definição de números Da mesma forma como nos idiomas ocidentais as sílabas consistem de uma dois três ou quatro letras agrupadas de modo que a enorme quantidade de sons possíveis seja representada por meio de uma quantidade pequena de letras igualmente a representação numérica pode implicar no uso de um ou de vários numerais A quantidade de símbolos usados na numeração é chamada de base de numeração ou simples mente base A base mais adotada hoje no mundo é a decimal pelo único motivo de que temos dez dedos nas mãos 0 1 2 3 4 5 6 7 8 9 Tabela 1 Os dez signos usados no sistema decimal O grupamento de numerais formando um número implica numa sequência ordenada na qual os numerais à esquerda possuem maior significância ou ordem de grandeza do que os numerais à direita Uma posição ordenada e definida dentro de um conjunto de numerais formando um nú mero é chamada de casa No sistema decimal temos as casas decimais A grandeza de uma casa determina a sua relevância na determinação da quantidade expressa pelo número Casa da extrema esquerda a mais significativa de todas Casa da extrema direita a menos significativa de todas Casas centrais significância intermediária A grandeza é definida por meio de potências na base adotada A progressão de potências nos dígitos inteiros pode ser aplicada para qualquer base Posição Potência Casa das unidades 100 Casa das dezenas 101 Casa das centenas 102 Casa dos milhares 103 Casa das dezenas de milhares 104 Casa das centenas de milhares 105 Casa dos milhões 106 Casa dos bilhões 109 Casa dos trilhões 1012 Casa dos quatrilhões 1015 Tabela 2 As principais casas decimais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 12 27128 2664 2532 2416 238 224 212 201 Tabela 3 Potências de dois 372187 36729 35243 3481 3327 329 313 301 Tabela 4 Potências de três 4716384 464096 451024 44256 4364 4216 414 401 Tabela 5 Potências de quarto 10710000000 1061000000 105100000 10410000 1031000 102100 10110 1001 Tabela 6 Potências de dez A quantidade de símbolos ou signos é dada pela própria base Em bases acima de 10 são usadas as letras do alfabeto Sistema Signos Base 2 01 Base 3 012 Base 4 0123 Base 10 0123456789 Base 16 0123456789ABCDEF Tabela 7 Os principais sistemas de numeração Quando letras são usadas como símbolos numéricos a sua quantização é a mesma para qualquer base se utilizes este símbolo Sistema A B C D E F G Base 11 10 Base 12 10 11 Base 13 10 11 12 Base 14 10 11 12 13 Base 15 10 11 12 13 14 Base 16 10 11 12 13 14 15 Base 17 10 11 12 13 14 15 15 Tabela 8 O valor decimal das letras usadas em sistemas de numeração Dáse o nome de bit à menor unidade em uma base adotada Desta forma temse o bit binário o bit ternário o bit quaternário e assim por diante Há pessoas que fazem a enganosa cor relação entre as letras b e i da palavra bit com as duas primeiras letras da palavra binário Apesar da coincidência esta correlação não existe Um bit ternário não é um trit Como o contexto binário é o mais frequente no uso desta palavra então a palavra genérica bit quando não há especificação da base é aplicada por defalt à base binária Tal convenção é usada neste texto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 13 Um grupo de quatro bits é chamado de nibble e corresponde a um signo hexadecimal Um grupo de oito bits ou quatro nibbles é chamado de byte e corresponde a um signo do código ASCII estendido American Standard Code for Information Interchange Dois bits especiais merecem destaque MSb Most Significant bit O bit mais significativo Na extrema esquerda LSb Least Significant bit O bit menos significativo Na extrema direita Qualquer número em uma determinada base pode ser convertido para decimal por meio da decomposição em uma quantidade finita de potências desta base Quando um número é apresentado pode ser que haja dúvida quanto à sua base É preciso a adoção de uma formalidade na expressão destes números Por padrão considerase que um nú mero seja decimal quando não existe especificação da base em questão Quando a base não é a decimal é necessário que haja a especificação desta base Esta especificação é feita por meio de um número subscrito localizado à direita do bit menos significativo LSb Este número não pode ser sobrescrito porque isto indicaria uma operação de potenciação Algumas bases podem ter o seu uso indicado opcionalmente por meio de uma letra minús cula Estas são as quatro bases mais usadas atualmente Base Sufixo Binária b Octal o Decimal d Hexadecimal h Tabela 9 As bases indicadas por letras Quanto maior é a base adotada maior é a densidade de informação por símbolo empregado Esta afirmação leva à impressão de que a adoção de bases muito elevadas seria algo vantajoso que levaria a uma otimização na transmissão de informações numéricas Isso porém não é verdade haja vista que bases muito elevadas podem trazer dificuldade na interpretação humana dos núme ros Há relatos a certa de civilizações na antiguidade que usavam um sistema de numeração de base sessenta motivo porque hoje as horas são divididas em sessenta minutos e os minutos são dividi dos em sessenta segundos Essa dificuldade de interpretação explica por que algumas culturas pre ferem dividir o dia em vinte e quatro horas enquanto outras culturas preferem dividir o dia em doze horas com o prefixo AM e PM Outras culturas preferem ainda dividir a numeração das horas em quatro grupos da manha da tarde da noite e da madrugada Um número é formado por um ou mais dígitos Matematicamente é possível representar um número usando um dígito em uma base e outro digito em outra base Esta construção é útil quando se usam contadores para a efetuação do endereçamento de locais de atuação de sistemas digitais quando a quantidade de combinações não pode ser dada por todas as combinações de dí gitos em uma única base Esta construção é bastante atípica e raramente é observada em sistemas reais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 14 Exemplo 1 x0110b 4 bits x 023 122 121 020 x 08 14 12 01 x 0 4 2 0 x 6d Neste primeiro exemplo o bit mais significativo MSb vale zero Dentro do contexto da arit mética decimal é ensinado que um zero à esquerda pode ser dispensado Já no contexto da arit mética binária nem sempre um zero à esquerda pode ser removido Se a análise é puramente matemática esta remoção pode ser feita Se porém a análise está associada a um sistema físico então este zero não pode ser eliminado Este zero implica em várias opções de implementação física podendo ser desde um bit de memória física até mesmo ao pino de um chip No contexto dos sistemas físicos o fato de um bit valer zero ou um nada muda na estrutura física Quando este é o caso o número binário precisa ter obrigatoriamente a representação de todos os bits físicos ainda que tenhamos um zero à esquerda Além da explicação do parágrafo anterior existe o fato de que as operações aritméticas bi nárias somente podem ser realizadas sobre números com a mesma quantidade de bits Exemplo 2 x11b 2 bits x 121 120 x 12 11 x 2 1 x 3d Exemplo 3 x1101b 4 bits x 123 122 021 120 x 18 14 02 11 x 8 4 0 1 x 13d Exemplo 4 x10101111b 8 bits x 127 026 125 024 123 122 121 120 x 1128 064 132 016 18 14 12 11 x 128 0 32 0 8 4 2 1 x 175d Exemplo 5 x010001101000b 12 bits x 02111210029028027126125024123022021020 x 210 26 25 23 x 1024 64 32 8 x 1128d Exemplo 6 x2011203 ternário x 235 034 133 132 231 030 x 2243 081 127 19 23 01 x 486 0 27 9 6 0 x 528d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 15 Exemplo 7 x1021334 quaternário x 145 044 243 142 341 340 x 11024 0256 264 116 34 31 x 1024 0 128 16 12 3 x 1183d Exemplo 8 x2084437d decimal x 2106 0105 8104 4103 4102 3101 7100 x 21000000 0100000 810000 41000 4100 310 71 x 2000000 000000 80000 4000 400 30 7 x 2084437d Exemplo 9 x58C3Ah hexadecimal Ch 12d Ah 10d x 5164 8163 12162 3161 10160 x 565536 8 4096 12256 316 101 x 327680 32768 3072 48 10 x 363578d Exemplo 10 x1563A212 A12 10d x 1125 5124 6123 3122 10121 2120 x 1248832 520736 61728 3144 1012 21 x 248832 103680 10368 432 120 2 x 363434d A conversão de um número na base dez para uma outra base pode ser feita por meio de dois métodos Os métodos são mutuamente equivalentes e o estudante pode escolher aquele com o qual você possui maior habilidade Método das divisões sucessivas Método da determinação das parcelas No método das divisões sucessivas é preciso identificar o valor do resto de cada divisão inteira No método da determinação das parcelas é preciso identificar quais parcelas estão presen tes no somatório que define o número decimal Exemplo 11 x94d para binário Método das divisões sucessivas modo 1 002 0b determinação do resto que gera um bit 0b resto 02 052 1b determinação do resto que gera um bit 1b resto 12 942 470 x 0b 472 235 x 10b 232 115 x 110b 112 55 x 1110b 52 25 x 11110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 16 22 10 x 011110b 12 05 x 1011110b Método das divisões sucessivas modo 2 942 47 resto 0 x 0b 472 23 resto 1 x 10b 232 11 resto 1 x 110b 112 5 resto 1 x 1110b 52 2 resto 1 x 11110b 22 1 resto 0 x 011110b 12 0 resto 1 x 1011110b Método da determinação das parcelas Qual é a maior potência de dois que cabe dentro de 94 Resposta 64 6494128 269427 sete bits 9426 64 Sim x 1b 9464 30 3025 32 Não x 10b 3024 16 Sim x 101b 3016 14 1423 8 Sim x 1011b 148 6 622 4 Sim x 10111b 642 221 2 Sim x 101111b 220 020 1 Não x 1011110b Exemplo 12 x94d para base 3 Método das divisões sucessivas modo 1 003 03 determinação do resto que gera um bit 0b resto 03 033 13 determinação do resto que gera um bit 1b resto 13 073 23 determinação do resto que gera um bit 2b resto 23 943 313 x 13 313 103 x 113 103 33 x 1113 33 10 x 01113 13 03 x 101113 Método das divisões sucessivas modo 2 943 31 resto 1 x 13 313 10 resto 1 x 113 103 3 resto 1 x 1113 33 1 resto 0 x 01113 13 0 resto 1 x 101113 Método da determinação das parcelas 8194243 349435 cinco bits 9434 81 Sim x 13 9481 13 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 17 1333 27 Não x 103 1332 9 Sim x 1013 139 4 431 3 Sim x 10113 43 1 130 1 Sim x 101113 110 Exemplo 13 x528d para base 3 Método das divisões sucessivas modo 1 003 03 determinação do resto que gera um bit 0b resto 03 033 13 determinação do resto que gera um bit 1b resto 13 073 23 determinação do resto que gera um bit 2b resto 23 5283 176 x 03 1763 587 x 203 583 193 x 1203 193 63 x 11203 63 2 x 011203 23 07 x 2011203 Método das divisões sucessivas modo 2 5283 176 resto 0 x 03 1763 58 resto 2 x 203 583 19 resto 1 x 1203 193 6 resto 1 x 11203 63 2 resto 0 x 011203 23 0 resto 2 x 2011203 Método da determinação das parcelas modo 1 243528729 3552836 seis bits 52835 243 Sim x 13 528243 285 28535 243 Sim x 23 285243 42 4234 81 Não x 203 4233 27 Sim x 2013 4227 15 1532 9 Sim x 20113 159 6 631 3 Sim x 201113 63 3 331 3 Sim x 201123 33 0 030 1 Não x 2011203 Método da determinação das parcelas modo 2 243528729 3552836 seis bits 52835 243 Sim duas vezes x 23 528486 42 4234 81 Não x 203 4233 27 Sim uma vez x 2013 4227 15 1532 9 Sim uma vez x 20113 159 6 631 3 Sim duas vezes x 201123 66 0 030 1 Não x 2011203 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 18 São efetuadas duas comparações com o número 243 Isso acontece porque este número cabe duas vezes dentro de 528 Se este cuidado não é tomado a próxima comparação com o nú mero 81 gera a seguinte situação errada 28534 81 Sim x 13 28581 204 Os números permanecem grandes indicando que a redução por meio da geração de bits não está acontecendo Além disso o número 81 cabe três vezes dentro de 285 mas 3 não é um sím bolo válido dentro da base ternária Exemplo 14 x971d para base 4 Método das divisões sucessivas modo 1 0004 04 determinação do resto que gera um bit 0b resto 04 0254 14 determinação do resto que gera um bit 1b resto 14 0504 24 determinação do resto que gera um bit 2b resto 24 0754 34 determinação do resto que gera um bit 3b resto 34 9714 24275 x 34 2424 605 x 234 604 15 x 0234 154 375 x 30234 34 075 x 330234 Método das divisões sucessivas modo 2 9714 242 resto 3 x 34 2424 60 resto 2 x 234 604 15 resto 0 x 0234 154 3 resto 3 x 30234 34 0 resto 3 x 330234 Método da determinação das parcelas modo 1 2569711024 4497145 cinco bits 97144 256 Sim x 14 971256 715 71544 256 Sim x 24 715256 459 45944 256 Sim x 34 459256 203 20343 64 Sim x 314 20364 139 13943 64 Sim x 324 13964 75 7543 64 Sim x 334 7564 11 1142 16 Não x 3304 1141 4 Sim x 33014 114 7 741 4 Sim x 33024 74 3 340 1 Sim x 330214 31 2 240 1 Sim x 330224 21 1 140 1 Sim x 330234 11 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 19 Método da determinação das parcelas modo 2 2569711024 4497145 cinco bits 97144 256 Sim três vezes x 34 9713256 203 20343 64 Sim três vezes x 334 203364 11 1142 16 Sim zero vezes x 3304 11016 11 1141 4 Sim duas vezes x 33024 1124 3 340 1 Sim três vezes x 330234 331 0 Exemplo 15 x363578d para hexadecimal 363578 16 22723625 0625 16 10 x Ah 22723 16 14201875 01875 16 3 x 3Ah 1420 16 8875 075 16 12 x C3Ah 88 16 55 05 16 8 x 8C3Ah 5 16 05 05 16 5 x 58C3Ah Exemplo 16 x363434d para base doze 363434 12 3028617 017 12 2 x 2h 30286 12 252383 083 12 10 x A2h 2523 12 21025 025 12 3 x 3A2h 210 12 175 05 12 6 x 63A2h 17 12 142 042 12 5 x 563A2h 1 12 008 008 12 1 x 1563A212 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 20 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 21 Capítulo 103 Números fracionários A progressão de potências dos dígitos inteiros apresentada no capítulo anterior pode ser expandida para os dígitos fracionários por meio do uso de potências negativas Posição Potência Casa das unidades 100 Casa dos décimos 101 Casa dos centésimos 102 Casa dos milésimos 103 Casa dos décimos de milésimos 104 Casa dos centésimos de milésimos 105 Casa dos milionésimos 106 Casa dos bilionésimos 109 Tabela 1 As principais casas decimais fracionárias 27128 2664 2532 2416 238 224 212 201 2105 22025 230125 2400625 25003125 260015625 2700078125 28000390625 Tabela 2 Potências de dois Estes valores podem ser representados por meio de frações parciais 21121 22122 23123 24124 25125 26126 27127 28128 Tabela 3 Frações parciais de dois 31131 32132 33133 34134 35135 36136 37137 38138 Tabela 4 Frações parciais de três n11n1 n21n2 n31n3 n41n4 n51n5 n61n6 n71n7 n81n8 Tabela 5 Frações parciais da base n 2112 2214 2318 24116 25132 26164 271128 281256 Tabela 6 Frações parciais de dois 3113 3219 33127 34181 351243 361729 3712187 3816561 Tabela 7 Frações parciais de três Números que contenham parcela fracionária podem ser expressos de duas formas a pri meira é a explicitação das duas parcelas separadas por uma vírgula ficando a parte inteira à es querda e a parte fracionária à direita Esta forma tem a vantagem de expressar claramente a ordem de grandeza do número em questão A segunda forma é por meio de uma divisão de dois números Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 22 inteiros uma fração irredutível Esta segunda forma tem a vantagem de eliminar erros de arredon damento quando a fração irredutível gera dízimas periódicas Por causa destes erros de arredonda mento é recomendado que os cálculos sejam todos efetuados na forma de frações e somente após a obtenção da fração final esta divisão seja efetuada gerando um número que pode conter algum erro de arredondamento em ração da quantidade de casas decimais adotada em sua repre sentação Tomando esse cuidado ainda que algum erro de arredondamento ocorra na representa ção do valor final não acontece propagação de erro entre um cálculo e outro No processo de conversão de um número fracionário decimal para alguma outra base nem sempre é possível obter o resultado final exato Muitas vezes a quantidade de dígitos fracionários decorrentes da conversão é muito grande e indeterminável Sendo este o caso é preciso definir a quantidade máxima de bits fracionários usados no resultado da conversão Quando o número fra cionário é maior do que 1 é preciso inspecionar a potência do dígito mais significativo Quando o número fracionário é menor do que 1 então a primeira potência já está determinada e é 1 Exemplo 1 x 0101b x 121 022 123 x 121 022 123 1 x 121 022 123 2323 x 23121 23022 23123 23 x 122 021 120 23 x 4 0 18 x 58 x 0625d Outra forma x 121 022 123 x 105 0025 10125 x 0625d Exemplo 2 Converter para decimal x 10110b x 122 021 120 121 022 x 14 02 11 12 04 x 164 04 44 24 04 x 16 0 4 2 04 x 224 x 112 x 55d Exemplo 3 Converter para decimal x 001101101101b x 026 025 124 123 022 121 120 021 122 123 024 125 x 24 23 21 20 22 23 25 x 16 8 2 1 14 18 132 x 3216 328 322 321 3214 3218 32132 32 x 512 256 64 32 8 4 1 32 x 477 32 x 2740625d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 23 Outra forma x 026 025 124 123 022 121 120 021 122 123 024 125 x 24 23 21 20 22 23 25 x 2524 2523 2521 2520 2522 2523 2525 25 x 29 28 26 25 23 22 20 25 x 512 256 64 32 8 4 1 32 x 477 32 x 2740625d Exemplo 4 Converter para decimal x 01023 x 131 032 233 x 33131 33032 33233 33 x 321 310 302 33 x 9 0 2 27 x 11 27 não contém erro de arredondamento x 0407d contém erro de arredondamento mas não há propagação de erro Outra forma x 131 032 233 x 10333 00111 20037 x 10333 00111 20037 x 0407d Quando as parcelas não são exatas esta outra forma não é recomendada porque pode pro vocar erros de arredondamento Exemplo 5 Converter para decimal x 1014 x 141 040 141 x 14 01 14 x 4 0 14 x 164 04 44 x 16 0 14 x 174 x 425d Exemplo 6 Converter para decimal x 2113 x 230 131 232 x 33230 33131 33132 33 x 332 321 311 33 x 272 91 311 33 x 54 9 3 27 x 66 27 não contém erro de arredondamento x 2444d contém erro de arredondamento mas não há propagação de erro Na conversão de um número decimal fracionário para uma outra base quando a subtração de uma parcela resulta em um resto zero conforme o exemplo 7 isto significa que as parcelas fra cionárias já foram todas determinadas e o processo de conversão está concluído Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 24 Quando o número possui apenas casas fracionárias este cálculo pode ser feito também por meio de multiplicações sucessivas Exemplo 7 Converter para binário x 0625d Método das multiplicações sucessivas 06252 125 x 01b 1251 025 0252 05 x 010b 052 1 x 0101b 11 0 x 0101b Método da determinação das parcelas 062521 05 Sim x 01b 062505 0125 012522 025 Não x 010b 012523 0125 Sim x 0101b 01250125 0 x 0101b Exemplo 8 Converter para binário x 55d Método das divisões sucessivas e multiplicações sucessivas 52 2 resto 1 x 1b 22 1 resto 0 x 10b 12 0 resto 1 x 101b 205 1 x 1011b x 0101b Método da determinação das parcelas 5522 4 Sim x 1b 554 15 1521 2 Não x 10b 1520 1 Sim x 101b 151 05 0521 05 Sim x 1011b 0505 0 x 1011b Exemplo 9 Converter para binário x 2740625d Método das divisões sucessivas e multiplicações sucessivas 272 13 resto 1 x 1b 132 6 resto 1 x 11b 62 3 resto 0 x 011b 32 1 resto 1 x 1011b 12 0 resto 1 x 11011b 2040625 08125 x 110110b 208125 1625 x 1101101b 16251 0625 20625 125 x 11011011b 1251 025 2025 05 x 110110110b 20 5 10 x 1101101101b 101 0 x 1101101101b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 25 Método da determinação das parcelas 322716 274062524 16 Sim x 1b 274062516 1140625 114062523 8 Sim x 11b 11406258 340625 34062522 4 Não x 110b 34062521 2 Sim x 1101b 3406252 140625 14062520 1 Sim x 11011b 1406251 040625 04062521 05 Não x 110110b 04062522 025 Sim x 1101101b 040625025 015625 01562523 0125 Sim x 11011011b 0156250125 003125 00312524 00625 Não x 110110110b 00312525 003125 Sim x 1101101101b 003125003125 0 x 1101101101b Exemplo 10 Converter para binário x 07231d 5 bits fracionários Método das multiplicações sucessivas 207231 14462 x 01b 144621 04462 204462 08924 x 010b 208924 17848 x 0101b 178481 07848 207848 15696 x 01011b 156961 05696 205696 11392 x 010111b 113921 01392 Resto 0139225 Resto 000435d x 010111b Método da determinação das parcelas 0723121 05 Sim x 01b 0723105 02231 0223122 025 Não x 010b 0223123 0125 Sim x 0101b 022310125 00981 0098124 00625 Sim x 01011b 0098100625 00356 0035625 003125 Sim x 010111b 00356003125 000435 Resto 000435d x 010111b Neste exemplo 10 não é possível obter o resultado exato Existe então um erro Erro ou resto 000435d Verificação x 010111b x 121 022 123 024 125 x 12 04 18 116 132 x 1632 032 432 232 132 x 16042132 x 2332 x 071875d x x erro x 2332 000435 x 23 0139232 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 26 x 23139232 x 07231d Exemplo 11 Converter para ternário x 0407d Método das multiplicações sucessivas 31127 119 119 122 x 013 119 1 29 329 23 23 067 x 0103 323 2 x 01023 x 01023 Método da determinação das parcelas 040731 0333 Sim xA 013 04070333 0074 007432 0111 Não xA 0103 007433 0037 Sim xA 01013 00740037 0037 003733 0037 Sim xA 01023 00370037 0 xA 01023 Neste exemplo 11 existe o risco de incorrer em erro decorrente dos arredondamentos das divisões ternárias O uso das frações explícitas resolve este problema 040713 1221313 Sim xB 013 1221313 02213 0221319 0663919 Não xB 0103 06639127 198927127 Sim xB 01013 198927127 098927 098927181 296781181 Sim xB 01023 2967281 096781 Resto 096781 xB 010123 aproximado para quatro bits fracionários Por que razão xA xB A explicação está no fato de que este exemplo 11 está baseado no exemplo 4 e o valor x 0407d é uma aproximação de x 1127 O arredondamento é a causa do erro encontrado no cálculo acima O erro é eliminado se o valor exato a fração é usada no cálculo da conversão para ternário 1127927 Sim x 013 1127927 227 227327 Não x 0103 227127 Sim 2x x 01023 2272127 0 x 01023 Exemplo 12 Converter para ternário x 07231d 5 bits fracionários Diferentemente do exemplo anterior não podemos representar este número por meio de uma fração Não podemos aplicar a técnica isenta de erros de aproximação Neste caso é preciso usar os valores obtidos da divisão armazenados na memória da calculadora Método das multiplicações sucessivas 307231 21693 x 023 301693 05079 x 0203 305079 15237 x 02013 305237 15711 x 020113 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 27 305711 17133 x 0201113 117133 07133 Resto 0713335 Resto 07133243 x 0201113 Método da determinação das parcelas 216933 13 Sim x 013 21693313 116933 116933 13 Sim x 023 11693313 016933 050799 19 Não x 0203 1523727 127 Sim x 02013 1523727127 0523727 1571181 181 Sim x 020113 1571181181 0571181 17133243 1243 Sim x 0201113 171332431243 07133243 Resto 07133243 x 0201113 Considerando que todos os cálculos foram efetuados por meio das frações não há nenhum erro de arredondamento por parte da pessoa que fez estas contas O único erro presente inevitável está associado às dízimas periódicas porém como tais cálculos foram todos feitos por meio das frações então não há propagação de erro O erro ou resto é dado por Erro 07133243 Erro 00029353909465021d Façamos o cálculo contrário a título de verificação x 0201113 x 231 032 133 134 135 x 35231 35032 35133 35134 35135 35 x 342 330 321 311 301 35 x 812 270 91 31 11 243 x 162 0 9 3 1 243 x 175 243 x 07201646090534979d x x erro x 175 243 07133243 x 1757133 243 x 07231d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 28 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 29 Capítulo 104 Números negativos O ser humano é o único animal que entende o significado de números negativos e mesmo assim tal entendimento somente acontece por volta dos seis ou sete anos de vida Dentro da física várias grandezas aceitam valores negativos Uma bolha é uma massa negativa Um elétron é uma carga elétrica negativa O frio é o calor negativo Existem três métodos de representação de números binários negativos Sinalamplitude Complemento de 1 Complemento de 2 Somente o terceiro método é de fato empregado nos circuitos reais e nas calculadoras A vantagem desta representação é que diferentemente das outras ela não desperdiça uma combi nação de bits Em todas estas formas o bit mais significativo é o indicativo de sinal Se 0 o sinal é positivo Se 1 o sinal é negativo Quando se fala de números com sinal subentendese tratarse da representação de complemento de dois Quando a representação é alguma outra é necessário indicação explícita desta representação O método de sinalamplitude embora não seja aplicado nos circuitos reais serve como uma introdução didática para o estudo do método que realmente importa Além disso a comparação entre o primeiro método e o terceiro método evidencia as vantagens deste último O método de sinalamplitude é dentre os três aquele que implica na maior facilidade de compreensão O bit mais significativo MSb most significant bit localizado à esquerda identifica o sinal do número Os demais bits quantificam o número em questão tanto no caso de ser positivo como negativo Esta quantização é a mesma para ambos sinais A quantização é obtida por meio da análise dos bits localizados à direita do MBb Esta quan tização recebe o sinal apontado pelo MSb Como este método não é o foco deste texto serão apre sentadas tabelas comparativas deste com o método de complemento de dois mais adiante A fim de que se possa fazer corretamente a conversão de binário para decimal é necessário que se saiba de antemão se o número em questão possui ou não sinal Se não possui então o bit mais significativo representa a quantidade mais significativa da grandeza é um bit de magnitude Se sim então este bit indica o sinal Este conceito também pode ser compreendido por meio do sinal da maior potência se o número é positivo a maior potência recebe sinal positivo se o número é negativo a maior potência recebe sinal negativo A ausência de informação a respeito da função do bit à esquerda pressupõe a interpretação de que o número seja positivo e de que o bit à esquerda seja de amplitude Se o número é negativo então a maior potência precisa ser obrigatoriamente multiplicada por um pois se é multiplicada por zero então a parcela negativa não existe e por esse motivo o número é positivo Considerando que quanto ao sinal existem apenas duas opções positivo e negativo então o bit de sinal assume apenas dois valores zero e um respectiva mente qualquer que seja a base adotada sinal amplitude B A Decimal Cálculo 0 0 0 0 1 1 1 0 2 0 21 2 1 1 1 1 21 1 Tabela 1 Esquema para números binários de dois bits com sinal sinal amplitude Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 30 C B A Decimal Cálculo 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 0 22 1 0 1 3 1 22 1 1 0 2 2 22 1 1 1 1 3 22 Tabela 2 Esquema para números binários de três bits com sinal sinal amplitude D C B A Decimal Cálculo 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 0 23 1 0 0 1 7 1 23 1 0 1 0 6 2 23 1 0 1 1 5 3 23 1 1 0 0 4 4 23 1 1 0 1 3 5 23 1 1 1 0 2 6 23 1 1 1 1 1 7 23 Tabela 3 Esquema para números binários de quatro bits com sinal sinal amplitude C B A Decimal Cálculo 0 0 0 0 0 0 1 1 0 0 2 2 0 1 0 3 0 1 1 4 0 1 2 5 0 2 0 6 0 2 1 7 0 2 2 8 1 0 0 9 0 32 1 0 1 8 1 32 1 0 2 7 2 32 1 1 0 6 3 32 1 1 1 5 4 32 1 1 2 4 5 32 1 2 0 3 6 32 1 2 1 2 7 32 1 2 2 1 8 32 Tabela 4 Esquema para números ternários de três bits com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 31 B A Decimal Cálculo 0 0 0 021 020 0 1 1 021 120 1 0 2 121 020 1 1 1 121 120 Tabela 5 Esquema para números binários de dois bits com sinal C B A Decimal Cálculo 0 0 0 0 022 021 020 0 0 1 1 022 021 120 0 1 0 2 022 121 020 0 1 1 3 022 121 120 1 0 0 4 122 021 020 1 0 1 3 122 021 120 1 1 0 2 122 121 020 1 1 1 1 122 121 120 Tabela 6 Esquema para números binários de três bits com sinal C B A Decimal Cálculo 0 0 0 0 032 031 030 0 0 1 1 032 031 130 0 0 2 2 032 031 230 0 1 0 3 032 131 030 0 1 1 4 032 131 130 0 1 2 5 032 131 230 0 2 0 6 032 231 030 0 2 1 7 032 231 130 0 2 2 8 032 231 230 1 0 0 9 132 031 030 1 0 1 8 132 031 130 1 0 2 7 132 031 230 1 1 0 6 132 131 030 1 1 1 5 132 131 130 1 1 2 4 132 131 230 1 2 0 3 132 231 030 1 2 1 2 132 231 130 1 2 2 1 132 231 230 Tabela 7 Esquema para números ternários de três bits com sinal bits Fórmula 2 B21 A20 3 C22 B21 A20 4 D23 C22 B21 A20 5 E24 D23 C22 B21 A20 Tabela 8 Fórmulas para números binários com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 32 B A Sinalamplitude Complemento de dois 0 0 0 0 0 1 1 1 1 0 0 2 1 1 1 1 Tabela 9 Comparação dos métodos para dois bits com sinal C B A Sinalamplitude Complemento de dois 0 0 0 0 0 0 0 1 1 1 0 1 0 2 2 0 1 1 3 3 1 0 0 0 4 1 0 1 1 3 1 1 0 2 2 1 1 1 3 1 Tabela 10 Comparação dos métodos para três bits com sinal D C B A Sinalamplitude Complemento de dois 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 2 2 0 0 1 1 3 3 0 1 0 0 4 4 0 1 0 1 5 5 0 1 1 0 6 6 0 1 1 1 7 7 1 0 0 0 0 8 1 0 0 1 1 7 1 0 1 0 2 6 1 0 1 1 3 5 1 1 0 0 4 4 1 1 0 1 5 3 1 1 1 0 6 2 1 1 1 1 7 1 Tabela 11 Comparação dos métodos para quatro bits com sinal O método de sinalamplitude apresenta duplicidade na representação do número zero in dicando que existe a perda de uma representação numérica Este problema não existe no método de complemento de dois que representa um número diferente para todas as combinações de bits Exemplo 1 x 10110b com sinal Método 1 A quantidade total de bits é 5 a quantidade de bits de magnitude é 4 24 16 0110b 6d x 6 16 x 10d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 33 Método 2 x 124 023 122 121 020 x 116 08 14 12 01 x 16 0 4 2 0 x 10d Método 3 x 01001b x 1 01010b x 10d x 10d Exemplo 2 x 110011b com sinal Método 1 A quantidade total de bits é 6 a quantidade de bits de magnitude é 5 25 32 10011b 19d x 19 32 x 13d Método 2 x 125 124 023 022 121 120 x 132 116 08 04 12 11 x 32 16 0 0 2 1 x 13d Método 3 x 001100b x 1 001101b x 13d x 13d Exemplo 3 x 1110101b com sinal Método 1 A quantidade total de bits é 7 a quantidade de bits de magnitude é 6 26 64 110101b 53d x 53 64 x 11d Método 2 x 126 125 124 023 122 021 120 x 164 132 116 08 14 02 11 x 64 32 16 0 4 0 1 x 11d Método 3 x 0001010b x 1 0001011b x 11d x 11d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 34 Exemplo 4 x 10000101111011b com sinal Método 1 A quantidade total de bits é 14 a quantidade de bits de magnitude é 13 213 8192 0000101111011b 379d x 379 8192 x 7813d Método 2 x 1213 0212 0211 0210 029 128 027 126 125 124 123 022 121 120 x 18192 04096 02048 01024 0512 1256 0128 164 132 116 18 04 12 11 x 8192 256 64 32 16 8 2 1 x 7813d Método 3 x 01111010000100b x 1 01111010000101b x 7813d x 7813d Exemplo 5 x 121103 com sinal Método 1 A quantidade total de bits é 5 a quantidade de bits de magnitude é 4 34 81 21103 233 132 131 030 21103 227 19 131 030 21103 54 9 3 0 21103 66d x 66 81 x 15d Método 2 x 134 233 132 131 030 x 181 227 19 13 01 x 81 54 9 3 0 x 15d Exemplo 6 x 12134 com sinal Método 1 A quantidade total de bits é 4 a quantidade de bits de magnitude é 3 43 64 2134 242 141 340 2134 216 14 31 2134 32 4 3 2134 39d x 39 64 x 25d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 35 Método 2 x 143 242 141 340 x 164 216 14 31 x 64 32 4 3 x 25d Exemplo 7 x 13Fh com sinal PIC 8 bits Método 1 A quantidade total de bits é 9 a quantidade de bytes de magnitude é 2 162 256 3Fh 3161 15160 3Fh 48 15 3Fh 63 x 63 256 x 193d Método 2 x 1162 3161 15160 x 1256 316 151 x 256 48 15 x 193d Exemplo 8 x 9d 5 bits A quantidade de bits de magnitude é 4 a quantidade total de bits é 415 24 16 x 16 9 x 11d 11 1011b x 11011b Exemplo 9 x 9d 6 bits A quantidade de bits de magnitude é 5 a quantidade total de bits é 516 25 32 x 32 9 x 23d 23 10111b x 110111b Exemplo 10 x 9d 7 bits A quantidade de bits de magnitude é 6 a quantidade total de bits é 617 26 64 x 64 9 x 55d 55 110111b x 1110111b Exemplo 11 x 47d 8 bits A quantidade de bits de magnitude é 7 a quantidade total de bits é 718 27 128 x 128 47 x 81d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 36 81 1010001b x 11010001b Exemplo 12 x 25d 9 bits A quantidade de bits de magnitude é 8 a quantidade total de bits é 819 28 256 x 256 23 x 233d 233 11101001b x 111101001b Exemplo 13 x 200d 9 bits A quantidade total de bits é 9 a quantidade de bits de magnitude é 8 28 256 x 256 200 x 56d 56 00111000b x 100111000b Exemplo 14 x 47d 4 bits ternários de amplitude e 1 bit de sinal O quinto bit o sinal é de ordem 4 34 81 x 81 47 x 34d 34 10213 x 110213 Exemplo 15 x 53d 6 bits quaternários de amplitude e 1 bit de sinal O sexto bit o sinal é de ordem 5 45 1024 x 1024 53 x 971d 971 330234 x 1330234 Exemplo 16 x 100d com sinal PIC 8 bits A quantidade total de bits é 9 a quantidade de bytes de magnitude é 8 O nono bit o sinal é de ordem 8 28 256 x 256 100 x 156d 156 9Ch x 19Ch Exemplo 17 x 1011b com sinal x 122021120121 x 140211105 x 40105 x 25d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 37 Exemplo 18 x 25d com sinal usar a quantidade mínima de bits Mínima potência de 2 que excede 25 4 22 Três bits para a parte inteira dois bits de amplitude inteira x x 22 25 x 22 x x 4 25 x 4 x x 15d x 1000b 0011b x 011b x 1011b Exemplo 19 x 02d com sinal cinco bits fracionários Considerando que este número possui apenas a parcela fracionária é necessário que se defina a localização do bit de sinal Este bit pode ser qualquer um que esteja localizado à esquerda dos bits com valor 1 Usar a casa zero 20 como sinalização x 1202122 x 12122 02 12122 y 1x y 102 y 08 08 2122 21 05 y 01b 08 05 03 22 025 y 011b 03 025 005 23 0125 y 0110b 24 00625 y 01100b 25 003125 y 011001b 005 003125 001875 x 1y x 1b 011001b x 111001b complemento de 2 Usar a casa zero 21 como sinalização x 121202122 x 2202122 02 22122 y 2x y 202 y 18 18 202122 20 1 y 1b 18 1 08 21 05 y 11b 08 05 03 22 025 y 111b 03 025 005 23 0125 y 1110b 24 00625 y 11100b 25 003125 y 111001b 005 003125 001875 x 2y x 10b 111001b x 1111001b complemento de 2 Usar a casa zero 21 como sinalização x 1212223 x 052223 02 052223 y 05x y 0502 y 03 03 2223 22 025 y 001b 03 025 005 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 38 23 0125 y 0010b 24 00625 y 00100b 25 003125 y 001001b 005 003125 001875 x 05y x 01b 001001b x 011001b complemento de 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 39 Capítulo 105 Bases binária quaternária octal e hexadecimal Nos capítulos anteriores foi apresentada a metodologia de conversão de uma base para outra de maneira genérica Algumas bases no entanto possuem certas particularidades que per mitem uma conversão mais rápida e mais fácil Esse é o caso por exemplo das bases de potências de dois As principais seriam a binária a quaternária a octal e a hexadecimal As conversões entre a base 4 e a base 8 e entre a base 8 e a base 16 não podem ser feitas diretamente é preciso fazer primeiro a conversão para binário Base 4 Base 2 0 00 1 01 2 10 3 11 Tabela 1 Conversão entre base 4 e a base 2 Base 8 Base 2 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Tabela 2 Conversão entre base 4 e a base 2 Base 16 Base 2 Base 4 0 0000 00 1 0001 01 2 0010 02 3 0011 03 4 0100 10 5 0101 11 6 0110 12 7 0111 13 8 1000 20 9 1001 21 A 1010 22 B 1011 23 C 1100 30 D 1101 31 E 1110 32 F 1111 33 Tabela 3 Conversão entre base 16 e as bases 2 e 4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 40 Exemplo 1 Converter x 10111b para quaternário x 010111b x 1134 Exemplo 2 Converter x 10101011b para octal x 10101011b x 253o Exemplo 3 Converter x 10010111011b para hexadecimal x 10010111011b x 4BBh Exemplo 4 Converter x 3320314 para binário x 111110001101b x 111110001101b Exemplo 5 Converter x 13022114 para hexadecimal x 13022114 x 1CAh Exemplo 6 Converter x 310223214 para octal x 1101001010111001b x 1101001010111001b x 151271o Exemplo 7 Converter x 36024o para binário x 011101000010100b x 011101000010100b Exemplo 8 Converter x 135006o para quaternário x 001011101000000110b x 001011101000000110b x 0232200124 Exemplo 9 Converter x 3672o para hexadecimal x 0111101110108 x 0111101110104 x 7BAh Exemplo 10 Converter x 1FCh para binário x 000111111100b x 000111111100b Exemplo 11 Converter x A07Fh para quaternário x 1010000001111111b x 1010000001111111b x 220013334 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 41 Exemplo 12 Converter x 3F075h para octal x 00111111000001110101b x 001111110000011101014 x 07701658 Exemplo 13 x 75h obter y x2 x 75h x 01110101h y 011101010h y 0EAh caso o formato seja de 9 bits y EAh caso o formato seja de 8 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 42 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 43 Capítulo 106 Adição aritmética Números binários permitem a execução das operações de adição subtração multiplicação e divisão O mesmo acontece com as bases ternária quaternária e assim por diante Estas opera ções seguem as mesmas regras qualquer que seja a base adotada Neste capítulo será abordada a operação aritmética da adição Os dois elementos de entrada são chamados de parcelas Este nome indica que tais ele mentos apontam para os valores parciais do resultado da operação Parcialidade implica na repre sentação de uma parte de um todo No contexto da lógica argumentativa imparcialidade significa o não acolhimento de nenhuma das partes envolvidas na argumentação O resultado da operação de adição é chamado de soma Muitos professores de matemá tica de maneira errada falam em operação de soma Sob o contexto da matemática não é per mitida a soma de três ou mais parcelas diretamente embora isto possa ser feito de maneira infor mal no contexto da engenharia No contexto da matemática qualquer operação pode ser feita com quaisquer números ex ceto o número zero No contexto das engenharias adição subtração e comparação podem ser aplicados somente entre palavras binárias com exatamente a mesma quantidade de bits Se mate maticamente a quantidade de bits inteiros não é a mesma entre as parcelas então zeros à es querda precisam ser acrescentados a fim de igualar esta quantidade Se matematicamente a quan tidade de bits fracionários não é a mesma entre as parcelas então zeros à direita precisam ser acrescentados O resultado da adição e da subtração também precisam ter necessariamente a mesma quantidade de bits das palavras de entrada Multiplicação e divisão podem ser feitas com números de tamanho de bits diferentes No contexto da matemática é possível efetuar estas operações entre números expressos em bases diferentes porém porém é recomendável que tanto as parcelas como a soma sejam nú meros da mesma base A operação de adição binária de um bit gera dois bits de saída Um deles corresponde ao bit de soma e o outro corresponde ao carregamento para a casa binária à esquerda Este bit é chamado de carry também é chamado de vaium O bit carry pode receber apenas dois valores zero ou um qualquer que seja a base ado tada Na base decimal a máxima soma de dois dígitos é 18 o que implica em carry1 Na base binária a máxima soma resulta em 10b carry1 Na base ternária a máxima soma resulta em 113 carry1 e assim por diante Quando se usam três ou mais parcelas então é possível gerar um carregamento superior a 1 porém este caso não é considerado haja vista que o formalismo matemático não admite esse tipo de operação A operação de adição ternária ou superior também gera dois bits de saída Um deles corres ponde ao bit de soma e este bit é representado na mesma base das parcelas O outro bit corres ponde ao carry chamado de vaium e este bit é sempre binário independentemente da base adotada Para fim de introdução teórica será apresentada a adição binária e posteriormente a adição em outras bases Este procedimento aplicado à base decima implica no método clássico de adição ensinado para as crianças na escola Na adição decimal a máxima soma é obtida com 99 cujo resultado é 18 sendo 8 o bit decimal de soma e 1 o bit de carry A adição de dois bits precisa levar em consideração o bit de carregamento proveniente da casa binária à direita Por esse motivo há dois tipos de carry Carryout É o bit enviado à casa binária à esquerda Carryin É o bit recebido da casa binária à direita Para o bit menos significativo o carryin vale sempre zero Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 44 Para o bit mais significativo o carryout não possui uma casa binária para onde pode ser enviado assumindo então um outro significado ele representa o estouro de capacidade de repre sentação overflow transbordo Este bit possui significado quantitativo no resultado para a deter minação do valor decimal equivalente porém não faz parte da palavra de saída a soma haja vista que esta palavra precisa necessariamente ter a mesma quantidade de bits das duas parcelas O bit de overflow permite então que o estouro na capacidade de representação não comprometa o sig nificado quantitativo da resposta Sendo assim se as palavras binárias das parcelas e da soma pos suem n bits então o resultado numérico é formado por n1 bits Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 2 Tabela 1 Adição de um bit LSb Carry in Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 2 1 0 0 0 1 1 1 0 1 1 0 2 1 1 0 1 0 2 1 1 1 1 1 3 Tabela 2 Adição de um bit demais bits Carry in Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 0 0 1 0 1 1 0 0 2 0 2 2 0 1 0 0 1 1 0 1 1 0 2 2 0 1 2 1 0 3 0 2 0 0 2 2 0 2 1 1 0 3 0 2 2 1 1 4 1 0 0 0 1 1 1 0 1 0 2 2 1 0 2 1 0 3 1 1 0 0 2 2 1 1 1 1 0 3 1 1 2 1 1 4 1 2 0 1 0 3 1 2 1 1 1 4 1 2 2 1 2 5 Tabela 3 Adição de um bit ternário Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 45 S Cyin P1 P2 Conforme foi explicado todas as palavras binárias envolvidas na adição precisam ter neces sariamente o mesmo tamanho em bits no contexto dos circuitos digitais Isso significa que a res posta da adição é formada por duas palavras a saber a soma e o overflow Se a operação envolve apenas duas parcelas então a palavra overflow é formada por apenas um único bit Se porém a operação envolve três ou mais bits então a palavra overflow pode ser formada por dois bits ou mais Para os professores de matemática de engenharia e na bibliografia correlata não existe consenso quanto a formação do resultado da adição binária Em muitos livros e artigos científicos em muitas aulas é possível observar que muitos eruditos neste assunto consideram que a palavra soma inclui a palavra overflow Nesta interpretação o bit de overlfow corresponde ao MSb da palavra da soma Qual interpretação está correta As duas A corretude porém depende da plena compre ensão da interpretação adotada No contexto da matemática pura a interpretação que determina que o bit de overlfow consiste do MSb da palavra da soma é mais interessante porque produz um maior apelo à intuição No contexto dos sistemas digitais porém é mais conveniente considerar que o bit de overflow não faz parte da palavra soma principalmente quando existe um barra mento central de dados Em sistemas microcontrolados onde existe um barramento de dados centralizado data bus a quantidade de bits deste data bus corresponde ao tamanho das duas parcelas e da soma Isto significa que o bit de overflow não cabe no data bus Este bit é enviado para um registro de bits de sinalização Desta forma a palavra soma não representa o valor verdadeiro do resultado nu mérico da adição Este valor é obtido por meio da adição da palavra soma com o bit OV multipli cado pela devida potência de dois No caso dos microcontroladores da família 8bit PIC o regis trador W work register recebe os oito bits menos significativos do resultado da operação de adição das duas parcelas de oito bits O nono bit o bit de overflow é enviado para o registro de sinalização C Se C0 então o resultado da adição é dado diretamente pelos oito bits do registro W Se C1 então o resultado da adição é dado pelo registro W somado a 256 Nos exemplos numéricos a seguir será dado o nome S sum à composição quantitativa das palavras de overflow e de soma determinando o resultado quantitativo da adição Exemplo 1 A 4d B 2d 0 0 1 0 0 4 0 1 0 2 1 1 0 6 S 110b Exemplo 2 A 4d B 3d 0 0 1 0 0 4 0 1 1 3 1 1 1 7 S 111b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 46 Exemplo 3 A 5d B 1d 0 1 1 0 1 5 0 0 1 1 1 1 0 6 S 110b Exemplo 4 A 5d B 3d 1 1 1 0 1 5 0 1 1 3 1 0 0 0 8 Palavra soma 000b 0d Resultado soma 23 08 8d S 1000b Exemplo 5 A 7 B 3 1 1 1 1 1 7 0 1 1 3 1 0 1 0 10 Palavra soma 010b 2d Adição soma 23 28 10 S 1010b Exemplo 6 A 7 B 7 1 1 1 1 1 7 1 1 1 7 1 1 1 0 14 Palavra soma 110b 6d Adição soma 23 68 14 S 1110b Exemplo 7 ternário A 19 B 14 0 1 2 0 1 19 1 1 2 14 1 0 2 0 33 Palavra soma 0203 6d Adição soma 33 627 33 S 1020b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 47 Exemplo 8 hexadecimal A 781 B 1384 0 1 3 0 D 781 5 6 8 1384 8 7 5 2165 S 875b Exemplo 9 A 275d B 125 1 1 1 1 01 1 275 0 10 1 125 1 0 00 0 400 A matemática clássica não permite a adição de três parcelas ou mais porém no contexto da engenharia esta expansão é permitida Quando existem mais do que duas parcelas o carregamento pode ser maior do que 1 Neste caso podemos entender que a palavra carry é formada por mais de um bit Cada bit da palavra carry é colocado sobre uma casa binária diferente Carry in Parcela 1 Parcela 2 Parcela 3 Carry out Soma Decimal 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 2 0 1 0 0 0 1 1 0 1 0 1 1 0 2 0 1 1 0 1 0 2 0 1 1 1 1 1 3 1 0 0 0 0 1 1 1 0 0 1 1 0 2 1 0 1 0 1 0 2 1 0 1 1 1 1 3 1 1 0 0 1 0 2 1 1 0 1 1 1 3 1 1 1 0 1 1 3 1 1 1 1 2 0 4 2 0 0 0 1 0 2 2 0 0 1 1 1 3 2 0 1 0 1 1 3 2 0 1 1 2 0 4 2 1 0 0 1 1 3 2 1 0 1 2 0 4 2 1 1 0 2 0 4 2 1 1 1 2 1 5 Tabela 4 Adição de três parcelas de um bit Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 48 Exemplo 10 0 0 0 1 0 0 0 8 0 0 0 1 1 0 1 0 0 4 1 1 0 1 13 Exemplo 11 1 0 1 0 1 5 1 1 0 6 0 1 0 2 1 1 0 1 13 Exemplo 12 1 1 0 1 1 1 0 14 1 0 1 0 10 0 1 1 1 7 1 1 1 1 1 31 Exemplo 13 1 1 2 1 1 0 0 11 95 0 1 0 10 50 0 1 1 11 75 1 0 1 1 00 220 Exemplo 14 2 2 1 1 1 1 1 01 145 0 1 1 00 60 0 1 1 11 75 1 1 1 0 00 280 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 49 Exemplo 15 2 1 1 1 1 1 1 1 01 145 1 0 1 00 100 1 1 0 11 135 1 0 0 1 1 00 380 No exemplo 15 o carryout do MBb tem valor dois Quando este carry desce para formar o overflow ele precisa ser convertido para binário formando dois bits Em outras palavras a palavra overflow é formada por dois bits A complexidade do procedimento da operação da adição de três ou mais parcelas com relação aos carregamentos de valores elevados gerando cargas de dois ou mais bits mostram que os matemáticos estão corretos quando dizem que a operação de adição aritmética somente pode ser efetuada para duas parcelas O cálculo tornase mais fácil quando na ocorrência de três ou mais parcelas a operação da adição aritmética é efetuada em múltiplas eta pas sempre operando duas parcelas Os exemplos 13 14 e 15 podem ser refeitos usando bits binários nos carregamentos tor nando a análise mais coerente em relação aos circuitos digitais O carregamento é representado por uma dupla camada uma para cada bit Neste caso temos uma soma de cinco elementos as três parcelas e as duas camadas de carregamento Exemplo 13 com carregamento binário 0 1 0 0 1 0 0 1 1 0 0 11 95 0 1 0 10 50 0 1 1 11 75 1 0 1 1 00 220 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 50 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 51 Capítulo 107 Subtração positiva No capítulo anterior foi apresentada a operação da adição aritmética binária A subtração binária segue as mesmas regras da subtração decimal A palavra subtração significa tração para baixo puxamento para baixo Em outras palavras a subtração consiste no processo de diminui ção no valor quantitativo representado por um certo número Embora o conceito da adição aritmética possa ser extrapolado para três ou mais parcelas a operação da subtração aritmética permite apenas o uso de dois argumentos Minuendo Subtraendo O primeiro elemento de entrada é chamado de minuendo porque é quem sofre a diminui ção é o número que sofre a tração para baixo O segundo elemento é chamado de subtraendo é o número que determina a intensidade da diminuição do valor do minuendo O resultado da opera ção de subtração aritmética é chamado de resto ou diferença Subtração positiva é aquela onde o subtraendo é menor ou igual ao minuendo Neste capí tulo por razões didáticas será apresentada somente a subtração positiva A subtração negativa implica na observação da representação de números negativos e é apresentada no capítulo se guinte Considerando que a operação aritmética de subtração possui apenas dois argumentos mi nuendo e subtraendo é possível desenvolver apenas subtrações positivas No caso onde o minu endo é menor do que o subtraendo é possível inverter a ordem dos argumentos efetuar a subtra ção positiva e depois transformar o resultado positivo em negativo Essa inversão não implica po rém na troca dos papéis dos dois argumentos haja vista que minuendo e subtraendo possuem significados diferentes Neste capítulo os três primeiros exemplos na sequência são decimais e precisam ser muito bem entendido a fim de que se apreenda o entendimento acerca do procedimento de subtração aritmética binária que segue exatamente o mesmo procedimento Quando se usam o tradicional jargão vem um na subtração decimal este um é proveni ente da casa decimal à esquerda e implica na soma de uma dezena na casa decimal à direita Isto se deve ao fato de que uma unidade em uma casa à direita representa uma dezena na casa à esquerda por causa da base decimal 10d O empréstimo então é de uma unidade do ponto de vista da casa decimal à esquerda e de uma dezena do ponto de vista da casa decimal à direita Seguindo exatamente o mesmo procedimento da subtração decimal a subtração binária também faz uso dos empréstimos Uma unidade em uma casa à direita representa o valor dois na casa à esquerda por causa da base binária 10b Uma unidade em uma casa ternária à direita representa o valor três na casa ternária à esquerda por causa da base ternária 10b e assim por diante Os conceitos apresentados a respeito da subtração decimal e binária podem ser aplicados a qualquer outra base de numeração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 52 Exemplo 1 decimal A 743 B 421 R AB 743 421 322 R 322 Esta subtração pode ser separada pelos seus dígitos 700 40 3 400 20 1 300 20 2 300202 322 Minuendo Subtra endo Resto Unidades 3 1 2 Dezenas 4 2 2 Centenas 7 4 3 Tabela 1 Explicação da subtração decimal do exemplo 1 Neste primeiro exemplo todas as casas decimais sofrem uma subtração positiva não sendo necessário efetuar nenhum empréstimo Tratase de uma situação de fácil compreensão e por isso possui caráter introdutório Exemplo 2 decimal A 743d B 461d R AB 743 461 282 R 282d Esta subtração pode ser separada pelos seus dígitos 700 40 3 400 60 1 300 2 A subtração do segundo dígito não pôde ser efetuada porque geraria um número negativo Considerando que as casas decimais possuem uma progressão de grandeza em dez é possível sub trair uma unidade em uma casa e adicionar dez unidades na casa à direita 40 100 140 tomada do empréstimo na casa das dezenas 700 100 600 pagamento do empréstimo na casa das centenas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 53 600 140 3 400 60 1 200 80 2 200802 282 700 100 100 40 3 400 60 1 200 80 2 200802 282 Na casa das dezenas o valor 100d adicionado corresponde ao empréstimo que foi feito so bre a casa das centenas e é chamado de borrow out na casa das dezenas transferência de paga mento para o futuro Na casa das centenas o valor 100d subtraído corresponde ao empréstimo que esta casa fez para a casa das dezenas e é chamado de borrow in recebimento da conta do emprés timo feito anteriormente Borrow in Minuendo Subtraendo Borrow out Resto Unidades 3 1 0 2 Dezenas 0 4 6 1 8 Centenas 1 7 4 2 Tabela 2 Explicação da subtração decimal do exemplo 2 resto minuendo borrow out 10 borrow in subtraendo Unidades 2 3 010 0 1 Dezenas 8 4 110 0 6 Centenas 2 7 010 1 4 1 0 7 4 3 4 6 1 2 8 2 Exemplo 3 decimal A 743d B 668d R AB 743 668 282 R 282d Esta subtração pode ser separada pelos seus dígitos 700 40 3 600 60 8 300 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 54 Nesta subtração encontramos um resultado negativo tanto para as unidades como para as dezenas O dígito das dezenas possui borrow in e borrow out 3 10 30 tomada do empréstimo na casa das unidades 40 10 30 pagamento do empréstimo na casa das dezenas 700 40 10 10 3 600 60 8 300 5 30 100 130 tomada do empréstimo na casa das dezenas 700 100 600 pagamento do empréstimo na casa das centenas 700 100 10 40 3 100 10 600 60 8 000 70 5 000705 075 O valor 100d adicionado à casa das dezenas corresponde ao empréstimo que foi feito sobre a casa das centenas e é chamado de borrow out Ainda na casa das dezenas o valor 10d subtraído corresponde ao empréstimo que esta casa fez para a casa das unidades e é chamado de borrow in Borrow in Minuendo Subtraendo Borrow out Resto Unidades 3 8 1 5 Dezenas 1 4 6 1 7 Centenas 1 7 6 0 Tabela 3 Explicação da subtração decimal do exemplo 3 Unidades 5 3 110 0 8 Dezenas 7 4 110 1 6 Centenas 8 7 010 1 6 1 1 7 4 3 6 6 1 2 8 2 Na subtração decimal o empréstimo de uma unidade na casa à esquerda implica no acrés cimo de dez unidades na casa vigente O valor dez está associado à base decimal Igualmente em uma base binária o empréstimo de uma unidade na casa à esquerda implica no acréscimo de duas unidades na casa vigente resto minuendo borrow out2 borrow in subtraendo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 55 Na subtração decimal havendo necessidade de um empréstimo o valor emprestado é de dez vezes o peso da casa em questão Igualmente na subtração binária havendo necessidade de um empréstimo o valor emprestado é de duas vezes o peso da casa Um empréstimo para a pri meira casa decimal tem valor dez Um empréstimo para a segunda casa decimal tem valor cem Um empréstimo para a primeira casa binária tem valor dois Um empréstimo para a segunda casa biná ria tem valor quatro Exemplo 4 binário A 6d B 4d R AB 110b 6 100b 4 010b 2 R 2d 100b 10b 0b 100b 00b 0b 000b 10b 0b 4d 2d 0d 4d 0d 0d 0d 2d 0d Neste exemplo todas as casas binárias sofrem uma subtração positiva não sendo necessário efetuar nenhum empréstimo Tratase de uma situação de fácil compreensão e por isso possui caráter introdutório resto minuendo subtraendo Minuendo Subtraendo Resto bit 0 0 0 0 bit 1 1 0 1 bit 2 1 1 0 Tabela 4 Explicação da subtração binária do exemplo 4 Exemplo 5 A 5d B 2d R AB 101b 5 010b 2 011b 3 R 3 100b 00b 1b 000b 10b 0b 100b b 1b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 56 1 0 1 0 1 0 1 0 2 8 2 4d 0d 1d 0d 2d 0d 4d d 1d A subtração do segundo bit não pôde ser efetuada porque geraria um número negativo Considerando que as casas binárias possuem uma progressão de grandeza em dois é possível sub trair uma unidade em uma casa e adicionar duas unidades na casa à direita 100b 100b 000b pagamento do empréstimo na terceira casa binária 00b 10 10b tomada do empréstimo na segunda casa binária 100b 100b 100b 00b 1 000b 10b 0 000b 10b 1 000b 10b 1b 011b No segundo bit o valor 100b adicionado corresponde ao empréstimo que foi feito sobre o terceiro bit e é chamado de borrow out No terceiro bit o valor 100b subtraído corresponde ao empréstimo que este bit fez para o segundo bit e é chamado de borrow in resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto bit 0 1 0 0 1 bit 1 0 0 1 1 1 bit 2 1 1 0 0 Tabela 5 Explicação da subtração do exemplo 5 Bit 0 1b 1b 0b2 0b 0b Bit 1 1b 0b 1b2 0b 1b Bit 2 0b 1b 0b2 1b 0b Exemplo 6 A 6d B 1d R AB 110b 6 001b 1 101b 5 R 5 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 57 resto minuendo subtraendo Minuendo Subtraendo Borrow out Resto 0 0 0 0 000 0 1 1 0 0 1 101 1 1 0 0 110 Tabela 6 Explicação da subtração do exemplo 6 Exemplo 7 A 6d B 5d R AB 0 1 1 1 0 6 1 0 1 5 0 0 1 1 R 1 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 0 1 1 1 0 0 0 1 1 1 Tabela 7 Explicação da subtração do exemplo 7 Exemplo 8 A 4d B 1d R AB 1 1 1 0 0 4 0 0 1 1 0 1 1 3 R 3 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 1 0 0 0 102100 1 1 1 Tabela 8 Explicação da subtração do exemplo 8 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 58 Exemplo 9 A 6d B 3d R AB 1 1 1 1 0 6 0 1 1 3 0 1 1 3 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 1 0 0 0 102100 1 1 1 1 1 112111 Tabela 9 Explicação da subtração do exemplo 9 Exemplo 10 A 4d B 3d R AB 1 1 1 0 0 4 0 1 1 3 0 0 1 1 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 0 012110 1 1 0 0 0 102100 1 1 1 1 1 112111 Tabela 10 Explicação da subtração do exemplo 10 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 59 resto minuendo subtraendo Minuendo Subtraendo Resto 0 0 0 000 1 0 1 101 1 1 0 110 2 0 2 202 2 1 1 211 2 2 0 220 Tabela 11 Subtração ternária sem borrow resto minuendo borrow in subtraendo Borrow in Minuendo Subtraendo Resto 0 0 0 0 0000 0 1 0 1 1001 0 1 1 0 1010 0 2 0 2 2002 0 2 1 1 2011 0 2 2 0 2020 1 1 0 0 1100 1 2 0 1 2101 1 2 1 0 2110 Tabela 12 Subtração ternária positiva casos sem borrow out resto minuendo borrow out3 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 003000 0 0 1 1 2 013012 0 0 2 1 1 013021 0 1 0 0 1 103001 0 1 1 0 0 103010 0 1 2 1 2 113022 0 2 0 0 2 203002 0 2 1 0 1 203011 0 2 2 0 0 203020 1 0 0 1 2 013102 1 0 1 1 1 013111 1 0 2 1 0 013120 1 1 0 0 0 103100 1 1 1 1 2 113112 1 1 2 1 1 113121 1 2 0 0 1 203101 1 2 1 0 0 203110 1 2 2 1 2 213122 Tabela 13 Subtração ternária positiva todos os casos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 60 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 61 Capítulo 108 Subtração negativa Subtração negativa é aquela onde o subtraendo é maior ou igual ao minuendo Invertendo a ordem dos operadores obtémse o módulo da subtração original O valor correto é obtido por meio da negativação deste resultado É possível aplicar a mesma técnica de subtração do caso positivo com a única diferença de que o borrow out do bit mais significativo assume a função de bit de sinal Este método de subtração gera números negativos com a notação de complemento de dois Exemplo 1 decimal A 4 B 6 R AB Método 1 R BA R 2 vide resolução no capítulo anterior R R R 2 A quantidade de bits em A e em B é 3 A quantidade total de bits é 314 23 8 R 8 2 R 6 6 110b R 1110b com sinal Método 2 1 1 0 100b 4 110b 6 1110b 2 R 1110b com sinal Exemplo 2 decimal A 1 B 6 R AB Método 1 R BA R 5 vide resolução no capítulo anterior R R R 5 A quantidade de bits em A e em B é 3 A quantidade total de bits é 314 23 8 R 8 5 R 3 3 011b R 1011b com sinal Método 2 1 1 0 001b 1 110b 6 1011b 5 R 1011b com sinal Exemplo 3 A 12 B 27 R AB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 62 Método 1 R BA R 2712 R 15 R R R 15 1 1 0 0 11011b 27 01100b 12 01111b 15 A quantidade de bits em A e em B é 5 A quantidade total de bits é 516 25 32 R 32 15 R 17 17 10001b R 110001b com sinal Método 2 1 0 0 1 1 01100b 12 11011b 27 110001b 15 R 110001b com sinal Exemplo 4 A 83 B 106 R AB Método 1 R BA R 10683 R 23 R R R 23 0 1 0 1 1 1 1101010b 106 1010011b 083 0010111b 023 A quantidade de bits em A e em B é 7 A quantidade total de bits é 718 27 128 R 128 23 R 105 105 1101001b R 11101001b com sinal Método 2 1 1 0 1 0 0 0 1010011b 083 1101010b 106 11101001b 23 R 11101001b com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 63 Capítulo 109 Multiplicação A multiplicação pode ser entendida como sendo um processo de adição em lote A multipli cação é a operação aritmética cujo resultado é chamado de produto A multiplicação por 2 pode ser efetuada por meio do deslocamento dos bits para a esquerda left shift O bit menos significativo recebe valor zero A multiplicação por 4 pode ser efetuada por meio de dois deslocamentos e assim por diante Para qualquer base a multiplicação por esta base é efetuada através do deslocamento dos dígitos para a esquerda A multiplicação por esta base ao quadrado é efetuada através de dois des locamento dos dígitos para a esquerda Primeiramente será apresentada a multiplicação de um número binário por um número de cimal Esta multiplicação pode ser efetuada através de uma adição cumulativa Desta forma ne nhum conceito novo é necessário além daqueles apresentados nos capítulos anteriores É preciso completar as lacunas com o valor zero a fim de respeitar a norma de que a adição somente pode ser efetuada com palavras de mesmo tamanho de bits A subtração pode ser usada como um ata lho para diminuir a quantidade de operações de adição Neste procedimento é recomendado que as adições sejam feitas somente com duas parcelas a fim de respeitar a formalidade matemática Exemplo 1 A 3 P 2A 3 2 6 Método 1 Método 2 1 1 0 1 1 0 1 1 0 1 1 2 1 1 0 1 1 0 P 111b Exemplo 2 A 5 P 4A 5 4 20 Método 1 Método 2 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 2 1 0 1 0 1 0 1 0 0 1 0 1 0 0 P 10100b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 64 Exemplo 3 A4 P3A 4 3 12 448 8412 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 2 1 0 0 0 1 1 0 0 1 0 0 0 P 1100b Exemplo 4 A6 P5A 6 5 30 Método 1 Sem usar multiplicação por 2 6612 12618 181230 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 Método 2 Usando multiplicação por 2 6612 12618 181230 0 1 1 0 0 1 1 0 0 1 1 0 0 0 2 2 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 P 11110b Exemplo 5 10 7 70 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 65 Método 1 Sem usar multiplicação por 2 101020 202040 201030 403070 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 Método 2 Usando multiplicação por 2 1010 20 2020 40 4020 60 6010 70 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 P 1000110b Números binários podem ser multiplicados um pelo outro Para isso basta observar as ocor rências do valor 1 em cada um dos bits do número multiplicador Cada uma dessas ocorrências implica na soma de uma parcela Cada parcela consiste na multiplicação por uma potência de 2 O expoente é a posição do bit Exemplo 8 4 3 12 P 0100b0011b P 0100b210100b20 P 0100b20100b1 P 10000100b P 1100b Exemplo 9 6 5 30 P 00110b00101b P 00110b2200110b20 P 00110b400110b1 P 11000b00110b P 11110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 66 Exemplo 10 10 7 70 P 0001010b00111b P 0001010b22 0001010b21 0001010b20 P 0001010b4 0001010b2 0001010b1 P 0101000b 0010100b 0001010b P 0111100b 0001010b P 1000110b Exemplo 11 325 1 10 1 1 1 0 1 00 0 9 8 1 10 1 2925 1 1 0 1 1 1 1 0 10 1 P 1110101b Alternativamente é possível usar juntamente com a adição e a multiplicação por dois a subtração O uso da subtração permite encontrar um atalho para a realização do cálculo desejado Borrow in Minuendo Subtra endo Borrow out Resto 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 Tabela 1 Subtração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 67 Exemplo 12 4 3 12 448 8816 16412 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 P 01100b Exemplo 13 10 7 70 101020 202040 404080 801070 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 P 1000110b Exemplo 14 0 1 1 1 1 1 325 1 10 1 1 1 0 1 00 0 7 8 0 0 0 1 10 1 2275 1 1 0 1 1 0 1 1 01 1 P 1011011b É possível efetuar a multiplicação entre dois números binários Tratase de um método bas tante difundido pela bibliografia técnica Este é um procedimento sistemático que no final das con tas leva aos mesmos cálculos do procedimento anterior exceto pelo fato de que a subtração não é usada Este método apresenta a desvantagem de que possuindo muitas parcelas a soma acarreta na formação de grandes carregamentos entre os dígitos o que dificulta bastante o cálculo e desres peita a definição matemática da operação de adição Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 68 Exemplo 13 outra forma 1010 111 1000110 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 P 1000110b Exemplo 14 outra forma 1101 111 1011011 1 1 1 1 0 0 1 10 1 1 1 01 1 1 0 1 1 0 1 1 01 1 P 1011011b Exemplo 15 37 100101 27 11011 999 1111100111 1 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 P 1111100111b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 69 Exemplo 16 63 111111 31 11111 1953 11110100001 1 2 3 4 4 3 2 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 P 11110010001b Neste exemplo 16 houve acumulação nos carregamentos gerando valores elevados Nestes carregamentos foram empregados números decimais a fim de não sobrecarregar a tabela Seria mais estético porém se tivessem sido usados apenas números binários porém seria difícil repre sentar estes grandes números no lugar dos carregamentos Exemplo 17 x 75h obter y x2 x 75h x 01110101h y 011101010h y 0EAh caso o formato seja de 9 bits y EAh caso o formato seja de 8 bits Exemplo 18 x F07h obter y x2 x F07h x 111100000111h y 1111000001110h y 1E0Eh caso o formato seja de 13 bits y E0Eh caso o formato seja de 12 bits overflow 1b Exemplo 19 Escrever x 2740625d na forma de fração irredutível conside rando que x é uma somatória de potências de dois 22740625 548125 2548125 109625 2109625 21925 221925 4385 24385 877 Foram necessárias cinco multiplicações para transformar o número fracionário em um nú mero inteiro A fração tem como denominador 25 x 87732 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 70 Exemplo 20 Converter para decimal x 001101101101b Este exemplo já foi resolvido no capítulo sobre números fracionários Porém esta conversão também pode ser feita por meio da multiplicação por uma potência de dois de tal modo a transfor mar o número fracionário em um número inteiro x 001101101101b x 0211 0210 129 128 027 126 125 024 123 122 021 120 x 29 28 26 25 23 22 20 x 512 256 64 32 8 4 1 Foi feito um deslocamento de cinco casas binárias para a esquerda O número foi multipli cado por 25 A restauração do número original é obtida por meio da divisão por 25 x 477 32 x 2740625d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 71 Capítulo 110 Divisão A divisão é a operação aritmética cujo resultado é chamado de quociente Logo nos primeiros passos no processo de aprendizagem do sistema de numeração decimal as crianças recebem a informação de que o deslocamento das casas decimais para a direita implica em uma divisão por dez O mesmo se pode concluir a respeito das outras bases Quando esta divisão é inteira não é necessário acrescentar casas fracionárias Esta situação é observada quando o dígito menos significativo também chamado de dígito das unidades possui valor zero Qualquer outra situação após a divisão implica no surgimento de dígitos fracionários A divisão por 2 pode ser efetuada por meio do deslocamento dos bits para a direita wright shift O bit mais significativo recebe valor zero A divisão por 4 pode ser efetuada por meio de dois deslocamentos e assim por diante Exemplo 1 4 2 15 Q 100b2 Q 010b Exemplo 2 3 2 15 Q 110b2 Q 011b Exemplo 3 12 4 3 Q 1100b4 Q 0011b Exemplo 4 18 4 45 Q 1001000b4 Q 0010010b Exemplo 5 2 15 3 10b2 01b Q 10b01b Q 11b Exemplo 6 2 221 25 224 145 5 010b2 001b 010b2 100b Q 001b100b Q 101b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 72 Exemplo 7 3 3215 25 326 15675 75 110b2 011b 011b2 110b Q 011b110b Q 1111b Exemplo 8 25 252125 15 12525375 375 101b2 0101b Q 101b0101b Q 1111b Exemplo 9 2 2405 125 20525 25 10b4 010b Q 10b010b Q 101b Exemplo 10 2 2405 175 05315 2221535 35 10b4 010b 01b3 11b Q 10b 11b Q 111b Exemplo 9 8 842 125 2810 10 1000b4 0010b Q 0010b1000b Q 1010b Exemplo 10 8 842 225 8216 21618 18 01000b4 00010b 01000b2 10000b Q 00010b10000b Q 10010b Exemplo 11 8 842 325 8216 16824 26 22426 01000b4 00010b 01000b2 10000b 10000b01000b 11000b 00010b11000b 11010b Q 11010b Exemplo 12 8 824 842 175 426 6814 14 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 0110b1000b 1110b Q 1110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 73 Exemplo 13 8 824 842 275 426 8216 14 61622 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 01000b2 10000b 00110b10000b 10110b Q 10110b Exemplo 14 8 824 842 375 426 8216 30 16824 62430 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 01000b2 10000b 10000b01000b 11000b 00110b11000b 11110b Q 11110b Exemplo 15 10 1025 10425 375 52575 10220 375 201030 7530375 10100b2 01010b 10100b4 00101b 01010b00101b 01111b 01010b2 10100b 10100b01010b 11110b 111100b001111b 1001011b Q 11110 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 74 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 75 Capítulo 111 Conversão entre analógico e digital Existem dois tipos de números Os números dimensionais são aqueles associados a alguma grandeza física relacionada a algum sistema de unidades Na pedagogia infantil os números são apresentados para as crianças pequenas na forma de números dimensionais geralmente associados a objetos presentes no cotidiano infantil como por exemplo laranjas bicicletas cadernos etc Os números adimensionais também chamados de números puros são aqueles que não possuem nenhuma conotação física Animais e crianças pequenas são incapazes de compreender o signifi cado dos números puros Não é difícil entender o que sejam duas laranjas mas a compreensão do significado do número dois requer uma capacidade de abstração que não pode ser ensinada para crianças em seus primeiros anos de vida Existem também as falsas unidades designações que se assemelham a grandezas físicas mas que em verdade possuem significado puramente metafísico Exemplos de falsas unidades seriam a porcentagem os decibéis e as partes por milhão PPM Uma grandeza é dita analógica quando ela é proveniente de alguma analogia Analogia neste contexto significa usar alguma referência A grandeza altitude tem como referência o nível dos oceanos no equador A grandeza tensão nodal tem como referência a tensão no nó zero também chamada de terra A temperatura expressa em graus celsius tem como referência a temperatura de congelamento da água Uma grandeza analógica pode ser contínua ou discreta Uma grandeza contínua é aquela que apresenta a infinitude para dentro e para fora A infinitude para dentro é aquela segundo a qual entre dois pontos quaisquer sempre há um outro ponto intermediário A infinitude para fora é aquela segundo a qual tomados dois pontos sempre há um outro ponto fora deste inter valo Uma grandeza contínua não apresenta nenhum ponto de descontinuidade ou seja em qual quer ponto os limites laterais assumem o mesmo valor em outras palavras todos os pontos da função são deriváveis Uma grandeza analógica discreta é aquela que possui uma quantidade finita e conhecida de valores admissíveis Isso significa que todos os pontos de mudança de valor são descontínuos a função não é derivável Para toda função analógica discreta existe uma correspondente função ana lógica contínua A função discreta pode ser decorrente de algum processo de armazenamentopro cessamento digital de uma função contínua Uma função discreta pode ser transformada em uma função contínua por meio do uso de fórmulas matemáticas de suavização das descontinuidades Este processo permite que esta função seja derivável Uma grandeza digital é aquela cujos valores dos dígitos individuais não tem uma relação direta com a magnitude da relativa grandeza analógica Por exemplo um arquivo de áudio digital é composto por bits que podem receber valor zero ou um e esse valor não tem relação direta com a intensidade do sinal de áudio no ponto em questão A conversão entre uma função analógica e digital implica na definição de dois parâmetros a quantidade de bits por amostra bit rate e a frequência das amostragens O bit rate determina a resolução da conversão Quanto maiores forem os dois parâmetros mais semelhante é o processa mento da função digital em relação à função analógica original porém o custo desta qualidade se manifesta por meio do aumento no requisito de capacidade de armazenamento em memória e no requisito de capacidade de processamento por meio de um microcontrolador ou microprocessador O bit rate determina a quantidade de níveis quânticos A física quântica estuda o quantum a energia dos elétrons de valência No diagrama de Linus Pauling os elétrons são distribuídos por meio do critério de energia Cada órbita possui uma energia medida em EV elétronvolt Existe uma tolerância de variação de energia em cada órbita de modo que a cada órbita está associada uma banda ou faixa de energia Entre duas bandas consecutivas existe uma faixa proibida band gap representando valores de energia que o elétron somente pode assumir em regime transitório no percurso entre uma banda e outra mas jamais em regime estacionário Esta característica define Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 76 o quantum ou seja a quantidade de bandas é finita e conhecida é uma quantidade contável A palavra quantidade é proveniente deste contexto No caso da função analógica proveniente de uma função digital os níveis quânticos repre sentam os valores analógicos instantâneos que podem ser assumidos em regime estacionário Esta quantidade é finita e conhecida Esta quantidade é definida por 2b onde b representa o bit rate O nível quântico mínimo é chamado de referência negativa O nível quântico máximo é chamado de referência positiva A diferença entre esses dois níveis é chamada de amplitude A relação entre o bit rate e a amplitude define a resolução do método de conversão Intervalo quântico é a diferença entre dois níveis quânticos consecutivos e representa a mí nima variação admissível na função analógica discreta A quantidade de intervalos quânticos é defi nida por 2b1 O intervalo quântico é dado por A2b1 onde A é a amplitude A interação entre sistemas analógicos e digitais pode ocorrer em duas vias a conversão de analógico para digital e a conversão de digital para analógico A conversão de analógico para digital requer uma definição prévia da quantidade de bits definição sem a qual a conversão não pode ser efetuada A conversão de digital para analógico não precisa desta definição porque a palavra binária original já traz a informação da quantidade de bits A quantidade de bits não pode ser confundida com a resolução de bits A primeira define a quantidade física de bits A segunda define a quantidade efetivamente usada na conversão Ideal mente estes dois valores são iguais porém em alguns casos indesejáveis a resolução de bits pode ser menor do que a quantidade de bits Isso acontece quando a amplitude analógica isto é a dife rença entre o mínimo e o máximo valores analógicos empregados é menor do que a metade da amplitude máxima Neste caso é perdido um bit de resolução Esta diferença quase sempre é con sequência de um erro de projeto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 77 Capítulo 112 Quantização binária Os três primeiros conceitos da lógica binária são Bit b Uma unidade binária Nibble Quatro bits Byte B Oito bits Word Uma quantidade arbitária de bits Imaginemos que seja necessário expressar a distância entre duas cidades e esta distância seja dada na forma de cento e vinte mil metros Embora este valor tenha sido expresso por meio do sistema internacional de unidades SI a percepção humana a respeito da distância funciona melhor se esta quantidade é expressa na forma de cento e vinte quilômetros Em grandezas ana lógicas são usados prefixos que auxiliam na eficiente comunicação a respeito de uma determinada quantidade associada a algum fenômeno físico Prefixo Potência Prefixo Potência Quilo 103 Mili 103 Mega 106 Micro 106 Giga 109 Nano 109 Tera 1012 Pico 1012 Tabela 1 As potências dos principais prefixos analógicos Prefixo Significado Prefixo Significado Quilo 10001 Mili 10001 Mega 10002 Micro 10002 Giga 10003 Nano 10003 Tera 10004 Pico 10004 Tabela 2 Os milhares dos principais prefixos analógicos Prefixo Significado Prefixo Significado Quilo mil Mili milésimo Mega milhão Micro milionésimo Giga bilhão Nano bilionésimo Tera trilhão Pico trilhonésimo Tabela 3 As pronúncias dos principais prefixos analógicos Prefixo Letra Prefixo Letra Quilo k Mili m Mega M Micro Giga G Nano n Tera T Pico p Tabela 4 As letras usadas nos principais prefixos analógicos Alguns prefixos usam letras maiúsculas outros usam letras minúsculas Em inglês o prefixo quilo é escrito como kilo Em inglês o prefixo giga é pronunciado como guiga Em espanhol o significado da palavra milhão é diferente Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 78 Estes mesmos prefixos são usados para expressar quantidades binárias Embora no con texto da matemática seja possível representar números binários fracionários os sistemas físicos requerem que os números binários sejam todos inteiros Por esse motivo somente as potências positivas são usadas no contexto binário A potência de dois que mais se aproxima de 1000 é 1024 Este é o número usado como base para a formação dos demais prefixos binários Prefixo Quantidade Quilo 10241 Mega 10242 Giga 10243 Tera 10244 Tabela 5 Os principais prefixos digitais a partir de 1024 Prefixo Quantidade Quilo 210 Mega 220 Giga 230 Tera 240 Tabela 6 Os principais prefixos digitais a partir de 2 Prefixo Quantidade Mega 1024k Giga 1024M Tera 1024G Tabela 7 A conversão entre os prefixos digitais Prefixo Quantidade Quilo 1024 Mega 1048576 Giga 1073741824 Tera 1099511627776 Tabela 8 Os principais prefixos digitais na forma explícita Quando a quantidade determinada de bytes através dos cálculos é fracionada é preciso ar redondar para cima ou para baixo dependendo do contexto da aplicação deste cálculo Se o cálculo diz respeito à quantidade de memória necessária para armazenar uma quantidade de informação então o arredondamento necessário é para cima Se o cálculo diz respeito à quantidade de bytes recebida em uma comunicação serial então o arredondamento necessário é para cima Estes são apenas dois exemplos de aplicação mas há incontáveis outras situações possíveis Para cada uma delas é preciso saber qual o correto tipo de arredondamento A regra de arredondamento da ABNT não é aplicável nestes casos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 79 Exemplo 1 x 15kB Determine x em bytes x 151024 bytes x 1536 bytes Exemplo 2 x 15MB Determine x em bytes x 1510242 bytes x 1572864 bytes Exemplo 3 x 13kB Determine x em bytes x 131024 bytes x 13312 bytes a ser arredondado para cima ou para baixo Exemplo 4 x 3kB e 256 bytes Determine x em bytes x 31024256 bytes x 3328 bytes Exemplo 5 x 90MB e 322kB e 82 bytes Determine x em bytes x 9010242322102482 bytes x 94371840 329084 82 bytes x 94701006 bytes Exemplo 6 x 600GB e 462M e 12kB e 732 bytes Determine x em bytes x 60010243 46210242121024732 bytes x 644245094400 484442112 12288 732 bytes x 644729549532 bytes Exemplo 7 x 2000 bytes Determine x em kB x 20001024 kB x 1953125 kB Exemplo 8 x 40000000 bytes Determine x em MB x 4000000010242 MB x 3814697265625 MB Exemplo 9 x 3523MB Determine x em kB x 35231024 kB x 34404296875 kB Exemplo 10 x 27kB e 48 bytes Determine x em kB x 27102448 bytes x 27696 bytes x 276961024 kB x 27046875 kB Outra forma 48 bytes 481024 kB 48 bytes 0046875 kB x 27 0046875 kB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 80 x 27046875 kB Exemplo 11 x 589MB e 1006kB e 10 bytes Determine x em MB x 589102421006102410 bytes x 617611264 1030144 10 bytes x 618641418 bytes x 61864141810242 kB x 5899824314117431640625 kB Outra forma 10 bytes 1010242 MB 10 bytes 00000095367431640625 MB 1006kB 10061024 MB 1006kB 0982421875 MB x 589 0982421875 00000095367431640625 MB x 5899824314117431640625 MB Exemplo 12 x 4GB e 943MB e 5kB e 148 bytes Determine x em GB x 4102439431024251024148 bytes x 4294967296 988807168 5120 148 bytes x 5283779732 bytes x 528377973210243 GB x 49209033437073230743408203125 GB Outra forma 148 bytes 14810243 GB 148 bytes 00000001378357410430908203125 GB 5kB 510242 GB 5kB 000000476837158203125 GB 943MB 9431024 GB 943MB 09208984375 GB x 4 09208984375 000000476837158203125 00000001378357410430908203125 GB x 49209033437073230743408203125 GB Exemplo 13 x 10000 bytes Determine x em kB inteiros e bytes x 100001024 bytes x 9765625 kB x 9kB inteiros resto 0765625 kB resto 07656251024 bytes resto 784 bytes x 9kB e 784 bytes Exemplo 14 x 7033943 bytes Determine x em MB mais kB mais bytes x 703394310242 MB x 670809078216552734375 MB x 6MB inteiros resto 070809078216552734375 MB resto 0708090782165527343751024 kB resto 7250849609375 kB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 81 x 6MB e 725kB inteiros resto 00849609375 kB resto 008496093751024 bytes resto 87 bytes x 6MB e 725kB e 87 bytes Exemplo 15 x 3146688 bytes Determine x em MB mais kB mais bytes x 314668810242 MB x 300091552734375 MB x 3 MB inteiros resto 000091552734375 MB resto 0000915527343751024 kB resto 09375 kB resto 093751024 bytes resto 960 bytes x 3MB e 960 bytes Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 82 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 83 Parte 113 Bases híbridas Nos capítulos anteriores todos os números apresentados são compostos por dígitos ou numerais representados todos eles pela mesma base Quando o assunto é a representação nu mérica não é fácil pensar em alguma aplicação prática que requeira o uso de bases híbridas Um exemplo de número representado em base híbrida seria um número composto por dois dígitos onde o menos significativo está na base dois e o mais significativo está na base três Os principais exemplos práticos do uso de bases híbridas consistem das aplicações de con tadores Em capítulos seguintes serão apresentados diversos tipos de contadores digitais Um con tador pode ser interpretado como a representação temporal de um sistema de numeração Quando se lida com circuitos eletrônicos que exercem a função de contadores é fácil entender a maneira como contadores diferentes podem ser interconectados para a execução de uma contagem híbrida Por exemplo um contador de dois passos pode ser ligado a um contador de três passos formando um contador de seis passos Se a quantidade de passos do primeiro contador é definida por A e a quantidade de passos do segundo contador é definida por B a quantidade de passos definida pelo acoplamento dos dois contadores em série é dada por AB Da mesma forma como a multiplicação aritmética possui a propriedade comutativa igualmente a ordem dos dois contadores é irrelevante na determinação da quantidade de passos Essa ordem porém é relevante quanto à palavra aritmética gerada por cada passo da contagem Seguindo esta linha de raciocínio vários contadores podem ser ligados em série O problema do uso das bases híbridas é que é necessário que cada dígito tenha uma indica ção individual do valor da sua base Quando porém se apresentam todos os números gerados pela base híbrida em ordem crescente a determinação da base é evidenciada pela própria lista apresen tada Um exemplo de base híbrida usado em nosso cotidiano é a medição da percepção humana do tempo Na tabela abaixo o número z é indefinido pois qualquer número real elevado a zero resulta em um Como é possível observar nos cálculos o peso da segunda casa B leva em consideração a base da primeira casa A B3 A2 Decimal Cálculo B2 A3 Decimal Cálculo 00 0 00 0210z0 00 0 00 0310z0 01 1 01 0211z0 01 1 01 0311z0 10 2 20 1210z0 02 2 02 0312z0 11 3 21 1211z0 10 3 30 1310z0 20 4 40 2210z0 11 4 31 1311z0 21 5 41 2211z0 12 5 32 1312z0 geral x B21Az0 geral x B31Az0 Tabela 1 Exemplos de bases híbridas de duas casas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 84 C3 B4 A2 Decimal Cálculo Cálculo Cálculo 000 0 000 080201 042020 001 1 001 080211 042021 010 2 020 081201 042120 011 3 021 081211 042121 020 4 040 082201 042220 021 5 041 082211 042221 030 6 060 083201 042320 031 7 061 083211 042321 100 8 800 180201 142020 101 9 801 180211 142021 110 10 820 181201 142120 111 11 821 181211 142121 120 12 840 182201 142220 121 13 841 182211 142221 130 14 860 183201 142320 131 15 861 183211 142321 200 16 1600 280201 242020 201 17 1601 280211 242021 210 18 1620 281201 242120 211 19 1621 281211 242121 220 20 1640 282201 242220 221 21 1641 282211 242221 230 22 1660 283201 242320 231 23 1661 283211 242321 geral X C8B2A1 C42B2A Tabela 2 Exemplo de base híbrida de três casas Formato Fórmula AZ1 A BZ2 AZ1 BZ1A CZ3 BZ2 AZ1 CZ2Z1BZ1A DZ4 CZ3 BZ2 AZ1 D Z3Z2Z1CZ2Z1BZ1A Tabela 3 Fórmula para conversão para decimal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 85 Exemplo 1 Converta x341325 para decimal x 335152 x 4552 x 52d Exemplo 2 Converta x52d para a base C4B3A5 52d 5 10 resto 2 10d 3 3 resto 1 3d 4 0 resto 3 x 341325 Exemplo 3 Converta x10271012312 para decimal x 12103320103327332132221 x 3600126641 x 497d Exemplo 4 Converta x497d para a base FE2D10CB3A2 497d 2 248 resto 1 248d 3 82 resto 2 82d 3 27 resto 1 27d 10 2 resto 7 2d 2 1 resto 0 1d 2 0 resto 1 x x10271012312 Exemplo 5 t 26min Determine t em segundos t 2660s t 1560s Exemplo 6 t 13h Determine t em minutos e em segundos t 1360min t 780min t 78060s t 46800s Exemplo 7 t 5d Determine t em horas em minutos e em segundos t 524h t 120h t 12060min t 7200min t 720060s t 720060s t 432000s Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 86 Exemplo 8 t 6 semnas aDetermine t em dias t 67d t 42d Exemplo 9 t 731 segundos Determine t em minutos e segundos t 73160 minutos t 1218 minutos tm 12 minutos inteiros ts 01860s ts 11s t ts tm t 12min e 11s Exemplo 10 t 32722 segundos Determine t em hhmmss t 3272260 minutos t 54536 minutos t 5453660 horas t 90894 horas th 9 horas inteiras tm 0089460min tm 537min tm 5 minutos inteiros ts 03760s ts 22s t 9h5min22s Neste exemplo é preciso fazer os cálculos diretamente na calculadora a fim de evitar os erros de arredondamento Exemplo 11 t 843h horas Determine t em ddhh t 84324 dias t 35125 dias td 35 dias inteiros th 012524 horas th 3h t 35 dias e 3 horas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 87 Capítulo 114 Bases fracionárias Nos capítulos anteriores todas as bases empregadas são inteiras Entretanto é possível fa zer uso de bases fracionárias O único prérequisito é o de que esta base seja dada por um número maior do que 1 Até o momento da redação desta apostila não foi observada nenhuma aplicação para bases fracionadas Também não foram encontradas menções a este assunto na bibliografia consultada O propósito deste capítulo é o de mostrar para o estudante que a matemática permite que estes cálculos sejam realizados tornando este conhecimento disponível para um futuro hipo tético onde talvez isto seja aplicável a alguma área da engenharia Considerando que cada casa de numeração é ocupada por um único numeral então o nu meral máximo permitido é dado pelo máximo número inteiro abaixo da base Por causa disso a progressão de números em uma base fracionária não forma uma função linear Esta não linearidade não permite que o valor decimal seja usado para a determinação do número nesta outra base Outro problema é que ocorrem algumas inversões nesta progressão invalidando a utilização do valor quantitativo destes números Embora não tenha sido feita uma demonstração teórica foi observado que nas bases 15 25 e 35 não ocorrem repetição de valores quantitativos preservando a característica de função injetora Este texto não se propõe a completar a análise destas funções mas sim estimular a propo sição de linhas de pesquisa sobre este assunto Exemplo 1 x0110 base 15 x 0153 1152 1151 0150 x 03375 1225 115 01 x 0 225 15 0 x 375d Exemplo 2 x121 base 25 x 1252 2251 1250 x 1625 225 11 x 125 5 1 x 185d Representação Decimal Decimal 000 015201510150 0 001 015201511150 1 010 015211510150 15 011 015211511150 25 100 115201510150 225 Tabela 1 Alguns números na base 15 A tabela 1 mostra um erro presente na base 15 O número 011 nesta base deveria ser menor do que o número 100 mas o valor decimal mostra que ele é mais alto Esse erro é decorrente da não linearidade na determinação dos valores inteiros em relação ao número que determina a base Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 88 Número Decimal Número Decimal Número Decimal 000 0000 100 62500625 200 12500125 001 0011 101 62501725 201 12501135 002 0022 102 62502825 202 12502145 010 025025 110 625250875 210 12525015 011 025135 111 625251975 211 12525116 012 025245 112 6252521075 212 12525217 020 0505 120 625501125 220 12550175 021 0516 121 625511225 221 12551185 022 0527 122 625521325 222 12552195 1000 15625 Tabela 2 Alguns números na base 25 A tabela 2 mostra um erro presente na base 25 O número 0222 nesta base deveria ser menor do que o número 1000 mas o valor decimal mostra que ele é mais baixo O gráfico abaixo revela a nãolinearidade da tabela 2 Por causa desta nãolinearidade o método das divisões suces sivas não pode ser aplicado na conversão de um número decimal para estas bases fracionárias Gráfico 1 A não linearidade da base 25 Gráfico 2 A não linearidade da base 35 O gráfico da progressão da base 35 foi obtido no Microsoft Excel por meio da construção das sessenta e cinco primeiras combinações e do uso da fórmula abaixo onde n é substituído pelo número da linha An353535Bn3535Cn35Dn 0 2 4 6 8 10 12 14 16 18 20 1 3 5 7 9 11 13 15 17 19 21 23 25 27 0 10 20 30 40 50 1 4 7 10131619222528313437404346495255586164 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 89 Unidade 2 Álgebra booleana Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 90 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 91 Capítulo 201 Existência e unicidade Unicidade A teologia ocidental cristã defende a tese de que o ser humano é único e como tal insubs tituível em sua essência Em todo o mundo em toda a história da humanidade jamais existirão duas pessoas totalmente idênticas Os desenhos formados pelas impressões digitais e a leitura biométrica pela íris e pela retina são uma evidência da unicidade do ser humano As ciências jurídicas estão todas elas apoiadas no pilar da unicidade Sem este princípio não é possível efetuar uma correta aplicação do direito civil A unicidade jurídica é aplicada tanto para pessoa física como para pessoa jurídica Se algo não é único como ente jurídico então o direito não pode ser aplicado sobre ele Por exemplo se duas pessoas possuem exatamente o mesmo nome e esta é a única informação disponível então nenhuma ação jurídica pode ser exercida sobre estas pessoas até que a unicidade seja obtida O conceito da unicidade está associado ao conceito da identidade Somente possui identi dade aquilo que é único Dois elementos são denominados idênticos em relação a um determi nado aspecto quando dentro deste escopo de análise não há distinção entre um e outro não sendo possível identificar qual é qual Existência A teologia ocidental cristã defende a tese de que o ser humano existe bem como toda a natureza pois se esta teologia faz referência ao Deus Criador então algo foi criado e se esse algo foi criado então esse algo existe As ciências jurídicas estão todas elas apoiadas no pilar da existência Sem este princípio não é possível efetuar uma correta aplicação do direito civil A existência jurídica é aplicada tanto para pessoa física como para pessoa jurídica Se algo não existe como ente jurídico então o direito não pode ser aplicado sobre ele Por exemplo se uma pessoa real não tem a sua identidade reve lada então nenhuma ação jurídica pode ser exercida sobre estas pessoas até que a sua existência jurídica seja obtida A existência é uma qualidade associada à sua capacidade de interação com o cosmos o antônimo de caos seja fisicamente seja metafisicamente A existência pode ser provada mas a inexistência não A inexistência é apenas a ausência de uma prova de existência a inexistência per dura somente até a obtenção da evidência da existência No contexto da criminologia a existência de um dolo ou uma culpa pode ser provada mas não é possível provar a inexistência de um crime É possível provar que alguém é culpado mas im possível é provar que alguém é inocente Com base nesta lógica existe o milenar princípio do in dubio pro reo observado no artigo 386 do Código de Processo Penal Uma situação que evidencia a existência do ente em análise é chamada de termo Termo é uma situação que comprova a existência daquilo que se observa Em uma acusação criminal os termos da acusação seriam as evidências coletadas que confirmariam tal acusação Se uma acusação não possui nenhum termo juridicamente válido ela é rejeitada segundo o artigo 395 do Código de Processo Penal Um contrato juridicamente válido possui um ou mais termos isto é a especificação das si tuações reais nos quais este contrato é relevante é atuante bem como a maneira como este con trato manifesta sua relevância em tais situações Caso não haja nenhuma situação plausível ou viá vel na qual o contrato seja relevante então podemos dizer que este contrato não existe Um Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 92 exemplo de contrato não existente seria Se o planeta Terra chocarse contra o Sol então o cliente receberá uma indenização Para cada termo é preciso que o contrato afirme inequivocamente as medidas a serem tomadas Se for constatada a presença de um termo não coberto ou seja uma situação factível cuja resposta contratual não esteja especificada então o contrato está incompleto e precisa ser feito pois no contrário caso a situação não coberta aconteça o contrato não oferece a resposta neces sária e uma desgastante e interminável batalha judicial está criada Existem advogados especializa dos em contratos e distratos e que prestam assessoria às partes envolvidas O teorema da existência precede o teorema da unicidade Para que algo seja único é preciso que este algo primeiramente exista Se algo não existe o princípio da unicidade não pode ser apli cado Termos da função Uma função booleana é uma fórmula matemática e como tal não pode ser provada ou re futada fisicamente mas apenas numericamente Uma função analógica existe quando a partir de sua aplicação podemos determinar pelo menos um ponto no espaço cartesiano unidimensional bidimensional ou tridimensional Uma fun ção booleana existe quando existe pelo menos um termo que a satisfaz Por exemplo se definimos a função yx e se consideramos que a função y existe então seguramente existe pelo menos um valor de x para o qual a aplicação da fórmula dada por yx promova a definição de um valor único e inequívoco para y Em álgebra booleana o conceito de satisfação da função ou de verificação da função pode ser observado tanto por meio do valor zero como por meio do valor um A primeira opção é chamada de análise de zeros e a segunda de análise de uns Não é necessário efetuar as duas observações pois o princípio da exclusão principium tertii exclusi garante que as duas análises são equivalentes embora diferentes Se você possui um balde contendo bolas de gude verdes e vermelhas você pode fazer a separação coletando as verdes ou as vermelhas as duas opções geram exatamente a mesma separação embora os procedimentos sejam diferentes Na análise de zeros a existência da função é confirmada se há pelo menos uma situação na qual esta função retorne o valor zero Igualmente na análise de uns a existência da função é confirmada se há pelo menos uma situação na qual esta função retorne o valor um Quando uma situação possui todas as suas variáveis inequivocamente definidas então ela é chamada de termo A definição de um termo requer obrigatoriamente a definição clara do valor lógico de todas as variáveis de entrada do sistema Sem esta definição não é possível identificar o termo Por exemplo em um contrato a aplicação de um determinado termo requer que sejam ob servadas todas as circunstâncias contratuais que definem este termo se alguma circunstância não é observada se a sua análise é nebulosa então o termo não está definido Se uma função booleana é definida como ZDCBA temos então que Z é a variável de saída ou variável dependente e que D C B e A são as variáveis de entrada ou variáveis independentes Nesta função todos os termos precisam ser também função de TODAS as variáveis de entrada a saber D C B e A Se alguma destas variáveis está ausente em alguma expres são então esta expressão não é um termo da função pois as variávelis ausentes representam algum parâmetro nebuloso indeterminado Uma expressão booleana definida unicamente através de seus termos é considerada canô nica Esta seria a maneira mais concisa de explicação de uma determinada função Segundo o Léxico Dicionário de Português Online o terceiro significado da palavra cânone é dado por ligação apre sentada em forma de lista catálogo entre outros esta lista seria a ordenação dos termos o catá logo seria a representação ordenada dos termos da função Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 93 No contexto da álgebra booleana não existe definição de maior ou menor haja vista que os valores zero e um são uma representação do conceito metafísico de verdadeiro ou falso Apesar disso por razões didáticas a análise de zero é considerada a análise do menor e a análise de uns é considerada a análise do maior Esta abordagem faz sentido na ocasião da materialização da álgebra booleana na forma de circuitos elétricos onde o valor lógico um está relacionado a uma tensão elétrica maior do que aquela relacionada ao valor zero O filósofo polonês Jan Łukasiewicz concebeu um sistema lógico de múltiplos valores onde existe a quantização dos valores lógicos no qual se pode dizer que um certo valor é maior do que outro valor Este porém não é assunto para este curso Atribuição Análise de zeros Análise de uns Verdadeiro 0 1 Falso 1 0 Tabela 1 Valores numéricos relacionados à veracidade Definidos os valores lógicos booleanos surge a necessidade de introduzir a conversão entre um valor e outro A esta conversão são dados os nomes de negação inversão complemento ou deslocamento Embora estas palavras sejam sinônimas no contexto binário isso não acontece na lógica multivalores O símbolo desta inversão é a barra normal podendo ser colocada à esquerda da variável ou da constante ou acima da mesma O princípio do meio excluído afirma que para qualquer proposição ou a proposição ou a sua negação é verdadeira 0 1 1 0 A A Se A 0 então A 1 Se A 1 então A 0 Se A 0 e B 0 então A B Se A 1 e B 1 então A B Se A 0 e B 1 então A B Se A 1 e B 0 então A B Se A 0 e B 0 então A B Se A 1 e B 1 então A B Se A 0 e B 1 então A B Se A 1 e B 0 então A B Definida a inversão lógica é preciso definir os conectivos lógicos Conectivo lógico é a ope ração lógica responsável por conectar duas variáveis gerando uma terceira variável Esta conexão precisar pautarse em algum valor lógico de referência Se na lógica booleana existem apenas dois valores então somente dois conectivos lógicos podem ser definidos O conectivo lógico que atenta para o valor zero pode ser chamado de operação de mí nimo ou conjunção no contexto da lógica proposicional No contexto da filosofia este conectivo é chamado de intersecção No contexto da álgebra booleana este conectivo é chamado de mul tiplicação lógica No contexto dos sistemas digitais este conectivo é chamado de E lógico AND O conectivo lógico que atenta para o valor um pode ser chamado de operação de má ximo ou disjunção no contexto da lógica proposicional No contexto da filosofia este conectivo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 94 é chamado de união No contexto da álgebra booleana este conectivo é chamado de adição lógica No contexto dos sistemas digitais este conectivo é chamado de OU lógico OR Embora estes conectivos sejam definidos para apenas duas variáveis de entrada eles po dem ser extrapolados para três ou mais entradas Um termo é obtido por meio da aplicação de um conectivo lógico sobre as variáveis do sis tema Se este conectivo é a operação de mínimo este termo é chamado de mintermo Se este conectivo é a operação de máximo este termo é chamado de maxtermo Análise Referência em zeros Referência em uns Quantitativa mínimo máximo Lógica conjunção disjunção Filosofia intersecção união Álgebra multiplicação lógica adição lógica Sistemas digitais AND OR Termo mintermo maxtermo Tabela 2 Definição dos conectivos lógicos O teorema da unicidade aplicado aos termos diz que a identificação dos termos precisa ser inequívoca Para tal cada termo precisa ser satisfeito para uma e apenas uma combinação das variáveis de entrada Este é o motivo porque os termos são função de TODAS as variáveis da função Os termos de uma função canônica precisam ser únicos ou seja quando um deles é acio nado nenhum outro pode sêlo Usando a analogia do contrato a análise de um cenário precisa ser única ou seja todos os parâmetros relevantes precisam ser plenamente conhecidos tanto qualita tivamente quanto quantitativamente Se existe algum parâmetro ambíguo então o cenário não é único Definição da função a partir dos termos A função booleana canônica pode ser definida por meio do produtório de maxtermos ou por meio do somatório de mintermos Se a função existe então ela possui pelo menos um termo que pode ser maxtermo ou min termo Em outras palavras se a função existe na análise de zeros então existe pelo menos um maxtermo e se a função existe na análise de uns então existe pelo menos um mintermo Usando a analogia do contrato podemos dizer que se o contrato existe então também existe pelo menos uma situação na qual este contrato seja aplicável Se esta situação não existe então por conse quência o contrato também não existe Na análise de zeros se para que a função exista é preciso que também exista pelo me nos um maxtermo e considerando que este termo ofereça quando selecionado o valor em análise o zero então a ocorrência deste zero é suficiente e determinante para a qualificação da exis tência da função existência esta que é apontada pelo valor zero na variável de saída da função Desta forma este valor zero precisa prevalecer em detrimento da ocorrência do valor um dos maxtermos inválidos O conectivo lógico segundo o qual o valor zero tem precedência sobre o valor um é a multiplicação lógica o operador AND Isso explica porque na análise canônica de zeros temos um produtório Na análise de uns se para que a função exista é preciso que também exista pelo menos um mintermo e considerando que este termo ofereça quando selecionado o valor em análise o um então a ocorrência deste um é suficiente e determinante para a qualificação da existência da função existência esta que é apontada pelo valor um na variável de saída da função Desta Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 95 forma este valor um precisa prevalecer em detrimento da ocorrência do valor zero dos minter mos inválidos O conectivo lógico segundo o qual o valor um tem precedência sobre o valor zero é a adição lógica o operador OR Isso explica porque na análise canônica de uns temos um soma tório Os termos precisam respeitar a premissa da unicidade O acionamento de um termo ocorre por meio de uma e apenas uma combinação das variáveis de entrada A combinação das variáveis de entrada é determinada por meio da indexação dos termos em uma espécie de conversor biná riodecimal aquilo que no contexto dos circuitos digitais é chamado de decodificador A com binação é determinada por meio da inversão ou não operação NOT das variáveis de entrada Tais variáveis em sua forma original e complementada formam um barramento cuja função é a seleção do termo vigente Na análise de zeros se para que o maxtermo seja único é preciso que o conectivo lógico forneça em sua saída o valor zero somente quando todas as suas entradas recebem o valor zero Em qualquer outra situação este conectivo lógico precisa fornecer o outro valor o valor indicativo da nãoseleção a saber um Diante destes critérios é possível concluir que para este conectivo lógico o valor em análise o zero é o valor de menor peso o elemento neutro e que o valor um é o valor de maior peso o elemento nulo O conectivo lógico que satisfaz a este critério é a adição lógica o operador OR Isso explica porque na análise canônica de zeros temos maxter mos pois o conectivo OR prioriza o maior valor Na análise de uns se para que o mintermo seja único é preciso que o conectivo lógico forneça em sua saída o valor um somente quando todas as suas entradas recebem o valor um Em qualquer outra situação este conectivo lógico precisa fornecer o outro valor o valor indicativo da nãoseleção a saber zero Diante destes critérios é possível concluir que para este conectivo lógico o valor em análise o um é o valor de menor peso o elemento neutro e que o valor zero é o valor de maior peso o elemento nulo O conectivo lógico que satisfaz a este critério é a multi plicação lógica o operador AND Isso explica porque na análise canônica de uns temos mintermos pois o conectivo AND prioriza o menor valor Considerando que o princípio da existência precede o princípio da unicidade então em uma análise de zeros a multiplicação precede a adição isto é possui uma hierarquia superior No caso da análise de uns a adição precede a multiplicação Por causa desta hierarquia é necessário que a expressão algébrica da função canônica faça uso dos parênteses para indicar os termos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 96 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 97 Capítulo 202 Forma canônica A melhor maneira de organizar algum pensamento filosófico consiste na colocação ordenada de todas as situações possíveis Qualquer que seja o cenário imaginado esta filosofia apresenta uma resposta previamente definida Não há situação imprevista Este tipo de pensamento é chamado de canônico No contexto do cristianismo dãose o nome de cânon bíblico à lista de todos os textos considerados necessários para a formação do entendimento a respeito da cristandade Igualmente o cânon de um contrato seria a lista ordenada de todas as considerações incluídas na celebração deste contrato Segundo o Dicionário de Filosofia de Nicola Abbagnano cânon seria o Critério ou regra de escolhas para um campo qualquer de conhecimento ou de ação Exemplo de pensamento canônico Se fizer sol e se for domingo eu vou passear Se fizer sol e se não for domingo eu não vou passear Se chover e se for domingo eu não vou passear Se chover e se não for domingo eu não vou passear Cada parágrado do pensamento é chamado de proposição sentença ou termo Dentro do contexto da lógica booleana e da lógica multivalores a forma canônica implica na observação de todas as combinações possíveis de todas as variáveis de entrada do sistema de maneira explícita e na definição inequívoca do seu valor de saída O contrário da forma canônica seria a forma minimizada que apesar de também observar todas as combinações das variáveis de entrada tal análise é feita de maneira implícita Exemplo de pensamento implícito Se fizer sol eu vou passear Se não fizer sol o Se for domingo eu vou visitar parentes o Se não for domingo eu vou ler um livro Neste exemplo de pensamento implícito o primeiro parágrafo consiste de dois termos ele abrande as seguintes situações Fazer sol e ser domingo Fazer sol e não ser domingo Existem diversas maneiras diferentes para a definição de uma função booleana dentre as quais a mais útil é a expressão algébrica pois ela fornece a lei de formação do resultado da aplicação desta função ela apresenta uma fórmula matemática que traduz o comportamento do sistema fí sico responsável pela implementação da função Todas as outras formas de definição de funções booleanas são decorrentes da expressão algébrica Uma expressão algébrica escrita na forma canônica é aquela que não faz uso de nenhum método de minimização Minimização é o procedimento de redução do tamanho da expressão al gébrica sem a alteração do seu comportamento e é assunto para outros capítulos Um circuito lógico está na forma canônica quando é construído a partir da expressão algébrica na forma canônica A forma canônica consiste de um conjunto de termos Em um contexto filosófico ou jurídico termos são as situações que satisfazem as exigências ou demandas No contexto da álgebra boole ana termos são as combinações das variáveis de entrada que tornam verdadeira a variável de saída Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 98 As variáveis de entrada proporcionam o endereçamento de cada termo da função Este en dereçamento responde pelo apontamento do termo pertinente à situação vigente Cada termo pos sui um endereço exclusivo As variáveis de entrada em um sistema físico formam o barramento de endereço address bus Esse endereçamento seria equivalente à numeração dos artigos de uma constituição estatal Cada termo é constituído de um conectivo lógico OR ou AND usando todas as variáveis de entrada do sistema Se alguma variável está ausente então não se trata de um termo Considerando que a operação OR prioriza o valor lógico máximo 1 então o termo formado com este conectivo lógico é chamado de maxtermo Considerando que a operação AND prioriza o valor lógico mínimo 0 então o termo formado com este conectivo lógico é chamado de mintermo Muito embora a lógica booleana tenha inicialmente atribuído os valores zero e um aos significados de falso e verdadeiro falsetrue respectivamente esta atribuição hoje é arbitrá ria ou seja você pode escolher se deseja usar o valor zero ou o valor um como indicador de veracidade Esta escolha define a estrutura da expressão algébrica e do circuito lógico Maxtermo é um indicador de que a função fornece valor zero para aquela configuração das variáveis de entrada Mintermo é um indicador de que a função fornece valor um para aquela configuração das variáveis de entrada A análise de zeros fornece uma expressão algébrica canô nica no formato de um produtório de maxtermos A análise de uns fornece uma expressão algé brica canônica no formato de um somatório de mintermos Não existe significado lógico para um somatório de maxtermos ou para um produtório de mintermos Análise Estrutura Uns min termo1 termo2 termo3 Zeros max termo1 termo2 termo3 Tabela 1 Estrutura das funções canônicas Dentro da filosofia o teorema da unicidade afirma que um termo precisa ser satisfeito para uma e apenas uma combinação das variáveis de entrada Cada termo é selecionado por um único endereço e cada endereço aponta para um único termo relação biunívoca Não existe termo sem endereço e não existe endereço sem termo muito embora o sistema físico possa conter endereços que não apontem para nenhum circuito lógico Em decorrência deste teorema toda tabelaverdade precisa estar completa contendo uma linha para cada endereço das variáveis de entrada No contexto das reações químicas existe o conceito da acidez media por meio do pH Uma substância com um pH com valor sete seria considerada neutra A neutralidade seria a carac terística de não reagir com outras substâncias Em uma disputa esportiva ou jurídica é necessário que o juiz ou árbitro seja neutro ou seja ele não pode ser favorável a nenhuma das partes envolvi das A neutralidade implica da impossibilidade de que os interesses próprios afetem as decisões tomadas No contexto da álgebra booleana um número zero ou um é considerado neutro quando a sua operação com outro número não altera o valor deste outro número Uma operação booleana somente fornece o elemento neutro quando todas as suas variáveis de entrada recebem este valor neutro Para que a condição da unicidade seja satisfeita o conectivo lógico usado precisa ser aquele para o qual o valor analisado seja o elemento neutro Por essa razão a análise de zeros utiliza maxtermos pois o conectivo lógico OR possui como elemento neutro o valor lógico zero A análise de uns utiliza mintermos pois o conectivo lógico AND possui como elemento neutro o valor lógico um Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 99 Análise Referência em zeros Referência em uns Operação AND OR Elemento neutro um zero Tabela 2 Definição dos elementos neutros O teorema da existência afirma que para que a função exista então ela precisa ser satisfeita para pelo menos uma combinação das variáveis de entrada Em outras palavras existe pelo me nos um termo que satisfaz a função No contexto das reações químicas existe o conceito da anulação da reação Por exemplo em um processo de combustão a retirada do oxigênio interrompe o processo imediatamente Em um processo jurídico criminal o procedimento é encerrado imediatamente quando chega a notícia de que o réu está morto A nulidade implica da impossibilidade de que as ações anteriores conti nuem em andamento No contexto da álgebra booleana um número zero ou um é considerado nulo quando a sua operação com outro número despreza o valor deste outro número e impõe o valor nulo Para que a satisfação do termo implique na satisfação da função completa é preciso que o conectivo lógico empregado para ligar os termos caso eles existam em quantidade igual ou superior a dois precisa ser aquele para o qual o valor analisado seja o elemento nulo Por essa razão a análise de zeros utiliza produtório pois o conectivo lógico AND possui como elemento nulo o valor lógico zero A análise de uns utiliza somatório pois o conectivo lógico OR possui como elemento nulo o valor lógico um Análise Referência em zeros Referência em uns Operação AND OR Elemento nulo zero um Tabela 3 Definição dos elementos nulos Os circuitos lógicos construídos a partir da expressão algébrica na forma canônica possuem uma estrutura do tipo gate array arranjo de portas lógicas nas categorias ROM PROM EEPROM e PLA assunto para capítulos posteriores A omissão das portas lógicas referentes aos termos não usados não implica em um processo de minimização algébrica haja vista que esta expressão continua sendo a mesma muito embora o circuito lógico bem como o circuito digital físico possa sofrer uma considerável redução A escrita da expressão algébrica na forma canônica é precedida pela definição do conjunto de ter mos A partir deste conjunto os termos selecionados são escritos na forma de maxtermos análise de zeros ou de mintermos análise de uns Esse conjunto contém o índice decimal correspon dente à posição de cada termo Este índice corresponde ao valor decimal gerado a partir do nú mero binário que define a combinação das variáveis de entrada em questão conforme mostrado nas tabelas a seguir As variáveis de entrada e as variáveis de saída podem receber como nome mnemônicos associados ao seu significado dentro da interpretação humana Genericamente estas variáveis po dem receber as letras do alfabeto A primeira variável à direita então recebe o nome de A e é a menos significativa As variáveis seguintes são mais significativas e recebem as próximas letras do alfabeto A variável de saída recebe a letra seguinte Eventualmente podemse usar sufixos numé ricos Quando o sistema é formado por múltiplas funções das mesmas entradas o nome genérico destas saídas pode ser indexado por meio de um sufixo subscrito Embora a definição de funções booleanas por meio de tabelaverdade seja mais frequente mente usada quando se pretende fazer a conversão para a expressão algébrica na forma canônica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 100 isto não é uma regra Qualquer outra forma de definição destas funções pode ser convertida dire tamente para a expressão canônica Embora não seja uma regra obrigatória um cuidado com a estética e a elegância impõe que a expressão algébrica canônica seja construída por meio do ordenamento de termos em acordo com a tabelaverdade A não observação desta recomendação acarreta em maior dificuldade na inter pretação desta expressão algébrica Para os estudantes iniciantes é recomendado que ao escrever a expressão algébrica seja colocado um pequeno número acima de cada célula indicando o número decimal relativo ao endereço de cada termo decimal B A zeros uns 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 BA BA Tabela 4 Termos de dois bits decimal C B A zeros uns 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 CBA CBA 7 1 1 1 CBA CBA Tabela 5 Termos de três bits decimal D C B A zeros uns 0 0 0 0 0 DCBA DCBA 1 0 0 0 1 DCBA DCBA 2 0 0 1 0 DCBA DCBA 3 0 0 1 1 DCBA DCBA 4 0 1 0 0 DCBA DCBA 5 0 1 0 1 DCBA DCBA 6 0 1 1 0 DCBA DCBA 7 0 1 1 1 DCBA DCBA 8 1 0 0 0 DCBA DCBA 9 1 0 0 1 DCBA DCBA 10 1 0 1 0 DCBA DCBA 11 1 0 1 1 DCBA DCBA 12 1 1 0 0 DCBA DCBA 13 1 1 0 1 DCBA DCBA 14 1 1 1 0 DCBA DCBA 15 1 1 1 1 DCBA DCBA Tabela 6 Termos de quatro bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 101 Em muitas aplicações práticas é conveniente usar a função complementada motivo porque a obtenção desta função será apresentada nos exemplos a seguir por razões puramente didáticas pois o processo de síntese não requer necessariamente a obtenção das quatro formas uma única forma já é suficiente não faz sentido materializar a mesma função lógica de duas ou mais formas diferente Exemplo 1 duas entradas C max1 C min023 C max023 C min1 B A C C 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 Tabela 7 Exemplo 1 Tabelas verdade C C decimal B A zeros uns zeros uns 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 BA BA Tabela 8 Exemplo 1 Definição de termos C BA C BABABA C BABABA C BA Exemplo 2 três entradas D max03456 D min127 D max127 D min03456 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 102 C B A D D 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 Tabela 9 Exemplo 2 Tabelas verdade D D decimal C B A zeros uns zeros uns 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 CBA CBA 7 1 1 1 CBA CBA Tabela 10 Exemplo 2 Definição de termos D CBACBACBACBACBA D CBACBACBA D CBACBACBA D CBACBACBACBACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 103 Exemplo 3 quatro entradas E max01267810 E min34591112131415 E max34591112131415 E min01267810 D C B A E E 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 Tabela 11 Exemplo 3 Tabelas verdade Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 104 E E decimal D C B A zeros uns zeros uns 0 0 0 0 0 DCBA DCBA 1 0 0 0 1 DCBA DCBA 2 0 0 1 0 DCBA DCBA 3 0 0 1 1 DCBA DCBA 4 0 1 0 0 DCBA DCBA 5 0 1 0 1 DCBA DCBA 6 0 1 1 0 DCBA DCBA 7 0 1 1 1 DCBA DCBA 8 1 0 0 0 DCBA DCBA 9 1 0 0 1 DCBA DCBA 10 1 0 1 0 DCBA DCBA 11 1 0 1 1 DCBA DCBA 12 1 1 0 0 DCBA DCBA 13 1 1 0 1 DCBA DCBA 14 1 1 1 0 DCBA DCBA 15 1 1 1 1 DCBA DCBA Tabela 9 Exemplo 3 Definição de termos E DCBADCBADCBADCBADCBADCBA DCBA E DCBADCBADCBADCBADCBADCBA DCBADCBADCBA E DCBADCBADCBADCBADCBADCBA DCBADCBADCBA E DCBADCBADCBADCBADCBA DCBADCBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 105 Capítulo 203 Operações lógicas Operação é o ato de aplicar algum procedimento de transformação de uma ou mais variáveis ou constantes na obtenção de um resultado predizível O pensamento filosófico e a aritmética de cimal são formados por um apanhado de operadores O uso conjunto dos operadores e das variáveis e constantes define aquilo que chamamos de matemática Operação 1 Confirmação ou positivação A filosofia positivista é formada pelo pensamento positivo Por positivo entendemse tudo aquilo que pode ser comprovado e confirmado Somente os fenômenos naturais podem ser confir mados isto é positivados Em outras palavras a filosofia positivista se foca unicamente na ima nência na ciência fazendo descarte completo da transcendência evidenciando um rompimento com as heranças do pensamento tomista A República Federativa do Brasil foi regulamentada a par tir do pensamento positivista A pedagogia republicana brasileira possui forte viés positivista e con siste de um rompimento com as heranças do método pedagógico dos jesuítas o Ratio Studiorum No contexto da álgebra booleana a positivação é chamada de operação YES No contexto da moderna cultura urbana ocidental um exemplo clássico da aplicação filosófica da operação YES seriam as pessoas classificadas como NPC nonplayer character que seria aquela pessoa que não possui a capacidade de dizer um não de cunho doutrinário aquela pessoa que apenas repete aquilo que foi ensinada a dizer A operação YES consiste da repetição na saída do valor da entrada Os circuitos integrados que proporcionam esta função são chamados de buffer Embora esta função não provoque nenhuma alteração booleana na variável de entrada ela é importante por causa deste buffer O buffer é a etapa de saída de todo circuito eletrônico usado nas portas lógicas Suas princi pais funções são 1 Efetuar o casamento de impedância vide o teorema da máxima transferência de energia no acoplamento de circuitos elétricos 2 Ajustar os valores de tensão elétrica e de corrente elétrica para um determinado pa drão como por exemplo TTL ECL e CMOS 3 Aumentar o fanout a capacidade de uma saída digital em alimentar várias outras entradas digitais Exemplos de circuitos integrados comerciais da porta YES são o 4049 e o 4050 No contexto dos circuitos analógicos o buffer é chamado erradamente de amplificador de potência Isto é um erro porque em circuitos eletrônicos a fim de que houvesse um circuito am plificador de potência seria necessário que houvesse amplificação de tensão e de corrente ao mesmo tempo em sua componente alternada Isso porém não acontece Por razões de otimização de performance e de custo os projetistas constroem os equipamentos amplificadores de áudio ou vídeo por meio da arquitetura de uma série de amplificadores ligados em cascata cada um deles responsável por uma etapa da amplificação sendo que as primeiras etapas são construídas com amplificadores de tensão também chamados de amplificadores de pequenos sinais e as últimas etapas são construídas com amplificadores de corrente Considerando que as últimas etapas são aquelas que lidam com uma potência elétrica maior então é feita a equivocada associação das eta pas de potência com o amplificador de corrente Alguns engenheiros erradamente fazem o uso do nome amplificador de potência quando o transistor envolvido é de potência No contexto do co mércio a expressão amplificador de potência é empregado para aqueles equipamentos cuja po tência está acima daquela demandada para o uso doméstico Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 106 Operação 2 Negativação ou inversão No pensamento lógico toda proposição pode ser negada Não existe proposição que não possa ser negada Um exemplo de uma nãoproposição seria uma indagação isto é uma pergunta Uma pergunta não pode ser confirmada nem refutada mas apenas respondida e esta resposta pode ser um sim um não ou qualquer outra palavra ou valor numérico Por outro lado uma proposição não pode ser respondida mas apenas confirmada ou refutada Confirmar uma propo sição seria por meio de alguma análise repetila Refutar uma proposição seria apresentar uma análise que resulte na proposição contrária à original Exemplo 1 Proposição O dia está ensolarado Refutação 1 O dia está nublado Refutação 2 Está de noite Exemplo 2 Proposição O Brasil é uma república rica Refutação 1 O Brasil é uma monarquia Refutação 2 O Brasil é um país pobre Refutação parcial O Brasil é rico culturalmente mas pobre financeiramente Neste exemplo 2 podemos observar algumas características do cálculo proposicional 1 Uma proposição pode receber várias refutações diferentes 2 Para que a refutação exista ela não precisa retratar a realidade No caso da primeira refutação a afirmação de que o Brasil é uma monarquia é falsa mas mesmo assim a refutação existe 3 Uma refutação não precisa ser hegemônica No caso da segunda refutação algumas pessoas podem concordar com ela e outras pessoas podem discordar 4 Uma refutação pode ser parcial Neste exemplo a proposição não especifica o tipo de riqueza em questão e a refutação parcial faz a separação entre dois tipos de ri queza Mais uma vez os leitores tem a liberdade para concordar ou não com a afir mação proposta na refutação parcial mas mesmo assim ela continua existindo No contexto da álgebra booleana a negativação é chamada de operação NOT Os circuitos integrados que proporcionam esta função são chamados de inverter Exemplos de circuitos integra dos comerciais da porta NOT são o 74LS04 e o 4069 No caso da tecnologia CMOS as funções lógicas são geradas na maneira complementada naturalmente Sendo assim a função YES em tecnologia CMOS é obtida através da ligação de dois inversores lógicos em série Operação 2 Intersecção ou conjunção E lógico Seção é uma fatia de alguma entidade Interseção é uma fatia que faz parte de duas enti dades ao mesmo tempo Para que a interseção exista as duas entidades precisam existir ao mesmo tempo Na língua portuguesa a conjunção lógica é retratada por meio da palavra e Esta palavra não pode ser interpretada no sentido da conjunção gramatical pois na língua portuguesa esta pa lavra pode ser usada em aplicação estática ou temporal mas no contexto da álgebra booleana o contexto é unicamente estático Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 107 Embora a conjunção seja definida para apenas duas variáveis de entrada ela pode ser ex trapolada para três ou mais entradas Exemplos Eu vou ao cinema se eu tiver dinheiro e se o filme for muito bom A solda é formada por chumbo e por estanho O fôlego é determinado pelo sistema circulatório e pelo sistema respiratório A sabedoria é obtida por meio da observação e pela análise Mas agora permanecem estas três a fé a esperança a caridade 1 Coríntios 1313 No contexto da álgebra booleana esta operação é camada de multiplicação lógica Os circuitos integrados que proporcionam esta função são chamados de AND Exemplos de circuitos integrados comerciais da porta AND são o 74LS00 e o 4081 Operação 3 União ou disjunção OU lógico A palavra união significar tornar único Unir o escopo de validação de uma proposição com o de outra proposição significa que qualquer possibilidade prevista por estes dois escopos é suficiente para validar a proposição resultante Em língua portuguesa a disjunção é retratada por meio da palavra ou Em outras palavra a disjunção poderia ser usada por meio da expressão um outro ou ambos Exemplos 1 Eu vou passear se eu estiver de folga ou se for domingo 2 Eu vou beber água se eu estiver com sede ou se for praticar atividade física 3 Eu vou comprar o produto se eu precisar dele ou se o custo for muito baixo 4 Eu vou investir na poupança se o rendimento for bom ou se eu tiver dinheiro so brando Todas estas quatro proposições consideram também a hipótese de que as duas premissas sejam satisfeitas ao mesmo tempo conforme as análises a seguir 1 Eu vou passear se eu estiver de folga ou se for domingo Se for domingo e eu também estiver de folga eu também vou passear 2 Eu vou beber água se eu estiver com sede ou se for praticar atividade física Se eu for praticar atividade física e também estiver com sede eu também vou beber água 3 Eu vou comprar o produto se eu precisar dele ou se o custo for muito baixo Se eu precisar do produto e ele tiver baixo custo eu também vou compralo 4 Eu vou investir na poupança se o rendimento for bom ou se eu tiver dinheiro so brando Se eu tiver dinheiro sobrando e o rendimento na poupança for bom eu tam bém farei o investimento 5 Eu vou ao supermercado comprar macarrão ou feijão Pode ser que eu compre ape nas um deles ou pode ser que eu compre ambos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 108 Nestes quatro primeiros exemplos temos um efeito cumulativo ou seja quando as duas condições são satisfeitas individualmente há um estímulo para o cumprimento do termo mas quando as duas condições são satisfeitas ao mesmo tempo o estímulo é maior Mas também há situações não cumulativas como o exemplo 5 No contexto da álgebra booleana esta operação é camada de adição lógica Os circuitos integrados que proporcionam esta função são chamados de OR Exemplos de circuitos integrados comerciais da porta OR são o 74LS32 e o 4071 Considerando que esta operação permite a satisfação de uma ou duas premissas ela tam bém é chamada de ou inclusivo inclusive OR IOR Operação 4 OU exclusivo A expressão união inclusiva implica na liberdade para satisfazer uma das premissas mas não ambas Exemplos 1 Eu vou comer churrasco ou pizza 2 Eu vou trabalhar na fábrica de tecidos ou na fábrica de fármacos 3 O preenchimento do formulário requer o número do CPF ou do título de eleitor 4 A lâmpada pode estar acesa ou apagada Todas estas quatro proposições desconsideram a hipótese de que as duas premissas sejam satisfeitas ao mesmo tempo conforme as análises a seguir 1 Eu vou comer churrasco ou pizza mas como cada uma das opções correspondem a uma refeição completa então não é possível optar pelas duas ao mesmo tempo 2 Eu vou trabalhar na fábrica de tecidos ou na fábrica de fármacos porém como cada uma das empresas exigem dedicação exclusiva então não é possível assinar contrato de trabalho nas duas ao mesmo tempo 3 O preenchimento do formulário requer o número do CPF ou do título de eleitor e como há somente um único campo para preenchimento do número de identifica ção então não é possível usar os dois documentos no mesmo formulário 4 A lâmpada pode estar acesa ou apagada Se consideramos que a lâmpada acesa re cebe a corrente elétrica nominal e que a lâmpada apagada recebe uma corrente nula então não é possível manter a lâmpada acesa e apagada ao mesmo tempo Os circuitos integrados que proporcionam esta função são chamados de OR Exemplos de circuitos integrados comerciais da porta OR são o 74LS86 e o 4070 Esta operação também pode ser chamada de ou exclusivo exclusive OR EOR Os exemplos apresentados para a operação de IOR e para a operação de XOR mostram que a distinção semântica entre uma operação e a outra nem sempre é tarefa fácil há muitos casos onde o preletor constrói sua narrativa considerando que a distinção é óbvia e evidente porém nem sempre o leitor ou a audiência entendem a mensagem com a devida clareza incorrendo no risco de fazer uma interpretação equivocada Na maioria das ocasiões tal erro de interpretação provoca resultados irrelevantes e desprezíveis mas há casos onde esse erro leva a decisões desastrosas A elaboração de contratos que usufruam de fé pública requerem o cuidadoso e meticuloso uso dos recursos gramaticais principalmente no caso dos conectivos lógicos Descuidos desta natureza já renderam grandes prejuízos financeiros no mundo dos negócios Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 109 Talvez um dos motivos porque os modernos métodos de educação estejam apresentando desempenho insatisfatório levando a civilização ocidental a um notório decaimento em sua capaci dade de organização do pensamento seja o fato de que hoje as escolas não introduzem as crianças ao pleno domínio do correto uso dos principais conectivos lógicos NOT AND e OR ficando este aprendizado quando acontece ao cargo da construção de conhecimento por parte da própria cri ança construção esta que se não for acompanhada por um mestre experiente no uso da lógica poderá acontecer de maneira deficiente de modo que hoje nos grandes centros urbanos em uma cultura de acesso fácil à informação digital não é raro encontrar adultos com larga formação aca dêmica incapazes de identificar o uso de tais conectivos em uma linguagem textual coloquial carac terizando aquilo que hoje chamamos de analfabetismo funcional Uma das grandes dificuldades comunicativas que povos colonizadores encontram ao se re lacionar com comunidades primitivas está na limitação imposta por idiomas também primitivos nos quais a limitação no uso das palavras impede que os colonizadores expressem o seu pensamento Muitos idiomas primitivos não dispunham de palavras específicas aplicadas aos conectivos lógicos A fim de efetuar a análise matemática dos operadores lógicos é preciso traduzir em núme ros a satisfação das condições iniciais O valor zero representa a não satisfação da condição O valor um representa a plena satisfação da condição No operador AND a função somente é satisfeita se todas as premissas são satisfei tas No operador OR a função não é satisfeita somente se nenhuma das premissas é satisfeitas No operador AND a função retorna um somente se todas as entradas valem um No operador OR a função retorna zero somente se todas as entradas valem zero No operador AND a função retorna zero se pelo menos uma entrada vale zero No operador OR a função retorna um se pelo menos uma entrada vale um Nas entradas do operador AND o valor zero domina o valor um Nas entradas do operador OR o valor um domina o valor zero Elemento AND IOR Dominante ou nulo 0 1 Indiferente ou neutro 1 0 Tabela 1 Definição dos elementos dos operadores Juntando a operação NOT com as operações AND e OR é possível obter as funções NAND e NOR Considerando que em tecnologia CMOS as funções são geradas naturalmente na forma com plementada então as portas lógicas NAND e NOR são mais simples do que as portas lógicas AND e OR respectivamente Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 110 decimal B A AND IOR NAND NOR XOR 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 2 1 0 0 1 1 0 1 3 1 1 1 1 0 0 0 Tabela 2 Resposta dos operadores AND IOR e XOR Considerando que dois três e quatro bits formam um número nas bases quatro oito e de zesseis respectivamente então estes operadores podem ser usados nestas bases B A B A AND IOR NAND NOR XOR 0 0 00 00 0 0 3 3 0 0 1 00 01 0 1 3 2 1 0 2 00 10 0 2 3 1 2 0 3 00 11 0 3 3 0 3 1 0 01 00 0 1 3 2 1 1 1 01 01 1 1 2 2 0 1 2 01 10 0 3 3 0 3 1 3 01 11 1 3 2 0 2 2 0 10 00 0 2 3 1 2 2 1 10 01 0 3 3 0 3 2 2 10 10 2 2 1 1 0 2 3 10 11 2 3 1 0 1 3 0 11 00 0 3 3 0 3 3 1 11 01 1 3 2 0 2 3 2 11 10 2 3 1 0 1 3 3 11 11 3 3 0 0 0 Tabela 3 Operadores aplicados à base quaternária Exemplo 1 A10011b B11001b bit B A AND IOR NAND NOR XOR 4 1 1 1 1 0 0 0 3 1 0 0 1 1 0 1 2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 Tabela 4 Exemplo 1 B AND A 10001b B IOR A 11011b B NAND A 01110b B NOR A 00100b B XOR A 01010b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 111 Exemplo 2 A2304 B1314 bit B A AND IOR NAND NOR XOR 2 10 01 00 11 11 00 11 1 11 11 11 11 00 00 00 0 00 01 00 01 11 10 01 Tabela 5 Exemplo 2 na forma binária bit B A AND IOR NAND NOR XOR 2 2 1 0 3 3 0 3 1 3 3 3 3 0 0 0 0 0 1 0 1 3 2 1 Tabela 6 Exemplo 2 na forma quaternária B AND A 0304 B IOR A 3314 B NAND A 3034 B NOR A 0024 B XOR A 3014 Exemplo 3 A37Fh B72C4 bit B A AND IOR NAND NOR XOR 2 0011 0111 0011 0111 1100 1000 0100 1 0111 0010 0010 0111 1101 1000 0101 0 1111 1100 1100 1111 0011 0000 0011 Tabela 7 Exemplo 3 na forma binária bit B A AND IOR NAND NOR XOR 2 3 7 3 7 C 8 4 1 7 3 2 7 D 8 5 0 F C C F 3 0 3 Tabela 8 Exemplo 3 na forma hexadecimal B AND A 32Ch B IOR A 77Fh B NAND A CD3h B NOR A 880h B XOR A 453h Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 112 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 113 Capítulo 204 Definição de funções lógicas Foram apresentadas no capítulo anterior as principais funções lógicas booleanas O uso destas operações gera aquilo que chamamos de funções lógicas A idéia de função lógica é a de que os fatos não se criam do nada todos os fatos são decorrentes de fatos anteriores de modo que sem o uso correto da cronologia não é possível entender um fato específico Por exemplo para que um criminologista possa explicar como um crime aconteceu ele precisa estudar os fatos que ante cederam o crime propriamente dito Tais favos prévios consistem das variáveis de entrada que de finem o resultado da aplicação de uma função lógica que responde pelo desfecho do episódio em questão Função lógica é a formalização do pensamento lógico A filosofia trata as funções lógicas de maneira textual e esta é principal forma de definição destas funções No caso de sistemas digitais por outro lado a forma textual embora também possa ser empregada não é a mais concisa Ne cessário se faz realizar o salto entre as ciências humanas em direção às ciências exatas Para os sistemas digitais sete são as possibilidades de definição de funções lógicas 1 Lista de termos 2 Tabela verdade 3 Expressão algébrica 4 Gráfico 5 Mapa de Karnaugh 6 Diagrama de Venn 7 Circuito lógico 1 Lista de termos No critério da concisão a lista de termos é sem dúvida a melhor forma de definição Trata se de uma lista de situações nas quais a função é satisfeita seja com zeros seja com uns A lista contém os maxtermos no caso de análise de zeros ou os mintermos no caso de análise de zeros Os termos são representados por meio do seu índice isto é um número decimal que indica a sua ordem na lista de possibilidades totais A lista de termos foi apresentada no capítulo sobre a forma canônica Lista de termos Exemplo 1 BA B max0 B min1 B max1 B min0 Lista de termos Exemplo 2 CBA C max0 C min123 C max123 C min0 Lista de termos Exemplo 3 DCBA D max137 D min02456 D max02456 D min137 Lista de termos Exemplo 4 EDCBA E max2359111213 E min014678101415 E max014678101415 E min2359111213 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 114 2 Tabela verdade No que diz respeito ao apelo à intuição a tabela verdade é a mais adequada Diferentemente da lista de termos a tabela verdade é a mesma seja para análise de zeros seja para análise de uns A tabela apresenta todas as combinações das variáveis de entrada e na coluna da direita mostra o valor da variável de saída para cada uma destas combinações A desvantagem da tabela verdade é que ela não pode ser apresentada de maneira textual A B 0 0 1 1 Tabela 1 BA C B A D 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Tabela 3 DCBA B A C 0 0 0 0 1 1 1 0 1 1 1 1 Tabela 2 CBA D C B A E 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Tabela 4 EDCBA 3 Expressão algébrica Quanto ao elo entre as ciências humanas e as ciências exatas a expressão algébrica é o prin cipal protagonista A expressão algébrica é uma fórmula matemática que traduz um fenômeno hu mano ou um fenômeno físico A expressão algébrica é o ponto de partida para a construção do circuito elétrico digital As propriedades algébricas são aplicadas às expressões algébricas a fim de efetuar as transformações desejadas A conversão de alguma das outras seis formas de definição para a expressão algébrica é chamada de síntese porque a expressão algébrica é a definição mais sintética de todas A expressão algébrica canônica foi apresentada no capítulo sobre a forma canô nica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 115 Expressão algébrica Exemplo 1 B A Expressão algébrica Exemplo 2 C BA C BA BA BA C BA BA BA C BA 4 Gráfico O gráfico é apenas uma forma visualmente diferente de representação da tabelaverdade Cada variável de entrada juntamente com a variável de saída formam um gráfico individual Os gráficos são desenhados de maneira alinhada Se o eixo horizontal representa a grandeza do tempo então os gráficos das variáveis de entrada formam um divisor de frequência onde a variável menos significativa possui a maior frequência 5 Mapa de Karnaugh Tal como o gráfico o mapa de Karnaugh não passa de uma modificação visual da tabela verdade e consiste de uma ferramenta intuitiva de aplicação do teorema da adjacência para a minimização de funções booleanas Este é um assunto para os próximos capítulos 6 Diagrama de Venn O diagrama de Venn é a ponte de comunicação entre o cálculo proposicional e a teoria dos conjuntos Embora este diagrama tenha enorme relevância na análise de tomada de decisões ele tem pouca aplicação no processo de desenvolvimento de sistemas digitais 7 Circuito lógico O circuito lógico representa a expressão algébrica por meio de símbolos visuais Embora os circuitos lógicos também sejam usados no contexto das ciências humanas para formar um diagrama intuitivo a respeito das tomadas de decisões e do pensamento filosófico é no contexto dos sistemas digitais que os circuitos lógicos encontram sua maior aplicabilidade Os circuitos lógicos são um con ceito meramente matemático e estão totalmente separados de qualquer elemento físico O circuito lógico é o ponto de partida para a transformação de uma função matemática lógica em algum sis tema físico Embora a materialização dos circuitos lógicos possa acontecer por meio de mecânica dos sólidos mecânica dos fluidos sistemas eletromecânicos circuitos óticos e até mesmo biológi cos é nos circuitos eletrônicos que os circuitos lógicos são aplicados com maior propriedade Embora um circuito lógico somente contenha elementos lógicos é bastante comum que tais representações incorporem alguns elementos de sua materialização Estes seriam os circuitos hí bridos No caso dos circuitos eletrônicos é convencional que se misturem os símbolos das portas lógicas com os símbolos de resistores capacitores LEDs fontes etc Alguns aplicativos simuladores de circuitos elétricos possuem dois modos de operação dis tintos o modo analógico e o modo digital No modo digital grandezas como tensão elétrica cor rente elétrica potência elétrica resistência elétrica etc são suprimidas Somente os valores lógicos e o tempo são calculados No modo analógico são levadas em consideração as propriedades físicas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 116 dos dispositivos lógicos levando em consideração inclusive as características específicas dos circui tos integrados disponíveis no comércio Algumas definições se aplicam à forma canônica Outras definições são aplicadas à forma minimizada Definição Canônico Minimizado Lista de termos Sim Não Tabela verdade Sim Não Expressão algébrica Sim Sim Gráfico Sim Não Mapa de Karnaugh Não Sim Diagrama de Venn Sim Não Circuito lógico Sim Sim Tabela 5 Aplicação das definições No caso do programa CircuitMaker Student V62c Protel Technology Inc existem modelos pseudoanalógicos como por exemplo o logic switch e o logic display que seriam uma sim plificação no contexto booleano de dispositivos físicos reais Figura 1 O software CircuitMaker Student V62c Os barramentos buses são um artifício estético usado para padronizar o desenho do cir cuito lógico Barramento é um conjunto de duas ou mais linhas paralelas trazendo cada uma a sua informação Em sentido transversal os elementos do circuito fazem o acesso às linhas do barra mento Este barramento pode ser vertical ou horizontal No caso da forma canônica o barramento usa uma linha para cada variável de entrada e mais uma outra linha para cada uma destas variáveis em sua versão complementar Há três tipos de barramento definidos conforme sua aplicação Data bus Address bus Control bus Nos microcontroladores com arquitetura Harvard existe ainda um quarto tipo de barra mento chamado de program bus Em microcontroladores da família PIC32 o data bus é dividido em duas partas o bus matrix e o peripheral bus Um barramento pode ser interno ao circuito integrado ou externo construído na placa de circuito impresso Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 117 Figura 2 Barramentos de 1 bit e de dois bits respectivamente No capítulo anterior foram apresentados exemplos das três primeiras formas de definição a saber a lista de termos a tabela verdade e a expressão algébrica para a forma canônica Aqui são apresentados os respectivos circuitos lógicos obtidos através do CircuitMaker Student V62c C max1 C max023 Figura 3 Exemplo 1 Circuito lógico com análise de zeros C min023 C min1 Figura 4 Exemplo 1 Circuito lógico com análise de zeros A B A C A B B A C C B A B A C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 118 D max03456 Figura 5 Exemplo 2 Circuito lógico com análise de zeros D max127 Figura 6 Exemplo 2 Circuito lógico com análise de zeros invertido B C A V 100 101 110 111 011 010 001 000 D A1 C1 B1 V D 000 001 010 011 111 110 101 100 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 119 D min127 Figura 7 Exemplo 2 Circuito lógico com análise de uns D min03456 Figura 8 Exemplo 2 Circuito lógico com análise de uns invertido A C B D 100 101 110 111 010 011 001 000 B C A 000 001 011 010 111 110 101 100 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 120 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 121 Capítulo 205 Irrelevâncias na forma canônica O cérebro humano não possui capacidade suficiente para analisar todas as situações possí veis acerca de alguma proposição Se você pretende fazer algum investimento financeiro você pre cisa considerar várias hipóteses para o andamento dos eventos que podem influenciar nos resulta dos desta iniciativa como por exemplo a inflação e a taxa de juros Por outro lado você não é capaz de conjecturar todas as hipóteses possíveis e imagináveis como por exemplo o cenário no qual o planeta Terra é atingido por um meteoro Você passaria o resto de sua vida pensando nestas possibilidades e não sobraria tempo para efetuar o investimento propriamente dito Toda pessoa sensata precisa desprezar a possibilidade de ocorrência de algumas hipóteses Aliás a quantidade de hipóteses a serem desprezadas podem ser incontáveis Somente os desenrolares mais plausíveis são considerados na análise a fim de que esta análise seja humanamente possível Esta limitação é uma das características que diferencia um ser humano e um ser divino a saber a onisciência Sob uma análise filosófica os números zero e infinito não existem Zero é um número pequeno ao ponto de estar abaixo da capacidade de medição física ou da capacidade de entendi mento humano Infinito é um número grande ao ponto de estar cima da capacidade de medição física ou da capacidade de entendimento humano Situações irrelevantes são aquelas cuja probabilidade de ocorrência é desprezível Neste caso a análise da função para estas situações é dispensável não é preciso tomar nenhuma decisão em relação a uma ação futura decorrente da vigência destes cenários A filosofia e a sabedoria pre veem que a separação entre o que é relevante e o que é irrelevante pode ser feita de maneira equivocada podendo levar ao desfecho onde os acontecimentos aconteceram de maneira impre vista A teoria do caos por meio do efeito borboleta afirma que todos os acontecimentos desta existência estão entrelaçados interrelacionados Por esse motivo não existe irrelevância plena dentro da ótica da filosofia A sabedoria está em identificar os fenômenos que possuem mais ou menos poder de interferência dentro do sistema em análise Irrelevâncias também surgem na tomada de decisões Tais irrelevâncias acontecem quando uma informação anula a importância de outras informações tornandoas irrelevantes Esta anula ção pode acontecer de maneira favorável à decisão ou contrária Por exemplo na decisão pela aqui sição de algum bem vários critérios são analisados porém observando que o preço cobrado é a metade do preço justo então todas as características depreciativas podem ser descartadas depen dendo do caso Outro exemplo na decisão por algum relacionamento apesar de inúmeras outras virtudes apresentadas pela outra pessoa uma certa desvirtude pode ser uma importância muito grande ao ponto de anular todas a lista de virtudes tornandoas irrelevantes Algumas funções booleanas podem conter combinações irrelevantes das variáveis de en trada Isso significa que estas combinações supostamente nunca são usadas Considerando que a função precisa retornar uma resposta que deve retratar uma veracidade ou uma falsidade e na ausência de uma terceira opção então certamente uma ocorrência forçada de uma situação rele vante leva a uma resposta determinada e constante O projetista precisa fazer a escolha arbitrária a respeito desta resposta Quando se trata da forma canônica a escolha mais sensata é pelo valor false porque neste caso as irrelevâncias não formam maxtermos nem mintermos e isto reduz a quantidade de portas lógicas usadas pelo circuito construído em tecnologia full custom mas pode não fazer a menor diferença quando o circuito é construído em uma ROM ou PROM Na tabelaverdade as irrelevâncias são representadas por X Considerando que as células da tabelaverdade marcadas como irrelevantes são despreza das tanto na análise de zeros como na análise de uns então estas células recebem o valor um na análise de zeros e recebem o valor zero na análise de uns Isto significa que os dois tipos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 122 de análise geram funções diferentes diferença que se manifesta somente nas células irrelevantes que por jamais serem apontadas não provocarão nenhum impacto no funcionamento do sistema Irrelevâncias acontecem quando a quantidade de combinações necessárias para as variáveis de entrada é maior do que as combinações efetivamente utilizadas Na maioria dos projetos as células irrelevantes são alocadas para as últimas posições da tabela mas isso não é uma regra e cada caso deve ser analisado individualmente Em aplicações como contadores e memórias os endereços não usados quase sempre são alocados para as últimas posições Em aplicações onde cada variável de entrada está atribuída a algum significado físico específico como por exemplo os sensores colocados dentro de uma má quina então as posições irrelevantes podem ficar dispersas pela tabelaverdade A irrelevância não pode ser confundida com indeterminação Considerando que o acesso a todas as combinações das variáveis de entrada é possível embora nem sempre factível então todas estas combinações precisam ser determinadas para que a função também seja determinada A exis tência de uma célula indeterminada na tabelaverdade significa que a função também é indetermi nada e por isso não pode ser implementada em um sistema físico A marcação com X na tabela verdade significa que o valor daquela célula não é especificado através da análise das premissas do sistema sua determinação precisa ser feita de maneira arbitrária ou usando algum conceito alheio à definição do significado das variáveis de entrada Primeiramente o projetista faz a substituição das marcas X por zeros ou por uns e somente depois disso o sistema pode ser implementado Em muitas aplicações práticas é conveniente usar a função complementada motivo porque a obtenção desta função será apresentada nos exemplos a seguir por razões puramente didáticas pois o processo de síntese não requer necessariamente a obtenção das quatro formas uma única forma já é suficiente não faz sentido materializar a mesma função lógica de duas ou mais formas diferente Exemplo 1 duas entradas C max1 X3 C min02 X3 C max02 X3 C min1 X3 B A C C 0 0 1 0 0 1 0 1 1 0 1 0 1 1 X X Tabela 1 Exemplo 1 Tabelas verdade C C decimal B A zeros C0 uns C1 zeros C2 uns C2 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 Tabela 2 Exemplo 1 Definição de termos C BA C BABA C BABA C BA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 123 B A C0 C1 C2 C3 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 Tabela 3 Exemplo 1 Tabelas verdade Exemplo 2 três entradas D max023 X67 D min145 X67 D max145 X67 D min023 X67 C B A D D 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 X X 1 1 1 X X Tabela 4 Exemplo 2 Tabelas verdade Conforme pode ser observado na tabela as funções D0 D1 D2 e D3 são diferentes e esta diferença está justamente nas células irrelevantes Por causa desta diferença estas funções não podem receber o mesmo nome D D decimal C B A zeros D0 uns D1 zeros D2 uns D2 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 7 1 1 1 Tabela 5 Exemplo 2 Definição de termos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 124 C B A D0 D1 D2 D3 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 Tabela 6 Exemplo 2 Tabelas verdade Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 125 Capítulo 206 Mapa de Karnaugh A minimização de uma expressão algébrica canônica consiste da aplicação de alguma pro priedade conhecida no sentido de reduzir o tamanho desta expressão de modo a também e prin cipalmente reduzir o tamanho do circuito lógico A redução do tamanho do circuito lógico implica na redução do tamanho do circuito físico geralmente um circuito eletrônico integrado a um chip A redução do tamanho do circuito físico apresenta algumas vantagens como Redução da área ocupada no layout do circuito integrado Redução da quantidade de chips no sistema Redução do consumo de energia elétrica Redução da probabilidade de ocorrência de defeito no sistema Nem sempre o uso da expressão algébrica na forma canônica leva à construção do sistema físico mais conveniente em acordo com os critérios de julgamento das partes interessadas Na maior parte dos casos o critério é o custo de implementação mas outros critérios podem surgir como tamanho peso consumo de energia elétrica dissipação de calor durabilidade tempo de atraso hazards etc Em razão de demandas específicas são usadas tecnologias fullcustom nas quais o projetista pode escolher livremente a topologia do circuito lógico diferentemente das tecnologias gatear ray nas quais a topologia é prédeterminada e o projetista precisa de adequar a esta predetermi nação Em Para circuitos pequenos a determinação da forma mínima ou forma ótima é bastante intui tiva porém para circuitos maiores com seis ou mais variáveis de entrada e duas ou mais variáveis de saída esta análise não é trivial pois a otimização do circuito pode ser feita segundo critérios que não podem ser todos eles satisfeitos por meio de uma única escolha Os métodos de minimização de circuitos lógicos se agrupam em três categorias Minimização algébrica Minimização sistemática Minimização visual A minimização algébrica é a única opção válida no contexto da análise matemática Publica ções acadêmicas e científicas devem usar este método somente A minimização sistemática não é adequada para o uso humano mas sim para o computador Métodos sistemáticos são aqueles nos quais não é preciso usar a inteligência humana mas apenas cálculos que qualquer computador é capaz de realizar Métodos sistemáticos consistem de algoritmos que podem ser implementados em diversas linguagens de programação de alto nível O método de minimização visual é o mais limitado dentre as três categorias mas também é o mais indicado para estudantes que estejam iniciando suas abordagens nos processos de mini mização O mapa de Karnaugh é um método visual mas outros métodos visuais podem ser desen volvidos futuramente Maurice Karnaugh foi um físico e matemático norteamericano nascido na cidade de Nova Iorque em 1924 Por mais de uma década Karnaugh trabalhou na Bell Labs onde o efeito da trans resistência bipolar foi descoberto por William Shockley em 1948 O mapa de Karnaugh é a forma mais intuitiva de efetuação do processo de minimização porém não é o mais eficiente Quando se trata de funções com seis ou mais variáveis de entrada o Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 126 uso do mapa de Karnaugh é possível mas humanamente difícil A maneira mais eficiente e elegante para obter o efeito da minimização é por meio do uso de propriedades da álgebra booleana a mi nimização algébrica A minimização por mapa de Karnaugh é uma forma intuitiva de aplicação das propriedades da álgebra booleana de uma maneira visual O mapa de Karnaugh é uma reconstrução da tradicional tabelaverdade A diferença é que as células da tabela são reorganizadas de maneira a permitir a minimização visual A sequência den tro do mapa respeita o código Gray também chamado de código espelhado uma sequência de números binários na qual somente uma variável se altera entre uma linha e a outra Frank Gray foi um físico que também trabalhou na Bell Labs O nome espelhado diz respeito ao fato de que exceto pelo bit menos significativo a se gunda metade corresponde à primeira metade em ordem inversa o seu espelho no eixo horizontal B A dec C B A dec D C B A dec 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 3 0 1 1 3 0 0 1 1 3 1 0 2 0 1 0 2 0 0 1 0 2 1 1 0 6 0 1 1 0 6 1 1 1 7 0 1 1 1 7 1 0 1 5 0 1 0 1 5 1 0 0 4 0 1 0 0 4 1 1 0 0 12 1 1 0 1 13 1 1 1 1 15 1 1 1 0 14 1 0 1 0 10 1 0 1 1 11 1 0 0 1 9 1 0 0 0 8 Tabela 1 Código Gray Por causa do uso do código Gray existe uma permutação entre algumas linhas e algumas colunas no mapa O procedimento usado na minimização por mapa de Karnaugh consiste na formação de gru pos de células A quantidade de células por grupo é uma potência de dois O formato geométrico do grupo é o de um retângulo A formação de um par consiste do aglutinamento de dois termos em um só A formação de uma quadra consiste do aglutinamento de dois pares em um só A formação de um octeto consiste do aglutinamento de duas quadras em uma só e assim por diante Os pares podem ser 2x1 ou 1x2 As quadras podem ser 4x1 1x4 ou 2x2 A formação de grupos implica não somente no aglutinamento dos termos compreendidos como também na eliminação das variáveis que sofrem alteração entre uma célula e outra Por causa desta eliminação não se fala mais em maxtermos ou mintermos muito embora a estrutura algébrica continue sendo de produto de somas para análise de zeros e de soma de produtos para análise de uns A formação de pares no mapa de Karnaugh está amparada no teorema da adjacência Se gundo este teorema os pares dizem respeito a dois mintermos ou dois maxtermos nos quais so mente uma variável sofre alteração barrado e não barrado Aplicando a propriedade distributiva e a propriedade do elemento inverso a variável que se altera é eliminada Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 127 BA 0 1 CBA 00 01 11 10 DCBA 00 01 11 10 0 0 1 0 0 1 3 2 00 0 1 3 2 1 2 3 1 4 5 7 6 01 4 5 7 6 11 12 13 15 14 10 8 9 11 10 Tabela 2 Endereçamento das células forma decimal BA 0 1 CBA 00 01 11 10 DCBA 00 01 11 10 0 00 01 0 000 001 011 010 00 0000 0001 0011 0010 1 10 11 1 100 101 111 110 01 0100 0101 0111 0110 11 1100 1101 1111 1110 10 1000 1001 1011 1010 Tabela 3 Endereçamento das células forma binária BA 0 1 CBA 0 1 3 2 DCBA 0 1 3 2 0 00 01 0 00 01 03 02 0 00 01 03 02 1 10 11 1 10 11 13 12 1 10 11 13 12 3 30 31 33 32 2 20 21 23 22 Tabela 4 Endereçamento das células coordenadas Grupamento Elementos Variáveis eliminadas célula 1 20 0 par 2 21 1 quadra 4 22 2 octeto 8 23 3 Tabela 5 Eliminação das variáveis Grupamento Variantes célula 11 par 21 12 quadra 41 14 22 octeto 81 18 42 24 Tabela 6 Formatos Figura 1 Pares e quadras Figura 2 Quadras inválidas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 128 Uma variável é eliminada quando ela aparece dentro do grupamento tanto como zero como como um Se a variável assume os dois valores então ela é irrelevante não entra na expres são algébrica do grupamento Se ao tomar uma decisão um elemento de análise pode ser satisfeito mas também pode não ser satisfeito então este elemento pode ser removido da análise Neste capítulo será apresentada a minimização de funções que formem um único grupa mento no mapa de Karnaugh No capítulo seguinte será apresentada a minimização de funções que formem vários grupamentos no mapa momento em que é necessário entender o conceito de im plicante primo essencial O teorema da adjacência somente pode ser aplicado à base binária O mapa de Karnaugh somente é aplicável à base binária Exemplo 1 CBA 00 01 11 10 0 0 0 1 1 1 1 1 1 1 Tabela 7 Exemplo 1 As duas células são dadas por CBA e CBA Como a variável A muda de valor de uma célula para outra então ela é descartada D max01 D CB Exemplo 2 CBA 00 01 11 10 0 0 1 0 0 1 0 1 0 0 Tabela 8 Exemplo 2 As duas células são dadas por CBA e CBA Como a variável C muda de valor de uma célula para outra então ela é descartada D min15 D BA Exemplo 3 DCBA 00 01 11 10 00 0 0 1 1 01 0 0 1 1 11 1 1 1 1 10 1 1 1 1 Tabela 9 Exemplo 3 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis A e C mudam de valor de uma célula para outra então elas são descartadas E max0145 E DB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 129 Exemplo 4 DCBA 00 01 11 10 00 0 0 1 0 01 0 0 1 0 11 0 0 1 0 10 0 0 1 0 Tabela 10 Exemplo 4 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis D e C mudam de valor de uma célula para outra então elas são descartadas E min371115 E BA Exemplo 5 DCBA 00 01 11 10 00 1 1 1 1 01 1 1 1 1 11 1 1 1 1 10 0 0 0 0 Tabela 11 Exemplo 5 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis B e A mudam de valor de uma célula para outra então elas são descartadas E max891011 E DC Exemplo 6 Erro DCBA 00 01 11 10 00 0 0 1 0 01 0 0 1 0 11 0 0 1 0 10 0 0 0 0 Tabela 12 Exemplo 6 erro As três células são dadas por DCBA DCBA e DCBA Como as variáveis D e C mudam de valor de uma célula para outra então elas seriam descartadas descartadas gerando exatamente a mesma expressão algébrica do exemplo 4 que obviamente é uma outra função mostrando que o critério de eliminação de variáveis não pode ser aplicado para grupamen tos que não se enquadrem nos esquemas da tabela 4 errado Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 130 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 131 Capítulo 207 Mapa de Karnaugh de vários IPEs Dentro do contexto do estudo a respeito do pensamento humano quanto às tomadas de decisão podemos afirmar que um implicante primo essencial IPE seria um segmento do pensa mento um subconjunto da análise Quando o pensamento possui dois ou mais IPEs então a aná lise precisa ser dividida em vários subargumentos Cada IPE gera um subargumento ou argumento parcial e a ligação entre estes subargumento forma o argumento completo No capítulo anterior foi apresentada a minimização de funções que formem um único grupa mento no mapa de Karnaugh Neste capítulo será apresentada a minimização de funções que for mem vários grupamentos no mapa Três conceitos precisam ser muito bem compreendidos a fim de que não se cometa erros no uso do Mapa de Karnaugh Implicante É qualquer subconjunto da função Toda função booleana pode ser representada por um produtório de maxtermos análise de zeros ou por um somatório de mintermos análise de uns Um implicante é um subconjunto desta lista de termos que satisfaz os critérios de for mato apresentados no capítulo anterior a saber a célula isolada o par o quarteto o octeto etc Implicante primo É o implicante que não está contido em nenhum outro implicante É o im plicante que não é subconjunto de nenhum outro implicante Em outras palavras é o máximo ta manho de implicante para a situação em questão Implicante primo essencial IPE Essencial é tudo aquilo que não pode faltar A sua ausência implica em erro No mapa de Karnaugh o implicante primo essencial possui pelo menos uma cé lula não irrelevante com o valor analisado zeros ou uns que não pertence a nenhum outro implicante primo essencial A ausência do implicante primo essencial significa que uma ou mais cé lulas não são cobertas por nenhum outro implicante primo essencial de modo que a síntese apre senta erro A minimização por mapa de Karnaugh implica na identificação dos maiores implicantes pri mos essenciais pois quanto maiores são os implicantes maior é a redução do tamanho da expres são algébrica Esta identificação apesar de intuitiva nem sempre é tarefa fácil e requer a adoção de alguns cuidados norteadores O primeiro cuidado é o de iniciar o processo por meio dos tamanhos maiores Se o mapa possui oito células comece pelas quadras Se o mapa possui dezesseis células comece pelos octe tos e assim por diante Deixe as células isoladas para o final do processo O segundo cuidado é o de priorizar os IPEs que não compartilham células Por exemplo na etapa dos pares comece por aqueles pares cujas células pertençam somente a eles caso existam Quando todas as opções de IPEs no tamanho em análise pares quadras ou octetos pos suem compartilhamento de células priorize as células que pertencem a uma única opção de IPE e forme os demais IPEs a partir da situação obtida Observando atentamente estas três recomendações a chance de incorrer em erro na análise do mapa diminui bastante Há situações nas quais existem duas opções válidas Por exemplo há casos onde uma célula pode ser coberta por um par horizontal ou vertical Diante deste cenário cada escolha cria uma ex pressão algébrica diferente porém ambas correspondem à mesma função booleana Na forma canônica a análise de zeros produz uma expressão algébrica no formato de pro dutório de maxtermos a análise de uns produz uma expressão algébrica no formato de somatório de mintermos Na forma minimizada por mapa de Karnaugh não se fala em termos pois ocorre eliminação de variáveis A análise de zeros produz uma expressão algébrica no formato de pro duto de somas a análise de uns produz uma expressão algébrica no formato de soma de produtos Cada IPI é uma função independente A função completa é obtida por meio da junção das funções parciais Esta junção é feita por meio da multiplicação lógica na análise de zeros ou por meio da adição lógica na análise de uns Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 132 Exemplo 1 CBA 00 01 11 10 0 0 0 1 1 1 1 0 1 1 Tabela 1 Exemplo 1 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 Tabela 2 IPE1 Tabela 3 IPE2 D max015 IPE1 max01 IPI1 CB IPE2 max15 IPI2 BA D IPE1 IPE2 D CBBA Exemplo 2 CBA 00 01 11 10 0 1 1 1 1 1 0 1 0 0 Tabela 4 Exemplo 2 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 Tabela 5 IPE1 Tabela 6 IPE2 D min01235 IPE1 min0123 IPI1 C IPE2 min15 IPI2 BA D IPE1 IPE2 D CBA Exemplo 3 DCBA 00 01 11 10 00 0 0 0 1 01 0 0 0 1 11 1 1 0 1 10 1 1 0 1 Tabela 7 Exemplo 3 E max0134571115 IPE1 max0145 IPI1 DB quadra 2x2 IPE2 max371115 IPI2 BA quadra 1x4 E IPE1 IPE2 E DBBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 133 Exemplo 4 DCBA 00 01 11 10 00 0 1 1 0 01 0 0 1 0 11 0 0 1 0 10 1 0 1 0 Tabela 8 Exemplo 4 E min13781115 IPE1 min371115 IPI1 BA IPE2 min13 IPI2 DCA IPE3 min8 IPI3 DCBA E IPE1 IPE2 IPE3 E BADCADCBA Exemplo 5 DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 9 Exemplo 5 Esta minimização com análise de uns pode ser feita corretamente de duas maneiras di ferentes gerando expressões algébricas distintas DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 10 Opção 1 E DCBDBADCACBA DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 11 Opção 2 E DBADCACBADCB No exemplo 5 apesar do fato de que as duas formas utilizam IPIs diferentes o mapa de Karnaugh é o mesmo Isto significa que embora as expressões algébricas sejam diferentes elas re presentam a mesma função motivo por que elas recebem o mesmo nome Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 134 Exemplo 6 tomada de decisão Supondo a situação A minha decisão pelo investimento em uma empresa está sujeita a quatro fatores O valor das ações da empresa está em crescimento A empresa não possui processos judiciais em andamento nos quais ela é ré A empresa não possui dívidas com empregados nem com fornecedores A taxa de juros no Brasil está baixa Tomarei a decisão com base nos seguintes argumentos Se os quatro fatores são satisfeitos então eu invisto na empresa óbvio Se o valor das ações está em crescimento e a taxa de juros está baixa eu faço o investi mento Se não há processos judiciais nem dívidas e as ações estão em crescimento eu faço o in vestimento O primeiro argumento precisa ser descartado porque ele está contido em todos os outros argumentos Isso acontece quando lidamos com uma utopia Utopias são pensamentos de caráter puramente ideológicos e que não se baseiam na realidade Utopias partem da premissa de que to dos os fatores relevantes ocorrem de maneira positiva Um argumento realista leva em considera ção as limitações impostas pela realidade e por esta razão possui um escopo de cobertura limitado Cada fator é uma variável e precisa receber um nome mnemônico a fim de que não precise mos lidar com as longas frases textuais Cada argumento é um implicante é preciso descartar todos aqueles que não sejam primos essenciais A O valor das ações da empresa está em crescimento B A empresa não possui processos judiciais em andamento nos quais ela é ré C A empresa não possui dívidas com empregados nem com fornecedores D A taxa de juros no Brasil está baixa Se o valor das ações está em crescimento e a taxa de juros está baixa eu faço o investi mento DA Se não há processos judiciais nem dívidas e as ações estão em crescimento eu faço o in vestimento CBA DCBA 00 01 11 10 00 0 0 0 0 01 0 0 1 0 11 0 0 1 1 10 0 0 1 1 Tabela 12 Mapa de Karnaugh IPI1 DA IPI1 CBA E IPI1 IPI2 E DACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 135 Capítulo 208 Irrelevância em mapa de Karnaugh Nos capítulos anteriores foi apresentado o ensinamento segundo o qual na forma canônica as células da tabelaverdade marcadas como irrelevantes são desprezadas tanto na análise de zeros como na análise de uns Este procedimento não deve ser usado em mapa de Karnaugh Irrelevâncias em mapas de Karnaugh quando existem precisam ser usadas para melhorar o processo de minimização Em outras palavras as irrelevâncias devem ser usadas para aumentar o tamanho dos grupos de células formadores de implicantes primos essenciais Um cuidado deve ser tomado com relação ao fato de que irrelevâncias jamais podem ser usadas para criar novos implicantes pois aquilo que é irrelevante não é essencial Em outras pala vras os IPEs somente podem ser criados com base nos termos relevantes mas eles podem ser ampliados com base nos termos irrelevantes Um procedimento simples para identificar a formação equivocada de um IPE consiste da observação se algum IPE marcado no mapa possui dentre suas células exclusivas apenas irrelevân cias Isso não pode acontecer Tal como na forma canônica as irrelevâncias em mapas de Karnaugh levam à definição de funções diferentes para as análises de zeros e de uns Exemplo 1 CBA 00 01 11 10 0 1 0 X 1 1 1 1 1 1 Tabela 1 Exemplo 1 A irrelevância pode formar um par com a célula à esquerda Neste caso a célula 3 deixa de ser irrelevante para assumir o valor fixo zero D011 0 D CA A substituição contrária significa na obtenção de uma expressão algébrica maior D011 1 D CBA A substituição contrária não significa que o processo de síntese esteja errado haja vista que a expressão algébrica satisfaz às condições dadas pelo enunciado do problema Porém o fato de que a síntese esteja correta não significa necessariamente que o processo de minimização esteja cor reto Neste caso existe um erro de minimização em uma síntese correta Exemplo 2 CBA 00 01 11 10 0 1 0 X 1 1 1 0 X 1 Tabela 2 Exemplo 2 As duas irrelevância podem formar uma quadra com as células à esquerda Neste caso as células 3 e 7 deixam de ser irrelevantes para assumir o valor fixo zero D0110 D1110 DX110 D A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 136 Exemplo 3 CBA 00 01 11 10 0 0 0 1 1 1 1 0 1 X Tabela 3 Exemplo 3 Neste caso a célula 6 não possui conexão com nenhum IPE não contribui com a minimiza ção A célula 6 deixa de ser irrelevante para assumir o valor fixo um D110 1 D CBBA Exemplo 4 CBA 00 01 11 10 0 0 0 X 1 1 1 1 1 1 Tabela 4 Exemplo 4 A irrelevância pode formar um par com a célula à esquerda porém neste par a única célula exclusiva é a própria irrelevância Neste caso o implicante é primo mas não essencial e por isso não pode ser considerado A célula 3 deixa de ser irrelevante para assumir o valor fixo um D011 1 D CBBA Exemplo 5 CBA 00 01 11 10 0 0 0 X X 1 1 0 1 1 Tabela 5 Exemplo 5 As duas irrelevâncias permitem a formação de uma quadra a partir do par de zeros D CBA Exemplo 6 CBA 00 01 11 10 0 0 0 X 1 1 1 0 X 1 Tabela 6 Exemplo 6 D ACB Exemplo 7 CBA 00 01 11 10 0 0 X 0 1 1 1 0 1 1 Tabela 7 Exemplo 7 A mesma irrelevância pode ser compartilhada por vários IPEs D CBCABA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 137 Exemplo 8 opção 1 opção 2 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 X 0 1 0 0 X 0 1 0 0 X 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 8 Exemplo 8 D1 max135 D1 BACA D10101 D2 max1235 D2 BACB D20100 D1D2 Exemplo 9 análise de zeros análise de uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 X 1 0 1 0 X 1 0 1 0 X 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 9 Exemplo 9 Análise de zeros D0 max15 D BA A irrelevância não é coberta pelo IPE e recebe o valor falso 1 Análise de uns D1 min023467 D BA A irrelevância coberta formando uma quadra e recebe o valor verdadeiro 1 D0 D1 Exemplo 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 X 0 0 X 0 X 0 0 X 0 X 0 0 X 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 10 Exemplo 10 D0 max01235 D0 CBA D00X00 D1 min02467 D1 ACB D10X01 D0 D1 Exemplo 11 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 X 00 1 1 1 X 00 1 1 1 X 01 X 1 1 0 01 X 1 1 0 01 X 1 1 0 11 0 X X 0 11 0 X X 0 11 0 X X 0 10 0 X X 0 10 0 X X 0 10 0 X X 0 Tabela 11 Exemplo 11 E0 max 02060809101112131415 E0 DBA E1 min 00010203050709111315 E1 ADC E0 E1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 138 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 139 Capítulo 209 Mapa de Karnaugh sem spikes Na música intitulada O tempo não para grande sucesso musical de 1988 de autoria de Cazuza e Arnaldo Brandão o cantor diz Tuas ideias não correspondem aos fatos Esta frase ge nuinamente genial aborda o problema que existe em problematizar a realidade transformando a naquilo que é considerado ideal correndo o risco de acreditar que o real corresponde ao ideal Tratase de um comportamento histérico no qual a percepção de mundo cosmovisão não estaria baseada na percepção da realidade mas na formulação emocional de um mundo melhor Qual é o engenheiro ou técnico experiente que nunca passou pela desagradável experiência de investir horas ou dias no projeto de alguma benfeitoria aplicando todas as regras de dimensio namento apresentadas nos livros acadêmicos e nos guias técnicos bem como os conhecimentos obtidos por meio da observação dos conhecimentos obtidos nos conselhos oferecidos pelos profes sores na época da instrução descobre na etapa de prototipagem ou no início da obra que o pro jeto inexplicavelmente não funciona Todos os cálculos estão corretos mas o comportamento real do projeto não corresponde ao esperado No contexto das ciências naturais hazards são fatores que afetam negativamente o funcio namento de benfeitorias e que não são diagnosticadas nos cálculos efetuados durante o projeto do sistema Hazards são problemas que somente são descobertos após a realização dos primeiros tes tes Por exemplo a criação de uma vacina de combate contra um patógeno não está limitada à simples análise matemática dos processos envolvidos e nem aos ensaios realizados em laboratório É preciso que uma grande quantidade de pessoas sejam usadas como cobaias a fim de que os sin tomas colaterais manifestos nestas pessoas sirvam como parâmetro para o refinamento no projeto desta vacina Quanto mais experiente é o projetista ou quanto maior é o número de pessoas envolvidas no projeto de maneira sinergética ou quanto maior é o tempo gasto nos trabalhos menor é a pro babilidade de que hazards sejam encontrados No contexto dos circuitos digitais os hazards estão decorrentes de efeitos analógicos ine rentes aos componentes eletrônicos que efetuam as funções lógicas Esses efeitos analógicos po dem ser a corrente elétrica a tensão elétrica mas o efeito que mais gera hazards em sistemas digi tais é o tempo Todas as portas lógicas construídas a partir de transistores lançam mão do funcionamento do chaveamento eletrônico quando o transistor opera como uma chave ligadesliga Nesta opera ção de ligamento e desligamento existe um inerente atraso delay Este tempo de atraso delay time em dispositivos ligados em série gera um atraso de propagação ou tempo de propagação pro pagation time ou propagation delay O tipo mais simples e mais comum de hazard em circuitos digitais é spike Eles consistem de um pico de valor lógico Este pico possui uma duração muito baixa em comparação com os outros tempos decorrentes do funcionamento normal do circuito É um pulso bastante estreito porém mesmo assim ele é suficiente para agir como gatilho em um outro circuito gerando comporta mento inadequado em contadores e registradores Hazzards em circuitos digitais são fenômenos indesejados decorrentes de características elé tricas e temporais e que não podem ser previstas por meio de uma análise puramente booleana Sua análise requer o envolvimento de grandezas como tensão elétrica corrente elétrica potência elétrica impedância de entrada impedância de saída etc Há muitas aplicações nas quais a questão dos spikes não faz a menor diferença como por exemplo o controle de displays A visão humana não é capaz de identificar a ocorrência dos spikes haja vista que a sua duração não passa de alguns nanossegundos Outra categoria de aplicações são Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 140 os atuadores de alta inércia como por exemplo motores inércia mecânica fornos inércia tér mica e lâmpadas incandescentes inércia luminosa A inércia é o resultado de um efeito de filtro passabaixas um fenômeno físico que impede a aplicação de uma função degrau uma descontinui dade na função Nesta situação os spikes por serem uma função de alta frequência são todos fil trados Quando os requisitos de performance temporal não são rigorosos mas os spikes podem ge rar problemas de outras naturezas como por exemplo os harmônicos então os spikes podem ser removidos por meio da colocação de um capacitor pequeno picofarads geralmente cerâmico en tre a saída do circuito lógico e o terra Algumas aplicações podem ter o seu comportamento booleano corrompido por causa dos spikes motivo porque o processo de síntese em tais casos deve levar em consideração a redução na pro babilidade de ocorrência de tais eventos Há dois tipos de spikes Spike em 0 O valor lógico deveria permanecer constante em um porém ele sofre um pico para baixo Spike em 1 O valor lógico deveria permanecer constante em zero porém ele sofre um pico para cima Os spikes podem acontecer também em função degrau Normalmente isso ocorre nos pró prios interruptores que exercem o acionamento das entradas lógicas Novamente a colocação de um capacitor em cada um desses interruptores elimina estes spikes Os circuitos digitais construídos a partir de expressões algébricas minimizadas com mapa de Karnaugh podem gerar spikes quando o valor das entradas geram a mudança do endereçamento de uma célula para outra de modo que o caminho envolvido inclui a passagem por uma célula de valor contrário Uma das maneiras de diminuir a incidência de spikes é o uso no mapa de Karnaugh de al guns implicantes primos não essenciais que façam a ligação entre outros implicantes primos essen ciais Este procedimento reduz a eficiência do processo de minimização e provoca o aumento no tamanho do circuito Cada IPE representa uma porta lógica OR em análise de zeros ou uma porta lógica AND em análise de uns Caso sejam usados IPs não essenciais para reduzir os spikes então uma porta lógica deve ser usada para cada um desses IPs adicionais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 141 Exemplo 1 zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 1 Exemplo 1 No exemplo 1 na análise de zeros há apenas um IPE Não existe então a necessidade de verificação de spikes Na análise de uns os dois IPEs sobrepõese naturalmente dispensando tam bém a análise de spikes Estas são as duas situações que anulam naturalmente o surgimento de spikes Exemplo 2 IPE01 max13 IPE02 max45 IPE01 CB IPE02 CA D IPE01 IPE02 D CBCA IPE11 min02 IPE12 min67 IPE11 CB IPE12 CA D IPE11 IPE12 D CBCA Dois fenômenos distintos não podem acontecer exatamente no mesmo instante Na análise de zero as células 1 e 5 são adjacentes e por isso podem sofrer uma transição imediata de uma para a outra Considerando que estas duas células possuem o mesmo valor zero então esta transição não pode provocar mudança na saída D Se a primeira porta OR desliga vai para um antes do ligamento da segunda porta OR então por um certo tempo as duas portas produzem simultaneamente o valor um ambas desligadas Neste tempo a saída sofre um spike para cima Na análise de uns as células 2 e 6 são adjacentes e por isso podem sofrer uma transição imediata de uma para a outra Considerando que estas duas células possuem o mesmo valor um então esta transição não pode provocar mudança na saída D Se a primeira porta AND desliga vai para zero antes do ligamento da segunda porta AND então por um certo tempo as duas portas produzem simultaneamente o valor zero ambas desligadas Neste tempo a saída sofre um spike para baixo Acrescentando na análise de zeros a terceira porta OR IPNE03 pertinente ao implicante primo não essencial esta porta permanece ligada valor zero no momento em que as duas outras portas produziriam o spike Como o valor zero é dominante na porta AND então a saída D per manece em zero O spike é eliminado Acrescentando na análise de uns a terceira porta AND IPNE13 pertinente ao implicante primo não essencial esta porta permanece ligada valor um no momento em que as duas outras portas produziriam o spike Como o valor um é dominante na porta OR então a saída D permanece em um O spike é eliminado zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 2 Exemplo 2 Método de minimização convencional D CBCA D CBCA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 142 Figura 1 Exemplo 2 Método convencional Neste exemplo 2 a função não utiliza a parcela B Por esse motivo a porta NOT corres pondente também não é usada e pode ser removida do circuito Para que se possa entender corretamente o fenômeno de surgimento do spike considere mos a análise de uns e que seja feita a transição sequencial entre quatro estados 7620 Como em todas estas células D1 então este valor deve permanecer constante Nas células 7 e 6 o IPE12 da figura 1 é ativado Nas células 2 e 0 IPE11 A função D é formada por IPE11 OR IPE12 CBA 00 01 11 10 0 1 0 0 1 1 0 0 1 1 Tabela 3 Exemplo 2 Caminho percorrido Figura 2 Exemplo 2 Surgimento do spike para baixo zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 4 Exemplo 2 Redução de spikes IPE01 max13 IPNE03 max15 IPE02 max45 D IPE01 IPE03 IPE02 IPE11 min02 IPNE13 min26 IPE12 min67 D IPE11 IPE13 IPE12 Na análise de uns nas células 7 e 6 o IPE12 da figura 2 é ativado Nas células 2 e 0 o IPE11 é ativado Nas células 2 e 6 o IPNE13 é ativado A função D é formada por IPE11 OR IPNE13 OR IPE12 D A B C C B A D 7 6 2 0 IPE12 IPE11 D IPE01 IPE02 IPE11 IPE12 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 143 D CBBACA D CBBACA Figura 3 Exemplo 2 Redução de spikes Figura 4 Exemplo 1 Remoção do spike Exemplo 3 zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 1 0 1 00 0 1 0 1 00 0 1 0 1 01 0 1 0 1 01 0 1 0 1 01 0 1 0 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 1 1 1 10 0 1 1 1 10 0 1 1 1 Tabela 5 Exemplo 3 Neste exemplo 3 a análise de zeros gera dois IPEs não interconectáveis de modo que não é possível evitar o surgimento do spike na transição entre um e outro Na análise de uns é possível interconectar todos os IPEs motivo porque no critério de spikes a segunda opção é melhor do que a primeira E BADBA E BADADBBA D C B A D C B A 7 6 2 0 minA minC minB D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 144 Figura 4 Exemplo 3 Redução de spikes Neste exemplo 3 algumas linhas do barramento vertical de entrada não são usadas e por isso podem ser removidas Exemplo 4 zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 1 00 0 0 0 1 00 0 0 0 1 01 0 1 1 1 01 0 1 1 1 01 0 1 1 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 0 0 1 10 0 0 0 1 10 0 0 0 1 Tabela 6 Exemplo 4 Método convencional E BACA E CABA zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 1 00 0 0 0 1 00 0 0 0 1 01 0 1 1 1 01 0 1 1 1 01 0 1 1 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 0 0 1 10 0 0 0 1 10 0 0 0 1 Tabela 7 Exemplo 4 Redução de spikes E BACBCA E CACBBA Figura 5 Exemplo 4 Redução de spikes E B A C D D C A B E D C A B E Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 145 Tal como no exemplo 3 neste exemplo 4 algumas linhas do barramento vertical de entrada não são usadas e por isso podem ser removidas Exemplo 5 Em capítulo anterior foi apresentado este exemplo que possui duas opções de minimização DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 0 00 1 1 1 0 01 1 0 1 0 01 1 0 1 0 11 1 1 1 0 11 1 1 1 0 10 0 0 0 0 10 0 0 0 0 Tabela 8 Exemplo 5 E DCBDBADCACBA E DBADCACBADCB O uso das duas opções ao mesmo tempo implica na remoção dos spikes DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 6 Exemplo 3 E DCBDBADCACBADBADCACBADCB Figura 6 Exemplo 5 Redução de spikes D C A B E Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 146 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 147 Capítulo 210 Minimização de funções múltiplas Nos capítulos anteriores os sistemas apresentados possuem cada um deles uma única fun ção de saída Um circuito digital convencional costuma apresentar várias variáveis de saída Essas variáveis de saída são função das mesmas variáveis de entrada pois o circuito é o mesmo Nem sempre a melhor minimização para estas funções individuais é a melhor minimização para o circuito completo Quando a quantidade de saídas é muito grande a forma canônica é mais indicada e o circuito seria construído em uma ROM ou PROM Quando existe apenas uma saída a forma minimizada é mais indicada Quando existem algumas poucas saídas uma análise refinada vai dizer qual é a me lhor opção Quanto maior é a quantidade de saídas maior é a atratividade da forma canônica Exemplo 1 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 0 0 0 0 00 0 0 0 0 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 0 0 0 11 1 0 0 1 11 1 0 0 0 10 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 1 Exemplo 1 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min01 E1 DCB E2 min1214 E2 DCA E3 min812 E3 DBA Figura 1 Exemplo 1 Neste primeiro exemplo as três funções são minimizadas independentemente umas das ou tras nenhum critério adicional é incorporado diante de que as três funções são construídas no mesmo circuito E3 E2 E1 B A C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 148 Exemplo 2 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 0 00 0 0 0 0 00 0 0 0 0 01 0 0 1 0 01 0 0 0 0 01 1 1 0 0 11 0 0 0 0 11 1 1 0 1 11 1 0 0 0 10 0 0 0 0 10 0 1 0 0 10 1 0 0 0 Tabela 2 Exemplo 2 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min0137 E2 min9121314 E3 min45812 IPE1 min01 IPE1 DCB IPE2 min37 IPE2 DBA IPE3 min1214 IPE3 DCA IPE4 min913 IPE4 DBA IPE5 min812 IPE5 DBA IPE6 min45 IPE6 DCB E1 IPE1 IPE2 E1 DCB DBA E2 IPE3 IPE4 E2 DCA DBA E3 IPE5 IPE6 E3 DBA DCB Figura 2 Exemplo 2 Neste segundo exemplo as três funções também são minimizadas independentemente umas das outras nenhum critério adicional é incorporado diante de que as três funções são cons truídas no mesmo circuito E3 E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 149 Exemplo 3 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 0 0 0 0 00 1 1 0 0 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 1 0 0 1 11 1 0 0 1 11 1 0 0 0 10 0 0 0 0 10 1 0 0 0 10 1 0 0 0 Tabela 3 Exemplo 3 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min011214 E2 min81214 E3 min01812 IPE1 min01 IPE1 DCB IPE2 min1214 IPE2 DCA IPE3 min812 IPE3 DBA E1 IPE1 IPE2 E1 DCB DCA E2 IPE2 IPE3 E2 DCA DBA E3 IPE3 IPE1 E3 DBA DCB Figura 3 Exemplo 3 Neste terceiro exemplo as três funções compartilham IPEs levando a uma redução no ta manho do circuito lógico As expressões algébricas destas funções porém não sofreram nenhuma alteração devido ao fato de serem implementadas no mesmo sistema E3 E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 150 Exemplo 4 E1 E2 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 0 0 01 0 1 0 0 01 0 1 0 0 11 0 1 0 0 11 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 4 Exemplo 4 Variáveis de entrada DCBA Variáveis de saída E1E2 E1 min01513 E2 min0158 IPE1 min01 IPE1 DCB IPE2 min513 IPE2 CBA IPE3 min08 IPE3 CBA IPE4 min15 IPE4 DCA E1 IPE1 IPE2 E1 DCBCBA E2 IPE3 IPE4 E2 CBADBA Figura 4 Exemplo 4 Neste quarto exemplo duas funções também são minimizadas independentemente umas das outras porém usando o critério da remoção de spikes elas podem compartilhar IPEs E1 E2 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 0 0 01 0 1 0 0 01 0 1 0 0 11 0 1 0 0 11 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 5 Exemplo 4 com remoção de spikes E1 E2 B A C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 151 E1 IPE1 IPE2 IPE4 E2 IPE3 IPE4 IPE1 E1 DCBCBADBA E2 CBADBADCB Figura 5 Exemplo 4 com redução de spikes Exemplo 5 Variáveis de entrada BA Variáveis de saída C1C2C3 C1 max12 C1 BABA C2 max0 C2 BA C3 max012 C3 BABABA C3 BA C1 C2 C3 BA 0 1 BA 0 1 BA 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 Tabela 4 Exemplo 5 Método convencional C3 max120 C3 C1C2 A lista de maxtermos de C3 corresponde à soma das listas de maxtermos de C1 e de C2 Considerando que a implementação física de C1 e de C2 implica no uso de três portas lógicas OR uma para cada maxtermo e que esses três maxtermos são justamente aqueles usados por C3 então a minimização de C3 não traz nenhuma redução no tamanho do circuito figura 6A A a minimização permite a troca de uma porta lógica AND de três entradas por uma de duas entradas figura 7A Na implementação pela forma canônica figura 6A usamos uma porta de duas entradas para C1 uma de três entradas para C3 e nenhuma porta para C2 Isto implica em uma possível falta de sincronia na atualização dos três bits de saída Para minimizar este problema todas as saídas E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 152 devem empregar o mesmo tipo de porta lógica figura 6B As entradas não usadas das portas lógicas precisam receber o elemento neutro No caso da porta AND o elemento neutro é o valor um Considerando que toda porta lógica possui um tempo de atraso inerente da ordem de na nossegundos podemos afirmar que os circuitos das figuras 6A 7A e 7B possuem falta de sincronia na atualização dos bits de saída Quando o atuador é um display o efeito da falta de sincronia é desprezível por não ser perceptível pelo ser humano Figura 6 Exemplo 5 Forma canônica sem A e com B a correção da sincronia respectivamente Figura 7 Exemplo 5 C3 minimizado e C3 em função de C1 e de C2 respectivamente C3 C2 C1 B A C1 C2 V C3 A B C3 C2 C1 B A C2 C1 C3 A B BA BA BA BA BA BA BA BA BA BA BA BA BA BABA C1C2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 153 Exemplo 6 Variáveis de entrada CBA Variáveis de saída D1D2D3 D1 max035 D2 max1 D3 max0135 IPE1 max0 IPE1 CBA IPE2 max1 IPE2 CBA IPE3 max3 IPE3 CBA IPE4 max5 IPE4 CBA D1 IPE1 IPE3 IPE4 D1 CBACBA CBA D2 IPE2 D2 CBA D3 IPE1 IPE2 IPE3 IPE4 D3 CBACBACBACBA Minimizando D3 D3 CBCABA D1 D2 D3 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 Tabela 6 Exemplo 2 Método convencional Usando a forma canônica o circuito emprega quatro portas lógicas OR de três entradas na matriz OR quatro maxtermos Usando a forma minimizada a matriz OR emprega quatro portas lógicas OR de três entradas mais três portas lógicas OR de duas entradas A forma minimizada para D3 é pior Figura 8 Exemplo 6 D3 D2 D1 C A B CBA CBA CBA CBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 154 Exemplo 7 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 max456789 E2 max458 E3 max679 E1 DCBADCBADCBADCBADCBADCBA E2 DCBADCBADCBA E3 DCBADCBADCBA E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 1 00 1 1 1 1 00 1 1 1 1 01 0 0 0 0 01 0 0 1 1 01 1 1 0 0 10 1 1 1 1 10 1 1 1 1 10 1 1 1 1 11 0 0 1 1 11 0 1 1 1 11 1 0 1 1 Tabela 7 Exemplo 7 Minimização local E1 DCDCB E2 DCBDCBA E3 DCBDCBA Figura 9 Exemplo 7 Forma minimizada convencional A figura 10 apresenta o circuito onde todas as portas OR são idênticas Esta opção oferece uma otimização na sincronia dos bits de saída haja vista de portas lógicas com menos ou mais en tradas podem apresentar tempos de atraso ligeiramente diferentes dependendo da tecnologia empregada na fabricação do circuito integrado B A C D E1 E3 E2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 155 Figura 10 Exemplo 7 Forma minimizada convencional com otimização da sincronia Figura 11 Exemplo 7 E1 a partir de E2 e de E3 DCBA 00 01 11 10 00 1 1 1 1 01 0 0 0 0 10 1 1 1 1 11 0 0 1 1 Tabela 8 Exemplo 7 Minimização global de E1 O mapa de Karnaugh da função E1 minimização global tabela 8 não apresenta a melhor minimização para a função E1 isolada minimização local tabela 7 haja vista que não foram usados implicantes primos essenciais Os dois pares estão incluídos em uma quadra e as duas células isola das estão incluídas em um par São quatro implicantes primos não essenciais Observando os IPIs B A C D E2 E3 E1 E3 E1 E2 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 156 das funções E2 e E3 podemos constatar que eles correspondem aos IPs não essenciais de E1 ge rando uma minimização global E1 DCDCB E1 DCBDCBDCBADCBA E2 DCBDCBA E3 DCBDCBA E1 E2 E3 Exemplo 8 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 1 1 00 0 0 1 1 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 1 1 0 11 1 0 0 1 11 1 1 1 1 10 0 1 0 0 10 0 1 0 0 10 1 0 0 0 Tabela 7 Exemplo 8 O mapa de Karnaugh das três funções não apresenta a melhor minimização para as funções isoladas haja vista que nem todos os implicantes primos são essenciais Por outro lado estes impli cantes primos não essenciais são compartilhados entre as funções gerando uma minimização global IPE1 min01 IPE1 DCB IPE2 min23 IPE2 DCB IPE3 min1214 IPE3 DCA IPE4 min1315 IPE3 DCA IPE5 min812 IPE4 DCA IPE6 min19 IPE6 CBA E1 IPE1 IPE4 IPE6 E1 DCB DCA CBA E2 IPE1 IPE2 IPE3 IPE6 E2 DCB DCB DCA CBA E3 IPE2 IPE3 IPE4 IPE5 E3 DCB DCA DCA DBA A figura 13 apresenta o circuito onde todas as portas AND são idênticas e onde todas as portas OR também são idênticas Esta opção oferece uma otimização na sincronia dos bits de saída haja vista de portas lógicas com menos ou mais entradas podem apresentar tempos de atraso ligei ramente diferentes dependendo da tecnologia empregada na fabricação do circuito integrado Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 157 Figura 12 Exemplo 8 Minimização global Figura 13 Exemplo 8 Minimização global com otimização da sincronia B A C D E3 E2 E1 D C A B E1 E2 E3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 158 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 159 Capítulo 211 Mapa de Karnaugh de cinco variáveis O uso do mapa de Karnaugh não é recomendado para funções de seis ou mais variáveis por causa da dificuldade na identificação dos IPEs Existem métodos iterativos que resolvem o pro blema da dificuldade nesta identificação e permitem uma fácil implementação do processo em qual quer linguagem de programação para computadores O mapa possui quatro linhas e oito colunas As três variáveis usadas no endereçamento das colunas são C B e A As duas variáveis usadas no endereçamento das linhas são E e D Para mapa de Karnaugh de cinco variáveis temse dois submapas de quatro variáveis lado a lado A variável mais significativa das colunas C identifica estes dois submapas O da esquerda é identificado por C0 e o da direita por C1 Por causa do efeito de espelhamento do código Gray o submapa da direita está invertido em relação ao da esquerda A grande dificuldade do mapa de Karnaugh de cinco variáveis está no fato de que alguns IPEs não podem ser definidos por uma única circunferência Nos exemplos a seguir quando algumas linhas verticais do barramento de entrada não são usadas elas podem ser removidas Variáveis de colunas CBA Variáveis de linhas ED Variável de saída F EDCBA 000 001 011 010 110 111 101 100 00 00 01 03 02 06 07 05 04 01 08 09 11 10 14 15 13 12 11 24 25 27 26 30 31 29 28 10 16 17 19 18 22 23 21 20 Tabela 1 Endereçamento das células forma decimal EDCBA 000 001 011 010 110 111 101 100 00 00000 00001 00011 00010 00110 00111 00101 00100 01 01000 01001 01011 01010 01110 01111 01101 01100 11 11000 11001 11011 11010 11110 11111 11101 11100 10 10000 10001 10011 10010 10110 10111 10101 10100 Tabela 2 Endereçamento das células forma binária EDCBA 0 1 3 2 6 7 5 4 0 00 01 03 02 06 07 05 04 1 10 11 13 12 16 17 15 14 3 30 31 33 32 36 37 35 34 2 20 21 23 22 26 27 25 24 Tabela 3 Endereçamento das células coordenadas Exemplo 1 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 0 0 0 0 01 0 0 1 1 1 1 0 0 11 0 0 0 1 1 0 0 0 10 0 0 0 1 1 0 0 0 Tabela 4 Exemplo 1 F min000102031011141518222630 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 160 IPE1 min00010203 IPE1 EDC IPE2 min10111415 IPE2 EDB IPE3 min18222630 IPE3 EBA F IPE1 IPE2 IPE3 F EDC EDB EBA Figura 1 Exemplo 1 Caso haja a necessidade de remoção de spikes então os implicantes primos não essenciais precisam ser incluídos na síntese IPNE1 min231011 IPNE2 min10142630 IPNE3 min2101826 F IPE1 IPE2 IPE3 IPEN1 IPEN2 IPNE3 F EDC EDB EBA ECB DBA CBA EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 0 0 0 0 01 0 0 1 1 1 1 0 0 11 0 0 0 1 1 0 0 0 10 0 0 0 1 1 0 0 0 Tabela 5 Exemplo 1 com IPNEs Figura 2 Exemplo 1 com IPNEs E D C A B F E D C A B F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 161 Exemplo 2 EDCBA 000 001 011 010 110 111 101 100 00 0 1 0 0 0 0 1 0 01 0 1 1 0 0 1 1 0 11 0 1 1 0 0 1 1 0 10 1 0 0 0 0 0 0 1 Tabela 6 Exemplo 2 F min010509111315162025272931 IPE1 min0911131525272931 IPE1 EA IPE2 min01050913 IPE2 EBA IPE3 min1620 IPE3 EDBA F IPE1 IPE2 IPE3 F DA EBA EDBA Figura 3 Exemplo 2 Exemplo 3 EDCBA 000 001 011 010 110 111 101 100 00 0 1 1 0 0 1 1 0 01 1 0 1 1 1 1 0 1 11 1 1 1 1 1 1 1 1 10 0 1 1 0 0 1 1 0 Tabela 7 Exemplo 3 F min00020406091316182022 IPE1 min0002040616182022 IPE1 DA IPE2 min0913 IPE2 EDBA F IPE1 IPE2 F DA EDBA Figura 4 Exemplo 3 F B A C D E E D C A B F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 162 Exemplo 4 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 8 Exemplo 4 Análise errada A marcação desta quadra está errada porque ela não respeita o teorema da adjacência Vi sualmente isso pode ser percebido por meio da assimetria na matriz O erro também pode ser ob servado por meio das variáveis uma quadra remove duas variáveis então a função desta quadra precisa usar três variáveis as variáveis constantes porém somente as variáveis E e D permane cem constantes o que nos leva a uma função de duas variáveis evidenciando o erro A solução correta seria formar dois pares EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 9 Exemplo 4 Análise correta F min09101114 IPE1 min0911 IPE1 EDCA IPE2 min1014 IPE2 EDBA F IPE1 IPE2 F EDCA EDBA Exemplo 5 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 0 0 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 10 Exemplo 5 Análise errada Neste exemplo o critério da simetria é respeitado porém o critério do tamanho não Todo IPE precisa ter um tamanho determinado por uma potência de dois mas este tamanho é seis A solução correta seria formar um par e uma quadra EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 0 0 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 11 Exemplo 6 Análise correta F min09101112141516 IPE1 min09111315 IPE1 EDA IPE2 min1014 IPE2 EDBA F IPE1 IPE2 F EDA EDBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 163 Exemplo 6 EDCBA 000 001 011 010 110 111 101 100 00 1 0 0 1 0 1 1 1 01 1 0 0 0 1 1 0 1 11 1 0 0 0 1 1 0 1 10 1 0 0 1 0 1 1 1 Tabela 12 Exemplo 6 Neste exemplo é possível observar que a metade de baixo é igual à metade de cima Isso significa que a variável mais significativa E é irrelevante Tratase de uma função que quatro vari áveis DCBA 00 01 11 10 00 1 0 0 1 01 1 1 1 0 11 1 0 1 1 10 1 0 0 0 Tabela 13 Exemplo 6 remodelado Exemplo 7 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 14 Exemplo 7 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 15 Exemplo 7 Análise de zeros F0 max01234571213151617181920222527 X28293031 IPE01 max012316171819 IPE01 DC IPE02 max571315 IPE02 ECA IPE03 max17192527 IPE03 ECA IPE04 max4122028 IPE04 CBA IPE05 max16182022 IPE05 EDA F0 IPE01 IPE02 IPE03 IPE04 IPE05 F0 DCECAECACBAEDA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 164 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 16 Exemplo 7 Análise de uns F1 min68910111421232426 X28293031 IPE11 min891011 IPE11 EDC IPE12 min10142630 IPE12 DBA IPE13 min21232931 IPE13 ECA IPE14 min8102426 IPE14 DCA IPE15 min614 IPE15 ECBA F1 IPE11 IPE12 IPE13 IPE14 IPE15 F1 EDCDBAECADCAECBA Neste exemplo coincidentemente a substituição das irrelevâncias é a mesma nas análises de zeros e de uns Neste caso F0F1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 165 Capítulo 212 Minimização algébrica A minimização por meio de mapa de Karnaugh foi desenvolvida como uma ferramenta de simplificação do processo quando a quantidade de variáveis é pequena porém esta técnica consiste da aplicação de propriedades algébricas representadas por meio de círculos Em outras palavras a técnica do mapa de Karnaugh não é indicada para trabalhos acadêmicos e científicos Outra desvan tagem do mapa de Karnaugh é que ele somente pode ser aplicado para a base binária Os processos algébricos são válidos para quaisquer bases Mais uma desvantagem do mapa de Karnaugh é a maior ocupação de espaço na página A expressão algébrica consiste de texto puro Para que a minimização algébrica seja efetuada é preciso possuir amplo entendimento a respeito das propriedades algébricas 1 Dupla inversão A A 1a A A 1b Uma quantidade par de nãos é um sim 1a Uma quantidade ímpar de nãos é um não 1b Uma não insensibilidade é igual a uma sensibilidade 2 Propriedade comutativa AB BA 2a AB BA 2b A ordem das parcelas não altera a soma 2a A ordem dos fatores não altera o produto 2b Dia ou noite é igual a noite ou dia Café com leite é igual a leite com café 3 Propriedade associativa ABC ABC 3a ABC ABC 3b A propriedade associativa é útil para a transformação de portas lógicas de três ou mais en tradas em portas lógicas de duas entradas 4 Propriedade distributiva ABC ABAC 4a ABC ABAC 4b A propriedade 4a vale para todas as bases A propriedade 4b vale apenas para base dois 5 Propriedade distributiva expandida ABCD ACADBCBD 5a ABCD ACADBCBD 5b 6 Elemento idêntico ou idempotência AA A 6a AA A 6b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 166 7 Elemento inverso AA 1 7a AA 0 7b 8 Elemento neutro A0 A 8a A1 A 8b 9 Elemento nulo A1 1 9a A0 0 9b 10 De Morgan AB AB 10a AB AB 10b Dentro do contexto do cálculo integral e diferencial um jovem estudante pode ter grande facilidade em resolver as dificílimas integrais apresentadas no livrotexto adotado pelo professor pois elas são divididas e agrupadas por técnica de integração Sendo assim ao escolher algum exer cício proposto no livro o estudante já sabe previamente qual é o caminho para a solução com base apenas no título do capítulo onde o problema está inserido Porém na ocasião da avaliação este jovem estudante recebe uma ou várias integrais para serem resolvidas sem nenhuma orienta ção sobre qual ou quais técnicas devem ser aplicadas Neste momento o estudante não enxerga qual é a técnica necessária ele tenta usar algumas possibilidades mas não encontra a solução Mais tarde quando o professor apresenta a resolução da avaliação o estudante percebe que aquela in tegral tem uma solução fácil bastando apenas saber qual é a técnica a ser empregada Vemos então que uma simples informação pode fazer toda a diferença Este exemplo retrata a dificuldade que é encontrada no processo de investigação de caminhos Igualmente difícil é a determinação do melhor caminho para a minimização de uma ex pressão algébrica Embora seja possível encontrar um caminho nem sempre é possível confirmar que este se trate do melhor caminho Por razões didáticas não será explorado neste capítulo o desafio que transformar uma expressão algébrica qualquer em uma expressão algébrica minimi zada Da mesma forma que no cálculo integral faz toda a diferença a simples informação sobre qual seja o método a ser empregado na resolução igualmente na minimização algébrica a presença do Mapa de Karnaugh serve como indicador do melhor caminho Por esse motivo em todos os exemplos apresentados neste capítulo será feita primeiramente a minimização por mapa de Kar naugh e posteriormente e a partir dela será feita a minimização algébrica Por meio das transformações algébricas é possível evidenciar a veracidade do teorema da adjacência As minimizações algébricas baseadas no teorema da adjacência costumam seguir a mesma sequência de aplicação de propriedades algébricas Com um pouco de prática o estudante consegue minimizar com facilidade todas as expressões algébricas seguindo sempre a mesma se quência de transformações Da mesma forma que um advogado ao elaborar a estratégia de defesa do seu cliente ao citar as leis vigentes precisa necessariamente citar o nome da lei à qual faz referência igualmente a aplicação de qualquer propriedade da álgebra booleana requer que o nome da propriedade tam bém seja mencionado A menção destes nomes é feita à direita da linha onde a transformação é aplicada Todas estas menções são alinhadas formando uma coluna um memorial descritivo do processo de minimização Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 167 Não é permitida a aplicação implícita de nenhuma propriedade Todas as aplicações preci sam ser relatadas no memorial descritivo Não é permitida a aplicação de duas propriedades ao mesmo tempo cada linha precisa retratar a aplicação de uma e apenas uma propriedade As versões a e b são propriedades diferentes A descrição precisa conter o nome da propriedade e não o número na lista acima pois cada autor utiliza uma lista diferente com numeração diferente Embora o procedimento de minimização por Mapa de Karnaugh permita a formação de qua dras diretamente o teorema das adjacências permite o agrupamento de apenas duas partes No caso das quadras o teorema das adjacências precisa ser aplicado duas vezes Comparando os exemplos 1 e 2 é possível constatar que o primeiro faz o agrupamento no lado direito e o segundo no lado esquerdo Essa diferença acontece porque as partes agrupáveis estão em lados diferentes nos dois exemplos A aplicação da propriedade distributiva requer a ob servação do lado pelo qual o agrupamento é efetuado Uma inversão neste lado implica na aplicação da propriedade comutativa dentro da propriedade distributiva e isso não é permitido Exemplo 1 D max45 CBA 00 01 11 10 0 1 1 1 1 1 0 0 1 1 Tabela 1 Exemplo 1 D CBACBA Forma canônica D CBAA Distributiva D CB0 Elemento inverso D CB Elemento neutro Exemplo2 D max15 CBA 00 01 11 10 0 1 0 1 1 1 1 0 1 1 Tabela 2 Exemplo 2 D CBACBA Forma canônica D CCBA Distributiva D 0BA Elemento inverso D BA Elemento neutro Exemplo 3 D max13 CBA 00 01 11 10 0 1 0 0 1 1 1 1 1 1 Tabela 3 Exemplo 3 D CBACBA Forma canônica D BCABCA Comutativa D BBCA Distributiva D 0CA Elemento inverso D CA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 168 Neste exemplo 3 o agrupamento é feito em razão de variáveis que estão separadas de modo que é necessário aplicar a propriedade comutativa Ao aplicar a comutativa a escolha por qual lado o agrupamento será direcionado é arbitrária e não altera a expressão algébrica final Exemplo 4 D max1345 CBA 00 01 11 10 0 1 0 0 1 1 0 0 1 1 Tabela 4 Exemplo 4 Este exemplo 4 consiste na união dos exemplos 1 e 3 Caso estas minimizações algébricas já tenham sido apresentadas então a minimização da função 4 pode ser feita a partir daqueles resul tados IPE1 max13 IPE1 CA Exemplo 3 IPE2 max45 IPE2 CB Exemplo 1 D IPE1 IPE2 D CACB Caso as minimizações anteriores não tenham sido feitas é preciso partir do início do proce dimento de minimização algébrica D CBACBACBACBA Forma canônica D BCABCACBACBA Comutativa D BBCACBAA Distributiva D 0CACB0 Elemento inverso D CACB Elemento neutro Exemplo 5 D max145 CBA 00 01 11 10 0 1 0 1 1 1 0 0 1 1 Tabela 5 Exemplo 5 IPE1 max15 IPE1 BA Exemplos 2 IPE2 max45 IPE2 CB Exemplos 1 D IPE1 IPE2 D BACB D CBACBACBA Forma canônica D CBACBACBACBA Elemento idêntico D CBACBACBACBA Comutativa D CCBACBAA Distributiva D 0BACB0 Elemento inverso D BACB Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 169 Neste exemplo 5 há três maxtermos e dois pares Está faltando um maxtermo Isso acontece porque em verdade há quatro maxtermos mas dois deles são iguais No processo de minimização algébrica é preciso duplicar este termo Exemplo 6 D max1457 CBA 00 01 11 10 0 1 0 1 1 1 0 0 0 1 Tabela 6 Exemplo 6 IPE1 max15 IPE2 max45 IPE3 max57 D IPE1 IPE2 IPE3 Quando há muitos termos o estudante pode colocar um índice acima das expressões algé bricas pertinentes a cada termo Isto não é recomendado para trabalhos acadêmicos e científicos mas ajuda o estudante a entender os procedimentos adotados na minimização algébrica D CBACBACBACBA Forma canônica D CBACBACBACBACBACBA Elemento idêntico D CBACBACBACBACBACBA Comutativa D CBACBACBACBACABCAB Comutativa D CCBACBAACABB Distributiva D 0BACB0CA0 Elemento inverso D BACBCA Elemento neutro Neste exemplo 5 há quatro maxtermos e três pares Está faltando um maxtermo Isso acon tece porque em verdade há seis maxtermos mas três deles são iguais No processo de minimização algébrica é preciso triplicar este maxtermo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 170 Exemplo 7 E min15 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 0 0 11 0 0 0 0 10 0 0 0 0 Tabela 7 Exemplo 7 E DCBADCBA Forma canônica E CDBACDBA Comutativa E CCDBA Distributiva E 1DBA Elemento inverso E DBA Elemento neutro Exemplo 8 E min151415 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 0 0 11 0 0 1 1 10 0 0 0 0 Tabela 8 Exemplo 8 E DCBADCBADCBADCBA Forma canônica E CDBACDBADCBADCBA Comutativa E CCDBADCBAA Distributiva E 1DBADCB1 Elemento inverso E DBADCB Elemento neutro Outra opção IPE1 min15 IPE1 DCBADCBA Forma canônica IPE1 CDBACDBA Comutativa IPE1 CCDBA Distributiva IPE1 1DBA Elemento inverso IPE1 DBA Elemento neutro IPE2 min1415 IPE2 DCBADCBA Forma canônica IPE2 DCBADCBA Comutativa IPE2 DCBAA Distributiva IPE2 DCB1 Elemento inverso IPE2 DCB Elemento neutro E IPE1 IPE2 E DBADCB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 171 Exemplo 9 E min157 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 1 0 11 0 0 0 0 10 0 0 0 0 Tabela 9 Exemplo 9 E DCBADCBADCBA Forma canônica E DCBADCBADCBADCBA Elemento idêntico E CDBACDBADCABDCAB Comutativa E CCDBADCABB Distributiva E 1DBADCA1 Elemento inverso E DBADCA Elemento neutro Outra opção IPE1 min15 IPE1 DBA Vide exemplo 8 IPE2 min57 IPE2 DCBADCBA Forma canônica IPE2 DCABDCAB Comutativa IPE2 DCABB Distributiva IPE2 DCA1 Elemento inverso IPE2 DCA Elemento neutro E IPE1 IPE2 E DBADCA Exemplo 10 E min1357 DCBA 00 01 11 10 00 0 1 1 0 01 0 1 1 0 11 0 0 0 0 10 0 0 0 0 Tabela 10 Exemplo 10 E DCBADCBADCBADCBA Forma canônica E DCABDCABDCABDCAB Comutativa E DCABBDCABB Distributiva E DCA1DCA1 Elemento inverso E DCADCA Elemento neutro E DACDAC Comutativa E DA CC Distributiva E DA1 Elemento inverso E DA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 172 Exemplo 11 DCBA 00 01 11 10 00 0 0 1 1 01 0 1 1 1 11 0 1 1 0 10 0 0 0 0 Tabela 11 Exemplo 11 E min235671315 E DCBADCBADCBADCBA DCBADCBADCBA Forma canônica E DCBADCBADCBADCBA DCBADCBADCBADCBA Elemento idêntico E DCBADCBADCBADCBA DCBADCBADCBADCBA Comutativa E DCBADCBADCBADCBA DCABDCABDCABDCAB Comutativa E DCBAADCBAA DCABBDCABB Distributiva E DCB1DCB1 DCA1DCA1 Elemento inverso E DCBDCBDCADCA Elemento neutro E CDBCDBDCADCA Comutativa E CCDBDD CA Comutativa E 1DB1CA Elemento inverso E DBCA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 173 Capítulo 213 Conversores de código Um conversor de código é um dispositivo que recebe uma palavra binária e a converte em outra palavra binária O tamanho em bits da palavra de entrada não precisa ser o mesmo tamanho da palavra de saída Cada bit da palavra de saída consiste de uma função booleana individual A síntese das funções booleanas que compõe o conversor de código pode ser feita na forma canônica ou na forma minimizada Embora seja possível misturar funções minimizadas e funções canônicas a tradição mostra que todas as funções devem ser submetidas ao mesmo critério de síntese Exemplo 1 Input Output 0 2 1 3 2 0 3 1 Tabela 1 Definição do conversor B A Out1 Out0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 Tabela 2 Definição das funções binárias Out1 max23 Out0 max02 Out1 B A BA Out0 B A B A Out1 min01 Out0 min13 Out1 BA B A Out0 B A B A Minimizado Out1 B Out0 A Circuito 1 Exemplo 1 com análise de uns e de zeros respectivamente Out0 Out1 A B Out1 Out0 B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 174 Exemplo 2 Input Output 0 5 1 2 2 6 3 4 Tabela 3 Definição do conversor B A Out2 Out1 Out0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 Tabela 4 Definição das funções binárias Out2 max1 Out1 max03 Out0 max123 Out2 BA Out1 BABA Out0 BABABA Out2 min023 Out1 min12 Out0 min0 Out2 BABABA Out1 BABA Out0 BA Minimizado Out2 BA Out1 BA Out0 BA Circuito 2 Exemplo 2 com análise de uns e de zeros respectivamente A B A B C B A V C B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 175 Exemplo 3 Input Output 0 2 1 2 2 0 3 1 4 0 5 2 6 1 7 1 Tabela 5 Definição do conversor C B A Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 6 Definição das funções binárias Out1 max23467 Out0 max01245 Out1 CBACBACBACBACBA Out0 CBACBACBACBACBA Circuito 3 Forma canônica em zeros B C A Out1 Out0 V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 176 Circuito 4 Forma canônica em zeros a partir das funções complementadas Circuito 5 Forma canônica em uns B C A Out1 Out0 A C B Out0 Out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 177 Out1 min015 Out1 CBACBACBA Out0 min367 Out0 CBACBACBA Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 Out1 BCA Out0 B CA 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 Tabela 7 Minimização em zeros Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 Out1 CBBA Out0 B A CB 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 Tabela 8 Minimização em uns Exemplo 4 Input Output 0 6 1 4 2 2 3 6 4 6 5 1 6 7 7 4 Tabela 9 Definição do conversor C B A Out2 Out1 Out0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 Tabela 10 Definição das funções binárias Out2 max25 Out1 max157 Out0 max012347 Out2 min013467 Out1 min02346 Out0 min56 Out2 CBACBA Out1 CBACBACBA Out0 CBACBACBACBACBACBA Out2 CBACBACBACBACBACBA Out1 CBACBACBACBACBA Out0 CBACBA Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 Tabela 11 Minimização em zeros Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 Tabela 12 Minimização em uns Out2 CBACBA Out1 BACA Out0 CBABA Out2 BACACB Out1 ACB Out0 CBACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 178 Circuito 6 Forma canônica em zeros Circuito 7 Forma canônica em um B C A V Out0 Out1 Out2 A C B Out0 Out1 Out2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 179 Exemplo 5 Input Output 0 0 1 1 2 3 3 6 4 10 5 15 6 5 7 12 Tabela 13 Definição do conversor C B A Out3 Out2 Out1 Out0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 Tabela 14 Definição das funções binárias Out3 max01236 Out2 max0124 Out1 max0167 Out0 max0347 Out3 min457 Out2 min3567 Out1 min2345 Out0 min1256 Out3 CBAC BA CBA CBACBA Out2 CBAC BA CBAC B A Out1 CBAC BACBACBA Out0 CBACBAC BACBA Out3 CBA CB AC B A Out2 CBA CB AC BAC B A Out1 C B AC B ACBACB A Out0 CB AC BACB AC BA Out3 Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 Tabela 15 Minimização em zeros Out3 Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 Tabela 16 Minimização em uns Out3 CBA Out2 CACBBA Out1 CBCB Out0 BABA Out3 CACB Out2 BACACB Out1 CBCB Out0 BABA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 180 Circuito 8 Forma canônica em zeros na forma invertida Circuito 9 Forma canônica em uns na forma invertida B C A Out2 Out1 Out0 V A C B Out2 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 181 Capítulo 214 Análise reversa Dentro do contexto do ambiente de trabalho de um engenheiro especialista em sistemas digitais não basta que ele seja competente na missão de produzir um bom projeto de circuito ele trônico digital Também é importante que ele seja capaz de realizar uma análise reversa Por aná lise reversa estamos fazendo referência ao processo de obtenção das expressões algébricas das tabelasverdade e das tabelas de decodificação a partir da observação do circuito lógico A análise reversa de grandes circuitos digitais não pode ser feita por meio da observação humana dos nós topológicos pois estamos falando de sistemas formados por milhares de portas lógicas Neste caso a análise pode ser efetuada por meio da comparação da injeção das palavras de entrada com as respectivas palavras de saída Exemplo O circuito abaixo foi projetado por um engenheiro que não pode ser contatado não é pos sível obter a documentação do projeto Sendo assim é preciso investigar qual é a proposta deste circuito e a forma como o projetista alcançou este resultado Por meio da construção do circuito em um software simulador ou então por meio da submissão do circuito eletrônico real a ensaios e testes é possível obter a tabelaverdade dos bits de saída Observando o desenho do circuito lógico é possível escrever as expressões algébricas Para isso é preciso identificar os caminhos da informação até a chegada ao nó de saída de cada função Circuito 1 Diagrama completo Out1 ABD Out2 A Out3 DCB Out4 BCADB C B D A Out1 Out3 Out4 Out2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 182 Circuito 2 Diagrama para Out1 Circuito 3 Diagrama para Out2 Circuito 4 Diagrama para Out3 Circuito 5 Diagrama para Out4 Out1 A D B Out2 A Out3 D B C Out4 A D B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 183 D C B A Out4 Out3 Out2 Out1 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 Tabela 1 Definição das funções binárias Input Output 0 D 1 E 2 1 3 2 4 1 5 A 6 1 7 2 8 9 9 A A 0 B 3 C 1 D A E 0 F 3 Tabela 2 Tabela de decodificação Out1 ABD D C B A A B D BD BD Out1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 0 1 1 Tabela 3 Determinação da tabelaverdade de Out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 184 Out3 DCB D C B A DC DC B Out3 0 0 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 Tabela 4 Determinação da tabelaverdade de Out3 Out4 BCADB D C B A D B A CA CA DB Out4 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 Tabela 5 Determinação da tabelaverdade de Out4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 185 Unidade 3 Circuitos lógicos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 186 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 187 Capítulo 301 Portas lógicas A palavra porta diz respeito a um dispositivo que pode ser aberto ou fechado também remete à idéia de fluxo No caso das portas lógicas teríamos um fluxo de informações lógicas A filosofia e as ciências jurídicas estão todas baseadas em fluxo de informação Portas lógicas são uma entidade filosófica ou matemática a depender do contexto Sua im plementação física é feita principalmente na forma de circuitos eletrônicos mas também pode ser feita por meio de escoamento de líquidos e gases ou por luz ou outro tipo de materialização que venha a ser criado No caso dos circuitos elétricos eles podem ser digitais ou analógicos Somente os circuitos digitais são relevantes neste texto A principal diferença entre um sistema analógico e um sistema digital é que o sistema ana lógico possui uma quantidade incontável de valores possíveis enquanto o digital possui uma quan tidade conhecida geralmente dois valores Outra diferença é que as grandezas analógicas precisam de uma unidade e uma referência diante da qual o valor zero é atribuído enquanto números digitais não possuem referência nem unidade Dentro do contexto da eletricidade portas lógicas podem ser construídas por meio de cha ves elétricas Estas chaves são biestáveis ou seja possuem infinitos estados transientes instáveis e apenas dois estados estacionários estáveis ligado ou desligado A forma mais intuitiva de entendimento destas chaves é a sua forma mecânica pushbutton toogle switch relés contatores disjuntores etc Os primeiros computadores foram construídos com relés A primeira tecnologia usada na fabricação de portas lógicas eletrônicas fazia uso de diodos retificadores Por esse motivo o nome dado a esta tecnologia era DRL Diode Resistor Logic Lógica diodoresistor A função lógica é efetuada pelos diodos O resistor atua como um guia para o refe rencial de tensão quando os diodos operam em alta impedância Figura 1 Circuito seletor de máximo analógico No circuito da figura 1 o nó topológico indicado por C representa a função analógica CBA Esta função é dada pelo valor maior encontrado nas duas entradas A e B Nos gráficos é possível observar que existe um offset na saída em relação à entrada Esta diferença acontece por causa da queda de tensão do diodo em polarização direta VTH threshold voltage tensão de limiar algo em torno de 07V para o semicondutor de silício Para que os dois diodos não sejam polarizados reversamente ao mesmo tempo as duas fontes de tensão senoidal possuem um offset igual à tensão de pico O funcionamento do circuito seletor de máximo pode ser entendido por meio da percepção de que o diodo que recebe a maior tensão encontrase em um estado de saturação superior ao do diodo que possui a menor tensão O diodo mais saturado proporciona a menor resistência RD e isso faz com que ele determine o valor da tensão elétrica no nó de saída C Esta tensão de saída é então superior à tensão aplicada à entrada anodo do outro diodo e isso faz com que a sua Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 188 polarização seja reversa levando a sua resistência direta a valores elevadíssimos isolando a fonte de tensão alternada com menor valor de tensão instantânea Vt Quando ambos diodos estão submetidos a uma tensão direta inferior a VTH os dois diodos estão em estado de não saturação e podem ser considerados desligados Nesta situação o valor da tensão na saída precisa ser de 0V Para isso é preciso o uso de um resistor de valor elevado a fim de obter uma corrente elétrica muito baixa Considerando que a corrente elétrica neste resistor na situação de desligamento dos diodos é quase nula então o resistor se comporta como um curto circuito virtual e a saída recebe o valor de 0V Considerando que este resistor tem a função de levar a tensão de saída a zero ele é chamado de pulldown resistor Figura 2 Circuito seletor de mínimo analógico No circuito da figura 2 a função CBA é dada pelo valor menor encontrado nas duas en tradas A e B O offset na saída em relação à entrada acontece por causa do VTH O diodo que recebe a menor tensão encontrase em um estado de saturação superior ao do diodo que possui a maior tensão de modo que a saída recebe a menor tensão Quando ambos diodos estão desliga dos o valor da tensão na saída precisa ser de 2V neste exemplo Considerando que o resistor tem a função de levar a tensão de saída à tensão máxima ele é chamado de pullup resistor Em se tratando de circuitos integrados é muito difícil construir resistores com valores ele vados então a resistência passiva é substituída por uma resistência ativa obtida por meio de um transistor Por causa deste transistor a tecnologia passou a ser chamada de DTL Diode Tran sistor Logic Lógica diodotransistor Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 189 Figura 3 Circuito seletor de máximo digital Figura 4 Circuito seletor de mínimo digital Os dois diodos podem ser substituídos por dois transistores de junção bipolar BJT Os dio dos baseemissor dos transistores é o responsável pela operação lógica A vantagem do uso do tran sistor é que é possível obter melhor controle do ponto de operação Este controle pode ser usado por exemplo para realizar uma compensação para a anulação de efeitos térmicos A B C A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 190 Figura 5 Seletores operados com transistores Os circuitos elétricos digitais podem ser construídos por meio de chaves eletrônicas Estas chaves são melhores do que as mecânicas em várias características como custo de fabricação ta manho peso rapidez tempo de vida útil consumo de energia elétrica etc As chaves eletrônicas são construídas por meio de transresistores conhecidos hoje como transistores Tais dispositivos possuem o efeito da resistência virtual na qual tensão e corrente são medidos em pontos distintos Se por um lado o efeito da transresistência é útil em circuitos am plificadores de tensão ou de corrente o efeito do chaveamento booleano é obtido fora do efeito transresistor estamos falando dos limites superior e inferior da transresistência gráfico ICVCE chamados de corte IC0A e saturação VCE0V respectivamente nomenclatura usada em dispositivos bipolares Os primeiros dispositivos transistores foram construídos por meio de válvulas termiônicas por meio do aperfeiçoamento das válvulas diodo Enquanto as válvulas diodo possuem apenas um filamento emissor de elétrons e uma grade screen coletor de elétrons as válvulas transisto res possuem um condutor localizado entre estes dois elementos a fim de que sua corrente seja controlada por meio da emissão de elétrons entre emissor e coletor Os primeiros computadores eletrônicos foram construídos através de válvulas termiônicas Posteriormente foram desenvolvidos os dispositivos de estado sólido solid state Este nome salienta o fato de que as válvulas são dispositivos de estado gasoso e por isso apresentam vários inconvenientes como por exemplo fragilidade mecânica aquecimento local baixa vida útil grande tamanho alto consumo de energia elétrica peso elevado demora da inicialização etc Os dispositivos de estado sólido são construídos principalmente em silício Si monocrista lino mas também podem ser construídos em cristais de germânio Ge arseneto de gálio GaAs etc O silício é o material mais usado por diversos motivos dentre os quais os principais são o fato de que o silício é o elemento mais abundante no planeta Terra e o fato de que o óxido de silício SiO2 é o material com a melhor resistividade elétrica que existe e se forma naturalmente na super fície da lâmina Os dispositivos digitais de estado sólido hoje se dividem em dois grupos principais TTL e CMOS O primeiro grupo é formado pelos transistores bipolares O segundo grupo pelos monopo lares Nos dispositivos monopolares a corrente controlada é de apenas um tipo Nos dispositivos bipolares de dois tipos A corrente pode ser formada pelo deslocamento de elétrons na banda de energia de condução ou por lacunas na banda de energia de valência A corrente de elétrons é ob servada em metais e em semicondutores do tipo N A corrente de lacunas é observada exclusiva mente nos semicondutores do tipo P A corrente de lacunas é mais lenta do que a de elétrons por que a mobilidade das lacunas é inferior à dos elétrons 5V 1 Hz 500mHz 5V 500mHz 1 Hz Seletor de máximo Seletor de mínimo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 191 O transistor bipolar bipolar juntion transistor BJT foi o primeiro transistor de estado sólido a ser desenvolvido Seu princípio de funcionamento está baseado no efeito Schottky desco berto casualmente nos laboratórios Bell O nome bipolar diz respeito ao fato de que a corrente principal em topologia EC emissor comum chamada de IC é de um tipo nas regiões de emissor e coletor e de outro tipo na região de base Há dois tipos porque nas regiões N dopagem com fósforo 5A a corrente majoritária é formada por elétrons na banda de condução e nas regiões P dopagem com bóro 3A a corrente majoritária é formada por lacunas na banda de valência O nome TTL significa Transistor Transistor Logic A primeira palavra diz respeito ao fato de que a etapa lógica é feita por meio de transistores bipolares A segunda palavra diz respeito ao fato de que o buffer amplificador de corrente etapa de saída de toda porta lógica também é construída por meio de transistores bipolares Comercialmente a família de circuitos lógicos TTL é identificada por meio dos prefixos 74 uso geral e 54 uso militar A família TTL possui várias subdivisões dentre as quais as principais são LS Low Schottky HS High Speed C CMOS levels Os dispositivos monopolares são os transistores de efeito de campo FET Dentro desta ca tegoria a primeira estrutura desenvolvida foi o FET de junção JFET Posteriormente foi desenvol vido o capacitor MOS formado por três camadas metal óxido e semicondutor A primeira e a ter ceira formam as placas do capacitor a segunda forma o dielétrico O óxido de silício SIO2 também chamado de vidro é o melhor isolante que existe O capacitor MOS pode ser usado para controlar um FET dando origem ao MOSFET A sigla MOSFET significa metal oxide semicondutor FET Os primeiros circuitos digitais construídos com MOSFETs usavam as tecnologias nMOS e pMOS Posteriormente essas duas tecnologias foram substituídas pela tecnologia CMOS o MOS complementar complementary MOS A tecnologia CMOS implica na divisão do circuito em duas partes uma delas construídas com transistores de canal P e a outra com transistores de canal N Uma das regiões é chamada de rede R e é responsável por levar a saída para o estado zero reset A outra região é chamada de rede S e é responsável por levar a saída para o estado um set Uma região responde pelo comple mento da outra Quando uma é ativada a outra é desativada A família de tansistores MOSFET é a mais usada atualmente em dispositivos digitais e possui uma enorme semelhança com o funcionamento dos transistores termiônicos porém estes existem somente na versão de canal N impedindo a construção de regiões complementares Apesar de sua relativa simplicidade conceitual em relação ao BJT a tecnologia MOS foi desenvolvida posterior mente por causa de impedimentos decorrentes das limitações dos processos de fabricação disponí veis naquela época O transistor FET JFET MOSFET IGBT field effect transitor transistor de efeito de campo opera de maneira análoga à válvula termiônica Enquanto nas válvulas a corrente é controlada por meio do campo elétrico entre filamento e grade a corrente dos FETs corrente de canal é contro lada por meio do campo elétrico entre metal e semicondutor A tecnologia CMOS é a mais usada hoje em circuitos digitais em razão do seu baixo consumo de energia elétrica muito embora o capacitor de porta implique em uma pequena redução na ca pacidade de operação em altas frequências por causa do tempo de cargadescarga Comercial mente a família de circuitos lógicos CMOS é identificada por meio do número 4000 O inversor CMOS porta lógica NOT é o circuito CMOS mais simples formado apenas por um MOSFET de canal P rede S e um MOSFET de canal N rede R Todas as outras portas lógicas são obtidas a partir da expansão do inversor CMOS por meio da ligação de transistores do mesmo tipo em série ou em paralelo Por essa razão todas as portas lógicas construídas com tecnologia Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 192 CMOS fornecem a saída invertida operação NOT Isso explica por que as portas NAND e NOR são mais simples do que as portas AND e OR respectivamente Os circuitos lógicos podem apresentar saídas ativas em nível baixo e saídas ativas em nível alto Quando a saída é ativa em nível baixo a ação indicada pelo nome da variável de saída ou pela sua legenda é efetuada por meio do nível lógico zero Quando é ativa em nível alto a ação é efetuada através do nível lógico um O circuito lógico para ser útil precisa controlar um atuador que pode ser um LED um mo tor um outro circuito lógico ou qualquer outro dispositivo elétrico Nesta atuação o circuito pode exercer uma lógica positiva ou negativa Na lógica negativa o atuador é acionado por meio do nível lógico zero Na lógica positiva o atuador é acionado por meio do nível lógico um Na lógica negativa a fonte de energia para o atuador é um gerador externo porém na lógica positiva a fonte de energia para o atuador é o próprio chip ou um buffer ligado ao chip ou um driver de potência o que torna esta opção desvantajosa Por essa razão a lógica negativa é mais utilizada do que a lógica positiva Não se deve confundir lógica positivanegativa com saídas ativas em nível altobaixo ou com análise de unszeros em tabelasverdade Tratamse de três conceitos totalmente distintos e in dependentes Portas lógicas tradicionais Figura 6 Porta YES Figura 7 Porta NOT Figura 8 Porta AND de duas entradas Figura 9 Porta OR de duas entradas Figura 10 Porta XOR Figura 11 Porta NAND de duas entradas Figura 12 Porta NOR de duas entradas Figura 13 Porta XNOR B A A B C B A A B C C B A C B A A B C A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 193 B A AND OR XOR NAND NOR XNOR 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 Tabela 1 Portas lógicas de duas entradas Figura 14 Porta AND de três entradas Figura 15 Porta OR de três entradas Figura 16 Porta NAND de três entradas Figura 17 Porta NOR de três entradas C B A AND OR NAND NOR 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 Tabela 2 Portas lógicas de três entradas As portas lógicas podem ser implementadas em diversos meios físicos como por exemplo dutos hidráulicos e condutores óticos O meio mais usado é o elétrico Relés eletromecânicos podem ser usados para implementar funções lógicas Contatores elétricos são usados na implementação da lógica de seleção de circuitos de acionamentos de motores elétricos A forma mais comum po rém é através de circuitos eletrônicos em estado sólido IC integrated circuit comercializados na forma de chips A palavra chip ou die se refere à pastilha semicondutora onde o circuito é gravado Esta pastilha é acondicionada em um invólucro chamado de encapsulamento responsável pelo maior custo de produção nos circuitos de baixa complexidade Esse encapsulamento além de fornecer proteção mecânica para o chip ainda proporciona os contatos elétricos por meio de pinos de alu mínio Esses pinos podem ser dispostos em três tipos básicos de encapsulamento quanto à geome tria dos contatos duas linhas paralelas DIP dual in line package quatro linhas formando um quadrado PLCC plastic leaded chip carrier arranjo bidimensional LGA land grid array D C B A A B C D D C B A A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 194 Existem ainda outras siglas referentes a variações no formato dos pinos O formato DIP é o mais usado por estudantes porque é compatível com a matriz de contatos usada no desenvolvi mento de protótipos mas não é indicado em produção de larga escala por causa do custo elevado e do espaço físico ocupado Figura 18 Algumas opções de encapsulamento DIP Todo encapsulamento possui algum artifício visual para a identificação dos pinos O formato DIP faz uso de um chanfro ou círculo localizado na parte superior O primeiro pino está disposto à esquerda do marcador enquanto o último pino está à sua direita Os principais tamanhos de encapsulamento DIP são DIP8 DIP14 DIP16 DIP20 DIP36 e DIP40 O encapsulamento DIP7 seria um DIP8 faltando um pino Embora possam existir variações entre um fabricante e outro a maioria dos ICs de portas lógicas básicas respeitam a mesma pinagem Considerando que os encapsulamentos oferecem uma quantidade de pinos geralmente superior à necessária para o acesso a uma única porta lógica estes ICs costumam fornecer mais de uma porta lógica Dois pinos são usados para a alimentação elétrica A tabela a seguir é usada nos seguintes ICs 74LS08 LS quad 2input AND 74LS32 LS quad 2input OR 74LS00 LS quad 2input NAND 74LS02 LS quad 2input NOR 74LS86 LS quad 2input XOR Função Porta A Porta B Porta C Porta D VCCGND Entrada 1 1 4 9 12 14 Entrada 2 2 5 10 13 7 Saída 3 6 8 11 Tabela 3 Pinagem para algumas portas lógicas de duas entradas A tabela a seguir é usada nos seguintes ICs 74LS11 LS triple 3input AND 74LS10 LS triple 3input NAND Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 195 Função Porta A Porta B Porta C VCCGND Entrada 1 1 3 9 14 Entrada 2 2 4 10 7 Entrada 3 13 5 11 Saída 12 6 8 Tabela 4 Pinagem para algumas portas lógicas de três entradas A tabela a seguir é usada nos seguintes ICs 74LS21 LS dual 4input AND 74LS20 LS dual 4input NAND Função Porta A Porta B VCCGND Entrada 1 1 9 14 Entrada 2 2 10 7 Entrada 3 4 12 Entrada 4 5 13 Saída 6 8 Tabela 5 Pinagem para algumas portas lógicas de quatro entradas Portas lógicas de oito entradas com encapsulamento DIP14 oferecem uma porta lógica por chip Este é o caso dos seguintes ICs 74LS30 LS 8input NAND 4078 8input NOR Figura 19 Portas lógicas de oito entradas Habilitação das saídas O tristate é um recurso essencial quando se compartilha um barramento de dados entre diversos dispositivos digitais O tristate apesar do nome não se trata de um terceiro estado Este nome é usado para retratar a situação na qual o circuito digital possui em sua saída uma alta im pedância Em outras palavras a alta impedância pode ser entendida como um isolamento infinito em teoria Por isolamento se diz em respeito ao nó de referência GND ground É possível enten der que um nó topológico está em alta impedância quando o seu comportamento dá a impressão de que existe um isopor vidro ou porcelana separando este nó do resto do circuito A teoria de circuitos elétricos a teoria de eletrônica e a teoria sobre lógica booleana não são suficientes para determinar a tensão elétrica neste nó muito menos o seu equivalente nível lógico Se existe um outro circuito elétrico ligado a esta saída tristate então a tensão elétrica é determinada por este outro circuito Se não existe outro circuito então a tensão elétrica é determinada por meio de fe nômenos eletromagnéticos Graças ao tristate é possível efetuar um curtocircuito entre várias saídas digitais Se so mente uma destas fontes de sinal digital injeta valor lógico neste nó e todas as demais estão em alta impedância então não há de fato um curto circuito Se porém duas ou mais saídas tentam injetar sinal lógico ao nó então pode haver curtocircuito e danos aos dispositivos Portas lógicas com recurso de alta impedância possuem uma entrada com ação de habilitar a saída booleana ou desabilitála gerando a alta impedância Este sinal de habilitação é chamado 1 2 3 4 5 6 11 12 8 2 3 4 5 9 10 11 12 13 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 196 de output enable OE Este sinal é aplicável somente aos bits das saídas de dados Bits de saída de sinalização não podem ser controlados pelo OE Figura 20 74LS126 Quad 3state buffer CS IN OUT 0 0 3S 0 1 3S 1 0 0 1 1 1 Tabela 6 74LS126 Quad 3state buffer Figura 21 74LS125 Quad 3state buffer CS IN OUT 0 0 0 0 1 1 1 0 3S 1 1 3S Tabela 7 74LS125 Quad 3state buffer Habilitação das entradas Os circuitos digitais podem fazer uso do recurso da habilitação das entradas Quando estas são habilitadas o circuito funciona normalmente Quando estas são desabilitadas elas são forçadas a um determinado valor Esta função é chamada de chip enable ou chip select A função CE ou CS é aplicável somente aos bits das entradas de dados Bits de entrada de controle não podem ser controlados pelo CE Cada bit de dado de entrada recebe uma porta lógica de duas entradas Uma entrada recebe o bit de dado propriamente dito A outra entrada recebe o sinal CE Porta Elemento neutro Elemento nulo AND 1 0 OR 0 1 Tabela 8 Definição dos elementos das portas lógicas Situação Elemento Habilitado Neutro Desabilitado Nulo Tabela 9 Elemento usado no controle das entradas output enable output input input output output enable Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 197 Porta Entradas habilitadas Entradas desabilitadas AND 1 0 OR 0 1 Tabela 10 Valor do comando chip enable para ativação das entradas Porta Nome da função AND CE OR CE Tabela 11 Definição da lógica de ativação das entradas Figura 22 Circuitos de habilitação das entradas Usando uma porta XOR o circuito de habilitação de entradas se transforma em uma porta NOT habilitável Figura 23 74LS86 como um YesNot configurável S IN OUT função 0 0 0 YES 0 1 1 YES 1 0 1 NOT 1 1 0 NOT Tabela 12 74LS86 como um YesNot configurável chip enable input output input chip enable output select input output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 198 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 199 Capítulo 302 Decodificadores Imagine a seguinte situação A professora na escola vai fazer a conferência sobre quais alu nos estão presentes A professora possui uma lista com os nomes dos alunos matriculados Esta lista consiste de um conjunto de combinações de letras que formam os nomes na forma escrita Essas combinações consistem de um código linguístico Para cada aluno existe um código correspon dente O conjunto ordenado de letras que formam o nome do aluno não possui nenhuma corres pondência direta com a pessoa física do aluno Essa ausência de correlação direta impede que uma pessoa iletrada consiga identificar o aluno por meio da observação do texto A alfabetização consiste da obtenção do conhecimento sobre o procedimento da conversão da mensagem codificada na in dicação do seu significado Ao ler o nome do aluno a professora realiza o processo de decodificação daquela mensagem a fim de realizar o apontamento do aluno selecionado O texto é a informação codificada O apontamento do aluno é a informação decodificada A professora é o decodificador As expressões algébricas na forma canônica são construídas a partir dos termos que podem ser maxtermos na análise de zeros ou mintermos na análise de uns O circuito identificador e seletor destes termos é chamado de decodificador Os decodificadores são ao mesmo tempo a estrutura digital mais simples encontrada em circuitos lógicos e a mais importante Não é possível projetar circuitos digitais sem o entendimento a respeito do que sejam os decodificadores Decodificadores podem ser entendidos como conversores de binário para decimal Existe uma entrada binária e uma saída decimal A entrada binária é formada pela quantidade de bits ne cessária para permitir a representação de todos os valores decimais suportáveis por este decodifi cador A saída decimal é formada por uma quantidade de bits suficiente para apontar para todos os valores decimais suportados por este decodificador O nome dos bits de saída precisa receber obrigatoriamente um sufixo correspondente ao valor decimal da palavra binária colocada nos bits de entrada O valor decimal existe apenas no entendimento humano pois quanto ao circuito lógico existe apenas números binários codificados e números binários decodificados Um decodificador completo possui n bits de entrada e 2n bits de saída O decodificador é especificado por n2n Um decodificador incompleto é aquele que sofre a subtração de uma ou mais saídas Neste caso as palavras binárias de entrada correspondentes a estas saídas omitidas não poderiam ser utilizadas pois o decodificador não seria capaz de fazer a decodificação Como somente uma única combinação dos bits de entrada pode ser inserida em um instante então somente uma única saída pode ser sinalizada por vez Não é permitido selecionar zero duas ou mais saídas Uma e apenas uma saída é selecionada Se o decodificador indica o valor decimal por meio de uma saída em zero temos um de codificador com saída decodificada ativa em nível zero e neste caso o nome dos bits de saída pre cisa começar com Se o decodificador indica o valor decimal por meio de uma saída em um temos um decodificador com saída decodificada ativa em nível um Para decodificação em nível zero todas as demais saídas assumem nível um Para decodificação em nível um todas as demais saídas assumem nível zero Para saídas decodificadas indicadas por nível zero cada bit corresponde a um maxtermo e a porta lógica utilizada é a OR Para saídas decodificadas indicadas por nível um cada bit corres ponde a um mintermo e a porta lógica utilizada é a AND De maneira geral a porta lógica empregada é aquela para a qual o valor usado na sinalização é o elemento neutro Quando as saídas decodificadas são ativas em nível baixo é preciso sinalizar este fato A forma mais eficiente é usar uma barra no início do nome das variáveis de saída Se por razão de limitação do ambiente de desenvolvimento não é possível usar este símbolo no início do nome da Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 200 variável de saída então este nome deve ser iniciado por NOT Porém nem sempre é possível colocar o nome das variáveis no desenho do circuito lógico e neste caso não seria possível esclare cer que as saídas seriam ativas em nível baixo Neste caso convém usar uma circunferência em todas as saídas decodificadas ativas em nível baixo à semelhança da circunferência usada no símbolo das portas NOT NAND e NOR Neste texto será usada a redundância as duas representações são usadas ao mesmo tempo Quando as entradas eou as saídas são decodificadas não existe o conceito de palavra bi nária mas sim de indicação Por esse motivo existe a definição de indicação por nível alto ou indicação por nível baixo Quando as entradas eou as saídas são codificadas então temos uma palavra binária e não se definem o nível de indicação Conforme foi explicado no capítulo anterior as portas NOR e NAND são mais simples do que as portas OR e AND Por essa razão é possível simplificar o circuito eletrônico por meio da análise invertida de modo a obter o mesmo decodificador usando as portas NOR ou NAND O comando chip enable CE é usado para habilitardesabilitar as entradas de dados não atua nas entradas de controle A desabilitação é obtida por meio da injeção do elemento nulo da porta lógica usada nas entradas O comando output enable OE é usado para habilitardesabilitar as saídas de dados não atua nas saídas de sinalização A desabilitação é obtida por meio do uso do valor tristate Este valor indica que a saída digital encontrase em estado de alta impedância uma isolação física do nó de saída em relação ao resto do circuito O uso do tristate permite que as saídas de vários circuitos sejam todas elas ligadas ao mesmo barramento de dados data bus Se o tristate não é usado esta ligação provoca um curtocircuito e a queima dos componentes envolvidos A palavra codificada de entrada faz a seleção do termo escolhido Cada termo possui um endereço único e exclusivo pois ele está embutido em uma lista ordenada A seleção do termo é chamada de endereçamento Neste caso o barramento de entrada do decodificador pode ser entendido como sendo um barramento de endereço address bus Exemplo 1 Decodificador 12 com saídas ativas em nível alto Figura 1 12 DEC ativo em nível alto A out0 out1 0 1 0 Out0 A 1 0 1 Out1 A Tabela 1 12 DEC ativo em nível alto Exemplo 2 Decodificador 12 com saídas ativas em nível baixo Figura 2 12 DEC ativo em nível baixo A out0 out1 0 0 1 Out0 A A Out0 Out1 A Out0 Out1 12 DEC A out0 out1 12 DEC A out0 out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 201 1 1 0 Out1 A Tabela 2 12 DEC ativo em nível baixo Exemplo 3 Decodificador 24 com saídas ativas em nível alto Figura 3 24 DEC ativo em nível alto B A out0 out1 out2 out3 0 0 1 0 0 0 Out0 BA 0 1 0 1 0 0 Out1 B A 1 0 0 0 1 1 Out2 BA 1 1 0 0 0 1 Out3 B A Tabela 3 24 DEC ativo em nível alto Exemplo 4 Decodificador 24 com saídas ativas em nível baixo Figura 4 24 DEC ativo em nível baixo B A out0 out1 out2 out3 0 0 0 1 1 1 Out0 B A 0 1 1 0 1 1 Out1 BA 1 0 1 1 0 1 Out2 B A 1 1 1 1 1 0 Out3 BA Tabela 4 24 DEC ativo em nível baixo B A Out0 Out1 Out2 Out3 B A Out3 Out2 Out1 Out0 24 DEC out0 out1 out2 out3 A B out0 out1 out2 out3 A B 24 DEC Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 202 Exemplo 5 Decodificador 38 com saídas ativas em nível alto Figura 5 38 DEC ativo em nível alto C B A out0 out1 out2 out3 out4 out5 out6 out7 0 0 0 1 0 0 0 0 0 0 0 Out0 CBA 0 0 1 0 1 0 0 0 0 0 0 Out1 CB A 0 1 0 0 0 1 0 0 0 0 0 Out2 C BA 0 1 1 0 0 0 1 0 0 0 0 Out3 C B A 1 0 0 0 0 0 0 1 0 0 0 Out4 CBA 1 0 1 0 0 0 0 0 1 0 0 Out5 CB A 1 1 0 0 0 0 0 0 0 1 0 Out6 C BA 1 1 1 0 0 0 0 0 0 0 1 Out7 C B A Tabela 5 38 DEC ativo em nível alto Figura 6 38 DEC ativo em nível alto A B C 321 4 Out3 Out2 Out1 Out0 Out4 Out5 Out6 Out7 out4 out5 out6 out7 38 DEC A out0 out1 out2 out3 B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 203 Exemplo 6 Decodificador 38 com saídas ativas em nível baixo Figura 7 38 DEC ativo em nível baixo C B A out0 out1 out2 out3 out4 out5 out6 out7 0 0 0 0 1 1 1 1 1 1 1 Out0 C B A 0 0 1 1 0 1 1 1 1 1 1 Out1 C BA 0 1 0 1 1 0 1 1 1 1 1 Out2 C B A 0 1 1 1 1 1 0 1 1 1 1 Out3 C BA 1 0 0 1 1 1 1 0 1 1 1 Out4 C B A 1 0 1 1 1 1 1 1 0 1 1 Out5 C BA 1 1 0 1 1 1 1 1 1 0 1 Out6 C B A 1 1 1 1 1 1 1 1 1 1 0 Out7 C BA Tabela 6 38 DEC ativo em nível baixo Figura 8 38 DEC ativo em nível baixo Out4 Out5 Out6 Out7 Out2 Out3 Out1 C B A Out0 321 4 A B C out0 out1 out2 out3 38 DEC out4 out5 out6 out7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 204 Exemplo 7 Decodificador 24 em lógica positiva com chip enable Figura 9 24 DEC ativo em nível alto CE B A out0 out1 out2 out3 0 X X 0 0 0 0 1 0 0 1 0 0 0 Out0 CEBA 1 0 1 0 1 0 0 Out1 CEB A 1 1 0 0 0 1 0 Out2 CE BA 1 1 1 0 0 0 1 Out3 CE B A Tabela 7 24 DEC ativo em nível alto Exemplo 8 Decodificador 24 em lógica negativa com chip enable Figura 10 24 DEC ativo em nível baixo CE B A out0 out1 out2 out3 0 0 0 0 1 1 1 0 0 1 1 0 1 1 Out0 CE B A 0 1 0 1 1 0 1 Out1 CE BA 0 1 1 1 1 1 0 Out2 CEB A 1 X X 0 1 1 1 Out3 CEBA Tabela 8 24 DEC ativo em nível baixo CE A B Out1 Out2 Out3 Out0 CE B A Out2 Out3 Out1 Out0 out0 out1 out2 out3 24 DEC A B CE out0 out1 out2 out3 A B 24 DEC CE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 205 Exemplo 9 Decodificador 24 em lógica positiva com output enable Figura 11 24 DEC ativo em nível alto OE CE B A out0 out1 out2 out3 0 X X X 3S 3S 3S 3S 1 0 X X 0 0 0 0 1 1 0 0 1 0 0 0 Out0 CEBA 1 1 0 1 0 1 0 0 Out1 CEB A 1 1 1 0 0 0 1 1 Out2 CE BA 1 1 1 1 0 0 0 1 Out3 CE B A Tabela 9 24 DEC ativo em nível alto Exemplo 10 Decodificador 24 em lógica negativa com output enable Figura 12 24 DEC ativo em nível baixo OE CE B A out0 out1 out2 out3 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 Out0 CE B A 0 0 1 1 1 1 1 0 Out1 CE BA 0 1 X X 1 1 1 1 Out2 CEB A 1 X X X 3S 3S 3S 3S Out3 CEBA Tabela 10 24 DEC ativo em nível baixo CE OE A B Out1 Out2 Out3 Out0 OE CE A B Out1 Out2 Out3 Out0 out0 out1 out2 out3 24 DEC A B OE CE out0 out1 out2 out3 A B 24 DEC OE CE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 206 Exemplo 11 Decodificador 38 em lógica negativa com NAND Figura 13 38 DEC ativo em nível baixo Exemplo 12 Decodificador 38 em lógica negativa com NOR Figura 14 38 DEC ativo em nível alto C B A 74LS10 Out0 Out1 Out3 Out2 Out7 Out6 Out5 Out4 C B A 74LS27 Out0 Out1 Out3 Out2 Out7 Out6 Out5 Out4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 207 Exemplo 13 Decodificador 38 em lógica positiva com chip enable Figura 15 38 DEC ativo em nível baixo Exemplo 14 Decodificador 38 em lógica negativa com chip enable Figura 16 38 DEC ativo em nível alto CE C B A Out4 Out5 Out7 Out6 Out2 Out3 Out1 Out0 CE C B A Out5 Out7 Out6 Out4 Out2 Out3 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 208 Exemplo 15 Decodificador BCD Figura 17 38 DEC BCD ativo em nível alto e ativo em nível baixo D C B A out0 out1 out2 out3 out4 out5 out6 out7 out8 out9 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 X 0 0 0 0 0 0 0 0 0 0 1 1 X X 0 0 0 0 0 0 0 0 0 0 Figura 11 Definição do decodificador BCD com saídas ativas em nível alto 321 4 0 Out5 Out6 Out7 Out8 Out9 Out4 Out3 Out2 Out1 Out0 74LS21 Out9 Out8 Out4 Out5 Out7 Out6 Out2 Out3 Out1 4072 Out0 321 4 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 209 Exemplo 16 Decodificador BCD Figura 18 38 DEC BCD ativo em nível alto e ativo em nível baixo com bit de erro DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 0 00 1 1 1 1 01 0 0 0 0 01 1 1 1 1 11 1 1 1 1 11 0 0 0 0 10 0 0 1 1 10 1 1 0 0 Tabela 12 Obtenção da expressão minimizada para o bit de erro Erro DCDB Erro DCDB Erro DCB Erro DCB Erro 74LS21 Out0 Out1 Out2 Out3 Out4 Out9 Out8 Out7 Out6 Out5 74LS08 74LS32 321 4 0 Out9 Out8 Out4 Out5 Out7 Out6 Out2 Out3 Out1 74LS32 74LS08 4072 321 4 0 Out0 Erro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 210 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 211 Capítulo 303 Codificadores No capítulo anterior foram vistos os circuitos lógicos decodificadores Agora serão aborda dos os circuitos que fazem a ação oposta a codificação Codificadores podem ser entendidos como conversores de decimal para binário Existe uma entrada decimal e uma saída binária A entrada decimal é formada por uma quantidade de bits su ficiente para apontar para todos os valores decimais suportados por este codificador A saída binária é formada pela quantidade de bits necessária para permitir a representação de todos os valores decimais suportáveis por este codificador O nome dos bits de entrada precisa receber obrigatoriamente um sufixo correspondente ao valor decimal da palavra binária gerada nos bits de saída Um codificador completo possui 2n bits de entrada e n bits de saída O codificador é especificado por 2nn Um codificador incompleto é aquele que sofre a subtração de uma ou mais entradas Neste caso as palavras binárias de saída correspondentes a estas saídas omitidas não tem condições de serem geradas pois o codificador não possui entradas para geralas Como somente uma única combinação dos bits de saída pode ser gerada em um instante então somente uma única entrada pode ser acionada por vez Não é permitido selecionar zero duas ou mais entradas Uma e apenas uma entrada é selecionada Se o codificador indica o valor decimal por meio de uma entrada em zero temos um codi ficador com entrada codificada ativa em nível zero e neste caso o nome dos bits de entrada precisa começar com Se o codificador indica o valor decimal por meio de uma entrada em um temos um codificador com entrada codificada ativa em nível um Para codificação em nível zero todas as demais entradas precisam ser postas em um Para codificação em nível um todas as demais entradas precisam ser postas em zero Para entradas indicadas por nível zero a porta lógica utilizada é a AND Para saídas indica das por nível um a porta lógica utilizada é a OR De maneira geral a porta lógica empregada é aquela para a qual o valor usado na sinalização é o elemento nulo ou dominante O codificador apresentado neste capítulo não possui proteção para acionamento inválido e por isso seu uso deve respeitar a definição do que seja um decodificador Uma e apenas uma en trada deve ser acionada por vês Existe um tipo de codificador codificador de prioridade priority encoder que em caso de duas ou mais entradas acionadas ao mesmo tempo a menor ou a maior delas é selecionada Assim são os circuitos codificadores comerciais O codificador sem proteção apresentado neste capítulo pode ser usado quando o sistema de acionamento das entradas possui uma limitação de natureza mecânica que impede o aciona mento inválido Um sistema translacional ou rotacional composto por sensores de posição poderia fazer este acionamento Como o ponteiro sempre estará presente então sempre haverá uma en trada acionada Como o ponteiro não pode estar em dois ou mais lugares ao mesmo tempo então somente uma entrada será acionada por vês Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 212 Exemplo 1 Codificador 21 com entradas ativas em nível alto Figura 1 21 ENC ativo em nível alto Figura 2 21 ENC ativo em nível alto Exemplo 2 Codificador 21 com entradas ativas em nível baixo Figura 3 21 ENC ativo em nível baixo Figura 4 21 ENC ativo em nível baixo In0 In1 A In1 In0 A in0 in1 A 0 1 0 1 0 1 Tabela 2 21 ENC ativo em nível baixo in0 in1 A 1 0 0 0 1 1 Tabela 1 21 ENC ativo em nível alto 21 ENC A in0 in1 in0 21 ENC A in1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 213 Exemplo 3 Codificador 42 com entradas ativas em nível alto Figura 5 42 ENC ativo em nível alto in0 in1 in2 in3 B A 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 Tabela 4 42 ENC ativo em nível alto Exemplo 4 Codificador 42 com entradas ativas em nível baixo Figura 7 42 ENC ativo em nível baixo in0 in1 in2 in3 B A 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 Tabela 4 42 ENC ativo em nível baixo I0 I3 I2 I1 A B I0 I1I2 I3 B A 42 ENC in0 in1 in2 in3 A B 42 ENC in0 in1 in2 in3 A B A in0in2 B in0in1 A in1in3 B in2in3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 214 Exemplo 5 Codificador 83 com entradas ativas em nível alto Figura 9 83 ENC ativo em nível alto in0 in1 in2 in3 inj4 in5 in6 in7 C B A 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 Tabela 5 83 ENC ativo em nível alto Exemplo 6 Codificador 83 com entradas ativas em nível baixo Figura 10 83 ENC ativo em nível baixo in0 in1 in2 in3 in4 in5 in6 in7 C B A 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 Tabela 6 83 ENC ativo em nível baixo 83 ENC in0 in1 in2 in3 in4 in5 in6 in7 A B C I3 I2 I1 I0 I7 I6 I5 I4 A B C 321 4 I0 I2 I4 I6 I3 I1 I5 I7 OutC OutB 74LS21 OutA 4321 in0 in1 in2 in3 in4 in5 in6 in7 A B C 83 ENC A in1in3in5in7 B in2in3in6in7 C in4in5in6in7 A in0in2in4in6 B in0in1in4in5 C in0in1in2in3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 215 Exemplo 7 Codificador BCD com entradas ativas em nível alto Figura 11 BCD ENC ativo em nível alto in0 in1 in2 in3 in4 in5 in6 in7 In8 In9 D C B A 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 Tabela 7 Definição do codificador BCD com entradas ativas em nível alto A in1in3in5in7in9 B in2in3in6in7 C in4in5in6in7 D in8in9 I9 I8 I4 I7 I6 I5 I2 I1 I0 I3 4071 OutD 321 4 OutC 4072 OutB OutA BCD ENC in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 216 Exemplo 8 Codificador BCD com entradas ativas em nível baixo Figura 12 BCD ENC ativo em nível baixo in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 D C B A 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 Tabela 8 Definição do codificador BCD com entradas ativas em nível baixo A in0in2in4in6in8 B in0in1in4in5in8in9 C in0in1in2in3in8in9 D in0in1in2in3in4in5in6in7 OutC OutD OutB I1 I0 I5 I3 I2 I4 I9 I7 I8 I6 4073 4081 4082 321 4 OutA BCD ENC in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 217 Capítulo 304 Multiplexadores O multiplexador é o dispositivo que recebe muitas informações e escolhe uma delas para ser enviada para a saída A multiplexação pode ser analógica ou digital Uma multiplexação analógica pode ser exemplificada por meio do microcontrolador PIC16F877 que possui oito entradas analógi cas das quais uma é selecionada para ser enviada para o conversor AD Um circuito puramente analógico pode efetuar a multiplexação Por exemplo nos antigos equipamentos de som residen cial existiam várias opções para a fonte do áudio como por exemplo o tocadiscos de vinil o toca discos a laser o tocafitas rádio FM rádio AM rádio SW microfone ou entrada auxiliar Por meio de chaves mecânicas uma das fontes de sinal é enviada para o amplificador Uma multiplexação analógica também pode ser efetuada por meio de relés Desta forma é possível obter isolação elétrica total entre o circuito de acionamento e os circuitos comandados pelos relés O circuito de acionamento seleciona um relé e energiza a sua bobina Somente um relé é acionado por vês As chaves dos relés estão todas ligadas ao mesmo nó de saída Uma multiplexação digital consiste de um circuito que recebe duas ou mais palavras binárias e escolhe uma delas para ser enviada para a palavra de saída As palavras precisam ter todas o mesmo tamanho em bits A escolha é feita por meio da palavra de seleção As palavras de entrada precisam ser mantidas fixas para que a palavra de saída seja lida Por esse motivo os multiplexadores comerciais são dotados de uma memória na palavra de saída Esta memória é assunto para capítulos mais avançados e não é abordado aqui Todo multiplexador digital possui um decodificador na entrada Este decodificador é respon sável pela seleção da palavra de entrada a partir da palavra de seleção Este decodificador pode ser ativo em nível alto ou baixo e isso não interfere no funcionamento do multiplexador Quando a quantidade de palavras de entrada do multiplexador não é uma potência exata de dois então algumas combinações da palavra de seleção são inválidas Quando acionados esses en dereços colocam em todos os bits da palavra de saída o valor zero ou um a depender da lógica interna Essa informação não aparece no símbolo do multiplexador e quando se trata de algum dispositivo comercial precisa ser investigada através do manual do fabricante do chip Em um pro jeto bem elaborado endereços inválidos jamais são acessados de modo que o fornecimento de va lor zero ou um não faz diferença A palavra de saída de um multiplexador pode ser ligada a um barramento de dados data bus conforme a arquitetura de um microprocessadormicrocontrolador Por meio do multiplexa dor o barramento de dados é capaz de fazer a escrita em algum dispositivo anexado ao sistema Figura 1 Esquema de leitura dos periféricos em um sistema processado 8bit MUX periférico 1 sel periférico 2 periférico 3 periférico n 8bit data bus Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 218 Exemplo 1 Multiplexador 21 de dois bits com análise de uns Figura 2 2bit 21 MUX com análise de uns Sel Out1 Out0 0 A1 A0 Out0 A0SelB0Sel 1 B1 B0 Out1 A1SelB1Sel Tabela 2 2bit 21 MUX Exemplo 2 Multiplexador 21 de dois bits com análise de zeros Figura 3 2bit 21 MUX com análise de zeros Sel Out1 Out0 0 A1 A0 Out0 A0SelB0Sel 1 B1 B0 Out1 A1SelB1Sel Tabela 2 2bit 21 MUX Out0 Out1 B1 B0 A1 A0 Sel B1 B0 A1 A0 Sel Out1 Out0 A0 B0 A1 B1 Sel Out1 Out0 2bit 21 MUX A B out sel 2bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 219 Exemplo 3 Multiplexador 21 de três bits com análise de uns Figura 4 3bit 21 MUX com análise de uns Exemplo 4 Multiplexador 21 de três bits com análise de zeros Figura 5 3bit 21 MUX com análise de zeros B1 B2 B0 A2 A1 A0 Sel Out0 Out2 Out1 B1 B2 B0 A2 A1 A0 Sel Out2 Out1 Out0 Out0 A0SelB0Sel Out1 A1SelB1Sel Out2 A2SelB2Sel Sel Out2 Out1 Out0 0 A2 A1 A0 1 B2 B1 B0 Tabela 3 3bit 21 MUX Out0 A0SelB0Sel Out1 A1SelB1Sel Out2 A2SelB2Sel Sel Out2 Out1 Out0 0 A2 A1 A0 1 B2 B1 B0 Tabela 4 3bit 21 MUX 3bit 21 MUX A B out sel 3bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 220 Exemplo 5 Multiplexador 31 de dois bits com análise de uns Figura 6 2bit 31 MUX com análise de uns Exemplo 6 Multiplexador 31 de dois bits com análise de zeros Figura 7 2bit 31 MUX com análise de zeros Sel1 C0 C1 B1 B0 A1 A0 Sel0 Out1 Out0 Sel1 C0 C1 B1 B0 A1 A0 Sel0 Out1 Out0 Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Sel1 Sel0 Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 0 C1 C0 1 1 0 0 Tabela 5 2bit 31 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Sel1 Sel0 Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 0 C1 C0 1 1 1 1 Tabela 6 2bit 31 MUX 2bit 31 MUX A B out sel1 C sel0 2bit 31 MUX A B out sel1 C sel0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 221 Exemplo 7 Multiplexador 31 de três bits com análise de uns Figura 8 3bit 31 MUX com análise de uns Exemplo 8 Multiplexador 31 de três bits com análise de zeros Figura 9 3bit 31 MUX com análise de zeros Sel1 Sel0 321 4 OUT 321 4 0 C 321 4 0 B 321 4 0 A Sel1 Sel0 321 4 OUT 321 4 0 C 321 4 0 B 321 4 0 A Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0 Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 0 0 0 Tabela 7 3bit 21 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0 Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 1 1 1 Tabela 8 3bit 21 MUX 3bit 31 MUX A B out sel1 C sel0 3bit 31 MUX A B out sel1 C sel0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 222 Exemplo 9 Multiplexador 21 de dois bits com chip enable e output enable Versão 1 Figura 10 3bit 21 MUX com chip enable e output enable Exemplo 10 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 1 Figura 10 2bit 21 MUX com análise de zeros Figura 11 3bit 21 MUX com chip enable e output enable Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 9 2bit 21 MUX Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 10 2bit 21 MUX OE CE B1 B0 A1 A0 Sel Out0 Out1 74LS126 OE CE B1 B0 A1 A0 Sel 74LS125 Out0 Out1 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 223 Exemplo 11 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 2 Figura 12 2bit 21 MUX com análise de uns Exemplo 12 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 2 Figura 13 2bit 21 MUX com análise de zeros CE OE B1 B0 A1 A0 Sel Out0 Out1 74LS126 CE OE B1 B0 A1 A0 Sel 74LS125 Out0 Out1 Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 11 2bit 21 MUX Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 12 2bit 21 MUX 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 224 Exemplo 13 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 3 Figura 14 2bit 21 MUX com análise de uns Exemplo 14 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 3 Figura 15 2bit 21 MUX com análise de zeros OE CE B1 B0 A1 A0 Sel Out1 Out0 OE CE B1 B0 A1 A0 Sel Out1 Out0 74LS126 Out0 A0SelB0SelCE Out1 A1SelB1SelCE CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 13 2bit 21 MUX Out0 A0SelB0SelCE Out1 A1SelB1SelCE CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 14 2bit 21 MUX 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 225 Exemplo 15 Multiplexador 21 de dois bits com NAND Figura 16 2bit 21 MUX com análise de uns Exemplo 16 Multiplexador 21 de dois bits com NOR Figura 17 2bit 21 MUX com análise de zeros B1 B0 A1 A0 Sel Out0 Out1 B1 B0 A1 A0 Sel Out0 Out1 Out0 A0SelB0Sel Out1 A1SelB1Sel Sel Out1 Out0 0 A1 A0 1 B1 B0 Tabela 15 2bit 21 MUX Out0 A0SelB0Sel Out1 A1SelB1Sel Sel Out1 Out0 0 A1 A0 1 B1 B0 Tabela 16 2bit 21 MUX 2bit 21 MUX A B out sel 2bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 226 Exemplo 17 Multiplexador 21 de dois bits Figura 18 3bit 41 MUX com análise de uns Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 D2 D1 D0 Tabela 17 3bit 41 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0D0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0D1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0D2Sel1Sel0 D0 D1 D2 C2 C1 C0 B0 B1 B2 Sel1 A2 A1 A0 Sel0 Out2 Out1 Out0 3bit 41 MUX A B out sel1 C sel0 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 227 Exemplo 17 Multiplexador 21 de dois bits Figura 19 3bit 41 MUX com análise de zeros Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 D2 D1 D0 Tabela 18 3bit 41 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0D0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0D1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0D2Sel1Sel0 D0 D1 D2 C2 C1 C0 B0 B1 B2 In1 A2 A1 A0 In0 Out2 Out1 Out0 3bit 41 MUX A B out sel1 C sel0 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 228 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 229 Capítulo 305 Demultiplexadores O demultiplexador é o dispositivo que recebe uma informação e escolhe uma dentre várias saídas para receber a entrada A demultiplexação pode ser analógica ou digital Um circuito pura mente analógico pode efetuar a demultiplexação Por exemplo alguns modelos dos antigos equi pamentos de som residencial existiam várias opções para a saída do áudio como por exemplo as caixas de som o fone de ouvidos ou uma saída para caixas auxiliares Por meio de chaves mecânicas uma dos receptores de sinal é escolhido para receber o sinal de áudio Uma demultiplexação analógica também pode ser efetuada por meio de relés Desta forma é possível obter isolação elétrica total entre o circuito de acionamento e os circuitos comandados pelos relés O circuito de acionamento seleciona um relé e energiza a sua bobina Somente um relé é acionado por vês As chaves dos relés estão todas ligadas ao mesmo nó de entrada Uma demultiplexação digital consiste de um circuito que recebe uma palavra binária e esco lhe uma das saídas para receber essa palavra Os receptores de saída precisam ter todas o mesmo tamanho em bits A escolha é feita por meio da palavra de seleção Todo demultiplexador digital possui um decodificador na entrada Este decodificador é res ponsável pela seleção da palavra de saída a partir da palavra de seleção Este decodificador pode ser ativo em nível alto ou baixo No caso de nível alto as saídas não selecionadas recebem o valor zero em todos os seus bits No caso de nível baixo as saídas não selecionadas recebem o valor um em todos os seus bits A palavra de entrada de um multiplexador pode ser ligada a um barramento de dados data bus conforme a arquitetura de um microprocessadormicrocontrolador Por meio do multiplexa dor o barramento de dados é capaz de fazer a leitura de algum dispositivo anexado ao sistema Figura 1 Esquema de escrita dos periféricos em um sistema processado sel periférico 1 8bit DEMUX 8bit data bus periférico 2 periférico 3 periférico n Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 230 Exemplo 1 Demultiplexador 12 de dois bits com análise de uns A0 In0Sel B0 In0Sel A1 In1Sel B1 In1Sel Sel A1 A0 B1 B0 0 In1 In0 0 0 1 0 0 In1 In0 Tabela 1 2bit 21 DEMUX Figura 2 2bit 21 DEMUX com análise de uns Exemplo 2 Demultiplexador 12 de dois bits com análise de zeros A0 In0Sel B0 In0Sel A1 In1Sel B1 In1Sel Sel A1 A0 B1 B0 0 In1 In0 1 1 1 1 1 In1 In0 Tabela 2 2bit 21 DEMUX Figura 3 2bit 21 DEMUX com análise de zeros 2bit 12 DEMUX in A B sel In1 In0 Sel B1 B0 A1 A0 In1 In0 Sel B1 B0 A1 A0 2bit 12 DEMUX in A B sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 231 Exemplo 3 Demultiplexador 14 de três bits com análise de uns Figura 4 3bit 41 DEMUX com análise de uns Exemplo 4 Demultiplexador 14 de três bits com análise de zeros Figura 5 3bit 41 DEMUX com análise de zeros Sel1 Sel0 321 4 0 In 321 4 D 321 4 C 321 4 B 321 4 A Sel1 Sel0 321 4 0 In 321 4 D 321 4 C 321 4 B 321 4 A A0 In0Sel1Sel0 A1 In1Sel1Sel0 A2 In2Sel1Sel0 B0 In0Sel1 Sel0 B1 In1Sel1 Sel0 B2 In2Sel1 Sel0 C0 In0 Sel1Sel0 C1 In1 Sel1Sel0 C2 In2 Sel1Sel0 D0 In0 Sel1 Sel0 D1 In1 Sel1 Sel0 D2 In2 Sel1 Sel0 Sel A B C D 00 In2 In1 In0 000 000 000 01 000 In2 In1 In0 000 000 10 000 000 In2 In1 In0 000 11 000 000 000 In2 In1 In0 Tabela 3 3bit 41 DEMUX A0 In0 Sel1 Sel0 A1 In1 Sel1 Sel0 A2 In2 Sel1 Sel0 B0 In0 Sel1Sel0 B1 In1 Sel1Sel0 B2 In2 Sel1Sel0 C0 In0Sel1 Sel0 C1 In1Sel1 Sel0 C2 In2Sel1 Sel0 D0 In0Sel1Sel0 D1 In1Sel1Sel0 D2 In2Sel1Sel0 Sel A B C D 00 In2 In1 In0 111 111 111 01 111 In2 In1 In0 111 111 10 111 111 In2 In1 In0 111 11 111 111 111 In2 In1 In0 Tabela 3 3bit 41 DEMUX Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 232 Exemplo 5 Demultiplexador 13 de quatro bits com análise de uns Figura 6 4bit 31 DEMUX com análise de uns Exemplo 6 Demultiplexador 13 de quatro bits com análise de zeros Figura 7 4bit 31 DEMUX com análise de uns Sel1 Sel0 321 4 0 In 321 4 A 321 4 B 321 4 C 74LS11 Sel1 Sel0 321 4 A 321 4 B 321 4 C 4075 321 4 0 In A0 In0Sel1Sel0 A1 In1Sel1Sel0 A2 In2Sel1Sel0 A3 In3Sel1Sel0 B0 In0Sel1 Sel0 B1 In1Sel1 Sel0 B2 In2Sel1 Sel0 B3 In3Sel1 Sel0 C0 In0 Sel1Sel0 C1 In1 Sel1Sel0 C2 In2 Sel1Sel0 C3 In3 Sel1Sel0 A0 In0 Sel1 Sel0 A1 In1 Sel1 Sel0 A2 In2 Sel1 Sel0 A3 In3 Sel1 Sel0 B0 In0 Sel1Sel0 B1 In1 Sel1Sel0 B2 In2 Sel1Sel0 B3 In3 Sel1Sel0 C0 In0Sel1 Sel0 C1 In1Sel1 Sel0 C2 In2Sel1 Sel0 C3 In3Sel1 Sel0 Sel A B C D 00 In3 In2 In1 In0 000 000 000 01 000 In3 In2 In1 In0 000 000 10 000 000 In3 In2 In1 In0 000 11 000 000 000 In3 In2 In1 In0 Tabela 5 4bit 31 DEMUX Sel A B C D 00 In3 In2 In1 In0 111 111 111 01 111 In3 In2 In1 In0 111 111 10 111 111 In3 In2 In1 In0 111 11 111 111 111 In3 In2 In1 In0 Tabela 6 4bit 31 DEMUX Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 233 Parte 06 Comutadores e roteadores Antes de estudar o funcionamento dos roteadores e dos comutadores é necessário enten der muito bem o funcionamento dos multiplexadores e dos demultiplexadores apresentados nos dois capítulos anteriores Comutadores são dispositivos obtidos a partir da ligação em série entre um multiplexador e um demultiplexador A ordem desta ligação define o tipo de dispositivo obtido Dispositivo Entrada Saída Roteador Multiplexador Demultiplexador Comutador Demultiplexador Multiplexador Tabela 1 Definição dos dispositivos Figura 1 Esquema de um roteador Figura 2 Esquema de um comutador Se um dos blocos faz uso da análise de zeros o outro bloco também precisa fazer análise de zeros Se um dos blocos faz uso da análise de uns o outro bloco também precisa fazer análise de uns Embora seja algebricamente possível não é usual juntar um bloco de análise de zeros com um bloco de análise de uns Como o próprio nome diz roteador é o dispositivo que escolhe uma rota Uma rota é deter minada pelo seu ponto de partida e pelo seu ponto de chegada Roteador é a ligação de um multi plexador e um demultiplexador nesta ordem Existem várias entradas de dados e várias saídas de dados Alguns bits de seleção determinam a escolha da palavra de entrada Outros bits de seleção determinam a escolha da saída para onde a palavra é enviada Somente uma rota pode ser escolhida por vez Segundo esta definição o roteador possui apenas um canal de comunicação A sensação da conexão de vários canais é obtida por meio da alternância temporal entre várias conexões dife rentes Comutador é a escolha do canal de comunicação entre uma fonte de dados e um receptor de dados Existem vários caminhos que podem ser usados nesta comunicação e os bits de seleção 8bit data bus selin periférico 1 8bit MUX periférico 3 periférico n periférico 2 selout periférico 1 8bit DEMUX periférico 2 periférico 3 periférico n selin canal 1 8bit DEMUX 8bit data bus 1 canal 2 canal 3 canal n 8bit MUX selout 8bit data bus 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 234 servem para escolher o caminho No comutador um demultiplexador aciona um multiplexador nesta ordem Há duas situações práticas nas quais um circuito comutador pode ser usado 1 Quando a comunicação entre dois pontos geográficos é feita por meio de dois tipos de linha de transmissão transmission line TL Uma delas é a principal e a outra é a de emergência Estas duas TLs podem usar o mesmo meio físico cabo do tipo par trançado por exemplo ou po dem usar meios distintos para dar maior capacidade para lidar com impedimentos por exemplo uma TL pode ser cabeada e a outra TL pode ser via rádio 2 Quando uma TL redundante existe para manter a comunicação em funcionamento en quanto a TL principal está passando por um processo de vistoria manutenção programada ou pro cesso de expansãoatualização Figura 3 Comutador de quatro caminhos Um roteador de dois ou mais canais permite que várias conexões sejam efetuadas ao mesmo tempo Este circuito é muito mais sofisticado e não pode ser obtido por meio do simples acopla mento de um MUX e um DEMUX O gerenciamento do uso dos canais requer um algoritmo com plexo Dispositivos modernos fazem uso de microprocessadores ou processadores digitais de sinais executando programas baseados em inteligência artificial para a otimização do uso dos canais Este assunto é abordado em cursos específicos sobre redes de computadores Figura 4 Esquema de um roteador de dois canais Origem Destino Caminho 1 Caminho 2 Caminho 3 Caminho 4 periférico 1 periférico 3 periférico 2 periférico 1 periférico 2 periférico 3 periférico n periférico n Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 235 Exemplo 1 Roteador 32 de dois bits com análise de uns Figura 2 Diagrama do roteador 32 Sel Entrada Saída 000 A D 001 B D 010 C D 011 0 D 100 A E 101 B E 110 C E 111 0 E Tabela 2 Definição do roteador 32 Sel D E 000 A 00 001 B 00 010 C 00 011 00 00 100 00 A 101 00 B 110 00 C 111 00 00 Tabela 3 Definição do roteador 32 Figura 3 Roteador 2bit 32 com análise de uns Sel2 Sel0 A0 A1 B0 B1 C1 C0 Sel1 E1 E0 D1 D0 2bit 32 ROT A B D C E S1 S0 S2 canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 236 Exemplo 2 Roteador 32 de dois bits com análise de zeros Figura 4 Diagrama do roteador 32 Sel Entrada Saída 000 A D 001 B D 010 C D 011 1 D 100 A E 101 B E 110 C E 111 1 E Tabela 4 Definição do roteador 32 Sel D E 000 A 11 001 B 11 010 C 11 011 11 11 100 11 A 101 11 B 110 11 C 111 11 11 Tabela 5 Definição do roteador 32 Figura 5 Roteador 2bit 32 com análise de zeros Sel0 A0 A1 B0 B1 C1 C0 Sel1 Sel2 D0 E0 D1 E1 2bit 32 ROT A B D C E S1 S0 S2 canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 237 Exemplo 3 Roteador 43 de quatro bits com análise de uns Figura 6 Diagrama do roteador 32 Sel Entrada Saída 0000 A E 0001 B E 0010 C E 0011 D E 0100 A F 0101 B F 0110 C F 0111 D F 1000 A G 1001 B G 1010 C G 1011 D G 1100 A 1101 B 1110 C 1111 D Tabela 6 Definição do roteador 32 Sel E F G 0000 A 0 0 0001 B 0 0 0010 C 0 0 0011 D 0 0 0100 0 A 0 0101 0 B 0 0110 0 C 0 0111 0 D 0 1000 0 0 A 1001 0 0 B 1010 0 0 C 1011 0 0 D 1100 0 0 0 1101 0 0 0 1110 0 0 0 1111 0 0 0 Tabela 7 Definição do roteador 32 4bit 43 ROT A E B F C D S2 S1 S0 S3 G Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 238 Figura 7 Roteador 4bit 43 com análise de uns Sel3 Sel2 Sel0 Sel1 321 4 G 321 4 F 321 4 E 321 4 0 D 321 4 0 C 321 4 0 B 321 4 0 A canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 239 Exemplo 4 Comutador de dois bits e dois canais com análise de uns SelIn SelOut Out1 Out0 0 0 In1 In0 0 1 0 0 1 0 0 0 1 1 In1 In0 Tabela 8 Definição do comutador de dois bits e duas vias com análise de uns Figura 8 Comutador 2bit de dois canais com análise de uns In0 In1 SelIn SelOut Out1 Out0 canal 1 canal 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 240 Exemplo 5 Comutador de dois bits e dois canais com análise de zeros SelIn SelOut Out1 Out0 0 0 In1 In0 0 1 1 1 1 0 1 1 1 1 In1 In0 Tabela 9 Definição do comutador de dois bits e duas vias com análise de zeros Figura 9 Comutador 2bit de dois canais com análise de zeros In0 In1 SelIn SelOut Out1 Out0 canal 1 canal 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 241 Exemplo 6 Comutador de três canais SelIn SelOut Out1 Out0 Canal 00 00 In1 In0 1 00 01 0 0 00 10 0 0 00 11 0 0 01 00 0 0 01 01 In1 In0 2 01 10 0 0 01 11 0 0 10 00 0 0 10 01 0 0 10 10 In1 In0 3 10 11 0 0 11 00 0 0 11 01 0 0 11 10 0 0 11 11 0 0 Tabela 10 Definição do comutador de três vias com análise de uns Figura 10 Comutador de três canais SelIn0 SelIn1 SelOut0 SelOut1 In0 In1 Out1 Out0 canal 1 canal 2 canal 3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 242 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 243 Capítulo 307 Conversores de código No capítulo anterior foi ensinado que um multiplexador e um demultiplexador podem ser ligados em série formando duas novas estruturas a saber um comutador ou um roteador Igual mente um codificador pode ser ligado em série com um decodificador formando também uma nova estrutura os conversores de código Esses conversores foram apresentados na unidade ante rior no assunto sobre a álgebra booleana Se um dos blocos faz uso da análise de zeros o outro bloco também precisa fazer análise de zeros Se um dos blocos faz uso da análise de uns o outro bloco também precisa fazer análise de uns Embora seja algebricamente possível não é usual juntar um bloco de análise de zeros com um bloco de análise de uns Pelo menos até o momento da elaboração deste texto não foi encontrada nenhuma aplica ção prática para a ligação ENCDEC motivo porque esta opção não é considerada no decorrer deste estudo Na ligação DECENC a palavra codificada de entrada é exatamente igual à palavra codificada de saída não existe função de transformação não existe aplicação Para que a ligação DECENC tenha alguma serventia é preciso que uma das partes DEC ou ENC sofra alguma alteração Pelo menos até o momento da elaboração deste texto não foi encon trada nenhuma aplicação prática para a alteração no DEC motivo porque esta opção não é consi derada no decorrer deste estudo Este capítulo aborda a alteração no ENC Esta alteração é chamada de personalização ou pelo anglicismo customização Figura 1 Ligação DECENC Figura 2 Ligação ENCDEC Figura 3 Ligação DECENC custom Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso 24 DEC A B 42 ENC A B 24 DEC out0 out1 out2 out3 42 ENC in0 in1 in2 in3 24 DEC A B 4n ENC custom A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 244 haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados Figura 4 Ligação DECENC com análise de zeros Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados B A A B A A B B A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 245 Exemplos 1 e 2 Input Exemplo 1 Exemplo 2 0 2 5 1 3 2 2 0 6 3 1 4 Tabela 1 Definição dos conversores Figura 5 Exemplo 1 com análise de uns e de zeros respectivamente Figura 6 Exemplo 2 com análise de uns e de zeros respectivamente Exemplos 3 e 4 Input Exemplo 3 Exemplo 4 0 2 6 1 2 4 2 0 2 3 1 6 4 0 6 5 2 1 6 1 7 7 1 4 Tabela 3 Definição do conversor A B 0 1 2 3 A B 34 DEC B A A B 34 DEC 0 1 2 3 0 1 2 3 A B 34 DEC A B C A B 34 DEC 0 1 2 3 V C B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 246 Figura 7 Exemplo 3 com análise de uns e de zeros respectivamente Figura 8 Exemplo 4 com análise de uns Out0 Out1 A B C 38 DEC 0 1 2 3 5 6 7 8 Out1 Out0 V 38 DEC A B C 0 1 2 3 5 6 7 8 A B C 38 DEC 0 1 2 3 5 6 7 8 Out2 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 247 Figura 9 Exemplo 4 com análise de zeros V Out0 Out1 Out2 38 DEC A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 248 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 249 Capítulo 308 Decodificadores personalizados No capítulo anterior foram apresentadas as associações entre decodificadores e codificado res nesta ordem onde somente o codificador é personalizado Na oportunidade foi dito que não foi encontrada aplicação prática para uma personalização do decodificador No capítulo presente é apresentado o conceito do decodificador personalizado no qual são subtraídos os termos não uti lizados Isso não significa uma personalização booleana haja vista que as expressões algébricas per manecem todas inalteradas Esta é uma personalização aplicável unicamente ao circuito lógico e por isso não pode ser considerada uma minimização algébrica ou um circuito algebricamente dife rente Uma verdadeira personalização no decodificador seria uma transformação algébrica em favor de algum processo de minimização Mesmo assim diremos aqui que o decodificador incompleto seria um circuito personalizado Esta extrapolação simplifica a abordagem pedagógica Estatisticamente quanto maior é a quantidade de bits da palavra de saída menor é a pro babilidade de que algum termo do decodificador possa ser removido Figura 1 Ligação DECENC 24 DEC custom A B 4n ENC custom A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 250 Exemplo 1 Input Output In1 In0 Out1 Out0 0 2 0 0 1 0 1 3 0 1 1 1 2 0 1 0 0 0 3 1 1 1 0 1 Tabela 1 Definição do conversor In1 In0 Out1 Out0 In1 In0 Out1 Out0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 Tabela 2 Identificação dos termos não usados Circuito 1 Exemplo 1 com análise de uns e de zeros respectivamente Exemplo 2 Input Exemplo 2 Exemplo 3 0 2 6 1 2 4 2 0 2 3 1 6 4 0 6 5 2 1 6 1 7 7 1 4 Tabela 3 Definição dos conversores Out0 Out1 A B Out1 Out0 B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 251 Circuito 2 Exemplo 2 com análise de uns Circuito 3 Exemplo 3 com análise de zeros Out1 Out0 A C B Out0 Out1 Out2 A C B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 252 Exemplo 4 Input Output 0 7 1 7 2 2 3 0 4 7 5 4 6 4 7 7 Tabela 4 Definição do conversor C B A Out2 Out1 Out0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 Tabela 5 Definição das funções binárias Out1 max23 Out1 max356 Out0 max2356 Out2 CBACBA Out1 CBACBACBA Out0 CBACBACBACBA Circuito 4 Ligação DECENC B C A V Out1 Out2 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 253 Capítulo 309 Circuitos aritméticos Circuitos lógicos aritméticos são aqueles que se propõe a realizar alguma operação aritmé tica Os circuitos aritméticos são encontrados nas ULAs ULA Unidade Lógica e Aritmética ALU Arithmetic Logic Unit Realiza operações lógicas e aritméticas Está presente em todos Cs Ps e DSPs A quantidade de funções varia conforme o modelo O tamanho das palavras da ULA é a informação mais importante sobre o chip O tamanho das palavras da ULA é o do barramento de dados data bus A ULA trabalha com apenas duas palavras As principais operações aritméticas são Adição Subtração Multiplicação Divisão Potenciação Radiciação Logaritimação Os circuitos aritméticos podem ser construídos na forma canônica ou na forma minimizada Quando são implementadas muitas funções aritméticas em um mesmo circuto a forma canônica é mais interessante Quando são implementadas poucas funções a forma minimizada é mais indi cada Os circuitos a seguir foram todos eles implementados na forma minimizada Carry in Parcela 1 Parcela 2 Carry out Sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Tabela 1 Adição CYOUT max 0124 CYOUT min 3567 Sum max 0356 Sum min 1247 A minimização da função sum pode ser feita de maneira intuitiva A primeira metade con siste da função XORparcela1 parcela2 A segunda metade é o inverso da primeira metade isso corresponde a uma inversão acionada pelo bit CYIN obtido pela função XORSUM CYIN Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 254 Circuito 1 Somador de um bit Borrow in Minuendo Subtraendo Borrow out Sub 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 Tabela 2 Subtração BROUT max 0236 BROUT min 1457 Sub max 0356 Sub min 1247 Circuito 2 Subtrador de um bit P2 P1 CYIN 321 4 SUM CYOUT S SU MI BROUT sinal complemento de dois 321 4 SUBTRACTION BRIN S Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 255 Circuito 3 Somador de dois bit Circuito 4 Somador de quatro bits P10 P21P20 P11 321 4 parcela 1 321 4 parcela 2 S1 CYOUT1 321 4 SUM CYOUT0 S0 CYIN0 CYIN1 CYIN2 CYIN3 321 4 SUM 321 4 0 entrada 2 321 4 0 entrada 1 321 4 OVERFLOW SUM0 SUM1 SUM2 SUM3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 256 Circuito 5 Subtrador de quatro bits Circuito 6 SomadorSubtrador de quatro bits ADDSUB 321 4 321 4 0 entrada 2 321 4 0 entrada 1 321 4 BRIN3 BRIN2 BRIN1 BRIN0 ADDSUB 321 4 321 4 0 entrada 2 321 4 0 entrada 1 321 4 BRIN3 BRIN2 BRIN1 BRIN0 SUB0 SUB1 SUB2 SUB3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 257 Circuito 7 Multiplicador por dois de quatro bits 1X 2X 321 4 overflow 321 4 321 4 0 entrada 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 258 Circuito 8 Divisor por dois de quatro bits Circuito 9 Multiplicador por três de quatro bits 1 2 321 4 overflow 321 4 321 4 0 entrada 1 CYIN4 SUM4 CYIN0 CYIN1 CYIN2 CYIN3 321 4 321 4 0 321 4 SUM0 SUM1 SUM2 SUM3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 259 Circuito 10 ULA de três funções de quatro bits B2 B1 B0 A1 A0 A2 S0 S1 321 4 A 321 4 B 1 2 0 0 2 1 1 2 0 2 1 0 321 4 Output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 260 Circuito 11 ULA de quatro funções de quatro bits B2 B1 B0 A1 A0 A2 S0 S1 1 2 0 321 4 A 321 4 B 1 2 0 0 2 1 1 2 0 321 4 Output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 261 Unidade 4 Lógica seqüencial Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 262 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 263 Capítulo 401 Introdução Um historiador experiente durante suas análises a respeito de algum fato de natureza his tórica sabe que a fim de entender corretamente os acontecimentos precisa não somente estudar os fatos contemporâneos ao período de cobertura de sua análise mas também os fatos que ante cederam tal acontecimento O desfecho dos fatos históricos depende não apenas dos fatores pre sentes em tais acontecimentos mas também dos fatos anteriores A programação de robôs e as linguagens CNC Comando Numérico Computacional pos suem instruções que podem ser absolutas ou relativas As instruções absolutas são aquelas que determinam o resultado independentemente da situação atual Por exemplo o comando pode levar algum atuador para a posição xyz 352 através do mnemônico GOTO Outro exemplo seria o comando que levaria um forno a uma temperatura específica As instruções relativas são aquelas que usam como ponto de partida a situação presente Por exemplo o comando pode levar o atu ador a avançar 352 nos três eixos cartesianos respectivamente A posição final somente pode ser determinada com base na informação a respeito da posição inicial Um outro exemplo seria o comando que levaria um forno a subir sua temperatura em 5 graus celsius A temperatura final somente pode ser determinada se o valor da temperatura inicial é conhecido Instrução absoluta Instrução relativa Vá para a posição x5m Avance 5m no eixo X Mude a temperatura para 30C Aumente a temperatura em 5C Você precisa pesar 80Kg Você precisa emagrecer 5Kg O preço sofreu um acréscimo de R1000 O preço sofreu um aumento de 10 O áudio sofreu um acréscimo de 10W O áudio sofreu um acréscimo de 10db Tabela 1 Exemplos de instruções absolutas e relativas O estudo dos circuitos digitais pode ser dividido em dois grandes grupos Lógica combinacional Lógica seqüencial Figura 1 Os dois tipos de lógica Embora a lógica sequencial seja um subconjunto da lógica combinacional chamamos de lógica combinacional a lógica a lógica nãosequencial A lógica combinacional foi abordada nos capítulos anteriores A palavra combinação versa a respeito do estado das variáveis de entrada Esta combinação define um maxtermo em análise de zeros ou um mintermo em análise de uns Na lógica combinacional o valor da variável de saída ou das variáveis de saída depende unica mente das variáveis de entrada Em outras palavras a informação a respeito dos valores das variá veis de entrada é suficiente na determinação do valor da variável de saída ou das variáveis de sa ída Um circuito combinacional com vários bits de saída possui a propriedade de que todas essas variáveis de saída são dependentes unicamente das variáveis de entrada Nenhuma variável de sa ída é dependente do valor de outra variável de saída combinacional seqüencial Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 264 Transição é a relação entre o valor de uma grandeza em dois instantes consecutivos Em se tratando de um bit binário as transições possíveis são 00 01 10 11 No contexto dos circuitos analógicos existem dois conceitos sobre realimentação Realimentação positiva Realimentação negativa Realimentação consiste do processo de amostragem do valor da variável de saída e do uso do valor desta amostra junto com o valor da variável de saída A realimentação negativa possui a propriedade de levar o sistema para a estabilidade Na realimentação negativa o valor de realimen tação é subtraído no valor do input A realimentação negativa não é objeto de estudo no contexto da lógica seqüencial A realimentação positiva possui a propriedade de retirar o sistema da estabilidade para a instabilidade A instabilidade pode levar a duas situações diferentes Oscilação e saturação A osci lação é o resultado de um sistema subamortecido A saturação é o resultado da obtenção de valores demasiadamente elevados para alguma grandeza física implicando no surgimento de ou tros fenômenos físicos que interrompam o processo de crescimento da primeira grandeza Um sis tema instável a caminho da saturação apresenta aquilo que chamamos de instabilidade temporá ria Um sistema instável subamortecido apresenta aquilo que chamamos de instabilidade cons tante Este sistema também é chamado de astável No que diz respeito a circuitos lógicos somente os estados estáveis são relevantes Na tran sição entre um estado estável e outro estado estável há infinitos estados instáveis que formam o transitório A quantidade de estados estáveis determina o tipo de circuito No escopo da lógica booleana seqüencial há apenas circuitos astáveis monoestáveis e bi estáveis No contexto dos circuitos lógicos a realimentação é obtida por meio do retorno do valor do bit de saída ao input do circuito Tipo Estados estáveis Astável 0 Monoestável 1 Biestável 2 Triestável 3 Poliestável n Tabela 1 Tipos de circuitos lógicos sequenciais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 265 Figura 2 Realimentação unitária circuito monoestável Fazendo uso da propriedade algébrica do elemento nulo é possível afirmar que na reali mentação unitária o valor da variável de saída é dada por este elemento um valor constante que não depende do valor da variável input Este circuito não possui utilidade prática Um circuito mo noestável pode oferecer o elemento neutro ou o elemento nulo No caso da figura 2 o circuito oferece o elemento nulo Figura 3 Realimentação complementar circuito astável Na realimentação complementar quando a entrada recebe o elemento nulo a saída tam bém recebe esse elemento e o circuito permanece nesta situação Quando o input recebe o ele mento neutro a porta NOT oferece o elemento nulo a porta oferece o elemento nulo e após sofrer a função NOT transformase em elemento neutro O circuito entra em oscilação Neste caso o cir cuito é chamado de astável Esta oscilação possui uma elevadíssima frequência que não possui empregabilidade prática pois o seu valor em hertz é extremamente sensível à temperatura ambi ente Usando uma porta NAND ou uma porta NOR o estado estável fornece um valor invertido na saída Elemento no input Situação Nulo Estável Neutro Astável Tabela 2 Comportamento do circuito 2 Figura 4 Realimentação complementar com portas NAND e NOR Alguns modelos de portas lógicas como por exemplo o 74LS132 e o 4093 possuem o efeito de histerese A histerese é o resultado de uma realimentação positiva que resulta em um efeito de filtro passabaixas O circuito eletrônico gerador desta histerese é chamado de disparador Sch mitt Em outras palavras esta histerese reduz a frequência da oscilação no circuito acima tor nandoa menos sensível a efeitos térmicos Figura 5 Oscilador com porta lógica Schmitt Trigger output input input output input output input output input output input output input 4093 output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 266 Na figura 6 é apresentada uma tentativa de realimentação com porta lógica Esta tentativa não funciona porque na primeira vez em que a saída obtém o elemento nulo nunca mais ela recebe o elemento neutro Figura 6 Tentativa de realimentação com porta lógica Na figura 7 é apresentada uma modificação no circuito da figura 6 A porta lógica da reali mentação é complementada Quando o sinal control recebe o elemento nulo a realimentação ofe rece o elemento neutro o circuito se comporta como uma porta YES a saída recebe o valor do input Quando o control recebe o elemento neutro então a análise precisa discernir entre os dois valores possíveis no input Se o control recebe o elemento neutro e o input recebe o elemento nulo então a porta lógica de cima obriga a saída a receber o elemento nulo Este elemento nulo injetado na porta lógica de baixo obriga a realimentação a assumir o elemento neutro O valor da variável de saída então se gue o valor da variável input O circuito é monoestável Se o control recebe o elemento neutro e o input também recebe o elemento neutro então temos um problema de valor de contorno É preciso supor qual é o valor inicial da variável de saída Se este valor é o elemento neutro então a porta de baixo fornece o elemento nulo a porta de cima também fornece o elemento nulo e a saída recebe o elemento nulo a saída sofre uma transição no neutro para o nulo Se este valor é o elemento nulo então a porta de baixo fornece o elemento neutro a porta de cima também fornece o elemento neutro e a saída recebe o elemento neutro a saída sofre uma transição no nulo para o neutro Estas duas transições compõe a oscilação O circuito é astável Figura 7 Melhoramento do circuito da figura 4 Elemento no control Elemento no input Situação Nulo X YES Neutro Nulo Monoestável Neutro Neutro Astável Tabela 3 Comportamento do circuito 5 Figura 6 Complementação da porta lógica superior control input output control input output input control output input control output control input output control input output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 267 Na figura 6 é apresentada a complementação da porta lógica superior A porta lógica da realimentação é complementada É preciso analisar todas as situações possíveis inclusive os pro blemas de valores de contorno Quando o control recebe o elemento nulo a realimentação oferece o elemento neutro o circuito se comporta como uma porta NOT a saída recebe o valor do input Quando o input recebe o elemento nulo a porta de cima leva a saída ao elemento neutro Elemento nulo Situação No control NOT No input E neutro Tabela 4 Comportamento do circuito 5 Se o input recebe o elemento nulo e o control recebe o elemento neutro então a porta de cima leva a saída ao elemento neutro A porta de baixo está com as suas duas entradas com o ele mento neutro fornecendo o elemento nulo à porta de cima A porta de cima está com as duas entradas com o elemento nulo Se o input recebe o elemento neutro e o control recebe o elemento nulo então a porta de baixo leva a realimentação ao elemento neutro A porta de cima está com as suas duas entradas com o elemento neutro fornecendo o elemento nulo à saída A porta de baixo está com as duas entradas com o elemento nulo Figura 7 Comportamento do circuito NAND Figura 8 Comportamento do circuito NOR Quando o input e o control recebem ambos o elemento neutro surge um problema de valor de contorno É preciso supor qual é o valor inicial da saída Figura 9 Comportamento do circuito NAND 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 1 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 268 Figura 10 Comportamento do circuito NOR As figuras 9 e 10 mostram que se o input e o control recebem ambos o elemento neutro então a saída não se altera Se o valor inicial da saída é o elemento neutro ela continua com este valor Se o valor inicial da saída é o elemento nulo ela também continua com este valor Esta é uma situação onde o bit de saída não depende apenas do valor dos bits de entrada mas também do seu valor anterior A esta propriedade dáse o nome de efeito memória Este efeito enquadra este circuito na categoria de circuito lógico seqüencial Figura 11 Redefinição das variáveis de entrada A preservação do valor da variável de saída por meio do efeito memória é chamada de comando hold mantém em português O comando hold é efetuado injetandose o elemento neutro nas duas entradas O verbo manter pode ser interpretado como não fazer nada Em ou tras palavras se a ação das duas entradas tem algum significado então o comando hold consiste em não executar as ações definidas pelos significados das duas entradas Na porta lógica NAND o elemento neutro é o valor lógico um Isto significa que a injeção do valor lógico um em uma das entradas implica em não executar a ação que dá significado a esta entrada A aplicação do valor lógico um em ambas entradas implica em não fazer nada Em outras palavras as entradas são ativas em nível baixo Na porta lógica NOR o elemento neutro é o valor lógico zero Isto significa que a injeção do valor lógico zero em uma das entradas implica em não executar a ação que dá significado a esta entrada A aplicação do valor lógico zero em ambas entradas implica em não fazer nada Em outras palavras as entradas são ativas em nível alto in 2 in 1 out in 2 in 1 out 0 0 1 0 0 1 0 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 269 Capítulo 402 Flip Flop RS No capítulo anterior foi apresentado o efeito da realimentação positiva em circuitos lógicos e como tal realimentação pode provocar o efeito de memorização do valor de um bit O flipflop RS é o biestável mais simples disponível no universo dos circuitos digitais A sigla RS remete às duas ações sem memória possíveis em um bit binário Set Leva o valor a um Reset Leva o valor a zero A palavra reset em inglês significa voltar ao estado original O estado original de um bit em um circuito lógico se refere ao seu valor na ocasião da energização do circuito considerando que este bit não possua uma memória inicial Este valor booleano se traduz como sendo um nível de tensão elétrica Nas tecnologias TTL ECL e CMOS o valor lógico zero representa a tensão elé trica de zero volts Os engenheiros eletricistas poderiam ter escolhido como valor lógico inicial para a saída dos flip flops o valor zero ou o valor um A decisão pelo valor zero está amparada na vantagem de que considerando que estes circuitos geralmente são construídos com a topologia terracomum então os bits de saída em nível baixo implicam em uma corrente elétrica nula um consumo de energia elétrica também nulo O flip flops RS possui dois bits de entrada de dados R e S com as funções de executar os comandos reset e set respectivamente O bit de saída do flip flops recebe o nome arbitrário de Q Set Q1 Reset Q0 Além das ações set e reset também é definida uma pseudoação chamada de hold Este nome é usado para especificar o comando no qual o flip flops não sofre a ação dos comandos set e reset Este comando possui a propriedade de preservar o valor anterior na saída Q O valor anterior de Q pode ser chamado de Q Q0 ou Qantes Hold QQ Set Q1 Reset Q0 A opção hold pode ser entendida como um nãocomando não fazer nada manter tudo como está Isso faz sentido porque como existem apenas dois estados estáveis então somente podem existir dois comandos cada comando leva o circuito para um estado estável Considerando que o bit Q não pode receber os valores zero e um ao mesmo tempo então não é permitido aplicar os comandos set e reset ao mesmo tempo A combinação das variáveis de entrada que resulta na aplicação dos comandos set e reset ao mesmo tempo é chamada de forbidden O bit Q também é chamado de variável de estado finito Quando o circuito possui várias flip flops então a lista dos bits Q compõe as variáveis de estado finito A ordenação dos bits de estado formam a palavra de estado Os bits de estado são usados para acionar circuitos combinacionais ou os próprios flip flops do circito Não raro alguns desses bits são usados em sua forma complementar Q Considerando que a arquitetura interna dos biestáveis apresenta um nó topológico onde o valor lógico é dado por Q então este nó compõe a segunda saída do flip flop Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 270 O flip flop RS pode ser construído de duas formas Flip flop RS NOR Flip flop RS NAND Porta Elemento neutro Elemento nulo NOR 0 1 NAND 1 0 Tabela 1 Elementos das portas lógicas Considerando que o elemento nulo domina o elemento neutro e considerando que é permi tido não acionar os comandos set e reset mas não é permitido acionálos ao mesmo tempo podemos concluir que tais comandos são acionados por meio do elemento nulo As figuras 3 e 4 mostram que a função hold elemento neutro implica em duas possibilidades de valores para as saídas mostrando que esta função não é suficiente para determinar o valor das saídas É preciso também saber qual era o estado anterior das saídas Porta Ativação NOR Nível alto NAND Nível baixo Tabela 2 Ativação das entradas dos flip flops Figura 1 Comandos do flip flop RS NOR Figura 2 Comandos do flip flop RS NAND Figura 3 Hold em FF flip flop NOR Figura 4 Hold em flip flop RS NAND RESET Q Q SET Q Q SET Q Q RESET Q Q RESET SET Q Q RESET SET Q Q RESET SET Q Q RESET SET Q Q 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 271 A figura 5 mostra que a opção forbidden elemento nulo implica em fazer QQ uma incon sistência tautológica reductio ad absurdum Este comando não pode ser executado Figura 5 Forbidden em flip flop RS NAND O flip flop RS possui ampla aplicação em situações onde o flip precisa ser efetuado através de dois eventos mutuamente independentes O flip flop RS é indicado quando estes dois eventos atuam na forma de um pulso estreito Por pulso estreito entendese como um pulso cuja largura temporal é muito inferior ao tempo de intervalo médio entre dois pulsos consecutivos Por serem pulsos estreitos a probabilidade de ocorrência dos dois pulsos ao mesmo tempo é muito baixa Há aplicações onde o sistema impede que os dois pulsos ocorram ao mesmo tempo Figura 6 FF RS acionado por pulso estreito Um exemplo de aplicação do flip flop RS acionado por pulso estreito é o controlador de um motor em um sistema mecânico translacional com dois sensores de fim de curso um em cada ex tremidade do persurso Cada sensor aciona uma entrada R ou S O valor Q0 está relacionado a algum sentido na rotação do motor e o valor Q1 está relacionado ao outro sentido Sendo assim o motor está sempre ligado alternando o seu sentido de rotação toda vez que um sensor é acio nado Considerando que o movimento translacional da parte móvel sofre inversão imediata no seu sentido de movimento quando o sensor é acionado então os sensores são acionados por um perí odo de tempo bastante curto Outro exemplo de aplicação do flip flop RS acionado por pulso é o gerador digital de sinal PWM pulse width modulation Há um contador binário que define o período do sinal PWM Este contador binário define uma onda triangular ascendente Toda vez que este contador sofre um over flow ele reinicia acionando o comando SET do flip flop Existe uma palavra binária de comparação que define o valor médio da onda quadrada de saída do modulador Quando o valor do contador coincide com o valor da palavra de comparação o comando RESET do flip flop é acionado A saída Q corresponde ao sinal modulado por largura de pulso PWM O flip flop RS é um flip flop inversor Isto pode ser observado na figura 5 O estado proibido injeta nas duas saídas o elemento neutro mas o estado proibido é obtido por meio da aplicação do elemento nulo nas duas entradas Esta inversão acontece por causa na negação intrínseca às portas lógicas NOR e NAND RESET SET Q Q RESET SET Q Q 5V SET RESET 5V Q Q 5VRESET SET 5V Q Q 1 0 1 0 0 1 0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 272 Figura 7 Comportamento do FF RS ativo em nível alto Q0 1 Figura 8 Comportamento do FF RS ativo em nível baixo Q0 0 Figura 9 Simulação analógica Figura 10 Resultado da simulação analógica 1MHz 1MHz RESET SET Q Q SET RESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 273 Capítulo 403 Flip Flop Datum No capítulo anterior foi apresentado o flip flop RS Na ocasião foi observado o fato de que aquele circuito possui uma combinação proibida em suas variáveis de entrada Isto é um inconveni ente porque abre a possibilidade de que tal circuito se comporte de maneira inadequada Também foi observado no capítulo anterior que aqueles circuitos possuem três tipos de combinação nas variáveis de entrada Comando Efeito Hold QQ Set Q1 Reset Q0 Tabela 1 Os comandos válidos do FF RS O comando hold fornece como saída uma variável isto significa que a determinação do resultado deste comando implica no conhecimento do valor desta variável e esta variável consiste do valor anterior da própria variável cujo valor atual se deseja calcular A isto é dado o nome de efeito memória pois o resultado da aplicação da ação não depende apenas da ação mas tam bém do valor da variável de saída no instante anterior O comando hold pode ser entendido como um não comando ou seja não fazer nada Os comandos set e reset possuem como saída uma constante isto significa que a de terminação do resultado destes comandos não implica no conhecimento do valor da variável no instante anterior não existe efeito memória O comando set faz Q1 se Q0 e se Q1 o comando reset faz Q0 se Q0 e se Q1 Por causa do efeito memória o comando hold destoa dos outros dois comandos Podemos remover este comando deixando apenas os dois comandos que não possuem efeito memória Para isso basta impor que as duas entradas sejam complementares pois se as duas entradas são iguais temos o comando hold e o comando forbidden Para fazer esta complementação basta impor a condição de que as entradas R e S sejam complementares Neste caso a determinação de uma variável implica na determinação da outra variável Há então apenas uma única variável No caso do FF RS como há duas entradas de dados elas requerem o uso de nomes específi cos a fim de que haja distinção entre elas Se porém há apenas uma única variável de entrada de dado ela não precisa desta distinção e pode ser chamada diretamente de dado ou datum em inglês Em razão disso este circuito é chamado de flip flop datum ou flip flop datum Todo flip flop datum possui um FF RS interno A fim de que as duas entradas do FF RS interno sejam complementares é preciso incorporar um inversor porta NOT entre estas duas entradas Para efeito de padronização foi escolhido que a entrada de cima recebe o dado No capítulo anterior foi observado que aqueles circuitos apresentam o efeito de inversão decorrente do fato de que os conectivos lógicos usados apresentam uma inversão interna A fim de que o flip flop datum não apresente tal inversão é preciso aplicar o inversor na entrada de cima A maioria dos circuitos digitais possuem uma entrada de controle chamada chip select ou chip enable Este comando permite habilitar ou desabilitar as entradas de dados Igualmente o flip flop datum precisa deste comando Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 274 Figura 1 Flip flop datum NOR Figura 2 Flip flop datum NAND Não é possível exercer o comando de habilitaçãodesabilitação por meio de uma porta lógica ANDOR na entrada D pois uma desabilitação implica na colocação do elemento nulo e este é um valor válido não nulo no circuito a jusante Ao invés disso é preciso colocar esta porta lógica em cada uma das duas entradas do FF RS interno Embora a habilitaçãodesabilitação possa ser feita por meio de qualquer conectivo lógico ANDORNANDNOR motivos tecnológicos orientam o projeto no sentido do uso do mesmo tipo de porta lógica usada no FF RS interno Esta observação reduz o custo da produção do circuito inte grado e melhora a sua performance Figura 3 Flip flop RS com habilitação Figura 4 Flip flop Datum com habilitação Comparando o esquemático do flip flop datum sem controle e o esquemático do flip flop datum com controle é possível observar que a posição da porta NOT é diferente O motivo disso é que no circuito sem controle existe uma inversão nas saídas mas o circuito com controle não pro porciona esta inversão Esta diferença existe em virtude do fato de que no circuito sem controle existe apenas uma coluna de portas lógicas enquanto no circuito com controle existem duas co lunas Considerando que cada porta lógica possui uma inversão interna então uma quantidade ím par de colunas implica numa inversão resultante enquanto uma quantidade par de colunas implica na inexistência desta inversão D Q Q D Q Q D Q Q D Q Q Q Q S R C Q Q C R S D C Q Q C D 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 275 Também é possível observar que os FFs NAND com controle possuem uma entrada com nome C enquanto os FFs NOR com controle possuem uma entrada com nome C O motivo disso é o fato de que na porta OR o elemento neutro tem valor zero o FF é habilitável em nível baixo Um FF NAND com controle é habilitável em nível alto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 276 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 277 Capítulo 404 Flip flop datum master slave No capítulo anterior foi apresentado o flip flop datum Na ocasião foi observado o fato de que aquele circuito responde imediatamente ao comando de entrada Esta resposta imediata pode parecer boa porém ela impede que uma informação seja retida Esta retenção é necessária para a construção de circuitos sequenciais relevantes Para que tal retenção seja obtida é preciso aplicar o princípio masterslave O mecanismo mestreescravo consiste de duas portas de passagem de informação que atuam de maneira complementar e serial Quando a primeira está aberta a segunda está fechada e viceversa Este princípio é aplicado em várias situações Exemplo 1 Em uma estação espacial existem duas escotilhas que fazem a comunicação en tre o ambiente interno e o ambiente externo O ambiente interno possui uma pressão igual à at mosférica O ambiente externo possui uma pressão muito baixa letal para o homem Se houvesse apenas uma única escotilha o procedimento de saída do astronauta para o ambiente externo im plicaria na perda da pressão interna da estação matando todos os seus ocupantes Ao invés disso existem duas escotilhas que fazem comunicação com a câmara de descompressão A primeira esco tilha faz a comunicação com o interior da estação A segunda escotilha faz a comunicação com o exterior Ao iniciar o processo o astronauta abre a primeira escotilha certificandose de que a se gunda escotilha está fechada Em seguida o astronauta entra na câmara e fecha a primeira escoti lha Agora é possível abrir a segunda escotilha pois a descompressão da câmara não implica na descompressão do interior da estação Exemplo 2 Em um submarino existem duas escotilhas que fazem a comunicação entre o ambiente interno e a água do mar O ambiente interno possui uma pressão igual à atmosférica O ambiente externo possui uma pressão muito alta letal para o homem Se houvesse apenas uma única escotilha o procedimento de saída do mergulhador para o ambiente externo implicaria na inundação do submarino matando todos os seus ocupantes quer seja por afogamento quer por causa da alta pressão Existem duas escotilhas que fazem comunicação com a câmara de descom pressão A primeira escotilha faz a comunicação com o interior do submarino A segunda escotilha faz a comunicação com a água Ao iniciar o processo o mergulhador abre a primeira escotilha cer tificandose de que a segunda escotilha está fechada Em seguida o astronauta entra na câmara e fecha a primeira escotilha Agora é possível abrir a segunda escotilha para a entrada da água pois a elevação na pressão da câmara não implica na compressão do interior do submarino Exemplo 3 Em um canal de navegação existem duas comportas que fazem a comunicação entre um trecho de pequena altitude para um trecho de maior altitude Se houvesse apenas uma única comporta o procedimento de uma região para a outra implicaria no alagamento de toda a região a jusante provocando grande tragédia Existem duas comportas que fazem comunicação en tre a região baixa e a região alta A primeira comporta faz a comunicação com a parte baixa A se gunda comporta faz a comunicação com a parte alta Ao iniciar a subida o operador abre a primeira comporta certificandose de que a segunda comporta está fechada proporcionando o nivelamento do nível da água Em seguida a embarcação entra na câmara de transição e fecha a primeira com porta Agora é possível abrir a segunda comporta para a entrada da água Quanto o nível da água na câmara é igual ao nível da água na região mais elevada então a segunda comporta é aberta e a embarcação pode prosseguir viagem Exemplo 4 Salas limpas são ambientes cujo ar é submetido a um determinado nível de pu rificação a fim de que processos físicoquímicos sejam realizados em o risco de sofrer contaminação A entrada e saída dos funcionários não pode permitir a entrada de contaminantes no ar Há duas portas de comunicação entre as quais existe uma câmara de descontaminação Quando o sujeito chega a porta externa é aberta e junto com ele entram também todos os contaminantes do ex terior Ao fechar a primeira porta um forte jato de ar é lançado sobre o homem ao mesmo tempo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 278 que um potente exaustor retira o ar contaminado Terminado o processo de troca do ar a porta interna é aberta e o homem tem acesso ao ambiente de trabalho Os flip flops apresentados nos capítulos anteriores possuem controle por nível Um nível ló gico habilita a entrada de dado e um outro nível lógico desabilita O propósito do uso da arquitetura mestreescravo em um flip flop é o de transformar o controle por nível em um controle por borda O nome mestreescravo é usado para indicar que a arquitetura é composta por dois ele mentos idênticos colocados em série com um controle complementar Há então duas possibilida des para a implantação destas estruturas quanto aos níveis de controle Opção Mestre Escravo 1 Nível baixo Nível alto 2 Nível alto Nível baixo Tabela 1 Níveis para ativação dos elementos do flip flop master slave Flip flop Controle Mestre Direto Escravo Invertido Tabela 2 O sinal enviado para cada flip flop master slave de nível O processo de gravação do flip flop master slave é composto de duas etapas Etapa Ação 1 Gravação do mestre 2 Gravação do escravo Tabela 3 As duas etapas do processo de gravação do flip flop master slave Opção Gravação do mestre Gravação do escravo 1 0 1 2 1 0 Tabela 4 As duas opções do flip flop master slave Opção Gravação do MS Borda 1 01 2 10 Tabela 5 Os dois tipos de borda de controle do flip flop master slave O sinal de controle do flip flop master slave pode ser aleatório ou periódico Um sinal perió dico é aquele que se repete constantemente definindo um período Um sinal aleatório é aquele que não define um período O sinal digital periódico é chamado de onda quadrada O duttycycle de uma onda quadrada determina o percentual de nível alto em comparação com o período Se o DC é de 50 então o tempo alto é igual ao tempo alto Um DC de 50 não é obrigatório no sinal de controle dos circuitos digitais desde que o pulso para cima ou para baixo não seja demasiadamente estreito Um controle aleatório é proveniente de um processo estocástico Um exemplo deste tipo de aplicação é o circuito que efetua o processamento dos dados provenientes do acionamento de uma catraca de um ônibus computando a quantidade de passageiros por dia O tempo de intervalo entre um acionamento e outro é imprevisível Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 279 Quando o controle é feito por meio de uma onda quadrada dizemos que este sinal de con trole é o relógio do circuito Este sinal é chamado de clock Este é o nome padrão usado para o sinal de controle do flip flop master slave Toda porta lógica possui um atraso inerente um tempo de resposta As saídas não são atu alizadas no exato instante da aplicação dos valores nas entradas Por esta razão os flip flops também apresentam atraso Este atraso implica na determinação do período mínimo para o clock ou em outras palavras a frequência máxima No capítulo anterior foi mostrado que o sinal de controle por nível permite a habilitação do flip flop datum por meio do elemento neutro da porta lógica utilizada Considerando que as saídas Q e Q do primeiro flip flop o mestre são mutuamente complementares é possível então usar como escravo ao invés de um flip flop datum opção 1 figuras 1 e 2 um flip flop RS opção 2 figuras 3 e 4 A segunda opção tem a vantagem de economizar uma porta NOT Também é possível juntar as duas opções formando uma terceira opção figuras 5 e 6 Surge então uma redundância Essa redundância pode ser útil no aumento da performance do flip flops Teoricamente as duas primeiras opções apresentam o mesmo tempo de resposta porém o uso de ambas opções ao mesmo tempo garante que o caminho mais rápido prevalece Opção Controle por nível NOR Baixo NAND Alto Tabela 6 Os dois tipos de flip flop datum com controle por nível Opção Borda Elemento neutro Porta lógica 1 0 NOR 2 1 NAND Tabela 7 Os dois tipos de porta lógica aplicáveis aos flip flops Figura 1 Flip flop datum master slave NOR opção 1 Figura 2 Flip flop datum master slave NAND opção 1 D CLK Q Q CLK D Q Q master slave master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 280 Figura 3 Flip flop datum master slave NOR opção 2 Figura 4 Flip flop datum master slave NAND opção 2 Figura 5 Flip flop datum master slave NOR opção 3 Figura 6 Flip flop datum master slave NAND opção 3 A entrada D no flip flop master slave é considerada síncrona Isso quer dizer que o efeito de uma ação na entrada de dados somente provoca efeito nas saídas na ocasião da primeira ocor rência da borda de controle que pode ser de subida no caso da porta NOR ou de descida no caso da porta NAND Existem muitas situações onde é necessário o uso de uma entrada assíncrona Essa entrada não depende da ocorrência da primeira borda de controle o resultado nas saídas acontece assim que o estímulo é injetado na entrada assíncrona O efeito assíncrono pode ser ob tido por meio da injeção do elemento nulo em todos os conectivos lógicos formadores dos flip flops RS internos sem considerar os conectivos responsáveis pelo controle Q Q CLK D Q Q D CLK D CLK Q Q Q Q CLK D master slave master slave master slave master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 281 Entrada Ação assíncrona Clear Q0 Preset Q1 Tabela 8 Os dois tipos de flip flop datum com entradas assíncronas Opção Entradas assíncronas por nível Nome das entradas assíncronas NOR Alto CL PR NAND Baixo CL PR Tabela 9 O valor usado nas entradas assíncronas Figura 7 Flip flop datum com preset e clear Como é possível descobrir analiticamente a localização das entradas assíncronas Na ver são NOR a injeção do elemento nulo um na entrada assíncrona superior obtémse o valor zero na saída mais próxima Q Isto corresponde à função clear A injeção do elemento nulo um na entrada assíncrona inferior obtémse o valor zero na saída mais próxima Q Isto corresponde à função preset Na versão NAND a injeção do elemento nulo zero na entrada assíncrona superior obtémse o valor um na saída mais próxima Q Isto corresponde à função preset A injeção do elemento nulo zero na entrada assíncrona inferior obtémse o valor um na saída mais próxima Q Isto corresponde à função clear As entradas assíncronas quando ativadas paralisam o flip flop Por esse motivo os coman dos assíncronos precisam ser ativados em um curto espaço de tempo por um pulso estreito Por pulso estreito entendese como um pulso cuja largura é muito menor do que o período do relógio clock Também não é permitido o acionamento das duas entradas assíncronas ao mesmo tempo pois suas ações são imediatas e antagônicas levando o circuito a um comportamento inadequado A fim de garantir a brevidade do pulso na entrada assíncrona e também garantir que as duas en tradas assíncronas não são ativadas ao mesmo tempo é recomendado no ambiente de simulação computacional do circuito o uso de um modelo do tipo push button como fonte de sinal A obtenção das imagens dos circuitos foi obtida através do programa CircuitMaker Student V62c Foi observado um bug neste programa quando o push button modelo SPDTPB recebe o nível alto na entrada de baixo e o nível baixo na entrada de cima Este é o caso do circuito NOR Como resultado deste bug surge uma oscilação na saída Caso você observe a ocorrência deste bug a solução é fazer a ligação do push buttom conforme o circuito NAND usando uma porta NOT na saída do push buttom O flip flop datum apresentado neste capítulo é usado como um bit de SRAM static random access memory um elemento essencial em microcontroladores e em computadores Esta é uma memória estática porque a informação gravada é preservada enquanto o circuito está energizado não é preciso repetir o processo de gravação como acontece com as memórias dinâmicas DRAM NOTC D Q NOTQ PRESET V V CLEAR D C NOTCLEAR V V NOTPRESET NOTQ Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 282 Caso as entradas assíncronas não sejam usadas elas precisam ser anuladas por meio da colocação do valor oposto ao da ativação destas entradas Figura 8 Flip flop datum master slave NOR com preset e clear Figura 9 Flip flop datum master slave NOR com preset e clear No programa CircuitMaker Student V62c são oferecidos dois modelos de flip flop datum Modelo Símbolo Encapsulamento Especificação 74LS74 D SRN DIP14 LS dual Dtype flip flop 4013 D SR DIP14 CMOS dual Dtype flip flop Tabela 10 Os dois tipos de flip flop datum master slave disponíveis no ambiente de simulação Figura 10 Os dois tipos de flip flop datum master slave disponíveis no ambiente de simulação CLK D PR V V CL Q Q CLK D CL V V PR Q Q S D CP R Q Q 4013 S D CP R Q Q 74LS74 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 283 Figura 11 Os dois modelos comerciais de flip flop datum disponíveis no ambiente de simulação Figura 12 Anulação das entradas assíncronas CLK D Q Q PR V CL V S D CP R Q Q 74LS74 CLK D PR V CL V Q Q S D CP R Q Q 4013 D CLK S D CP R Q Q 4013 Q Q V V S D CP R Q Q 74LS74 Q Q D CLK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 284 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 285 Capítulo 405 Toggle Datum A palavra inglesa toggle significa alternância No contexto dos circuitos digitais esta pa lavra soa como um sinônimo de biestável Fora deste contesto as chaves do tipo toggle podem ter mais de duas posições estáveis No contexto binário a diferença entre um biestável e um to ggle é que o biestável não precisa necessariamente sofrer uma alternância enquanto um toggle foi feito para sofrer as alternâncias No contexto da lógica sequencial é possível construir um toggle através de vários tipos de flip flop Neste capítulo será apresentado o circuito toggle construído a partir de um flip flop datum Em circuitos digitais um toggle faz o papel de um divisor de tensão Em uma base binária a divisão é por dois Dividir a frequência por dois significa multiplicar o período por 2 O formato da onda do sinal de saída Q depende da borda de ativação da entrada de relógio do flip flop O divisor de tensão também pode ser entendido como um contator de um bit pois ele possui apenas dois es tados estáveis Antes Depois Q0 Q1 Q1 Q0 Tabela 1 O comportamento do toggle booleano Figura 1 Divisão de frequência por borda de subida Figura 2 Divisão de frequência por borda de descida Como é possível observar nas figuras 1 e 2 a divisão de frequência por borda de subida provoca uma defasagem de 180 no sinal de saída Essa defasagem pode ser constatada por meio do fato de que no sinal de saída se o período inicia em nível baixo então na entrada o período inicia em nível alto Por outro lado a divisão de frequência por borda de descida não provoca defa sagem no sinal de saída Tanto o sinal de entrada como o de saída iniciam em nível baixo Por esta razão a divisão de frequência por borda de descida é melhor do que a por borda de subida Infeliz mente os dois modelos disponíveis no simulador 74LS74 e 4013 são ativos em borda de subida No flip flop datum o valor presente da entrada D equivale ao valor futuro da saída Q A fim de que o flip flop datum exerça a função da alternância é preciso que a entrada D receba o inverso da saída Q isso faz com que o valor futuro de Q seja o inverso do valor presente A saída Q é realimentada na entrada D D Q t t D t t Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 286 Figura 3 Toggle com 74LS74 e com 4013 Figura 4 Toggle Datum NOR Figura 5 Toggle Datum NAND Considerando que a saída Q é realimentada na entrada D e considerando que o valor D é enviado para a metade de baixo do circuito então o valor Q é enviado para a parte de baixo A porta NOT na entrada pode ser removida por meio de uma realimentação de Q figuras 6 e 7 Conforme pode ser observado nas figuras 6 e 7 o toggle datum consiste de uma realimen tação cruzada das saídas nas entradas Considerando que os flip flops RS internos ao mestre e ao escravo também possuem uma realimentação cruzada podemos concluir que o toggle datum pos sui uma dupla realimentação cruzada Sabendo que cada porta lógica possui um atraso inerente então cada realimentação cruzada possui seu próprio atraso Uma dupla realimentação cruzada im plica em um atraso aproximadamente duplicado A conclusão é a de que o toggle datum possui aproximadamente o dobro do tempo de atraso de um flip flop datum controlado por borda CLK Q S D CP R Q Q 74LS74 V V CLK S D CP R Q Q 4013 Q CLK PR V V CL Q CLK V PR CL V Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 287 Figura 6 Toggle Datum NOR sem porta NOT nas entradas do master e do slave Figura 7 Toggle Datum NAND sem porta NOT nas entradas do master e do slave Se um toggle datum efetua uma divisão de frequência por dois então um duplo toggle da tum efetua uma divisão de frequência por quatro e assim por diante Quando o flip flop é sensível à borda de descida do sinal de controle toggle datum NAND então a saída Q do flip flop anterior à esquerda pode ser ligada diretamente à entrada de con trole do flip flop seguinte à direita Quando o flip flop é sensível à borda de subida do sinal de controle toggle datum NOR então a saída Q do flip flop anterior à esquerda pode ser ligada diretamente à entrada de controle do flip flop seguinte à direita pois esta inversão transforma a natural borda de descida decorrente do término do período de contagem de 1 bit em uma borda de subida correta para acionar o flip flop seguinte Figura 8 Divisores de frequência por 4 com 74LS74 e com 4013 CLK Q CL V V PR CLK Q V CL PR V CLK Q S D CP R Q Q 74LS74 V V V V S D CP R Q Q 74LS74 CLK Q S D CP R Q Q 4013 S D CP R Q Q 4013 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 288 Figura 9 Duplo Toggle Datum NAND Figura 10 Duplo Toggle Datum NOR Figura 11 Divisão de frequência por quatro por borda de subida Figura 12 Divisão de frequência por quatro por borda de descida CLK CL V PR V Q CLK V CL PR V Q Q Q D t t Q D t Q t Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 289 Capítulo 406 Máquina de estados estáveis finitos Se um pesquisador fizer uma consulta popular a respeito do significado da palavra má quina perceberá que cada entrevistado apresentará uma definição diferente a cerca deste signifi cado No contexto da engenharia mecânica esta palavra está associada ao fato de que existem dois ou mais estados possíveis Um alicate é uma máquina pois ele pode estar aberto ou fechado Uma chave de fenda não é uma máquina pois possui apenas um estado Se o mesmo pesquisador fizer uma consulta sobre o significado da palavra estável tam bém obterá uma grande quantidade de significados e interpretações Estável é tudo aquilo que pode permanecer em um estado Estabilidade e equilíbrio são conceitos relacionados No contexto da engenharia existem quatro situações quanto à estabilidade e ao equilíbrio de um sistema Equilíbrio estável Equilíbrio instável Desequilíbrio estável Desequilíbrio instável Quando se fala em estado estável se fala sobre equilíbrio estável Um sistema se encon tra em equilíbrio estável quando ele tende a permanecer no equilíbrio na ausência de estímulos ou quando sujeito a estímulos de pequena intensidade Um estímulo de grande intensidade pode levar o sistema a mudar para um outro estado estável Mais uma vez voltando ao exemplo do pesquisador da consulta pública se a pesquisa for feita a respeito do significado da palavra infinito a maioria das pessoas dirá que esta palavra re mete a algo que não tem fim No contexto da matemática ou da engenharia porém esta resposta não pode ser aplicada haja vista que o conceito de fim remete a uma descontinuidade na função e tal descontinuidade impede que a análise matemática linear seja aplicada em tal situação Por infinito entendemos como algo incontável Por incontável entendemos como algo cujo valor é desconhecido Tal desconhecimento pode ser devido ao enorme valor deste nú mero ou pode ser devido a incertezas no modelamento do sistema Desta forma se o projetista não possui meios para determinar a quantidade de estados estáveis possíveis ao sistema então dizemos que a quantidade de estados não é finita ou então infinita ou mais ainda incontável ainda que a quantidade verdadeira caiba na ponta dos dedos da mão Todo sistema físico que possui pelo menos dois estados estáveis possui entre estes dois estados estáveis infinitos estados instáveis Neste contexto a palavra infinito assume o signifi cado popular de um número muito grande cuja magnitude é inimaginável para o intelecto humano Esta é uma característica da análise analógica Um bit binário em um circuito digital possui infinitos valores de tensão elétrica durante o processo transitório de alternância de zero para um ou de um para zero da mesma forma que no conjunto dos números reais temos uma quantidade infi nita de números entre zero e um Os estados instáveis não são considerados no projeto de má quinas de estados estáveis finitos MEEFs As MEEFs possuem três tipos de variáveis Variáveis de dados de entrada Variáveis de dados de saída Variáveis de estado A quantidade de variáveis de estado é determinada por meio da quantidade de estados por meio das potências de dois As variáveis de estado são representadas pela letra Q precedida do Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 290 índice começando pelo valor zero As variáveis de estado são implementadas fisicamente por meio dos flipflops um FF para cada variável de estado Variável Significado De entrada Sensor De saída Atuador De estado Flipflop Tabela 1 O significado dos três tipos de variáveis das MEEFs As variáveis de entrada precisam ser funções independentes Nenhuma delas pode depen der de alguma variável de estado ou de saída Quanto às variáveis de saída há dois tipos Variável de saída combinacional Depende apenas das variáveis de entrada Variável de saída sequencial Depende de pelo menos uma variável de estado A definição de uma MEEF é feita por meio de dois recursos Diagrama de estados estáveis finitos Tabela de transições de estados estáveis finitos A melhor explicação a respeito destes dois recursos é feita por meio de exemplos A impor tância destes recursos está no fato de que eles transcendem o escopo da engenharia podendo ser aplicados em qualquer problema de natureza filosófica variável no tempo Exemplo 1 Contador de 1 bit Antes Depois Q0 Q1 Q1 Q0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 Exemplo 2 Contador de 2 bits Antes Depois Antes Depois Q1 Q0 Q1 Q0 0 1 0 0 0 1 1 2 0 1 1 0 2 3 1 0 1 1 3 0 1 1 0 0 Tabela 3 Exemplo 2 Figura 2 Exemplo 2 0 1 3 1 2 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 291 Exemplo 3 Contador de 3 bits Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 1 0 0 0 0 0 1 1 2 0 0 1 0 1 0 2 3 0 1 0 0 1 1 3 4 0 1 1 1 0 0 4 5 1 0 0 1 0 1 5 6 1 0 1 1 1 0 6 7 1 1 0 1 1 1 7 0 1 1 1 0 0 0 Tabela 4 Exemplo 3 Figura 3 Exemplo 3 Exemplo 4 Contador de 4 bits Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 10 1 0 0 1 1 0 1 0 10 11 1 0 1 0 1 0 1 1 11 12 1 0 1 1 1 1 0 0 12 13 1 1 0 0 1 1 0 1 13 14 1 1 0 1 1 1 1 0 14 15 1 1 1 0 1 1 1 1 15 0 1 1 1 1 0 0 0 0 Tabela 5 Exemplo 4 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 292 Figura 4 Exemplo 4 Exemplo 5 Contador BCD O contador BCD é um contador incompleto de 4 bits Das dezesseis combinações possíveis das quatro variáveis de estado somente dez são usadas As seis combinações não usadas não defi nem estados estáveis Para facilitar o projeto do circuito é possível criar o conceito abstrato de estado fantasma isto é um estado que poderia existir mas não existe porque o seu endereço a combinação dos bits de estado jamais é utilizado Considerando que a tabela de transições de estados estáveis finitos consiste de várias tabe las verdade uma para cada variável de estado e de saída então é necessário incorporar todos os estados fantasmas Como eles nunca são usados então a definição do estado apontado por eles é irrelevante Na tabela 7a os valores são decimais então as irrelevâncias X são também decimais entre zero e quinze ou hexadecimais Na tabela 6b os valores são binários então as irrelevâncias tam bém são binárias Quando a tabela de transições de estados finitos apresenta os estados fantas mas apontado para valores irrelevantes nos bits de estado então os estados fantasmas não podem ser incluídos no diagrama de estados estáveis finitos Quando o diagrama de EEFs apresenta os estados estáveis finitos então este diagrama deve mostrar para onde os EEFs apontam pois no contrário o diagrama estaria incompleto em sua lógica Como exemplo será apresentado o conta dor BCD onde os estados fantasmas levam todos para o estado inicial zero Figura 5 Exemplo 5 com os estados fantasmas indefinidos 0 2 14 12 10 8 6 4 1 3 13 3 5 9 0 6 1 2 7 5 4 3 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 293 Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 Tabela 6 Exemplo 5 sem os estados fantasmas Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 10 X 1 0 1 0 X X X X 11 X 1 0 1 1 X X X X 12 X 1 1 0 0 X X X X 13 X 1 1 0 1 X X X X 14 X 1 1 1 0 X X X X 15 X 1 1 1 1 X X X X Tabela 7 Exemplo 5 com os estados fantasmas indefinidos Figura 6 Exemplo 4 com os estados fantasmas definidos para o estado inicial 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 294 Figura 7 Exemplo 4 com os estados fantasmas definidos para o estado seguinte Antes Depois Destino em 0 Depois Destino adiante Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Tabela 8 Exemplo 4 com os estados fantasmas definidos 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 295 Capítulo 407 MEEFs com uma entrada No capítulo anterior foi apresentado o conceito de máquinas de estados estáveis finitos Na oportunidade todos os exemplos apresentados possuem apenas um único caminho uma única sequência Aqueles são exemplos de MEEFs sem entradas A ausência de entradas indica que existe apenas um único tipo de contagem O tipo de contagem não pode ser alterado Há situações porém nas quais é desejável que exista a liberdade de escolha entre dois ou mais tipos diferentes de contagem A fim de que tal escolha exerça influência no circuito é neces sário usar variáveis de controle ou de seleção Esse tipo de circuito possui três tipos de variáveis Variáveis de estado Q0 Q1 Q2 Variáveis de controle A B C Variáveis de seleção S0 S1 S2 As variáveis de estado devem ser analisadas como menos significativas Isto facilita a análise das tabelasverdade Se as variáveis de seleção Embora as palavras controle e seleção impliquem neste contexto no mesmo tipo de ação elas carregam uma diferença semântica Por seleção referimonos à escolha entre dois tipos de contagem diferentes e que possuem a mesma relevância Por controle referimonos a uma ação que faz com que o circuito tome uma ação que não se enquadra no conceito de controle Os bits de seleção tem esse nome porque eles realizam a seleção do tipo de contagem a ser realizada Os bis de seleção são bastante usados em endereçamento de palavras ou em endereçamento de memórias Sendo assim estes bits podem ser usados na seleção da contagem ou na seleção do endereço A definição do significado das variáveis de controleseleção é arbitrária e por esse motivo é necessário o uso de uma legenda explicativa da forma como essas variáveis devem ser interpreta das a fim de que não haja erro de interpretação Mesmo com o uso de legendas pode ser que haja situações onde ocorram múltiplas inter pretações especialmente no que diz respeito aos estados fantasmas Nestes casos as tabelas verdade eou os diagramas podem esclarecer essas imprecisões cognitivas Uma dos melhores artifícios para a definição da máquina de estados estáveis finitos é o dia grama de estados estáveis finitos Neste diagrama cada estado estável é representado por um cír culo Dentro deste círculo é especificado o número do estado Este número pode ser expresso na forma decimal ou binária As transições entre os estados estáveis são descritas por meio de setas É preciso habilidade para que o diagrama seja construído de maneira estética No diagrama o valor das variáveis de controleseleção precisa ser indicado junto com as setas de transições Se o circuito possui apenas uma variável de controle então esta variável não precisa ser especificada no diagrama As principais ações de controle são Pausa pause Reiniciação restart Inversão invert Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 296 Exemplo 1 Contador de 1 bit com pausa A Ação 0 QQ 1 QQ Tabela 1 Exemplo 1 Definição das ações A Antes Depois 0 Q0 Q0 0 Q1 Q1 1 Q0 Q1 1 Q1 Q0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 Neste primeiro exemplo o diagrama apresenta o nome da variável de controle A fim de que o desenho não se torne por demais poluído o nome desta variável pode ser omitido Nesta legenda a pausa é obtida com valor zero Este é um controle por nível baixo Se esta variável recebe o nome da sua função então ela será chamada de PAUSE Exemplo 2 Contador de 2 bits com pausa A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 2 2 0 1 0 1 0 0 3 3 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 2 1 0 1 1 0 1 2 3 1 1 0 1 1 1 3 0 1 1 1 0 0 Tabela 3 Exemplo 2 Figura 2 Exemplo 2 A0 Pausa A1 Contagem 0 1 A0 A0 A1 A1 3 1 2 0 1 1 1 1 0 0 0 0 A0 Pausa A1 Contagem Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 297 Exemplo 3 Contador de 3 bits com pausa A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 2 2 0 0 1 0 0 1 0 0 3 3 0 0 1 1 0 1 1 0 4 4 0 1 0 0 1 0 0 0 5 5 0 1 0 1 1 0 1 0 6 6 0 1 1 0 1 1 0 0 7 7 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 2 1 0 0 1 0 1 0 1 2 3 1 0 1 0 0 1 1 1 3 4 1 0 1 1 1 0 0 1 4 5 1 1 0 0 1 0 1 1 5 6 1 1 0 1 1 1 0 1 6 7 1 1 1 0 1 1 1 1 7 0 1 1 1 1 0 0 0 Tabela 4 Exemplo 2 Figura 3 Exemplo 3 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 6 0 2 4 1 3 5 7 A0 Pausa A1 Contagem Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 298 Exemplo 4 Contador de 2 bits com inversão A Ação 0 incremento 1 decremento Tabela 5 Exemplo 1 Definição das ações A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 1 0 0 0 0 1 0 1 2 0 0 1 1 0 0 2 3 0 1 0 1 1 0 3 0 0 1 1 0 0 1 0 3 1 0 0 1 1 1 1 0 1 0 1 0 0 1 2 1 1 1 0 0 1 1 3 2 1 1 1 1 0 Tabela 6 Exemplo 4 Figura 4 Exemplo 4 Exemplo 5 Contador de 3 bits com inversão A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 1 0 1 2 0 0 0 1 0 1 0 0 2 3 0 0 1 0 0 1 1 0 3 4 0 0 1 1 1 0 0 0 4 5 0 1 0 0 1 0 1 0 5 6 0 1 0 1 1 1 0 0 6 7 0 1 1 0 1 1 1 0 7 0 0 1 1 1 0 0 0 1 0 7 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 2 1 1 0 1 0 0 0 1 1 3 2 1 0 1 1 0 1 0 1 4 3 1 1 0 0 0 1 1 1 5 4 1 1 0 1 1 0 0 1 6 5 1 1 1 0 1 0 1 1 7 6 1 1 1 1 1 1 0 Tabela 7 Exemplo 5 3 1 2 0 0 0 0 0 1 1 1 1 A0 Normal A1 Reverso Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 299 Figura 5 Exemplo 5 Exemplo 6 Contador de 2 bits com reiniciação A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 1 0 0 0 0 1 0 1 2 0 0 1 1 0 0 2 3 0 1 0 1 1 0 3 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 2 0 1 1 0 0 0 1 3 0 1 1 1 0 0 Tabela 8 Exemplo 6 A Ação 0 incremento 1 zero Tabela 9 Exemplo 6 Definição das ações Figura 6 Exemplo 6 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 6 0 2 4 1 3 5 7 A0 Normal A1 Reverso A0 Normal A1 Restart 3 1 2 0 0 0 0 X 1 1 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 300 Exemplo 7 Contador de 3 bits com reiniciação A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 1 0 1 2 0 0 0 1 0 1 0 0 2 3 0 0 1 0 0 1 1 0 3 4 0 0 1 1 1 0 0 0 4 5 0 1 0 0 1 0 1 0 5 6 0 1 0 1 1 1 0 0 6 7 0 1 1 0 1 1 1 0 7 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 2 0 1 0 1 0 0 0 0 1 3 0 1 0 1 1 0 0 0 1 4 0 1 1 0 0 0 0 0 1 5 0 1 1 0 1 0 0 0 1 6 0 1 1 1 0 0 0 0 1 7 0 1 1 1 1 0 0 0 Tabela 8 Exemplo 7 Figura 7 Exemplo 7 Se o contador possui duas opções de contagem então no diagrama cada estado precisa dar origem a duas setas Porém quando o estado leva ao mesmo desfecho para os dois valores de uma mesma variável de controleseleção então esta variável é irrelevante para esta transição de esta dos Neste caso as duas setas podem ser fundidas em uma e o valor da variável é marcado como X Esta irrelevância pode ser observada no exemplo 6 no estado 3 A contagem natural pro move a transição do estado 3 para o estado 0 O processo de reiniciação promove esta mesma transição A transição é a mesma qualquer que seja o valor da variável A Esta irrelevância pode ser observada no exemplo 6 no estado 7 1 1 1 1 1 1 1 0 0 0 0 0 0 0 X 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 301 Exemplo 8 Contador BCD com reiniciação A Antes Depois A Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 2 0 0 0 0 1 0 0 1 0 0 2 3 0 0 0 1 0 0 0 1 1 0 3 4 0 0 0 1 1 0 1 0 0 0 4 5 0 0 1 0 0 0 1 0 1 0 5 6 0 0 1 0 1 0 1 1 0 0 6 7 0 0 1 1 0 0 1 1 1 0 7 8 0 0 1 1 1 1 0 0 0 0 8 9 0 1 0 0 0 1 0 0 1 0 9 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 2 0 1 0 0 1 0 0 0 0 0 1 3 0 1 0 0 1 1 0 0 0 0 1 4 0 1 0 1 0 0 0 0 0 0 1 5 0 1 0 1 0 1 0 0 0 0 1 6 0 1 0 1 1 0 0 0 0 0 1 7 0 1 0 1 1 1 0 0 0 0 1 8 0 1 1 0 0 0 0 0 0 0 1 9 0 1 1 0 0 1 0 0 0 0 Tabela 9 Exemplo 7 Tabela sem os estados fantasmas Figura 7 Exemplo 7 0 0 0 0 0 0 0 0 0 X 1 1 1 1 1 1 1 1 1 0 6 1 2 7 5 4 3 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 302 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 303 Capítulo 408 MEEFs com várias entradas No capítulo anterior foi apresentado o conceito de entrada de controle em máquinas de estados estáveis finitos Na oportunidade todos os exemplos apresentados possuem apenas uma única entrada de seleção Há situações porém nas quais é necessário o uso de mais de uma variável de controlese leção A fim de que não ocorra erro na interpretação da tabela e do diagrama é necessário que a legenda faça a discriminação de todas as combinações destas variáveis No diagrama de estados estáveis finitos o valor de todas as variáveis de controleseleção precisa ser indicado junto com as setas de transições Os principais tipos de controle são Pausa pause Reiniciação restart Inversão invert O comportamento do contador é determinado pelos bits de controle O ajuntamento orde nado dos bits de controle formam a palavra de controle control word Esta palavra não pode ser confundida com a palavra ou as palavras de dados Em uma palavra de dados os bits possuem todos a mesma função uma função informativa Dentro de um mesmo sistema todas as transições possíveis incluindo aquelas que não são usadas precisam considerar o valor de todas as variáveis de controle Alguns comandos possuem o poder de anular outros comandos Por exemplo o comando pause anula o comando da inversão pois se o contador está parado não faz sentido falar sobre o sentido da contagem Existem dois tipos de comando pause O primeiro tipo é aquele que anula a ação do relógio clock Neste caso a pausa anula a ação de todos os outros comandos O segundo tipo apresentado neste capítulo é aquele que mantém a ação do relógio mas configura o estado vigente para ser o próximo estado Neste caso um comando de reiniciação pode atuar durante a vigência da pausa Quando uma máquina possui várias ações de controle é preciso que o diagrama de estados estáveis finitos explique de que maneira os comandos interagem entre si Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 304 Exemplo 1 Contador de 2 bits com pausa e inversão B A Ação 0 X Pausa 1 0 Crescente 1 1 Decrescente Tabela 1 Exemplo 1 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 2 2 0 0 1 0 1 0 0 0 3 3 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 2 2 0 1 1 0 1 0 0 1 3 3 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 3 1 1 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 2 1 1 1 1 0 0 1 1 1 3 2 1 1 1 1 1 0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 3 1 2 0 10 10 10 10 0X 0X 0X 0X 11 11 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 305 Exemplo 2 Contador de 2 bits com pausa e reiniciação B A Ação 0 X Pausa 1 0 Contagem 1 1 Reiniciação Tabela 3 Exemplo 3 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 2 2 0 0 1 0 1 0 0 0 3 3 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 2 2 0 1 1 0 1 0 0 1 3 3 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 2 0 1 1 1 0 0 0 1 1 3 0 1 1 1 1 0 0 Tabela 4 Exemplo 2 Figura 2 Exemplo 2 3 1 2 0 10 10 10 1X 0X 0X 11 0X 0X 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 306 Exemplo 3 Contador de 2 bits com reiniciação e inversão B A Ação 0 X Reiniciação 1 0 Crescente 1 1 Decrescente Tabela 5 Exemplo 3 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 2 0 0 1 0 0 0 0 0 1 3 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 3 1 1 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 2 1 1 1 1 0 0 1 1 1 3 2 1 1 1 1 1 0 Tabela 6 Exemplo 3 Figura 3 Exemplo 3 3 1 2 0 10 10 10 0X 10 0X 0X 11 0X 11 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 307 Capítulo 409 Contador assíncrono Datum Contador é todo dispositivo cuja principal função é a de efetuar uma contagem Esta defini ção pode parecer óbvia porém ela é relevante para a distinção entre contadores e temporizadores quando especialmente em sistemas digitais estas duas entidades podem ser construídas por meio exatamente do mesmo circuito elétrico Um contador acionado por um relógio clock por ter uma base de tempo constante possui um tempo de contagem previsível podendo ser usado também como temporizador Se a conta gem é mais importante do que a temporização então o dispositivo recebe o nome de contador Se a temporização é mais importante do que a contagem então o dispositivo recebe o nome de temporizador Se a base de tempo é aleatória processo estocástico então o contador não pode ser usado como um temporizador Nos capítulos anteriores foi apresentado o duplo toggle que age como um divisor de fre quência por quatro No divisor por quatro ou por oito dezesseis etc o valor das saídas Q dos flip flops intermediários é irrelevante somente interessa o valor da saída do último flip flop Se porém usamos as saídas de todos os flip flops temos então um contador assíncrono A palavra assíncrono neste contexto pode ser entendida de duas formas 1 As entradas de controle dos flip flops de contagem não estão todas elas ligadas ao mesmo nó topológico de modo que não é possível afirmar se todas essas entradas recebem exatamente o mesmo sinal exatamente no mesmo instante 2 O sinal de relógio propaga serialmente de um flip flops para o próximo agregando a este sinal o tempo de atraso de propagação de maneira cumulativa de modo que os primeiros flip flops estão adiantados e os últimos estão atrasados todos os flip flops de contagem estão fora de sincronia uns com os outros A falta de sincronia faz com que cada bit de contagem tenha seu próprio instante de atuali zação Considerando que o atraso é cumulativo entre os flip flops a arquitetura de contadores as síncronos funciona satisfatoriamente quando existem poucos bits de contagem Porém quando a quantidade de bits é grande o atraso acumulado no último flip flop pode ser prejudicialmente rele vante Considerando que o tempo de atraso de propagação de um flip flop é de algumas dezenas de nano segundos este efeito é imperceptível para os olhos humanos mas é percebido quando o contador assíncrono aciona um outro dispositivo digital A falta de sincronia gera um comportamento transitório errado na passagem de alguns es tados para o próximo estado Quando a transição implica na alteração de apenas um único bit então o efeito da falta de sincronia não é percebido a não ser através do atraso propriamente dito Porém quando dois ou mais bits são alterados na mesma transição então uns são alterados antes de outros gerando números errados no barramento de saída do contador Quando o contador assíncrono é usado como temporizador os valores intermediários da contagem não importam somente interessa a sinalização de término da contagem timeout Neste caso os problemas inerentes ao contador assíncrono tornamse irrelevantes Considerando que nos esquemáticos as entradas são colocadas à esquerda e o fluxo de informação segue da esquerda para a direita então a ordem dos flip flop de um contador assíncrono é invertida em relação ao número binário gerado na contagem O bit menos significativo é o da extremidade esquerda e o bit mais significativo é o da extremidade direita Isso pode ser constatado por meio do fato de que os divisores de frequência geram toggles mais lentos na sequência de modo que o flip flop da esquerda é o mais rápido e o da direita o mais lento Contadores assíncronos são formados por toggles um para cada bit de contagem Nos capí tulos anteriores foi apresentado o toggle datum mas qualquer outro circuito toggle pode ser usado na construção de um contador assíncrono Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 308 Em toda contagem crescente de vários dígitos em qualquer base o incremento de um dígito à esquerda acontece na borda de descida do bit à direita Por esse motivo os contadores binários construídos a partir de flip flops devem usar flip flops sensíveis à borda de descida do sinal de con trole Nem sempre porém é possível escolher esse tipo de flip flop Eventualmente pode ser que o projetista seja obrigado a usar algum dispositivo de borda de subida Neste caso a ligação entre os divisores de freqüência precisa fazer uso do sinal Q Por causa do uso da saída complementada a borda negativa é transformada em positiva Figura 1 Contador assíncrono de 4 bits com borda de subida Figura 2 Contador assíncrono de 4 bits com borda de descida Figura 3 Contador assíncrono de 2 bits com NOR Figura 4 Contador assíncrono de 2 bits com NAND CLK Q0 Q1 CL V PR V CLK Q0 Q1 V CL PR V Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 309 Figura 5 Contador assíncrono de 2 bits Figura 6 Contador assíncrono de 3 bits Figura 7 Contador assíncrono de 4 bits FF Divisão de frequência 0 2 1 4 2 8 3 16 Tabela 1 Divisão cumulativa de freqüência O efeito cumulativo das sucessivas divisões de frequência remete ao princípio da comatória das parcelas componentes de todo número binário conforme apresentado nos primeiros capítulos acerca da aritmética binária CLK V S D CP R Q Q S D CP R Q Q 321 4 V CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 310 É possível prever os efeitos colaterais da falta de sincronia Em uma contagem de dois bits o bit menos significativo LSb está adiantado em relação ao bit mais significativo MSb As transi ções de estado são 00b 01b 10b 11b 00b É preciso analisar individualmente as quatro transições 00b 01b Como o MSb não sofre alteração então a assimetria não é problema 01b 10b Como os dois bits sofrem alteração então a assimetria traz proble mas 10b 11b Como o MSb não sofre alteração então a assimetria não é problema 11b 00b Como os dois bits sofrem alteração então a assimetria traz proble mas Nas transições 01b 10b e 11b 00b sabendo que o LSb muda antes do MSb então a transição de estados estáveis possui um estado instável intermediário 01b 00b 10b 11b 10b 00b Início Intermédio Final Estável Instável Estável 01 00 10 11 10 00 Tabela 2 Defeitos instáveis devido a assincronia de 2 bits Além dos circuitos temporizadores os contadores assíncronos encontram aplicação onde o atuador possui um intrínseco filtro passabaixas como por exemplo um painel luminoso onde as lâmpadas apresentem um elevado tempo de acendimento e apagamento Um tempo considerado elevado está na ordem de milissegundos Algumas aplicações de baixa frequência podem sofrer comportamento inadequado quando submetidas às oscilações decorrentes da assincronia Neste caso um capacitor pequeno de alguns picofarads colocado em paralelo com cada um dos bits de saída pode filtrar estas oscilações Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 311 Capítulo 410 Contador síncrono Datum No capítulo anterior foi apresentado o contador assíncrono Datum Na oportunidade foi explicado o problema gerado pela falta de sincronia dos bits de contagem A fim de eliminar os sintomas da falta de sincronia é preciso então construir um contador síncrono O contador síncrono é aquele onde não existe diferença de atraso de propagação nas entra das de controle por borda dos FFs A forma mais eficaz de garantir que este atraso não exista é por meio da ligação destas entradas de controle por borda no mesmo nó topológico As entradas D dos FFs consistem de funções booleanas independentes e que precisam ser determinadas A determinação destas funções retrata o processo de projeto do circuito lógico Como as funções são independentes então é possível projetar cada uma delas separadamente par tindo do LSb e terminando no MSb Em caráter de exemplificação será apresentado o projeto de um contador de quatro bits Lembrando que a saída Q corresponde à entrada D após a borda de controle então os bits Q correspondem à palavra binária antes da borda de controle e os bits D correspondem à palavra binária depois da borda de controle Q3 Q2 Q1 Q0 D3 D2 D1 D0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 Tabela 1 Funcionamento do contador de 4 bits Figura 1 Esboço do contador síncrono D de 4 bits CLK V 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 312 Função D0 Em toda contagem completa crescente ou decrescente o LSb age como um toggle e por isso a sua configuração é exatamente a mesma da do LSb de um contador assíncrono Q0 D0 0 1 1 0 Tabela 2 Funcionamento do contador de 1 bit D0 Q0 Figura 2 Circuito para o contador de 1 bit Função D1 Primeiramente é preciso construir a tabelaverdade para depois determinar as funções Antes Depois Q1 Q0 D1 D0 0 1 0 0 0 1 1 2 0 1 1 0 2 3 1 0 1 1 3 0 1 1 0 0 Tabela 2 Funcionamento do contador de 2 bits D0 Q0 D1 Q1Q0 Figura 3 Os dois bits menos significativos O uso da porta XOR por parte do bit mais significativo de entrada D1 neste caso pode ser facilmente identificado por meio desta análise se quando o bit de estado mais significativo Q1 neste caso vale 1 então a função D assume o comportamento inverso de quando Q vale 0 então esta função é representada pelo conectivo lógico XOR Q1 D1 0 0 0 1 1 1 1 0 Tabela 3 Evidenciação da operação XOR na função D1 Função D2 Antes Depois Q2 Q1 Q0 D2 D1 D0 0 1 0 0 0 0 0 1 1 2 0 0 1 0 1 0 2 3 0 1 0 0 1 1 3 4 0 1 1 1 0 0 4 5 1 0 0 1 0 1 5 6 1 0 1 1 1 0 6 7 1 1 0 1 1 1 7 0 1 1 1 0 0 0 Tabela 4 Funcionamento do contador de 3 bits CLK V S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 313 210 00 01 11 10 0 0 0 1 0 1 1 1 0 1 Tabela 5 A terceira função D1 Q2Q1Q0Q2Q1Q0Q2Q1Q0Q2Q1Q0 Q2 D2 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 Tabela 5 Evidenciação da operação XOR na função D2 Q2 D2 0 0 0 0 0 0 0 1 Tabela 6 A primeira metade da tabela Observando a primeira metade da tabelaverdade de D2 podemos enxergar que esta função parcial pode ser escrita como D2 Q1Q0 Observando a tabelaverdade de D2 completa podemos juntar a função D2 com a variável de entrada Q2 D2 Q2D2 D2 Q2Q1Q0 Figura 4 Os três bits menos significativos CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 314 Função D3 Ant Dep Q3 Q2 Q1 Q0 D3 D2 D1 D0 Q3 D3 Q2 Q1 Q0 D3 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 0 0 0 1 0 0 1 0 0 0 0 0 1 0 2 3 0 0 1 0 0 0 1 1 0 0 0 1 0 0 3 4 0 0 1 1 0 1 0 0 0 0 0 1 1 0 4 5 0 1 0 0 0 1 0 1 0 0 1 0 0 0 5 6 0 1 0 1 0 1 1 0 0 0 1 0 1 0 6 7 0 1 1 0 0 1 1 1 0 0 1 1 0 0 7 8 0 1 1 1 1 0 0 0 0 1 1 1 1 1 8 9 1 0 0 0 1 0 0 1 1 1 9 10 1 0 0 1 1 0 1 0 1 1 10 11 1 0 1 0 1 0 1 1 1 1 11 12 1 0 1 1 1 1 0 0 1 1 12 13 1 1 0 0 1 1 0 1 1 1 13 14 1 1 0 1 1 1 1 0 1 1 14 15 1 1 1 0 1 1 1 1 1 1 15 0 1 1 1 1 0 0 0 0 1 0 Tabela 7 Funcionamento do contador de 4 bits D3 Q2Q1Q0 D3 Q3D3 D3 Q3Q2Q1Q0 D2 Q1Q0 D3 Q3Q2D2 Figura 5 Contador D síncrono de quatro bits O desenvolvimento das funções D3 D2 D1 e D0 mostra que existe um padrão nestas fun ções Cada bit do contador é formado por um FF uma porta XOR e uma porta AND de duas entradas A entrada D do FF recebe a saída da porta XOR Os dois conectivos lógicos recebem como entrada a saída Q do FF deste bit e a saída da porta AND à direita Com base nestas observações é possível projetar estes contadores de maneira sistemática Por exemplo o contador de cinco bits é construído por meio da inclusão de um FF uma porta AND e uma porta XOR ao contador de quatro bits CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 315 Figura 6 Contador D síncrono de cinco bits É possível criar um módulo contendo estes três elementos aplicáveis para cada bit do con tador e replicar este módulo para todos os bits do contador Esta técnica produz um contador mo dular A saída da porta AND do MSb tem a função de threshold Este sinal de saída serve como gatilho para um outro circuito digital ou como clock para um outro contador mais significativo As entradas superiores dos dois conectivos lógicos do LSb tem a função de enable ativo em nível alto Esta entrada pode também receber o sinal threshold de um outro contador menos significativo Figura 7 Módulo contador D síncrono de um bit Figura 8 Quatro módulos contador D síncronos de um bit Figura 9 Módulos contador D síncronos de quatro bits CLK V 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 enable CLK output threshold V S D CP R Q Q th 1bit D COUNT CLK en out 321 4 th3 1bit COUNT 3 CLK en3 out3 th2 1bit COUNT 2 CLK en2 out2 th1 1bit COUNT 1 CLK en1 out1 th0 1bit COUNT 0 CLK en0 out0 CLK th 4bit COUNT CLK en out 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 316 Figura 10 Módulo contador D síncrono de quatro bits Figura 11 Módulos contador D síncronos de quatro bits Figura 12 Contador de dois nibbles a partir de dois contadores de um nibble CLK enable S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V threshold CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V V enable S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V threshold contador mais significativo contador menos significativo TH 4bit COUNT 1 CLK 321 4 4bit COUNT 0 CLK en 321 4 CLK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 317 Capítulo 411 Contador com desvio assíncrono A palavra desvio significa sair da via tomar uma outra via Nos capítulos anteriores foram apresentados os contadores completos síncronos e assíncronos Por serem completos eles fazem uso de todas as combinações das variáveis de estado Nem sempre porém os estados são usados na contagem Na falta de um nome consagrado pela literatura técnica vamos usar provisoriamente o nome de estado fantasma para estes es tados não usados Este nome é provisório porque estamos aguardando que a comunidade científica escolha um nome universal para os estados não usados Por esse motivo não é recomendado o uso da terminologia estado fantasma fora do contexto deste curso pois se ela não é consagrada pela comunidade científica você corre o risco de não ser compreendido ao fazer uso destas palavras No diagrama de estados estáveis finitos os estados fantasmas são desenhados por meio de uma circunferência tracejada Existem também os estados fantasmas condicionais Isto acontece quando existe uma variável de controle que ao ser ativada ou não pode tornar fantasma um determinado estado ou não Se este é o caso o desenho no diagrama deve ser feito por meio de um círculo contínuo Há dois tipos de contadores incompletos Contador interrompido Contador de sequência não linear A definição do contador de sequência não linear é feita por meio da exclusão do conceito de contador interrompido A definição do contador interrompido é aquele que é construído a partir de um contador completo e da subtração de um ou mais estados Há dois tipos de contadores interrompidos Contador com circuito de desvio desvio assíncrono Contador sem circuito de desvio desvio síncrono O contador com circuito de desvio é construído a partir de um contador completo acrescen tado de um circuito combinacional de desvio O contador completo original pode ser síncrono ou assíncrono O contador sem circuito de desvio não parte de um contador completo o circuito é inicialmente projetado considerandose a incompletude da contagem O contador sem circuito de desvio somente pode ser construído na versão síncrona e é assunto para os capítulos mais adiante O princípio do circuito de desvio assunto deste capítulo está baseado em um circuito com binacional que identifica uma certa combinação das variáveis de estado e ocorrendo esta identifi cação ativa as entradas preset de alguns flip flops e as entradas clear de outros flip flops A combinação que ativa o circuito de desvio é um estado fantasma Assim que este estado é ativado o circuito de desvio leva o contador para outro estado O estado fantasma de desvio embora seja usado não é estável pois o seu tempo de uso não é definido pelo relógio do sistema mas sim pelo tempo de atraso de propagação do circuito interno dos flip flops Por não ser estável este estado não é considerado um estado estável válido Por causa da assincronia das entradas preset e clear dos flip flops o circuito de desvio é considerado assíncrono Temos então um desvio assíncrono Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 318 Há três tipos de contadores interrompidos quanto à sincronia Contador assíncrono com circuito de desvio assíncrono Contador síncrono com circuito de desvio assíncrono Contador síncrono com circuito de desvio síncrono será visto mais adiante Um contador síncrono com circuito de desvio assíncrono comportase como um contador síncrono nas transições lineares e comportase como um contador assíncrono na transição de des vio Considerando que um contador síncrono apresenta um comportamento de um contador assín crono mas possui um circuito mais complexo então o uso de um desvio assíncrono em um contador síncrono anularia as vantagens da opção pelo contador síncrono Por esse motivo se o contador é síncrono a melhor opção é pelo desvio síncrono será visto mais adiante Com base nesta conclu são todos os exemplos apresentados neste capítulo estão baseados no contador datum assíncrono Há dois tipos de contadores interrompidos quanto ao significado da interrupção Contador incompleto Contador com pulo O contador incompleto é aquele que omite alguns dos últimos estados de um contador com pleto O circuito de desvio realiza uma reiniciação da contagem Por reiniciar a contagem o estado apontado pelo desvio é o zero todos os bits de estado valem zero todos os flip flops sofrem o comando clear As entradas preset não são usadas O contador com pulo é aquele que omite alguns dos estados intermediários de um contador completo Por não reiniciar a contagem o estado apontado pelo desvio não é o zero nem todos os bits de estado valem zero alguns flip flops sofrem o comando clear outros flip flops sofrem o comando preset O projeto de contadores com pulo é mais trabalhoso do que o projeto de con tadores incompletos motivo porque os pulos serão abordados no capítulo seguinte Há dois tipos de FFs quanto às entradas assíncronas Ativação em nível alto Ativação em nível baixo Quando as entradas assíncronas são ativas em nível alto PR e CL então o circuito de desvio consiste da materialização de um mintermo Uma porta AND é usada e a quantidade de entradas desta porta coincide com a quantidade de bits de contagem Quando as entradas assíncronas são ativas em nível baixo PR e CL então o circuito de desvio consiste da materialização de um maxtermo Uma porta OR é usada e a quantidade de en tradas desta porta coincide com a quantidade de bits de contagem A minimização da função de desvio pode reduzir a quantidade de entradas da porta lógica A efetivação do desvio é feita por meio do acionamento do circuito de desvio Esta ativação precisa ser feita no primeiro estado fantasma Este estado pode ser chamado de estado de des vio ou estado gatilho Este não é um estado estável pois a sua permanência dura apenas alguns nano segundos que é o tempo de propagação para que as portas lógicas sejam acionadas Apesar disso o estado gatilho pode ser incluído no diagrama de estados estáveis finitos Apesar do erro de natureza conceitual esta inclusão permite que o estudante entenda como o desvio acontece Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 319 Exemplo 1 Contador BCD com CL Um contador BCD é um contador hexadecimal incompleto Os estados fantasmas são 1011121314 e 15 O primeiro estado fantasma é o 10 É neste estado que o desvio assíncrono precisa ser efetuado Figura 1 Interrupção BCD em um contador hexadecimal Estado gatilho 10d 1010b Clear Q3Q2Q1Q0 mintermo 10 Figura 2 Exemplo 1 Exemplo 2 Contador BCD com CL Estado gatilho 10d 1010b Clear Q3Q2Q1Q0 maxtermo 10 Figura 3 Exemplo 2 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 4bit COUNT out0 out1 out2 out3 CLK restart identificador de 1010b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 320 Considerando que o gatilho é acionado em um único estado o estado gatilho então este gatilho não é acionado nos demais estados fantasmas Isso leva à conclusão que para esses esta dos fantasmas a contagem seguiria normalmente de maneira crescente Figura 4 Interrupção BCD em um contador hexadecimal O primeiro estado fantasma de um contador interrompido é usado para acionar a reinici ação do contador Caso haja mais estados fantasmas por jamais serem acessados o apontamento para o próximo estado é irrelevante Por causa disso a ação destes estados sobre as entradas clear dos FFs também é irrelevante Estas irrelevâncias podem ser usadas para aplicar alguma técnica de minimização Como a função restart é formada por um único termo a minimização pode propor cionar a redução na quantidade de entradas da porta lógica 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 0 00 1 1 1 1 01 0 0 0 0 01 1 1 1 1 11 X X X X 11 X X X X 10 0 0 X 1 10 1 1 X 0 Tabela 1 Funções CLEAR e CLEAR Clear Q3Q1 Clear Q3Q1 Figura 5 Exemplo 1 minimizado CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 0 6 1 2 7 5 4 3 8 9 A B C D E F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 321 Figura 6 Exemplo 2 minimizado Considerando que o gatilho é acionado em um único estado o estado gatilho então este gatilho não é acionado nos demais estados fantasmas Isso leva à conclusão que para esses esta dos fantasmas a contagem seguiria normalmente de maneira crescente Figura 7 O diagrama do circuito minimizado CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V 0 6 1 2 7 5 4 3 8 9 A B C D E F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 322 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 323 Capítulo 412 Contador com pulo assíncrono No capítulo anterior foi apresentado o conceito de contador interrompido O conceito de contador com pulo é bastante semelhante A única diferença é que o circuito de desvio ao invés de levar ao estado zero leva para um estado posterior ao estado fantasma que aciona o desvio Quando o circuito de desvio leva para o estado zero o desvio aciona as entradas clear de todos os flip flops de contagem Quando porém o circuito de desvio leva para um estado se guinte então a depender do número do estado apontado pelo desvio alguns flip flops sofrerão o comando clear e outros flip flops sofrerão o comando preset Com exceção do primeiro estado fantasma chamado de estado gatilho que aciona o circuito de desvio os demais estados fantasmas implicam em uma irrelevância na tabelaverdade da função de desvio O estado apontado pela função de desvio precisa ser necessariamente supe rior ao estado fantasma onde o comando é acionado Não sendo assim o contador entra em um loop infinito O pulo pode ser entendido como a instrução GOTO da linguagem assembler Este comando possui como argumento o endereço da program memory para onde o salto precisa levar A não ser que existam outros mecanismos de desvio o endereço apontado pela instrução GOTO precisa ser superior ao endereço onde esta instrução está armazenada Exemplo 1 Contador de três bits que pula o estado 5 em nível alto Neste exemplo há somente um estado pulado Este é o estado fantasma que aciona o circuito de desvio O salto é endereçado para o estado seis O salto consiste da transição do estado quatro para o estado seis Estado gatilho 5d 101b Estado de destino 6d 110b Clear Q2Q1Q0 Clear PR2 PR1 CL0 4d 100b A transição de 100b para 110b implica na alteração de um único bit de estado Q1 Por esse motivo a assincronia não possui nenhum efeito o salto age de maneira síncrona Figura 1 Exemplo 1 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 324 Exemplo 2 Contador de três bits que pula o estado 3 em nível alto Estado gatilho 3d 011b Estado de destino 4d 100b Clear Q2Q1Q0 Clear PR2 CL1 CL0 2d 010b O salto consiste da transição do estado dois para o estado quatro A transição de 010b para 100b implica na alteração de um dois bits de estado Q2 e Q1 Por esse motivo a assincronia se manifesta Figura 2 Exemplo 2 Exemplo 3 Contador que pula os estados 3 4 e 5 em nível alto O salto consiste da transição do estado dois para o estado seis O gatilho para o disparo do salto é o mesmo do exemplo 1 A ação do circuito de disparo é a mesma do exemplo 2 Estado gatilho 3d 011b Estado de destino 6d 110b Clear Q2Q1Q0 Clear PR2 PR1 CL0 Figura 3 Exemplo 3 210 00 01 11 10 0 0 0 1 0 1 X X 0 0 Tabela 1 Função CLEAR do exemplo 3 Dos três estados fantasmas um é usado como gatilho para o pulo Os outros dois estados são irrelevantes e podem ser usados na minimização do circuito Neste exemplo nenhum grupa mento pôde ser obtido não foi possível reduzir o tamanho do circuito CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 325 Figura 4 Exemplo 3 Exemplo 4 Contador de três bits que pula os estados 1 2 e 3 Figura 5 Exemplo 4 Estado gatilho 1d 001b Estado de destino 4d 100b Clear Q2Q1Q0 Clear PR2 CL1 CL0 Figura 6 Exemplo 4 não minimizado 210 00 01 11 10 0 0 1 X X 1 0 0 0 0 Tabela 2 Função CLEAR do exemplo 4 Clear Q2Q0 Apesar da possibilidade de minimização esta minimização não provoca alteração no com portamento dos estados fantasmas pois o estado alterado na formação do IPE o estado 3 é naturalmente o estado anterior ao estado de destino o estado 4 CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q 6 0 2 4 1 3 5 7 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 326 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 327 Capítulo 413 Contador codificado Em capítulos anteriores foi apresentado o conversor de código um circuito que converte uma palavra binária de entrada em uma outra palavra binária de saída Este circuito conversor de código pode ser acoplado à saída de um contador a fim de que um contador específico seja criado Esta estratégia simplifica o processo de criação de contadores complexos Como os contadores fornecem naturalmente as saídas complementadas então não é ne cessário usar as portas NOT nas entradas do circuito conversor de código Nenhum contador normal permite a repetição de estados dentro de uma mesma contagem A técnica da codificação da palavra de saída de um contador é o método mais fácil para a criação de contadores que possuam estados repetidos em uma mesma contagem A técnica da codificação das saídas é particularmente interessante quando se trabalha com contadores de poucos estados mas que exibam números grandes Por exemplo suponhamos que desejamos construir um contador que exiba números que expressem anos partindo de 1981 até 2007 Se o contador é construído para exibir esses números diretamente será necessário usar todos os onze bits nesta contagem Usando um circuito de codificação este número pode ser reduzido De 1981 até 2007 há vinte e sete estados Para que esses estados sejam endereçados são neces sários apenas cinco bits de contagem Figura 1 Exemplo 1 nbit COUNT CLK CONV nbit mbit Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 328 Exemplo 1 Contador síncrono datum 2301 Figura 2 Contador 2301 com análise de uns Figura 3 Contador 2301 com análise de zeros CLK 321 4 Out1 Out0 V S D CP R Q Q S D CP R Q Q 321 4 CLK 321 4 Out0 Out1 321 4 S D CP R Q Q S D CP R Q Q V Este primeiro exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo sobre conversores de código na unidade sobre álgebra booleana exemplo 1 Input Output 0 2 1 3 2 0 3 1 Tabela 1 Definição do conversor B A Out1 Out0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 Tabela 2 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 329 Exemplo 2 Contador síncrono datum 5264 Figura 4 Contador 5264 com análise de uns Figura 5 Contador 5264 com análise de zeros CLK 321 4 Out2 Out1 Out0 V S D CP R Q Q S D CP R Q Q 321 4 Out2 Out1 Out0 CLK 321 4 V 321 4 S D CP R Q Q S D CP R Q Q V Este segundo exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo so bre conversores de código na uni dade sobre álgebra booleana exem plo 2 Input Output 0 5 1 2 2 6 3 4 Tabela 3 Definição do conversor B A Out2 Out1 Out0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 Tabela 4 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 330 Exemplo 3 Contador assíncrono datum 22010211 Figura 6 Contador 22010211 com análise de uns Como este contador é assíncrono então o LSb é dado pelo flip flop à esquerda Por esse motivo a conexão do entre o contador e o circuito combinacional é cruzada No diagrama de estados estáveis finitos é permitido usar os valores codificados Como a identificação do estado inicial não é imediata é preciso marcalo como tal Figura 7 Contador 22010211 CLK 321 4 Out0 Out1 V S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 Este terceiro exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo sobre conversores de código na unidade so bre álgebra booleana exemplo 3 Input Output 0 2 1 2 2 0 3 1 4 0 5 2 6 1 7 1 Tabela 5 Definição do conversor C B A Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 6 Definição das funções binárias 1 2 0 0 2 1 2 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 331 Exemplo 4 Contador assíncrono datum 22010211 Figura 8 Contador 22010211 com análise de uns Neste circuito a variável de controle A possui uma ação assíncrona Isso quer dizer que quando este bit sofre alguma alteração o contador é reconfigurado imediatamente independente mente da borda do relógio Uma ação assíncrona de reconfiguração do contador não é desejável A fim de tornar a entrada A síncrona é preciso lançar mão de métodos de projeto que serão apre sentados em capítulos seguintes A CLK 321 4 S D CP R Q Q S D CP R Q Q V Out1 Out0 321 4 A State Output 0 0 2 0 1 2 0 2 0 0 3 1 1 0 0 1 1 2 1 2 1 1 3 1 Tabela 7 Definição do conversor A Q1 Q0 Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 8 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 332 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 333 Unidade 5 Circuitos JK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 334 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 335 Capítulo 501 Flip Flop JK Nos capítulos anterior foram apresentados os flip flops RS e datum O flip flop RS possui a vantagem de apresentar o comando hold O FF datum possui a vantagem de possuir apenas uma entrada de dados Os quatro comandos aplicáveis a um bit são Hold Q Q Reset Q 0 Set Q 1 Invert Q Q Comando Q Q Hold 0 1 0 1 Reset 0 1 0 0 Set 0 1 1 1 Invert 0 1 1 0 Tabela 1 Os quatro comandos de um bit Em verdade os quatro comandos podem ser reduzidos a apenas dois comandos Comando Q Q Ação HI Ação RS Hold 0 1 0 1 Hold Hold Reset Set Reset 0 1 0 0 Hold Invert Reset Reset Set 0 1 1 1 Invert Hold Set Set Invert 0 1 1 0 Invert Invert Set Reset Tabela 2 Os quatro comandos convertidos em dois comandos Nenhum dos flip flops apresentados anteriormente implementam o comando invert O circuito toogle D implementa a inversão por meio de um circuito externo e não por meio do flip flop Necessário se faz criar um FF que possua o comando invert embutido Para satisfazer a esta de manda surge o flip flop JK A tabela 3 mostra que há duas possibilidades para o acionamento dos quatro comandos do FF JK uma usando porta NAND outra usando porta NOR Embora as duas opções sejam idênticas em eficiência somente a primeira opção é usada As motivações que levaram a esta escolha são de ordem comercial eou tecnológica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 336 Opção 1 Porta NAND Opção 2 Porta NOR Comando J K Comando J K Hold 0 0 Hold 1 1 Reset 0 1 Reset 1 0 Set 1 0 Set 0 1 Invert 1 1 Invert 0 0 Tabela 3 O acionamento dos comandos do FF JK Os comandos reset e set têm um efeito previsível independentemente do valor anterior da variável de estado Q Esta previsibilidade evidencia que o valor anterior de Q é irrelevante Esta irrelevância mostra que não há efeito memória nestes dois comandos Os comandos hold e invert têm um efeito imprevisível se não sabemos do valor anterior da variável de estado Q Esta imprevisibilidade é intrínseca à etimologia destas duas palavras Quando usamos o verbo manter precisamos obviamente saber qual é o valor anterior daquilo que se deseja manter Quando usamos o verbo inverter também precisamos saber qual é o valor anterior daquilo que se deseja inverter No contexto da filosofia se você deseja apoiar uma idéia você precisa primeiro entender muito bem desta idéia a fim de que as suas palavras verdadeiramente apoiem esta idéia Não é possível apoiar corretamente aquilo que não se compreende Igualmente se você deseja refutar uma idéia você precisa entender muito bem desta idéia Um erro muito comum cometido por for madores de opinião é o de tentar apoiar ou refutar algo sobre o qual não possuem entendimento Em um trabalho filosófico relevante a confirmação ou a refutação de uma tese requer obrigatori amente a apresentação das referências a cerca desta tese ou seja é preciso fazer uma consulta ao conhecimento anterior e isso é justamente aquilo que chamamos de efeito memória As referên cias bibliográficas são uma consulta à memória a respeito da sabedoria do passado Também no contexto da filosofia se você deseja apresentar uma idéia nova você não pre cisa obrigatoriamente apresentar referências bibliográficas a não ser quando você deseja fazer alguma comparação ou alguma justificativa Esta não necessidade de consulta a referências biblio gráficas evidencia uma ausência de efeito memória Este seria o caso dos comandos reset e set do flip flop RS e do flip flop JK Tipo Comandos Com memória Hold Invert Sem memória Reset Set Tabela 4 Os dois tipos de comando do FF JK Embora o flip flop JK possa talvez ser implementado de uma maneira totalmente nova ele é construído hoje como uma evolução do flip flop datum É possível então transformar um flip flop datum em um flip flop JK Essa transformação é obtida por meio do acréscimo de um circuito combinacional à entrada do FF datum Quais são as entradas deste circuito combinacional Obvia mente estas entradas são as próprias entradas de dados do flip flop JK isto é J e K Isso porém não é suficiente pois precisamos levar em consideração o efeito memória dos comandos hold e invert A fim de que o efeito memória seja incorporado é preciso lançar mão da variável Q Temos então três variáveis de entrada totalizando oito combinações Se o flip flop datum possui apenas uma variável de entrada então o circuito combinacional possui três entradas e uma saída Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 337 J K Q comando D 0 0 0 Hold 0 0 0 1 1 0 1 0 Reset 0 0 1 1 0 1 0 0 Set 1 1 0 1 1 1 1 0 Invert 1 1 1 1 0 Tabela 5 A tabelaverdade do circuito combinacional JKQ 00 01 11 10 JKQ 00 01 11 10 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 Tabela 6 O mapa de Karnaugh do circuito combinacional D KQJQ D KQJQ Há duas possibilidades para a construção do circuito minimizado produto de somas ou soma de produtos Neste texto é usada a segunda opção O leitor pode realizar a simulação do circuito da primeira opção É possível fazer uso do implicante primo não essencial para reduzir a possibili dade do surgimento de spikes Figura 1 Flip flop JK a partir de flip flop datum D KQJQ Figura 2 Flip flop JK a partir de flip flop datum D KQJQ JKQ 00 01 11 10 JKQ 00 01 11 10 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 Tabela 7 O mapa de Karnaugh do circuito combinacional com redução de spikes C J K V S D CP R Q Q K CONTROL J Q Q datum master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 338 D KQKQJQ D KQ JK JQ Figura 3 Flip flop JK a partir de flip flop datum D KQJKJQ Figura 4 Flip flop JK a partir de flip flop datum D KQJKJQ Figura 5 Flip flop JK trocando as portas AND e OR por portas NAND O projeto do circuito com portas NAND é feito por meio da propriedade BA BA De Morgan C J K V S D CP R Q Q J CONTROL K Q Q J CONTROL K Q Q datum master slave datum master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 339 Figura 6 Flip flop JK a partir de flip flop datum com preset e clear Os nós topológicos apontados por set e reset possuem uma diferença de atraso provo cada pela porta NOT É possível eliminar este atraso por meio da construção da função D D KQJQ D KQJQ Figura 7 Flip flop JK a partir de flip flop RS Figura 8 Flip flop JK trocando as portas AND e OR por portas NAND K J C CLEAR V V PRESET Q Q K J C CLEAR V V PRESET Q Q J K C CLEAR V V PRESET Q Q set reset datum set reset set reset s r Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 340 SET QJKQ RESET QJKQ s SETC r RESETC s QJKQC r QJKQC Os circuitos anteriores apresentam uma série de seis portas lógicas de modo que os tempos de atraso de propagação do sinal são somados e acumulados provocando um grande atraso na resposta final do circuito O circuito pode ser simplificado para apenas cinco portas lógicas redu zindo o tempo de atraso e aumentando a capacidade do circuito em relação à frequência do relógio A seguir é apresentado o processo matemático por meio do qual esta simplificação é efetuada Figura 9 A primeira etapa do processo de simplificação Figura 10 A segunda etapa do processo de simplificação J K C CLEAR V V PRESET Q Q C K J CLEAR V V PRESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 341 Figura 11 Os cinco tipos de flip flop JK disponíveis no ambiente de simulação 74LS73 DIP14 Dual NegativeEdgeTriggered MasterSlave JK FlipFlops with Clear and Complementary Outputs 74LS112 DIP16 Dual JK NegativeEdgeTriggered FlipFlops with Clear And Preset 4027 DIP 16 CMOS Dual JK MasterSlave FlipFlop J CP K R Q Q 74LS73 J CP K R Q Q 74LS107 S J CP K R Q Q 4027 S J CP K R Q Q 74LS76 S J CP K R Q Q 74LS112 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 342 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 343 Capítulo 502 Toggle JK O toggle datum foi apresentado em capítulos anteriores O toggle JK opera exatamente da mesma forma ou seja exerce uma divisão de freqüência por dois O efeito toggle consiste em uma eterna inversão na saída do circuito O flip flop JK opera como toggle quando ele aplica unicamente o comando invert As entradas J e K estão sempre ligadas ao valor lógico 1 Figura 1 Toggle com 74LS76 Figura 2 FF JK com as duas entradas de dados em nível 1 Figura 3 Simplificação do toogle JK A figura 3 mostra que o flip flop JK operado como toogle consiste exatamente do mesmo circuito lógico do flip flop datum operado como toogle A simplificação é feita com base na proprie dade do elemento neutro e na propriedade do elemento nulo da adição e da multiplicação ló gicas O circuito da figura 3 resultado da simplificação do circuito da figura 2 consiste do flip flop datum com a saída Q realimentada à entrada de dado CLK V 5V S J CP K R Q Q 74LS76 C V 5V CLEAR V V PRESET Q Q C CLEAR V V PRESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 344 Comparando o circuito 2 com o circuito 3 é perceptível que o primeiro possui o adicional de dois tempos de atraso de propagação decorrentes das portas AND e OR nas entradas JK Isto signi fica que embora o toggle datum e o toggle JK sejam equivalentes no ponto de vista lógico eles são diferentes quanto à performance quanto à máxima freqüência de operação Além disso existe o consumo de energia elétrica destas portas lógicas Por todos esses motivos o toggle datum deve ser preferido em detrimento do toggle JK Uma terceira vantagem do toggle datum em relação ao toggle JK é que por possuir menos portas lógicas o tamanho geométrico ocupado no layout do circuito integrado é menor liberando espaço para outros circuitos O uso de menos portas lógicas também traz a vantagem de que todo dispositivo elétrico mesmo integrado possui uma probabilidade conhecida de apresentar defeito após o processo de fabricação Ao usar menos portas lógicas a probabilidade de ocorrência de de feito do produto final durante os procedimentos de controle de qualidade é diminuída Considerando então que o flip flop JK operado como toggle corresponde exatamente ao mesmo circuito l então os flip flops datum são a melhor opção para a construção de contadores assíncronos Entretanto a orientação para o projeto de circuitos integrados digitais aponta no sen tido do uso de módulos repetíveis Em outras palavras estes circuitos devem ser construídos a partir do uso da menor variedade possível de portas lógicas e de flip flops Por esta razão é interessante que se evite usar flip flop datum e flip flop JK em um mesmo circuito integrado Neste contexto se por alguma razão o circuito precisa usar flip flop JK e se este mesmo circuito precisa fazer uso de um contador assíncrono então este contador deve usar flip flop JK mesmo sabendo que cada flip flop JK operado como toggle será reduzido à mesma funcionalidade de um toggle datum Todo contador assíncrono pode ser construído a partir do toggle datum ou a partir do toggle JK ou até mesmo de uma mistura destes dois toggles Considerando porém que o contador as síncrono datum possui vantagens em relação ao contador assíncrono JK tanto quanto à capacidade de resposta em freqüência quanto ao consumo de energia elétrica e considerando também que o contador síncrono possui um comportamento mais confiável do que o contador assíncrono ausên cia de spikes então os capítulos seguintes focarseão na apresentação das metodologias para o projeto de contadores JK síncronos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 345 Capítulo 503 Contador síncrono JK Foi apresentado anteriormente o método empregado no projeto intuitivo do contador sín crono datum Tal método é intuitivo porque está baseado unicamente na observação do comporta mento das funções Q em um caso bastante específico a saber o contador completo crescente Por ser um método intuitivo não há nenhuma sistematização Este mesmo procedimento pode ser em pregado para o projeto do contador completo crescente JK Existe porém uma diferença no projeto de contadores datum e no projeto de contadores JK Enquanto o primeiro tipo emprega uma única função de entrada por bit de contagem o segundo emprega duas funções No primeiro caso as funções datum equivalem ao valor futuro para as saídas Q tornando o procedimento bastante rápido e simples No segundo caso esta relação imediata de cronologia não existe É preciso lançar mão das definições dos comandos do flip flop JK Comando J K Hold 0 0 Reset 0 1 Set 1 0 Invert 1 1 Tabela 1 O acionamento dos comandos do FF JK Tipo Comandos Com memória Hold Invert Sem memória Reset Set Tabela 2 Os dois tipos de comando do FF JK O método intuitivo apresentado neste capítulo para o projeto de contadores síncronos JK segue a mesma linha de raciocínio do método intuitivo apresentado anteriormente para o projeto de contadores síncronos datum Considerando que o flip flop datum possui apenas comandos sem memória usaremos neste método somente os comandos JK sem memória a saber reset e set Comando D J K Reset 0 0 1 Set 1 1 0 Tabela 3 Comparação entre os comandos D e os comandos JK Conforme evidenciado na tabela anterior um flip flop JK que utiliza apenas os comandos sem memória opera exatamente como um flip flop datum Neste caso não há benefício algum na escolha pelo uso do flip flop JK pelo contrário a escolha pelo flip flop datum representa melhor capacidade de frequência e menor consumo de energia elétrica Figura 1 FF JK operando como FF D CLK D V V S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 346 É possível projetar intuitivamente o contador JK lançando mão dos comandos com memória Isto permite a criação de um circuito com um formado diferente daquele proporcionado pelo mé todo do uso dos comandos sem memória usado no contador datum Comando J K Hold 0 0 Invert 1 1 Tabela 4 Os comandos com memória do FF JK Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 bit 2 bit 1 bit 0 0 0 0 0 0 0 0 1 hold hold hold invert 0 0 0 1 0 0 1 0 hold hold invert invert 0 0 1 0 0 0 1 1 hold hold hold invert 0 0 1 1 0 1 0 0 hold invert invert invert 0 1 0 0 0 1 0 1 hold hold hold invert 0 1 0 1 0 1 1 0 hold hold invert invert 0 1 1 0 0 1 1 1 hold hold hold invert 0 1 1 1 1 0 0 0 invert invert invert invert 1 0 0 0 1 0 0 1 hold hold hold invert 1 0 0 1 1 0 1 0 hold hold invert invert 1 0 1 0 1 0 1 1 hold hold hold invert 1 0 1 1 1 1 0 0 hold invert invert invert 1 1 0 0 1 1 0 1 hold hold hold invert 1 1 0 1 1 1 1 0 hold hold invert invert 1 1 1 0 1 1 1 1 hold hold hold invert 1 1 1 1 0 0 0 0 invert invert invert invert Tabela 5 Funcionamento do contador de 4 bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 Tabela 6 Programação dos bits de entrada do contador de 4 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 347 Funções J0 e K0 Em toda contagem completa crescente ou decrescente o LSb age como um toggle Q0 J0 K0 0 1 1 1 1 1 Tabela 7 Funcionamento do contador de 1 bit J0 1 K0 1 Figura 2 Circuito para o contador de 1 bit Funções J1 e K1 Primeiramente é preciso construir a tabelaverdade para depois determinar as funções Antes Depois Antes Depois Antes Depois Q1 Q0 Q1 Q0 bit 1 Q1 Q0 Q1 Q0 J1 K1 0 1 0 0 0 1 hold 0 0 0 1 0 0 1 2 0 1 1 0 invert 0 1 1 0 1 1 2 3 1 0 1 1 hold 1 0 1 1 0 0 3 0 1 1 0 0 invert 1 1 0 0 1 1 Tabela 8 Funcionamento do contador de 2 bits J1 Q0 K1 Q0 Figura 3 Os dois bits menos significativos Funções J2 e K2 Antes Depois 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0 Tabela 9 Definição do contador de 3 bits CLK V 321 4 S J CP K R Q Q CLK V 321 4 S J CP K R Q Q S J CP K R Q Q FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 348 Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 bit 2 Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 0 0 0 0 0 1 hold 0 0 0 0 0 1 0 0 0 0 1 0 1 0 hold 0 0 1 0 1 0 0 0 0 1 0 0 1 1 hold 0 1 0 0 1 1 0 0 0 1 1 1 0 0 invert 0 1 1 1 0 0 1 1 1 0 0 1 1 0 hold 1 0 0 1 0 1 0 0 1 0 1 1 1 1 hold 1 0 1 1 1 0 0 0 1 1 0 1 0 0 hold 1 1 0 1 1 1 0 0 1 1 1 0 0 0 invert 1 1 1 0 0 0 1 1 Tabela 10 Funcionamento do contador de 3 bits J2 Q1Q0 K2 Q1Q0 Figura 4 Os três bits menos significativos Funções J3 e Q3 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 0 0 0 0 0 0 0 1 hold 0 0 0 1 0 0 1 0 hold 0 0 1 0 0 0 1 1 hold 0 0 1 1 0 1 0 0 hold 0 1 0 0 0 1 0 1 hold 0 1 0 1 0 1 1 0 hold 0 1 1 0 0 1 1 1 hold 0 1 1 1 1 0 0 0 invert 1 0 0 0 1 0 0 1 hold 1 0 0 1 1 0 1 0 hold 1 0 1 0 1 0 1 1 hold 1 0 1 1 1 1 0 0 hold 1 1 0 0 1 1 0 1 hold 1 1 0 1 1 1 1 0 hold 1 1 1 0 1 1 1 1 hold 1 1 1 1 0 0 0 0 invert Tabela 11 Funcionamento do contador de 4 bits CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 349 Antes Depois Q3 Q2 Q1 Q0 Q2 Q2 Q1 Q0 J3 K3 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 Tabela 12 Funcionamento do contador de 3 bits J3 Q2Q1Q0 K3 Q2Q1Q0 Figura 5 Os quatro bits menos significativos Estes circuitos possuem todos eles uma característica em comum Os flip flops possuem suas entradas de dados ligadas ao mesmo nó topológico Comando JK Hold 0 Invert 1 Tabela 13 O FF JK com as entradas de dados reduzidas a um único nó O desenvolvimento das funções J3 K3 J2 K2 J1 K1 J0 K0 mostra que existe um padrão nestas funções Cada bit do contador é formado por um flip flop e uma porta AND de duas entradas As entradas J e K do flip flop recebem a saída da porta AND Com base nestas observações é possível projetar estes contadores de maneira sistemática Por exemplo o contador de cinco bits é construído por meio da inclusão de um flip flop e uma porta AND ao contador de quatro bit CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 350 Figura 6 Contador de cinco bits É possível criar um módulo contendo estes dois elementos aplicáveis para cada bit do con tador e replicar este módulo para todos os bits do contador Esta técnica produz um contador mo dular Figura 7 Contador modular de quatro bits Figura 8 Circuito do módulo contador JK síncrono de um bit Figura 9 Símbolo do módulo contador JK síncrono de um bit Figura 10 Quatro módulos contador JK síncronos de um bit CLK 321 4 V S J CP K R Q Q 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q V CLK threshold 2 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V threshold 1 enable 1 enable 2 CLK output V threshold 2 S J CP K R Q Q threshold 1 th1 th2 1bit JK COUNT en1 en2 CLK out 321 4 1bit JK COUNT th1 th2 1bit JK COUNT CLK 1bit JK COUNT 1bit JK COUNT en1 en2 out FF0 FF1 FF2 FF3 FF4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 351 Capítulo 504 Contador síncrono decrescente JK No capítulo anterior foi apresentado o projeto do contador síncrono crescente JK por meio dos comandos com memória O mesmo procedimento pode ser usado para o projeto de contadores decrescentes É possível inverter qualquer contagem por meio do uso das saídas Q porém o uso de tais saídas não é recomendado porque nem todos os circuitos integrados oferecem acesso ex terno a estes bits Antes Depois dec Q3 Q2 Q1 Q0 dec Q3 Q2 Q1 Q0 bit 3 bit 2 bit 1 bit 0 0 0 0 0 0 15 1 1 1 1 invert invert invert invert 1 0 0 0 1 0 0 0 0 0 hold hold hold invert 2 0 0 1 0 1 0 0 0 1 hold hold invert invert 3 0 0 1 1 2 0 0 1 0 hold hold hold invert 4 0 1 0 0 3 0 0 1 1 hold invert invert invert 5 0 1 0 1 4 0 1 0 0 hold hold hold invert 6 0 1 1 0 5 0 1 0 1 hold hold invert invert 7 0 1 1 1 6 0 1 1 0 hold hold hold invert 8 1 0 0 0 7 0 1 1 1 invert invert invert invert 9 1 0 0 1 8 1 0 0 0 hold hold hold invert 10 1 0 1 0 9 1 0 0 1 hold hold invert invert 11 1 0 1 1 10 1 0 1 0 hold hold hold invert 12 1 1 0 0 11 1 0 1 1 hold invert invert invert 13 1 1 0 1 12 1 1 0 0 hold hold hold invert 14 1 1 1 0 13 1 1 0 1 hold hold invert invert 15 1 1 1 1 14 1 1 1 0 hold hold hold invert Tabela 1 Funcionamento do contador decrescente de 4 bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 Tabela 2 Programação dos bits de entrada do contador decrescente de 4 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 352 Funções J1 e K1 Antes Depois dec Q1 Q0 dec Q1 Q0 bit 1 J1 K1 0 0 0 3 1 1 invert 1 1 1 0 1 0 0 0 hold 0 0 2 1 0 1 0 1 invert 1 1 3 1 1 2 1 0 hold 0 0 Tabela 3 Funcionamento do contador decrescente de 2 bits J1 Q0 K1 Q0 Figura 1 Contador decrescente de dois bits Funções J2 e K2 Antes Depois dec Q2 Q1 Q0 dec Q2 Q1 Q0 bit 2 J2 K2 0 0 0 0 7 1 1 1 invert 1 1 1 0 0 1 0 0 0 0 hold 0 0 2 0 1 0 1 0 0 1 hold 0 0 3 0 1 1 2 0 1 0 hold 0 0 4 1 0 0 3 0 1 1 invert 1 1 5 1 0 1 4 1 0 0 hold 0 0 6 1 1 0 5 1 0 1 hold 0 0 7 1 1 1 6 1 1 0 hold 0 0 Tabela 4 Funcionamento do contador decrescente de 3 bits J2 Q1Q0 K2 Q1Q0 Figura 2 Contador decrescente de três bits CLK V 321 4 S J CP K R Q Q S J CP K R Q Q CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 353 Funções J3 e K3 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 J3 K3 0 0 0 0 1 1 1 1 invert 1 1 0 0 0 1 0 0 0 0 hold 0 0 0 0 1 0 0 0 0 1 hold 0 0 0 0 1 1 0 0 1 0 hold 0 0 0 1 0 0 0 0 1 1 hold 0 0 0 1 0 1 0 1 0 0 hold 0 0 0 1 1 0 0 1 0 1 hold 0 0 0 1 1 1 0 1 1 0 hold 0 0 1 0 0 0 0 1 1 1 invert 1 1 1 0 0 1 1 0 0 0 hold 0 0 1 0 1 0 1 0 0 1 hold 0 0 1 0 1 1 1 0 1 0 hold 0 0 1 1 0 0 1 0 1 1 hold 0 0 1 1 0 1 1 1 0 0 hold 0 0 1 1 1 0 1 1 0 1 hold 0 0 1 1 1 1 1 1 1 0 hold 0 0 Tabela 5 Funcionamento do contador decrescente de 4 bits J3 Q2Q1Q0 K3 Q2Q1Q0 Figura 3 Contador decrescente de quatro bits A diferença entre os contadores crescentes e os decrescentes é que os crescentes usam nas portas lógicas AND os bits Q enquanto os decrescentes usam os bits Q Figura 4 Contador decrescente de cinco bits V 4321 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK 321 4 V S J CP K R Q Q 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 354 É possível criar um contador reversível através da comutação entre os bits Q e os bits Q por meio do uso da porta lógica XOR como um inversor programável A segunda opção do contador reversível logo abaixo apresenta a vantagem de que na ocasião da seleção do comando de inversão o valor vigente é preservado Na primeira opção o processo de seleção da inversão implica na ime diata inversão bitabit da saída Figura 5 Contador reversível por meio da inversão das saídas Figura 6 Contador reversível por meio da inversão das entradas das portas AND direction CLK 321 4 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q direction CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 355 Capítulo 505 Modificações no contador síncrono JK No capítulo anterior foi apresentado o método de projeto de contadores completos síncro nos JK por meio do uso dos comandos com memória hold e invert Este método pode ser aplicado para outros tipos de contadores síncronos JK Uma mensagem precisa ficar clara para o estudante que se depara com a apresentação desta metodologia No caso dos contadores completos este método fornece o circuito lógico em sua forma otimizada porém no caso de outros contadores este método não garante a otimização O propósito deste capítulo é apresentar o desenvolvimento do intelecto humano no sentido de per mitir o melhor entendimento a respeito dos melhores métodos de projeto destes circuitos Nos capítulos seguintes será apresentado um aperfeiçoamento deste método tornando a metodologia deste capítulo desaconselhável A diferença está no fato de que neste capítulo será apresentado o método de aplicação de somente os comandos com memória hold e invert Nos capítulos seguintes será apresentado o método que emprega também os comandos sem memória set e reset mostrando a maneira como esta inclusão permite uma interessante redução no tamanho do circuito Exemplo 1 Contador de 0 a 2 Antes Depois Antes Depois Q1 Q0 Q1 Q0 bit 1 bit 0 0 1 0 0 0 1 hold invert 1 2 0 1 1 0 invert invert 2 0 1 0 0 0 invert hold 3 X 1 1 X X Tabela 1 Funcionamento do contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 X X X X X X Tabela 2 Funcionamento do contador de 0 a 2 J0 Q1 J1 Q1Q0 K0 Q1 K1 Q1Q0 Figura 1 Circuito lógico do contador de 0 a 2 CLK V 321 4 S J CP K R Q Q S J CP K R Q Q FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 356 Exemplo 2 Contador de 0 a 6 Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 bit 2 bit 1 bit 0 0 1 0 0 0 0 0 1 hold hold invert 1 2 0 0 1 0 1 0 hold invert invert 2 3 0 1 0 0 1 1 hold hold invert 3 4 0 1 1 1 0 0 invert invert invert 4 5 1 0 0 1 0 1 hold hold invert 5 6 1 0 1 1 1 0 hold invert invert 6 0 1 1 0 0 0 0 invert invert hold 7 X 1 1 1 Tabela 3 Funcionamento do contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 X X X X X X X X X X X X Tabela 4 Funcionamento do contador de 0 a 6 J2 K2 J1 K1 J0 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 X 1 1 0 1 X 1 1 1 1 X 0 Tabela 5 Minimização das funções J2 K2 Q1Q2Q0 J1 K1 Q0Q2Q1 J0 K0 Q2Q1 É possível observar que o processo de minimização por Mapa de Karnaugh não é suficiente para promover uma boa minimização Isso acontece porque este método de projeto não oferece irrelevâncias As únicas irrelevâncias observáveis acontecem em razão da ocorrência de estados fantasmas No capítulo seguinte é apresentada uma estratégia de criação de irrelevâncias por meio da disponibilização dos quatro comandos do flip flop JK O método apresentado neste capítulo possui a vantagem de implicar na construção de uma única função para cada bit de contagem tornandoo bastante semelhante ao método aplicado ao flip flop datum Estes dois métodos porém possuem a desvantagem do baixo poder minimizatório decorrente da pequena ou nula ocorrência de irrelevâncias O método apresentado no capítulo se guinte possui a desvantagem de implicar na construção de duas funções para cada bit de contagem porém mesmo assim o poder minimizatório supera esta desvantagem tornando aquele método mais interessante Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 357 Figura 2 Circuito lógico do contador de 0 a 6 CLK S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V FF0 FF1 FF2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 358 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 359 Capítulo 506 Minimização no contador síncrono JK No capítulo anterior foi apresentado o método de projeto de contadores síncronos JK por meio do uso dos comandos com memória hold e invert Os comandos sem memória set e reset podem ser empregados a fim de gerar uma interessante redução no tamanho do circuito Um bit binário possui apenas quatro possibilidades de transição É preciso saber identificar quais comandos efetuam determinadas transições Nesta identi ficação é preciso separar os comandos quanto a possuírem ou não memória A ocorrência das irrelevâncias nos comandos do FF JK permite um maior poder minimizató rio promovendo uma interessante redução no tamanho do circuito lógico Esta é uma característica exclusiva do FF JK e que o torna bastante atraente no projeto de contadores síncronos Este método de projeto implica no uso de duas funções lógicas para cada bit de contagem Em virtude da ocorrência de uma minimização de várias funções no mesmo sistema é preciso apli car os conceitos já explicados em capítulos anteriores sobre a minimização conjunta de várias funções Este tipo de método implica no uso de dois tipos de irrelevâncias Irrelevâncias devidas aos comandos JK Irrelevâncias devidas aos estados fantasmas Transição Efeito 00 permanência baixa 01 borda de subida 10 borda de descida 11 permanência alta Tabela 1 As opções de transição em um bit Cada uma dos quatro tipos de transição pode ser efetuado por meio de um comando com memória e por meio de um comando sem memória Esta característica não é observada nos conta dores construídos a partir de FF RS ou FF datum Comando Transição Com memória Sem memória 00 hold reset 01 invert set 10 invert reset 11 hold set Tabela 2 As opções de comando para cada transição Comando Transição Com memória Sem memória J K J K 00 0 0 0 1 01 1 1 1 0 10 1 1 0 1 11 0 0 1 0 Tabela 3 As configurações das entradas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 360 Cada tipo de transição pode ser efetuada por meio de dois comandos JK e cada um desses dois comandos é ativado por meio dos dois bits de entrada J e K Nestes dois comandos um dos bits é igual e um dos bits é diferente Quando o valor do bit é diferente na comparação entre os dois comandos este bit é irrelevante Transição Comando J K 00 0 X 01 1 X 10 X 1 11 X 0 Tabela 4 A tabela de transições JK O surgimento das irrelevâncias proporciona um grande poder minimizatório nos Mapas de Karnaugh Este poder está no fato de que em cada tabelaverdade ou Mapa de Karnaugh metade das células é irrelevante por causa da tabela de transições JK Este é o motivo porque o FF JK é a melhor opção para o projeto de contadores síncronos mesmo sabendo que o FF D apresenta uma capacidade de freqüência superior O uso do FF JK apresenta vantagem apenas quanto ao surgimento das irrelevâncias Tal van tagem desaparece quando o projeto é feito a partir das funções lógicas escritas na forma canônica Neste caso o uso de FF D é recomendado Estes circuitos serão abordados na ocasião do estudo a cerca dos dispositivos lógicos programáveis Contadores de um bit Analisemos agora de maneira genérica os contadores de um dois três e quatro bits sa bendo que os contadores maiores seguem a mesma linha de raciocínio A coluna marcada como antes não muda nunca pois por definição todo estado estável precisa ter pelo menos um ca minho de saída Quanto à coluna de saída ela pode apontar para qualquer estado estável do sis tema inclusive o próprio estado anterior Antes Depois Q Q bit J K 0 0 1 00 01 0 X 1 X 1 0 1 10 11 X 1 X 0 Tabela 5 As possibilidades de contagem de um bit Antes Depois Q Q J K 0 X 1 X Tabela 6 O esboço da tabela de transições de um bit Nas tabelasverdade das funções J e K somente as células marcadas com são confi guráveis em acordo com o diagrama de estados estáveis finitos As células irrelevantes tem o seu valor definido a partir dos implicantes primos essenciais dos Mapas de Karnaugh Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 361 Contadores de dois bits Antes Depois Q1 Q0 Q1 Q0 bit 1 bit 0 J1 K1 J0 K0 0 0 0 0 1 1 0 1 0 1 00 00 01 01 00 01 00 01 0 X 0 X 1 X 1 X 0 X 1 X 0 X 1 X 0 1 0 0 1 1 0 1 0 1 00 00 01 01 10 11 10 11 0 X 0 X 1 X 1 X X 1 X 0 X 1 X 0 1 0 0 0 1 1 0 1 0 1 10 10 11 11 00 01 00 01 X 1 X 1 X 0 X 0 0 X 1 X 0 X 1 X 1 1 0 0 1 1 0 1 0 1 10 10 11 11 10 11 10 11 X 1 X 1 X 0 X 0 X 1 X 0 X 1 X 0 Tabela 7 As possibilidades de contagem de dois bits Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 X X 0 1 X X 1 0 X X 1 1 X X Tabela 8 O esboço da tabela de transições de dois bits J1 J0 10 0 1 10 0 1 0 0 X 1 X X 1 X K1 K0 10 0 1 10 0 1 0 X X 0 X 1 1 X Tabela 9 O esboço dos Mapas de Karnaugh de três bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 362 Contadores de três bits Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 X X X 0 0 1 X X X 0 1 0 X X X 0 1 1 X X X 1 0 0 X X X 1 0 1 X X X 1 1 0 X X X 1 1 1 X X X Tabela 10 O esboço da tabela de transições de três bits J2 J1 J0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 X X 0 X X 1 X X X X 1 X X 1 X X K2 K1 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 X X X X 0 X X 0 X X 1 1 X X 1 X X Tabela 11 O esboço dos Mapas de Karnaugh de três bits Contadores de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 X X X X 0 0 0 1 X X X X 0 0 1 0 X X X X 0 0 1 1 X X X X 0 1 0 0 X X X X 0 1 0 1 X X X X 0 1 1 0 X X X X 0 1 1 1 X X X X 1 0 0 0 X X X X 1 0 0 1 X X X X 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X Tabela 12 O esboço da tabela de transições de quatro bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 363 J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 00 X X X X 01 01 X X X X 11 X X X X 11 10 X X X X 10 J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 00 X X X X 01 X X X X 01 11 X X X X 11 10 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 X X 00 X X 01 X X 01 X X 11 X X 11 X X 10 X X 10 X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 X X 00 X X 01 X X 01 X X 11 X X 11 X X 10 X X 10 X X Tabela 13 O esboço dos Mapas de Karnaugh de quatro bits Exemplo 1 Contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 0 1 0 X 1 X 0 1 1 0 1 X X 1 1 0 0 0 X 1 0 X 1 1 X X X X X X Tabela 14 Funcionamento do contador de 0 a 2 J1 J0 10 0 1 10 0 1 0 0 1 0 1 X 1 X X 1 0 X K1 K0 10 0 1 10 0 1 0 X X 0 X 1 1 1 X 1 X 1 Tabela 15 O esboço dos Mapas de Karnaugh de três bits J1 Q0 K1 1 J0 Q1 K0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 364 Figura 1 Circuito lógico do contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 J1 K1 J0 K0 0 0 0 1 0 1 1 1 reset invert 0 1 1 0 1 1 1 1 invert invert 1 0 0 0 0 1 0 1 reset reset 1 1 0 0 1 1 0 1 invert reset Tabela 16 Funcionamento do contador de 0 a 2 após a substituição das irrelevâncias Figura 2 Diagrama de estados estáveis finitos completo do contador de 0 a 2 Exemplo 2 Contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 1 0 1 X 0 0 X 1 X 1 0 1 1 1 0 X 0 1 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 X X X X X X X X X Tabela 17 Funcionamento do contador de 0 a 6 J2 J1 J0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 0 1 0 0 0 1 X X 0 1 X X 1 1 X X X X 1 0 1 X X 1 1 X X 0 K2 K1 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 X X X X 0 X X 1 0 0 X 1 1 X 1 0 0 X 1 1 X X X 1 1 X 1 X X Tabela 18 Mapas de Karnaugh do contador de 0 a 6 CLK V 321 4 S J CP K R Q Q S J CP K R Q Q 3 1 2 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 365 J2 Q1Q0 K2 Q1 J1 Q0 K1 Q2Q0 J0 Q2Q1 K0 1 Figura 3 Circuito lógico do contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 0 0 0 1 1 hold hold invert 0 0 1 0 1 0 0 0 1 1 1 1 hold invert invert 0 1 0 0 1 1 0 1 0 0 1 1 reset hold invert 0 1 1 1 0 0 1 1 1 1 1 1 invert invert invert 1 0 0 1 0 1 0 0 0 1 1 1 hold reset invert 1 0 1 1 1 0 0 0 1 1 1 1 hold invert invert 1 1 0 0 0 0 0 1 0 1 0 1 reset reset reset 1 1 1 0 0 0 1 1 1 1 0 1 invert invert reset Tabela 19 Funcionamento do contador de 0 a 6 Figura 4 Diagrama de estados estáveis finitos completo do contador de 0 a 6 CLK S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V 0 6 1 2 7 4 3 5 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 366 Exemplo 3 Contador BCD Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 X 0 X 0 X 1 X 0 0 0 1 0 X 0 X 1 X X 1 0 0 1 0 0 X 0 X X 0 1 X 0 0 1 1 0 X 1 X X 1 X 1 0 1 0 0 0 X X 0 0 X 1 X 0 1 0 1 0 X X 0 1 X X 1 0 1 1 0 0 X X 0 X 0 1 X 0 1 1 1 1 X X 1 X 1 X 1 1 0 0 0 X 0 0 X 0 X 1 X 1 0 0 1 X 1 0 X 0 X X 1 1 0 1 0 X X X X X X X X 1 0 1 1 X X X X X X X X 1 1 0 0 X X X X X X X X 1 1 0 1 X X X X X X X X 1 1 1 0 X X X X X X X X 1 1 1 1 X X X X X X X X Tabela 20 Funcionamento do contador BCD J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 0 00 X X X X 01 0 0 1 0 01 X X X X 11 X X X X 11 X X X X 10 X X X X 10 0 1 X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 0 00 X X X X 01 X X X X 01 0 0 1 0 11 X X X X 11 X X X X 10 0 0 X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 1 0 01 0 1 X X 01 X X 1 0 11 X X X X 11 X X X X 10 0 0 X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X 1 00 X 1 1 X 01 1 X X 1 01 X 1 1 X 11 X X X X 11 X X X X 10 1 X X X 10 X 1 X X Tabela 21 Mapas de Karnaugh do contador BCD J3 Q2Q1Q0 K3 Q0 J2 Q1Q0 K2 Q1Q0 J1 Q3Q0 K1 Q0 J0 1 K0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 367 J3 Q2J2 K3 Q0 J2 K2 Q1Q0 J1 Q3Q0 K1 Q0 J0 K0 1 Figura 5 Circuito lógico do contador BCD Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 Tabela 22 Funcionamento do contador BCD CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 368 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 hold hold hold invert 0 0 0 1 reset hold invert invert 0 0 1 0 hold hold hold invert 0 0 1 1 reset invert invert invert 0 1 0 0 hold hold hold invert 0 1 0 1 reset hold invert invert 0 1 1 0 hold hold hold invert 0 1 1 1 reset invert invert invert 1 0 0 0 hold hold hold invert 1 0 0 1 reset hold reset invert 1 0 1 0 hold hold hold invert 1 0 1 1 reset invert reset invert 1 1 0 0 hold hold hold invert 1 1 0 1 reset hold reset invert 1 1 1 0 hold hold hold invert 1 1 1 1 invert invert reset invert Tabela 23 Funcionamento do contador BCD Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 10 11 1 0 1 0 1 0 1 1 11 4 1 0 1 1 0 1 0 0 12 13 1 1 0 0 1 1 0 1 13 4 1 1 0 1 0 1 0 0 14 15 1 1 1 0 1 1 1 1 15 0 1 1 1 1 0 0 0 0 Tabela 24 Funcionamento completo do contador BCD Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 369 Figura 6 Diagrama de estados estáveis finitos completo para o contador BCD 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 370 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 371 Capítulo 507 Contador Anel Nos capítulos anteriores foram apresentados os contadores convencionais Aqueles conta dores apresentam em seus bits de saída um número binário correspondente ao valor instantâneo da contagem Poderíamos dizer que aqueles seriam contadores codificados pois o valor da con tagem é dado através de um código binário Também foram apresentados em capítulos anteriores os conceitos de codificadores e de decodificadores Na oportunidade foi mostrado que um valor binário pode ser apresentado de maneira codificada e de maneira codificada No caso da representação codificada o sufixo do bit em questão aponta para o valor decimal instantâneo da contagem Codificadores e decodificadores são circuitos combinacionais entretanto este conceito pode ser expandido para o escopo dos circuitos sequenciais Um contador decodificado seria aquele que tal como um decodificador possui um bit de saída exclusivo para cada estado estável sendo o índice do estado representado pelo sufixo do bit em uso Tal como os decodificadores os contadores decodificados acionam um e apenas um bit de saída por vez Nos circuitos combinacionais a decodificação aponta para o mintermo ou max termo selecionado Nos circuitos sequenciais a decodificação aponta para o estado vigente Como não é permitido acessar dois estados estáveis ao mesmo tempo então apenas um único bit de saída pode ser acionado por vez Em bora estes contadores sejam melhor denominados por contadores decodificados esta nomenclatura não é adotada Ao invés disso eles são chamados de contador anel ou ring coun ter O nome anel aponta para o fato de que temos um funcionamento cíclico periódico que pode ser representado em uma circunferência dividida em 360 graus A disposição física e geométrica dos LEDs acionados pelo contador anel é totalmente irrele vante Não é necessário dispor os LEDs de forma circular ou linear Apesar dos contadores anel possuírem um grande apelo intuitivo no deslocamento visual das luzes é no acionamento de máquinas elétricas que estes contadores encontram sua principal aplicação prática É bastante comum que a planta industrial de uma fábrica faça uso de processos acionados em cascata sequencialmente automaticamente Neste caso cada atuador é acionado por meio de um bit específico do contador anel Antigamente antes da popularização dos circuitos digitais os contadores anéis eram cons truídos de maneira mecânica Uma alavanca permite que o usuário do equipamento exerça com as mãos o giro do eixo central de uma mola helicoidal Esta mola é responsável pelo acúmulo de ener gia potencial elástica Quando o usuário retira a mão da alavanca a mola aciona um sistema de engrenagens redutoras de velocidade angular Esta redução além de regular o tempo de expansão da mola melhora a linearidade da expansão À medida em que o sistema de engrenagens atua a roda mais lenta efetua a comutação dos contatos gerando uma contagem em anel Embora este sistema funcione satisfatoriamente possui algumas desvantagens como por exemplo custo ta manho e peso elevados Além disso a mola helicoidal possui baixa vida útil Até hoje alguns fornos elétricos e máquinas de lavar roupas utilizam este sistema de contagem anel Posteriormente o sistema de atuação por mola helicoidal foi substituído por um motor elé trico trazendo a vantagem da linearização da contagem anel aumentando porém o custo do dis positivo Este sistema era bastante empregado em máquinas de lavar roupas do passado Alguns dispositivos apresentavam vários contatos acionados em um mesmo estágio de contagem consis tindo de vários contadores anel operados em paralelo Em capítulos seguintes serão apresentados os registradores de deslocamento Por meio de les é possível criar uma versão melhorada dos contadores anel Neste capítulo porém será apre sentado o contador anel projetado através da tabela de transições de estados apresentada nos ca pítulos anteriores Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 372 O tipo de contador anel apresentado neste capítulo bem como os contadores anel constru ídos a partir dos registradores de deslocamento possuem a desvantagem de utilizar um FF para cada bit anel Esta característica aponta para uma baixa capacidade de utilização do custo informa tivo Por exemplo um contador anel de quatro bits utilizando quatro FFs possui uma capacidade de contagem máxima de dezesseis estados dos quais apenas quatro são usados implicando em uma taxa de utilização de estados de apenas 25 Quanto maior é a quantidade de bits do conta dor anel menor é a sua taxa de utilização da capacidade informativa Em capítulos seguintes serão apresentados os contadores codificados Esta solução permite otimizar esta taxa de utilização bits anel quantidade de FFs estados possíveis taxa de utilização 3 3 238 38 375 4 4 2416 416 25 5 5 2532 532 15625 6 6 2664 664 9375 Tabela 1 Taxa de utilização da capacidade informativa nos contadores anel A versão digital dos contadores anel traz muitas vantagens como por exemplo Baixo custo Baixo consumo de energia elétrica Melhor miniaturização Maior vida útil Maior capacidade de bits Maior capacidade de frequência de operação Ausência de ruído acústico Anel de três bits Figura 1 Contador anel de três bits com LEDs em disposição circular Figura 2 Contador anel de três bits com LEDs em disposição linear Figura 3 Diagrama de estados finitos do contador anel de três bits 2 4 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 373 Figura 4 Diagrama de estados finitos incluindo os estados fantasmas No diagrama de estados estáveis finitos com os estados fantasmas é possível observar que o acesso ao estado 0 é inevitável pois a energização do circuito real leva os bits de saídas de dados ao estado inicial 0 Por outro lado o estado 0 não está incluído no contador anel Isto significa que este circuito inicia em uma situação de defeito passando a operar corretamente na sequên cia O estado 0 não pode ser considerado fantasma pois a sua saída não é irrelevante O estado 0 leva obrigatoriamente ao estado 1 Figura 5 Diagrama de estados finitos do contador anel de três bits na forma binária Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 1 0 0 1 X X 1 0 X 1 0 0 0 0 1 X 1 0 X 1 X Tabela 2 Funcionamento simplificado do contador anel de três bits Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 1 0 0 1 X X 1 0 X 0 1 1 X X X X X X X X X 1 0 0 0 0 1 X 1 0 X 1 X 1 0 1 X X X X X X X X X 1 1 0 X X X X X X X X X 1 1 1 X X X X X X X X X Tabela 3 Funcionamento completo do contador anel de três bits 1 2 4 0 010 001 100 000 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 374 J2 K2 210 00 01 11 10 210 00 01 11 10 0 0 0 X 1 0 X X X X 1 X X X X 1 1 X X X J1 K1 210 00 01 11 10 210 00 01 11 10 0 0 1 X X 0 X X X 1 1 0 X X X 1 X X X X J0 K0 210 00 01 11 10 210 00 01 11 10 0 1 X X 0 0 X 1 X X 1 1 X X X 1 X X X X Tabela 4 Os Mapas de Karnaugh do contador anel de três bits K2 K1 K0 1 J2 Q1 J1 Q0 J0 Q1 Este contador é melhor desenhado na ordem invertida a saber colocando o FF mais signifi cativo à direita e o menos significativo à esquerda Figura 6 Circuito lógico do contador anel de três bits Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 Tabela 5 Preenchimento da tabela após a definição dos IPEs Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 reset reset invert 0 0 1 reset invert reset 0 1 0 invert reset reset 1 0 0 reset reset invert Tabela 6 Os comandos usados no contador anel Figura 7 Funcionamento do contador anel de três bits CLK Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q invert reset reset reset invert reset reset reset invert invert reset reset Q0 Q1 Q2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 375 Anel de quatro bits Figura 8 Contador anel de quatro bits com LEDs em disposição circular Figura 9 Contador anel de quatro bits com LEDs em disposição linear Figura 10 Diagrama de estados finitos do contador anel de quatro bits Figura 11 Diagrama de estados finitos incluindo os estados fantasmas Figura 12 Diagrama de estados finitos do contador anel de quatro bits na forma binária 0 2 14 12 10 1 3 13 3 4 5 8 6 9 8 2 4 1 8 1 2 4 0 1000 0010 0100 0001 0000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 376 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 1 0 0 0 X 1 X X 1 0 X 0 1 0 0 1 0 0 0 1 X X 1 0 X 0 X 1 0 0 0 0 0 0 1 X 1 0 X 0 X 1 X Tabela 7 Funcionamento simplificado do contador anel de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 1 0 0 0 X 1 X X 1 0 X 0 0 1 1 X X X X X X X X X X X X 0 1 0 0 1 0 0 0 1 X X 1 0 X 0 X 0 1 0 1 X X X X X X X X X X X X 0 1 1 0 X X X X X X X X X X X X 0 1 1 1 X X X X X X X X X X X X 1 0 0 0 0 0 0 1 X 1 0 X 0 X 1 X 1 0 0 1 X X X X X X X X X X X X 1 0 1 0 X X X X X X X X X X X X 1 0 1 1 X X X X X X X X X X X X 1 1 0 0 X X X X X X X X X X X X 1 1 0 1 X X X X X X X X X X X X 1 1 1 0 X X X X X X X X X X X X 1 1 1 1 X X X X X X X X X X X X Tabela 8 Funcionamento completo do contador anel de quatro bits Mapas de Karnaugh na próxima página K3 K2 K1 K0 1 J3 Q2 J2 Q1 J1 Q0 J0 Q2Q1 Figura 13 Circuito lógico do contador anel de quatro bits CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 377 J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 X 0 00 X X X X 01 1 X X X 01 X X X X 11 X X X X 11 X X X X 10 X X X X 10 1 X X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 X 1 00 X X X X 01 X X X X 01 1 X X X 11 X X X X 11 X X X X 10 0 X X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X X 1 01 0 X X X 01 X X X X 11 X X X X 11 X X X X 10 0 X X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X 0 00 X 1 X X 01 0 X X X 01 X X X X 11 X X X X 11 X X X X 10 1 X X X 10 X X X X Tabela 9 Os Mapas de Karnaugh do contador anel de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 Tabela 10 Preenchimento da tabela após a definição dos IPEs Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 reset reset reset invert 0 0 0 1 reset reset invert invert 0 0 1 0 reset invert reset reset 0 1 0 0 invert reset reset reset 1 0 0 0 reset reset reset invert Tabela 11 Os comandos usados no contador anel Figura 14 Funcionamento do contador anel de quatro bits invert reset reset reset invert invert reset reset reset reset invert reset reset reset reset invert invert reset reset reset Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 378 É possível observar a ocorrência de um padrão Esta observação permite a expansão do con tador em anel para qualquer quantidade de bits sem a necessidade da efetuação de todo o proce dimento de projeto Todos os bits K são ligados ao nível lógico 1 Exceto J0 todos os demais bits J são ligados à saída Q à esquerda O bit J0 é ligado a todas as saídas Q exceto a última saída Q As saídas Q são levadas a J0 por meio de uma porta AND Figura 15 Contador anel de cinco bits Figura 16 Contador anel de seis bits A definição conceitual de contagem anel esclarece que somente um bit de saída é acionado por vez não permitindo que dois ou mais bits sejam ativados ao mesmo tempo Isso não impede que o conceito de contagem anel seja extrapolado para dois ou mais bits É necessário porém que o nome do contador faça menção a esta estrapolação Se duas saídas são acionadas dizemos que o contador anel é duplo Se são três saídas o contador é triplo E assim por diante CLK S J CP K R Q Q Q0 V Q4 Q1 Q2 Q3 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK Q5 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Q3 Q2 Q1 Q4 V Q0 S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 379 Duplo anel de quatro bits Figura 17 Contador anel de quatro bits com LEDs em disposição circular Figura 18 Contador anel de quatro bits com LEDs em disposição linear Figura 19 Diagrama de estados finitos do contador anel de quatro bits Figura 20 Diagrama de estados finitos do contador anel de quatro bits na forma binária Figura 21 Diagrama de estados finitos incluindo os estados fantasmas 9 6 12 3 0 2 14 12 1 3 13 3 4 5 10 6 9 8 3 9 6 1 12 0 1001 0011 0110 1100 0001 0000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 380 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 1 0 X 0 X 1 X X 0 0 0 1 1 0 1 1 0 0 X 1 X X 0 X 1 0 1 1 0 1 1 0 0 1 X X 0 X 1 0 X 1 1 0 0 1 0 0 1 X 0 X 1 0 X 1 X 1 0 0 1 0 0 1 1 X 1 0 X 1 X X 0 Tabela 12 Funcionamento simplificado do contador anel de quatro bits J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 X 00 X X X X 01 X X X 1 01 X X X X 11 X X X X 11 0 X X X 10 X X X X 10 X 1 X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 X 00 X X X X 01 X X X X 01 X X X 0 11 X X X X 11 1 X X X 10 X 0 X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 0 X 01 X X X X 01 X X X 1 11 0 X X X 11 X X X X 10 X 1 X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X X 00 X 0 1 X 01 X X X 0 01 X X X X 11 1 X X X 11 X X X X 10 X X X X 10 X 0 X X Tabela 13 Os Mapas de Karnaugh do contador anel de quatro bits J3 K1 Q2 J2 K0 Q1 J1 K3 Q0 J0 K2 Q1 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 Tabela 14 Preenchimento da tabela após a definição dos IPEs Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 381 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 hold reset hold set 0 0 0 1 reset reset set set 0 0 1 1 reset set set reset 0 1 1 0 set set reset reset 1 1 0 0 set reset reset set 1 0 0 1 reset reset set set Tabela 15 Os comandos usados no contador anel Figura 22 Circuito lógico do duplo contador anel de quatro bits CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 382 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 383 Capítulo 508 Contador Johnson No capítulo anterior foi apresentado o contador anel que embora tenha forte aplicação em automação industrial e em equipamentos eletrônicos também possui um interessante apelo visual Seguindo esta mesma linha de raciocínio foi criado o contador Johnson O contador Johnson oferece a percepção de progressão e de regressão Diferentemente do contador anel porém o contador Johnson possui baixa aplicação quanto ao acionamento de má quinas elétricas razão pela qual o contador Johnson é menos usado do que o contador anel O contador Johnson somente possui relevância quando a quantidade de bits é maior ou igual a quatro O sentido da contagem é irrelevante haja vista que por meio da ligação elétrica destes bits com os seus atuadores é possível fazer ou desfazer uma inversão Em relação ao contador anel o contador Johnson possui a vantagem de fazer uso do estado zero Isso permite que o circuito inicie sem a necessidade de que se faça uso de estados fantas mas Contagem Johnson de quatro bits Figura 1 Contador Johnson de quatro bits com LEDs em disposição linear Figura 2 Diagrama de estados estáveis finitos para o contador Johnson de quatro bits 12 0 3 15 1 7 14 8 1100 0000 0011 1111 0001 0111 1110 1000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 384 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 1 0 X 0 X 1 X X 0 0 0 1 1 0 1 1 1 0 X 1 X X 0 X 0 0 1 1 1 1 1 1 1 1 X X 0 X 0 X 0 1 1 1 1 1 1 1 0 X 0 X 0 X 0 X 1 1 1 1 0 1 1 0 0 X 0 X 0 X 1 0 X 1 1 0 0 1 0 0 0 X 0 X 1 0 X 0 X 1 0 0 0 0 0 0 0 X 1 0 X 0 X 0 X Tabela 1 Funcionamento simplificado do contador Johnson de quatro bits Figura 3 Diagrama de estados estáveis finitos completo para o contador Johnson de quatro bits J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 X 00 X X X X 01 X X 1 X 01 X X X X 11 X X X X 11 0 X 0 0 10 X X X X 10 1 X X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 X 00 X X X X 01 X X X X 01 X X 0 X 11 X X X X 11 1 X 0 0 10 0 X X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 0 X 01 X X X X 01 X X 0 X 11 0 X X X 11 X X 0 1 10 0 X X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X X 00 X 0 0 X 01 X X X X 01 X X 0 X 11 0 X X 0 11 X X 1 X 10 0 X X X 10 X X X X Tabela 2 Os Mapas de Karnaugh do contador Johnson de quatro bits 0 2 14 12 1 3 13 3 4 5 10 6 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 385 J3 Q2 K3 Q2 J2 Q1 K2 Q1 J1 Q0 K1 Q0 J0 Q3 K0 Q3 Figura 4 Circuito lógico para o contador Johnson de quatro bits Todos os FFs JK do circuito contador Johnson de quatro bits possuem as entradas J e K com plementares Isto significa que os FFs JK recebem apenas os comandos set e reset recebem apenas os comandos sem memória Em outras palavras os FFs JK atuam como FFs datum O cir cuito pode então ser melhorado trocando os FFs JK por FFs datum Figura 5 Circuito lógico para o contador Johnson de quatro bits usando FF datum D3 Q2 D2 Q1 D1 Q0 D0 Q3 Considerando que a saída Q do FF datum corresponde ao valor futuro da entrada datum então podemos fazer uma correlação cronológica entre as saídas Q Figura 6 Funcionamento do contador Johnson de quatro bits A inversão no bit Q3 é a raiz do efeito Johnson Considerando que todos os bits Q iniciam com valor 0 então a inversão de Q3 leva o valor 1 a Q0 Este valor 1 é deslocado sucessiva mente até a posição Q3 quando finalmente sofre uma nova inversão e transformase em 0 O entendimento deste funcionamento permite que este circuito seja expandido para tantos bits quanto se queira CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q3 Q0 Q1 Q2 V Q0 Q1 Q2 Q3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 386 Figura 7 Circuito lógico para o contador Johnson de cinco bits bits johnson quantidade de FFs estados possíveis taxa de utilização 4 4 2416 816 50 5 5 2532 1032 3125 6 6 2664 1264 1875 Tabela 3 Taxa de utilização da capacidade informativa nos contadores anel Um contador Johnson possui o dobro da quantidade de estados de um contador anel com a mesma quantidade de bits oferecendo o dobro da taxa de utilização dos estados estáveis CLK S D CP R Q Q Q4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q3 Q0 Q1 Q2 V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 387 Unidade 6 Registradores Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 388 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 389 Capítulo 601 Registrador paralelo Registrador é o dispositivo que tem como principal função realizar o registro de uma infor mação Registrar é o ato de memorizar Todo registrador pode ser considerado um tipo de memória Para efeito de organização do conteúdo e tomando como base a noção das palavras registrador e memória no imaginário popular brasileiro este texto faz a seguinte distinção entre os significa dos destas duas palavras Registrador Não possui barramento de endereço Memória Possui barramento de endereço Em outras palavras um registrador seria um tipo particular de memória onde haveria so mente um único endereço Há dois tipos de registradores Registrador paralelo Registrador série Quando a palavra registrador é usada sem a especificação sobre o tipo pressupõese tra tarse do registrador paralelo que é o tipo mais usado A função do registrador é a de exercer o armazenamento de uma e apenas uma palavra binária A unidade de registro é o flipflop Há dois tipos de registradores Registrador datum Registrador JK O registrador datum é melhor do que o registrador JK sob todas as análises A única justifi cativa para o uso do registrador JK é a situação onde o layout do circuito integrado é projetado para fazer uso de flipflops todos iguais do tipo JK Figura 1 Símbolo do registrador nbit REG write out CE WE in Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 390 Figura 2 Registrador datum de quatro bits Figura 3 Registrador datum de quatro bits com clear e write enable Figura 4 Registrador JK de quatro bits INA INB INC IND write V 5V 321 4 input 321 4 output S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q WE S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 output 321 4 input V 5V write clear INA IND INC INB write IND INC INB INA V 5V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 output 321 4 input Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 391 Figura 5 Registrador datum de quatro bits integrado Figura 6 Registrador com identificador de mudança na entrada Todos os circuitos digitais multiplexadores possuem um registrador para cada uma das en tradas Isso garante que a leitura das entradas é feita de maneira síncrona e impede que uma gra vação na saída seja feita durante o processo de escrita de uma das entradas Figura 7 Multiplexador com entradas registradas Figura 8 Multiplexador com saída registrada write enable reset IN D IN C IN B IN A write output enable 4076 D3 D2 D1 D0 ED1 ED0 EO1 EO0 CP MR Q0 Q1 Q2 Q3 321 4 output 321 4 input INA INB INC IND write mudou V 5V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 2bit 21 MUX sel out CE OE A B REG REG clk 2bit 21 MUX sel out CE OE A B REG clk Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 392 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 393 Capítulo 602 Registrador série Uma comunicação digital pode ser feita de duas maneiras Comunicação paralela Comunicação serial A vantagem da comunicação paralela é o fato de que todos os bits das palavras são transmi tidos simultaneamente isso oferece uma maior rapidez na comunicação A desvantagem da comu nicação paralela é que quando as distâncias são grandes o custo é elevado pois é necessário um condutor elétrico para cada bit das palavras binárias A vantagem da comunicação serial é o fato de que a depender do protocolo de comunica ção são necessários apenas um ou dois condutores elétricos para a transmissão dos dados A de pender do protocolo um condutor adicional pode ser necessário pode ser usado para a sincronia A desvantagem da comunicação serial é que é necessário usar um protocolo de comunicação e isso torna o circuito muito mais complexo Há dois tipos de comunicação serial Comunicação de um canal Serial data IO Comunicação de dois canais Serial in Serial out RX TX A comunicação de dois canais possui a vantagem de não precisar multiplexar temporalmente os dois sentidos do fluxo da informação proporcionando um protocolo de comunicação mais sim ples e um circuito digital mais barato A desvantagem da comunicação de dois canais é que ela re quer dois condutores de dados e isso implica em um custo elevado quando as distâncias são gran des A comunicação de um canal possui a vantagem adicional de permitir o uso de uma linha de transmissão não elétrica Exemplos de linha de transmissão não elétrica Fibra ótica Infravermelho Rádio Wifi O registrador serial possui aplicação unicamente no contexto da comunicação serial Sua aplicação é bastante restrita e limitada O registrador serial também é chamado de registrador de deslocamento shift register porque o seu funcionamento consiste do deslocamento bitabit através dos flipflops Um exemplo de aplicação seriam circuitos atrasadores Estes circuitos atrasadores são úteis quando a comunicação é feita em vários canais onde é observada uma falta de sincronia Neste caso os canais adiantados precisam ser atrasados para que estejam em sincronia com os canais atrasados Um exemplo desta situação seriam receptores de sinal de televisão digital onde o pro cessamento do áudio é muito mais rápido do que o do vídeo O registrador serial provoca um atraso concatenado O atraso concatenado é determinado pela soma dos atrasos individuais provocados por cada flipflop Este atraso depende da frequência de relógio Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 394 Figura 1 Registrador serial de quatro bits Figura 2 Registrador serial de quatro bits integrado Figura 3 Registrador serial de quatro bits com saída paralela Figura 4 Registrador serial de quatro bits integrado com saída paralela serial in pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q CP1 CP2 Q1 Q2 clock V 5V serial out pause serial in serial out CP1 CP2 Q1 Q2 4015 D CP MR Q0 Q1 Q2 Q3 12 U2A CP1 CP2 Q1 Q2 clock serial in pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V 5V Out0 Out1 Out2 Out3 serial in pause CP1 CP2 Q1 Q2 clock 4015 D CP MR Q0 Q1 Q2 Q3 12 321 4 parallel out Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 395 Figura 5 Registrador serial com leitura paralela na entrada e na saída Um contador assíncrono pode ser usado para identificar a quantidade de bits seriais recebi dos Este contador pode ser usado para interromper a leitura de bits seriais Esta interrupção pode ser usada para sinalizar a disponibilidade de uma palavra binária comleta na saída apta para ser lida por algum outro dispositivo Figura 6 Registrador serial com contagem de bits seriais pause serial in CP1 CP2 Q1 Q2 clock V 5V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 321 4 restart serial in 321 4 counter monitor S D CP R Q Q S D CP R Q Q V 5V CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 output monitor 321 4 input monitor Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 396 Figura 7 Registrador serial com contagem de bits seriais Geralmente um registrador série costuma vir acompanhado por um registrador paralelo Da mesma forma como o contador sinaliza a conclusão da chegada de uma palavra completa na en trada serial este mesmo contador pode ser usado para disparar o comando de escrita deste regis trador paralelo Este registrador paralelo é chamado de buffer register CP1 CP2 Q1 Q2 clock restart serial in 4321 4518 CP0 CP1 MR Q0 Q1 Q2 Q3 12 321 4 parallel out 4015 D CP MR Q0 Q1 Q2 12 Q3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 397 Capítulo 603 Contador Johnson O contador Johnson foi apresentado na unidade 5 Naquele capítulo a técnica de projeto empregada consiste do uso de flipflops JK O leitor atento pode ter percebido que o circuito regis trador série apresentado no capítulo anterior assemelhase bastante ao contador Johnson Por meio de pequenas alterações é possível transformar o registrador de deslocamento em um contador Johnson A principal diferença entre um contador não configurável e um registrador de desloca mento é o fato de que o segundo possui uma entrada enquanto o primeiro não Com base nesta percepção o processo de transformação do registrador de deslocamento em um contador Johnson começa pela eliminação da entrada serial Esta eliminação pode ser feita por meio da realimentação da saída serial para a entrada serial Figura 1 Registrador serial com realimentação positiva Considerando que todos os flipflops iniciam com Q0 então o circuito da figura 1 perma nece estático Todas as saídas Q permanecem com valor zero Uma possível solução para esse pro blema seria usar a saída para promover os comandos setreset no primeiro flipflop Isso pode ser feito transformando o flipflop datum em um flipflop RS por meio das entradas assíncronas pre setclear O problema desta opção é o fato de que estas entradas assíncronas geram um descom passo na contagem Johnson Figura 2 Uso dos comandos presetclear pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q CP1 CP2 Q1 Q2 clock V 5V Out0 Out1 Out2 Out3 pause V 5V CP1 CP2 Q1 Q2 clock Out3 Out2 Out1 Out0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 398 Uma outra alternativa é a definição da função de entrada do registrador de deslocamento Esta definição pode ser feita por meio da observação do comportamento do contador Johnson Figura 3 Diagrama de estados estáveis finitos completo para o contador Johnson de quatro bits D3 max13715 X24569101113 D3 min081214 X24569101113 D3 3210 00 01 11 10 00 1 0 0 X 01 X X 0 X 11 1 X 0 1 10 1 X X X Tabela 1 Definição da função de entrada D3 Q0 Figura 4 Contador Johnson de quatro bits Caso não exista acesso às funções Q é possível usar uma porta NOT pause Out3 Out2 Out1 Out0 V 5V CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 0 2 14 12 1 3 13 3 4 5 10 6 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 399 Figura 5 Contador Johnson de quatro bits com porta NOT Embora faça mais sentido usar o primeiro flipflop localizado à esquerda como sendo o mais significativo o contador Johnson tornase mais intuitivo quando este bit é tomado como sendo o menos significativo pois ele é o primeiro a sofrer uma inversão Figura 6 Contador Johnson de dois bits Figura 7 Contador Johnson de três bits Figura 8 Contador Johnson de quatro bits CP1 CP2 Q1 Q2 D0 D1 D2 D3 Q0 Q1 Q2 Q3 CP Q1 Q0 CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q V V S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q2 CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 400 Figura 9 Contador Johnson de cinco bits Figura 10 Contador Johnson de seis bits Da mesma forma como o flipflop JK não é indicado na construção do registrador de deslo camento igualmente o flipflop JK não é indicado na construção do contador Johnson conforme a topologia dos deslocamentos Porém caso seja necessário é possível usar o flipflop JK Figura 11 Contador Johnson JK de seis bits V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q4 CP1 CP2 Q1 Q2 clock Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock Q0 Q1 Q2 CP1 CP2 Q1 Q2 clock S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 401 Capítulo 604 Contador Anel No capítulo anterior foi mostrada a maneira como o registrador de deslocamento pode ser transformado em um contador Johnson Igualmente o registrador de deslocamento pode ser trans formado em um contador Anel A inversão no último flipflop do contador Johnson é a responsável por tirar o ciclo do estado inicial e por esse motivo ela precisa ser preservada no contador Anel Desta forma podemos entender o contador Anel como sendo uma transformação no contador Johnson No contador Johnson existe uma borda de subida e uma borda de descida Essas duas bor das dividem o período em duas partes iguais Considerando que um contador Johnson de n bits possui 2n estados então a quantidade de passos de contagem incluídas em cada semiciclo é dada por n No contador Anel também existe uma borda de subida e uma borda de descida Porém diferentemente essas duas bordas não dividem o período em duas partes iguais No contador Anel o semiciclo positivo LED aceso nível lógico alto é composto por um único bit um único ciclo de contagem Um contador Anel de n bits possui n estados O maior problema no projeto de um contador Anel está no fato de que não existe estado zero isto é não é permitido que todos os bits assumam o nível zero ao mesmo tempo Isso é um problema porque os flipflops iniciam com Q0 Uma alternativa é construir o registrador de deslocamento com realimentação positiva e usar uma chave manual para realizar a iniciação da contagem anel Figura n Contador Anel com iniciação manual É desejável converter a iniciação manual em uma iniciação automática Esta iniciação auto mática precisa levar em conta o tipo de comando assíncrono dos flipflops Se os comandos pre setclear são ativos em nível baixo então a função lógica desta ativação é dada por um maxtermo Esse maxtermo precisa apontar para a posição zero pois é nela que o comando start precisa ser disparado Start max0 Start Q5 Q4 Q3 Q2 Q1 Q0 start Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 402 Figura 2 Contador Anel com iniciação automática Nem sempre as entradas assíncronas presetclear estão disponíveis Preferencialmente o circuito não deve ser dependente destas entradas Uma maneira de contornar este problema é lem brar que o semiciclo positivo é composto de apenas um passo de contagem um bit Sendo assim o circuito pode ser construído por meio da inversão da entrada e da saída de um dos flipflops Os inversores geram um atraso na propagação dos deslocamentos e um custo adicional Caso as saídas D estejam disponíveis elas devem ser usadas Figura 3 Contador anel com inversor Figura 4 Contador Anel de três bits CP1 CP2 Q1 Q2 clock V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q2 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 403 Figura 5 Contador Anel de quatro bits Figura 6 Contador Anel de cinco bits Figura 7 Contador Anel de seis bits A saída do primeiro flipflop é a única diferença entre o contador Anel e o contador Johnson Uma simples comutação nesta saída é suficiente para promover a transformação de um contador no outro contador Uma porta XOR pode ser usada na função de seletor entre as funções NOT e YES A comutação não pode ser feita no decorrer de uma contagem É preciso primeiro reiniciar o con tador V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q4 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 404 Figura 8 Contador JohnsonAnel configurável reset Anel Johnson V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 405 Capítulo 605 Memórias No contexto semântico a palavra memória consiste da revivência de fatos pertencentes ao passado Qualquer pessoa pode em qualquer momento consultar a sua memória para relem brar as cores É possível imaginar um quadro onde uma metade esteja na cor verde e a outra metade esteja na cor laranja mesmo estando com os olhos abertos Isso significa que o cérebro humano é capaz de ver com seus próprios olhos a cor azul ao mesmo tempo em que o cérebro recorda o que é a cor verde e a cor laranja O mesmo acontece com os sons O cérebro humano é capaz de imaginar o som de um saxofone enquanto os ouvidos recebem uma música interpretada por meio de outros instrumentos musicais A maneira formidável por meio da qual o cérebro humano é capaz de juntar as informações obtidas pelos órgãos dos sentidos junto com as informações obtidas por meio da consulta à memória é algo até hoje inexplicável Os estudos médicos mostram que a memória humana é armazenada por meio da matéria física Em outras palavras se consideramos a tricotomia corpoalmaespírito a memória faria parte do primeiro elemento o corpo Este entendimento está alicerçado no fato de que vários aconteci mentos podem provocar perda de memória como por exemplo acidentes onde ocorre perda de massa encefálica ou traumatismos cranianos e também a senilidade e as doenças degenerativas Estudos também mostram que a memória não estaria toda ela armazenada no cérebro Al gumas informações precisariam de um acesso ultra rápido Esse é o caso por exemplo da memó ria muscular É a memória muscular que faz com que um pianista após anos de estudos consiga executar obras musicais complicadíssimas com destreza e perfeição É a memória muscular que faz com que um skatista após anos de treinamento consiga executar uma manobra onde o skate faz um giro nos três eixos cartesianos simultaneamente O estilo individual da letra de mão é o resul tado da memória muscular Todos esses exemplos são casos onde o sujeito tem a impressão de que o movimento do corpo ocorre de maneira automática Essa impressão existe porque a promoção dos estímulos elétricos que acionam os músculos não é proveniente do cérebro mas sim dos ele mentos de memória anexos a esses músculos Além do fato de que parte da memória humana esteja espalhada por todo o corpo existe também a característica de que a memória humana é compartimentdada em segmentos hierárqui cos As informações que são consultadas constantemente são armazenadas em uma região de acesso mais fácil As informações que são consultadas raramente são armazenadas em locais mais distantes Isso explica a razão porque as atividades que são executadas cotidianamente são lembra das mais facilmente enquanto que aquelas atividades que ficaram no passado são lembradas com maior dificuldade Quando a informação é inacessada por um tempo prolongado há o risco de que ela seja aparentemente esquecida Outra característica essencial para que a memória seja considerada como tal é a sua dispo nibilidade ao acesso Grande parte das informações que consideramos esquecidas estão de fato armazenadas em nosso cérebro O que se entendem como esquecimento não seria exatamente sobre a informação propriamente dita mas sim sobre a sua rota de acesso Podemos entender o cérebro humano como sendo uma biblioteca composta por milhares de livros A informação que não pode ser lembrada estaria armazenada em algum destes livros porém a ficha catalográfica estaria incompleta de modo que não se sabe em qual livro esta informação estaria armazenada Se a memória humana é armazenada em algum elemento físico do corpo humano então é preciso que o cérebro seja capaz de acessar o exato local físico deste armazenamento Se o cérebro não sabe qual é este caminho então a informação é considerada esquecida Porém um agente externo pode guiar o cérebro na busca por esse caminho e a informação é relembrada O cérebro humano possui a habilidade de alocar uma porção da memória para as informa ções de relevância instantânea e de irrelevância em longo prazo Tratamse das informações que Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 406 acabaram de chegar e que o cérebro não sabe se elas serão necessárias futuramente são informa ções que têem grande chance de serem esquecidas permanentemente Isso explica por que quando o sujeito aprende alguma habilidade ele deve voltar a praticála no dia seguinte a fim de sinalizar ao cérebro que aquela informação tem relevância de longo prazo e que por isso ela não deve ser perdida Isso explica por que para a maioria das pessoas estudar para uma prova na véspera da avaliação traz um rendimento muito baixo em comparação ao ato de estudar nos dois dias anterio res Ao estudar a matéria no primeiro dia o cérebro não sabe se aquela informação tem relevância de longo prazo e por isso armazena aquele conteúdo em uma área de grande volatilidade Ao es tudar a mesma matéria no segundo dia o cérebro entende que aquela informação será acessada outras vezes e por isso armazena aquele conteúdo em uma porção de memória mais segura Para que este processo funcione em sua máxima potencialidade é preciso que haja uma noite de sono bem dormida entre os dois dias de estudos e uma outra noite de sono bem dormida entre os estu dos e a data da avaliação Quando o cérebro humano é exposto a um conteúdo de aprendizado novo o cérebro opera a uma frequência dada pelas ondas gama 25 a 100Hz Essas ondas cerebrais estão associadas à capacidade de aprender coisas novas a capacidade de armazenar novas informações Pessoas aco metidas por debilidades mentais possuem pouca produção de ondas gama No início da vida o in divíduo produz mais ondas gama Alguns estilos musicai estimulam a produção de ondas gama no cérebro e podem ser usadas para melhorar o rendimento nos estudos Essas ondas também são produzidas no sono profundo REM motivo porque as noites bem dormidas são essenciais para a obtenção de um bom aprendizado Um nutricionista pode ser consultado pois alguns alimentos ricos em açúcares podem estimular a produção de ondas gama Embora o envelhecimento do corpo humano traga naturalmente uma diminuição na pro dução de ondas gama pelo cérebro é fundamental que o indivíduo permaneça aprendendo coisas novas A ausência de novos aprendizados de novos desafios pode aumentar o efeito da perda de memória em idades avançadas O cérebro humano não é uma memória segura pois ela pode ser facilmente abalada Não apenas a morte pode apagar esta memória como também doenças degenerativas e acidentes Por essa razão é necessário transferir algumas informações para uma forma de armazenamento mais segura Durante o desenvolvimento das civilizações o homem encontrou diversas formas de produzir os seus registros A forma mais clássica são os desenhos nas cavernas Talvez a memória mais duradoura que já tenha sido inventada tenham sido as inscrições lapidadas nas rochas Peles de animais deram origem ao pergaminho A folha de papiro deu origem àquilo que chamamos de papel Os instrumentos pontiagudos usados para lapidar a pedra deram origem ao que chamamos de lápis Pequenos pedaços de cana munidos de um estilete na ponta deram origem ao que chamamos de caneta João Gutenberg transformou o carimbo em uma máquina de imprimir textos Estava inventada a memória mais usada pelo homem ao longo dos últimos séculos a saber o texto impresso Com o advento da computação surgiu a necessidade da criação de memórias acessáveis eletricamente A primeira memória elétrica digital foi construída por meio de chaves ligadesliga toggle switch Cada bit era acionado diretamente por meio de uma pessoa Na seqüência as cha ves mecânicas foram substituídas pelas chaves elétricas os relés relay Esse aperfeiçoamento per mitiu que as chaves fossem acionadas pelo próprio processador O passo seguinte foi substituir as chaves elétricas por chaves eletrônicas as válvulas termiônicas vacuum tubes Esta substituição promoveu a redução de custos e o aumento na rapidez das comutações A próxima etapa foi a sub situiução das chaves a vácuo pelas chaves de estado sólido solid state construídas em semicondu tor de silício A tecnologia de estado sólido promoveu um grande aumento da escala de integração das memórias bem como na redução de custo e do consumo de energia elétrica durante a opera ção Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 407 Alguns tipos de memória analógica são Memória mecânica por exemplo o dial de um receptor de rádio FM Memória gravitacional por exemplo os pesos usados no acionamento dos antigos relógios de cuco Memória dinâmica por exemplo a primeira lei de Newton a inércia Memória elástica por exemplo o sistema de propulsão de partida rápida em um automóvel elétrico Memória capacitiva se não há corrente elétrica o capacitor memoriza a sua tensão elétrica Memória indutiva se não há tensão elétrica o indutor memoriza a sua cor rente elétrica Memória elétrica um dielétrico carregado eletricamente memoriza sua carga elétrica até o momento da descarga elétrica Memória magnética um condutor pode ser magnetizado por meio da fricção por um íma permanente e a magnetização é memorizada até o momento em que um outro metal é atraído produzindo a descarga magnética Memória ótica um material fosforescente pode armazenar a energia lumi nosa aplicada sobre ele e posteriormente descarregar esta energia no escuro pro duzindo luz No contexto dos sistemas digitais interessam apenas as memórias digitais Um raro exem plo de aplicação de memória analógica em sistemas digitais é o circuito de amostraretenção sam ple and hold usado como etapa de entrada de um conversor analógicodigital AD converter Um capacitor é ligado à entrada de um amplificador operacional amp op em configuração de realimen tação negativa unitária Considerando que a impedância de entrada do amp op nesta configuração é quase infinita então a corrente elétrica drenada é quase zero Se a corrente elétrica no capacitor é quase zero então a sua constante de tempo é quase infinita ou seja o capacitor age como uma memória analógica A fim de tornar este texto mais conciso a expressão memória digital é chamada simples mente de memória Uma memória possui três barramentos Barramento de dados data bus Barramento de endereço address bus Barramento de controle control bus O barramento de dados exerce duas funções Entrada de dados data input Saída de dados data output A seleção entre as funções de entradasaída é feita por meio do circuito chamado TRIS uma abreviação de tristate São usados dois bufferes tristate em antiparalelo ou seja um buffer é acionado no modo input o outro buffer é acionado no modo output O sinal de controle de um buffer é o inverso do sinal do outro de modo que sempre há um buffer ligado e um buffer desligado Todos os bits do data bus recebem a mesma configuração O barramento de endereço é unidirecional de entrada O address bus recebe o address word uma palavra binária codificada que informa o endereço da palavra a ser acessada Em muitas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 408 situações o address bus do circuito possui uma capacidade de endereçamento superior à quanti dade de palavras da memória fisicamente instalada Isso significa que endereços superiores efetuam um endereçamento inválido A programação da lógica de endereçamento precisa saber qual é a quantidade de memória fisicamente instalada O barramento de controle também é unidirecional porém os seus bits podem ser de entrada ou de saída conforme o significado da informação Os principais controles usados em memórias são Chip enable permite colocar o chip em modo de baixo consumo Chip select permite anular as entradas de dados Output enable permite colocar as saídas de dados em tristate Write enable permite bloquear a operação de escrita ReadWrite seleciona entre leitura e escrita Clear reinicia toda a memória Quanto à possibilidade de escrita as memórias podem ser ROM Read Only Memory somente leitura não volátil RAM Random Access Memory leitura e escrita volátil As ROMs podem ser de dois tipos Fixas recursivamente chamadas de ROMs Programáveis PROM As PROMs podem ser de dois tipos Write once programação irreversível Reprogrammable permite reprogramação As PROMs regraváveis podem ser de três tipos EPROM gravação por meio de luz ultravioleta EEPROM gravação por meio de tensão mais elevada Flash semelhante à EEPROM As RAMs podem ser de dois tipos Dinâmicas Armazenamento capacitivo Estáticas Armazenamento por flip flop datum Em uma ROM o data bus é unidirecional Qualquer circuito lógico puramente combinacional pode ser entendido como sendo uma ROM Os bits de entrada formam o address bus Os bits de saída formam o dataout bus O processo de escrita de uma RAM não pode ser confundido com o processo de programa ção de uma PROM A escrita de uma RAM é efetuada no mesmo contexto da leitura desta RAM A programação de uma PROMEPROMEEPROM é feita em um processo separado Durante o pro cesso de programação a memória está indisponível para o resto do sistema Muitos engenheiros e técnicos preferem usar um circuito separado para a programação da memória Esta separação fa vorece a simplificação do circuito de atuação da memória As memórias EPROM possuem uma janela de quartzo em formato circular no centro supe rior do encapsulamento Por meio da janela a luz ultravioleta é inserida nos pontos exatos onde a programação deve ser feita O quartzo é utilizado em razão do seu baixo índice de difração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 409 As memórias flash empregam uma tecnologia relativamente nova lançada no mercado no ano 2000 A memória flash se propõe a oferecer uma alternativa ao uso da memória EEPROM A tecnologia anterior porém não será substituída pela nova em razão do fato de que as duas tecno logias tem suas vantagens e suas desvantagens Vantagem da memória flash Alto índice de integração Um bit construído em tecnologia flash ocupa um espaço físico no die região da pastilha de silício onde o circuito integrado é locali zado muito pequena em comparação com um bit construído em tecnologia EEPROM Isso significa que em um sistema integrado MCU ou DSP onde o espaço físico para acomodação dos elementos é bastante crítico é possível construir uma memória programável com uma capacidade de armaze namento muito maior por meio da tecnologia flash do que por meio da tecnologia EEPROM Essa elevada capacidade de armazenamento por meio da tecnologia flash permitiu que a partir do ano 2000 os sistemas integrados pudessem integrar também a memória de programa program me mory tudo em um único chip É na program memory que o microcódigo é gravado seqüência de instruções em linguagem assembler Antes disso com o uso da tecnologia EEPROM a PM era im plementada em um chip separado aumentando a complexidade do sistema Durante a época de transição foram lançados algumas MCUs com PM integrada com tecnologia EEPROM porém esses modelos foram pouco vendidos devido à baixa capacidade de armazenamento de instruções Mi croprocessadores não possuem program memory integrada Vantagem da memória EEPROM Menor custo por bit Maior rapidez na programação Menor deterioração no processo contínuo de reprogramação Por causa da maior rapidez na programação a memória EEPROM é escolhida quando o pro cesso requer maior rapidez Um exemplo clássico foi o da segunda geração das câmeras fotográficas digitais lançadas a partir do ano 2000 em razão da disponibilidade da tecnologia flash A primeira geração fazia uso de disquete do tipo 3 ½ A segunda geração possuía uma grande memória flash para armazenamento de fotografias e em alguns casos pequenas filmagens Porém o processo de gravação do arquivo de fotogravia na memória flash era e ainda é bastante demorado e durante este processo a máquina estaria indisponível ao usuário Para evitar esse problema os fabricantes incorporaram uma memória EEPROM com capacidade de armazenamento suficiente para arquivos de fotografia Quando o usuário tira uma foto ela é gravada rapidamente na EEPROM liberando a máquina para a obtenção de outras fotos enquanto o arquivo gravado na EEPROM é enviado para a flash No caso de arquivo de vídeo a gravação era feita na EEPROM em tempo real até o limite da capacidade de armazenamento desta memória Uma vez atingido o limite o arquivo é copiado para a flash Esse era o motivo porque mesmo tendo uma memória flash grande o suficiente para a gravação de vídeos de vários minutos de duração a máquina permitia a gravação seqüencial de apenas poucos segundos Com o passar dos anos foram desenvolvidas novas gerações de memória flash reduzindo o problema da morosidade do processo de programação mas ainda hoje a tecno logia EEPROM é vantajosa quanto a este critério Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 410
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
184
Sistemas Digitais
Sistemas Digitais
UNIA
15
Representação e Conversão de Sistemas de Numeração
Sistemas Digitais
UFMS
40
Representação de Dados e Sistemas de Numeração
Sistemas Digitais
UFMS
30
Representação de Dados e Sistemas de Numeração
Sistemas Digitais
UFMS
9
Descrição de Sistema para Assistência Técnica
Sistemas Digitais
CEUCLAR
1
Desenvolvimento de Programa em C para Operações com Números Binários
Sistemas Digitais
UFMS
3
Dados de Matrícula e Código de Exercícios
Sistemas Digitais
UFSJ
1
Identificação de Soma de Produtos em Expressões Lógicas
Sistemas Digitais
PUC
1
Função e Tabela da Verdade do Circuito
Sistemas Digitais
UFAL
9
CE3512 Sistemas Digitais - Lista de Exercícios 1 - Projeto de Sistemas Digitais 2022
Sistemas Digitais
FEI
Texto de pré-visualização
Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 1 Sistemas digitais Campus Alto Paraopeba Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 2 PARE Antes de prosseguir com a leitura verifique no site indicado no rodapé se você dispõe da última atualização deste conteúdo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 3 Índice Unidade 1 Aritmética binária 1 Origem da álgebra booleana 007 2 Sistemas de numeração 011 3 Números fracionários 021 4 Números negativos 029 5 Bases binária quaternária octal e hexadecimal 039 6 Adição 043 7 Subtração positiva 051 8 Subtração negativa 061 9 Multiplicação 063 10 Divisão 071 11 Conversão entre analógico e digital 075 12 Quantização binária 077 13 Bases híbridas 083 14 Bases fracionárias 087 Unidade 2 Álgebra booleana 1 Existência e unicidade 091 2 Forma canônica 097 3 Operações lógicas 105 4 Definição de funções lógicas 113 5 Irrelevâncias na forma canônica 121 6 Mapa de Karnaugh 125 7 Mapa de Karnaugh de vários IPEs 131 8 Irrelevância em Mapa de Karnaugh 135 9 Mapa de Karnaugh sem spikes 139 10 Minimização de funções múltiplas 147 11 Mapa de Karnaugh de cinco variáveis 159 12 Minimização algébrica 165 13 Conversores de código 173 14 Análise reversa 181 Unidade 3 Circuitos lógicos 1 Portas lógicas 187 2 Decodificadores 199 3 Codificadores 211 4 Multiplexadores 217 5 Demultiplexadores 229 6 Comutadores e roteadores 233 7 Conversores de código 243 8 Decodificadores personalizados 249 9 Circuitos aritméticos 253 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 4 Unidade 4 Lógica seqüencial 1 Introdução 263 2 Flip Flop RS 269 3 Flip Flop Datum 273 4 Flip Flop Datum master slave 277 5 Toggle Datum 285 6 Máquina de estados estáveis finitos 289 7 MEEFs com uma entrada 295 8 MEEFs com várias entradas 303 9 Contador assíncrono Datum 307 10 Contador síncrono Datum 311 11 Contador com desvio assíncrono 317 12 Contador com pulo assíncrono 323 13 Contador codificado 327 Unidade 5 Circuitos JK 1 Flip Flop JK 335 2 Toggle JK 343 3 Contador síncrono JK 345 4 Contador síncrono decrescente JK 351 5 Modificações no contador síncrono JK 355 6 Minimização no contador síncrono JK 359 7 Contador Anel 371 8 Contador Johnson 383 Unidade 6 Registradores 1 Registrador paralelo 389 2 Registrador série 393 3 Contador Johnson 397 4 Contador Anel 405 5 Memórias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 5 Unidade 1 Aritmética binária Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 6 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 7 Capítulo 101 Origem da álgebra booleana Não é possível construir uma ampla compreensão a respeito dos circuitos digitais modernos sem que se garanta primeiramente uma aprofundada compreensão acerca dos sistemas analógi cos Isto apesar de necessário não é suficiente haja vista que os sistemas digitais são uma aplicação física usando os postulados pertinentes aos circuitos analógicos da lógica booleana e de suas ex pansões como a lógica multivalores MVL e a lógica nebulosa Ao falar em lógica precisamos fazer a distinção entre a lógica filosófica e a lógica matemá tica Se por um lado não existe a menor dúvida de que a lógica filosófica representa a gênese de toda a teoria a respeito dos sistemas digitais e por isso seria digamos mais importante do que a outra por outro lado também não existe a menor dúvida de que a lógica matemática por trabalhar com números permite que os conceitos da lógica filosófica sejam aplicados aos sistemas físicos e mesmo quando tal aplicação está restrita à matemática teórica ainda assim o uso de números per mite a expansão da quantidade de variáreis do sistema a um nível inexequível quando na análise puramente filosófica Ao falar em lógica filosófica criamos um limite que define o escopo de um setor da filosofia humana A lógica filosófica ou filosofia lógica aborda a maneira como o cérebro humano ordena as informações as associações as conclusões e as dúvidas a fim de chegar às melhores tomadas de decisão possíveis A capacidade de efetuar operações lógicas durante o pensamento racional é um dos elementos que distinguem o ser humano das outras criaturas pensantes Embora acreditemos que animais sejam capazes de contar números associados a quantidades também sabemos que eles não podem efetuar operações lógicas de maneira consciente como por exemplo a conjunção e a disjunção Se nós humanos estamos enganados a respeito desta conclusão como acreditam algumas pessoas então é certo que os animais estão escondendo muito bem esta realidade tor nandoa imperceptível a nossos olhos haja vista que eles não produziram nenhuma evidência ex plícita a respeito desta realidade que não tenha sido fruto de um condicionamento comportamental induzido previamente por meio de algum treinador humano O pensamento lógico surgiu no exato momento em que o homem se tornou um ser racional seja por meio da teoria criacionista seja por meio da teoria evolucionista seja por meio de qualquer outra teoria que venha a ser considerada O fato porém de possuir um pensamento lógico não significa que o homem tenha consciência deste pensamento aliás sabemos que bebês e crianças possuem um pensamento extremamente lógico ao contrário das teorias que afirmam que pessoas nestas idades tenham um pensamento puramente emocional ou instintivo Isso porém não signi fica que as crianças tenham consciência desta realidade Também é possível que pessoas sábias maduras e inteligentes consigam aplicar os princípios da lógica filosófica com excelência sem que tais pessoas tenham jamais frequentado o ambiente escolar Isto era muito comum em um passado onde a educação estava baseada em uma Cultura Oral e Simbólica que durou hegemonicamente até o surgimento da imprensa em 1439 Este seria o caso de um pensamento lógico construído com base na observação e na experimentação ao longo de uma longa vida O efeito coletivo deste pensamento daria origem àquilo que chamamos de sa bedoria popular Mesmo assim tais pessoas sábias não tem consciência da existência do pensa mento lógico embora elas saibam aplicalo muito bem melhor até mesmo do que muitos profes sores e mestres A fim de que se tenha consciência deste tipo de pensamento é preciso ter conhe cimento das teorias lógicas e tal conhecimento disponível a todos nós foi construído ao longo dos milênios de história da civilização Embora seja impossível identificar com precisão quando o pensamento lógico recebeu suas primeiras formalizações teóricas podemos dizer que a civilização ocidental teria tido como norte para o seu pensamento lógico a filosofia grega Aliás este seria um dos três elementos que compõe Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 8 o tripé de sustentação do pensamento ocidental A filosofia grega o direito romano e a ética cristã Dentre os filósofos gregos mais conhecidos temos Sócrates 469 aC 399 aC Platão 427 aC 347 aC e Aristóteles 384 aC 322 aC Na época de Sócrates surgiram os sofistas pensa dores que com sua sabedoria filosófica atraiam jovens para suas aulas naquilo que seria a semente do que hoje chamamos de sistema privado de ensino Já na idade média considerada a idade das trevas em referência à carestia generalizada decorrente das constantes invasões externas mas também considerada a idade das luzes em referência ao culto à sabedoria promovido pelo estilo de vida monástico foi criado o sistema de ensino ou sistema de pensamento chamado de escolástico responsável pela caracterização da quilo que hoje o imaginário popular classifica como cultura europeia O sistema de ensino escolástico ou filosofia escolástica foi usado hegemonicamente em todas as universidades ocidentais do período medieval O método escolástico tem suas raízes na obra intitulada Suma Teológica do filósofo e teólogo Tomás de Aquino 1225 1274 Nesta oca sião aconteceu pela primeira vez um diálogo entre o paganismo da filosofia grega e o cristianismo da cultura monástica surgindo aquilo que ficou conhecido como filosofia medieval determinando a forma de pensamento da civilização ocidental nos dias de hoje O sistema escolástico consiste em uma adaptação cristã de um sistema de ensino desen volvido durante a idade antiga depois de Cristo do ano 1 até 476 dC e a alta idade média 476 dC ao início do século XI chamado de Artes Liberais Clássicas A palavra liberal remete ao fato de que se tratam de conhecimentos livres de opinião pessoal O conhecimento humano era dividido nas sete artes liberais agrupados em dois grupos a saber o trivium e o quatrivium O tivium é constituído por Lógica Gramática Retórica O quatrivium é constituído por Aritmética Astronomia Música Geometria Diferentemente da filosofia da sociologia da teologia das ciências políticas as sete artes liberais estão imunes a todo tipo de doutrina O terceiro item do quatrivium a música é puramente instrumental sem letra nem mensagens embutidas Somente após pleno domínio das sete artes liberais o jovem estudante estaria apto ao ingresso no estudo doutrinal Pouco depois da invenção da imprensa o reformista alemão Martinho Lutero 1483 1546 propôs que a sabedoria popular mantida através da Cultura Oral e Simbólica fosse substituída por um sistema de ensino para todos de frequência obrigatória e mantido pelo Estado tese ins piradora para o artigo 205 da Constituição Federal de 1988 tese esta que colocaria um ponto final no período escolástico O advento da imprensa e do sistema de ensino estatal obtiveram enorme vantagem sobre o tradicional método oral ensinamento de pai para filho no que diz respeito à difusão do pensamento Em 1599 como resultado da contrareforma foi criado o mé todo pedagógico dos jesuítas também chamado de Ratio Studiorum ou Ratio atque Institutio Studiorum Societatis Iesu Embora o sistema de ensino Escolástico tenha apresentado resultados satisfatórios durante os séculos de sua aplicação no continente europeu século XIII ao XV embora existam evidências Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 9 que apontem para a hipótese de que talvez a moderna pedagogia ocidental não seja capaz de alcançar a excelência de tais resultados a sugestão de restauração daquele sistema de ensino tem sido motivo de muitas relutantes objeções nos acalorados debates promovidos por pedagogos e educadores um assunto que permaneceu dormente durante as idades moderna e contemporâ nea e que renasce em virtude dos preocupantes resultados alcançados através da aplicação das modernas práticas pedagógicas ocidentais provocando impacto na economia dos países ricos e ge rando pobreza nas economias emergentes Uma das justificativas apontadas para a sugestão de resgate da pedagogia escolástica estaria no fato de que o ensino de lógica de gramática e de retórica para as crianças em idade escolar promoveria uma geração de adultos verdadeiramente detentores de um pensamento crítico fruto de uma escola promotora da verdadeira educação para a autonomia Tal afirmação estaria baseada no fato de que em primeira instância a lógica promove a organização do pensamento e das informações Em segunda instância a gramática promove a correta escolha das palavras profe ridas e a correta interpretação das palavras recebidas pois é impossível criar uma linha de pensa mento sem pleno domínio do próprio idioma Em última instância a retórica promove a maneira eficiente por meio da qual a lógica organiza as palavras na produção do verdadeiro pensamento crítico Podemos concluir por meio de simples observação decorrente da atividade docente que aquilo que no Brasil se chama por analfabetismo funcional seria de fato alguma deficiência em nível moderado ou elevado nas três artes liberais triviais a lógica a gramática e a retórica Por causa dos avanços tecnológicos e das mudanças culturais e das diferenças regionais não seria possível resgatar a pedagogia do método escolástico em sua forma original europeia e me dieval mas seria possível resgatar o seu conteúdo programático aplicado aos modernos conceitos pedagógicos brasileiros George Boole 1815 1864 foi um matemático e professor britânico de matemática e de línguas fundando sua própria escola privada Em 1847 publicou o seu primeiro trabalho científico o livro intitulado The Mathematical Analysis of Logic O pioneirismo do trabalho de Boole está no fato de que pela primeira vez a lógica deixaria de estar associada à metafísica para se associar à matemática Em seus estudos Boole concluiu que a lógica poderia ser dividida em três níveis ou áreas 1 Lógica grega 2 Lógica escolástica 3 Lógica matemática Em 1854 Boole publicou sua mais famosa obra An Investigation of the Laws of the Thougt Os signos 0 e 1 são apresentados como indicadores dos valores lógicos A união entre conjuntos recebe o símbolo A intersecção entre conjuntos recebe o símbolo A equivalência ou identidade entre conjuntos é representada por George Boole não foi o único propositor daquilo que hoje chamamos de lógica booleana Um outro professor e lógico contemporâneo a George Boole o indiano Augustus de Morgan 1806 1871 foi o descobridor de várias propriedades lógicas incluindo aquelas que chamamos hoje de teoremas de De Morgan A lógica booleana apresenta grande contribuição para as ciências jurídicas Por meio de pro priedades como modus tollens modus ponens e reductio ad absurdum é possível traçar uma estra tégia de defesa uma estratégia de argumentação é possível analisar um depoimento em busca de contradições Embora George Boole houvesse cumprido a tarefa de trazer a lógica da metafísica para a matemática foi somente várias décadas após a sua morte que a lógica foi trazida da matemática Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 10 para a engenharia por meio de diversos tipos de implementações podendo estas serem hidráulica mecânica elétrica ótica etc mas é nos circuitos eletrônicos integrados que a álgebra booleana en contra atualmente o seu maior nicho de aplicação sem o qual nós não poderíamos sequer imagi nar como seriam as nossas vidas hoje Referências ftpftpcleunicampbrpubarquivoseducacionalArtGTpdf httpswwwsomatematicacombrbiografboolephp httpprofessoresdccuflabrgiacominCom164GeorgeBoolehtm httpswwwhistoriadomundocombrcuriosidadesartesliberaisclassicashtm httpswwwbritannicacombiographyAugustusDeMorgan httpwwwscielobrscielophpscriptsciarttextpidS141324782000000200010 httpsecclesiaecombrometodopedagogicodosjesuitas Todas as referências foram acessadas em 27092019 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 11 Capítulo 102 Sistemas de numeração Quando se fala em números estamos falando da representação da expressão de uma quan tidade Não é possível imaginar grandezas quantitativas sem que se faça uso de algum sistema de numeração A capacidade de uso destes sistemas talvez seja um diferencial entre a capacidade ra cional humana e as respostas instintivas dadas por animais O processo de quantização pode ser feito por meio de símbolos ou signos da mesma forma que a sinalização de sons orais e nasais também são representados por símbolos Símbolos são a representação gráfica de uma idéia abstrata Letras são os símbolos usados na definição de pronúncia Numerais são símbolos usados na definição de números Da mesma forma como nos idiomas ocidentais as sílabas consistem de uma dois três ou quatro letras agrupadas de modo que a enorme quantidade de sons possíveis seja representada por meio de uma quantidade pequena de letras igualmente a representação numérica pode implicar no uso de um ou de vários numerais A quantidade de símbolos usados na numeração é chamada de base de numeração ou simples mente base A base mais adotada hoje no mundo é a decimal pelo único motivo de que temos dez dedos nas mãos 0 1 2 3 4 5 6 7 8 9 Tabela 1 Os dez signos usados no sistema decimal O grupamento de numerais formando um número implica numa sequência ordenada na qual os numerais à esquerda possuem maior significância ou ordem de grandeza do que os numerais à direita Uma posição ordenada e definida dentro de um conjunto de numerais formando um nú mero é chamada de casa No sistema decimal temos as casas decimais A grandeza de uma casa determina a sua relevância na determinação da quantidade expressa pelo número Casa da extrema esquerda a mais significativa de todas Casa da extrema direita a menos significativa de todas Casas centrais significância intermediária A grandeza é definida por meio de potências na base adotada A progressão de potências nos dígitos inteiros pode ser aplicada para qualquer base Posição Potência Casa das unidades 100 Casa das dezenas 101 Casa das centenas 102 Casa dos milhares 103 Casa das dezenas de milhares 104 Casa das centenas de milhares 105 Casa dos milhões 106 Casa dos bilhões 109 Casa dos trilhões 1012 Casa dos quatrilhões 1015 Tabela 2 As principais casas decimais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 12 27128 2664 2532 2416 238 224 212 201 Tabela 3 Potências de dois 372187 36729 35243 3481 3327 329 313 301 Tabela 4 Potências de três 4716384 464096 451024 44256 4364 4216 414 401 Tabela 5 Potências de quarto 10710000000 1061000000 105100000 10410000 1031000 102100 10110 1001 Tabela 6 Potências de dez A quantidade de símbolos ou signos é dada pela própria base Em bases acima de 10 são usadas as letras do alfabeto Sistema Signos Base 2 01 Base 3 012 Base 4 0123 Base 10 0123456789 Base 16 0123456789ABCDEF Tabela 7 Os principais sistemas de numeração Quando letras são usadas como símbolos numéricos a sua quantização é a mesma para qualquer base se utilizes este símbolo Sistema A B C D E F G Base 11 10 Base 12 10 11 Base 13 10 11 12 Base 14 10 11 12 13 Base 15 10 11 12 13 14 Base 16 10 11 12 13 14 15 Base 17 10 11 12 13 14 15 15 Tabela 8 O valor decimal das letras usadas em sistemas de numeração Dáse o nome de bit à menor unidade em uma base adotada Desta forma temse o bit binário o bit ternário o bit quaternário e assim por diante Há pessoas que fazem a enganosa cor relação entre as letras b e i da palavra bit com as duas primeiras letras da palavra binário Apesar da coincidência esta correlação não existe Um bit ternário não é um trit Como o contexto binário é o mais frequente no uso desta palavra então a palavra genérica bit quando não há especificação da base é aplicada por defalt à base binária Tal convenção é usada neste texto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 13 Um grupo de quatro bits é chamado de nibble e corresponde a um signo hexadecimal Um grupo de oito bits ou quatro nibbles é chamado de byte e corresponde a um signo do código ASCII estendido American Standard Code for Information Interchange Dois bits especiais merecem destaque MSb Most Significant bit O bit mais significativo Na extrema esquerda LSb Least Significant bit O bit menos significativo Na extrema direita Qualquer número em uma determinada base pode ser convertido para decimal por meio da decomposição em uma quantidade finita de potências desta base Quando um número é apresentado pode ser que haja dúvida quanto à sua base É preciso a adoção de uma formalidade na expressão destes números Por padrão considerase que um nú mero seja decimal quando não existe especificação da base em questão Quando a base não é a decimal é necessário que haja a especificação desta base Esta especificação é feita por meio de um número subscrito localizado à direita do bit menos significativo LSb Este número não pode ser sobrescrito porque isto indicaria uma operação de potenciação Algumas bases podem ter o seu uso indicado opcionalmente por meio de uma letra minús cula Estas são as quatro bases mais usadas atualmente Base Sufixo Binária b Octal o Decimal d Hexadecimal h Tabela 9 As bases indicadas por letras Quanto maior é a base adotada maior é a densidade de informação por símbolo empregado Esta afirmação leva à impressão de que a adoção de bases muito elevadas seria algo vantajoso que levaria a uma otimização na transmissão de informações numéricas Isso porém não é verdade haja vista que bases muito elevadas podem trazer dificuldade na interpretação humana dos núme ros Há relatos a certa de civilizações na antiguidade que usavam um sistema de numeração de base sessenta motivo porque hoje as horas são divididas em sessenta minutos e os minutos são dividi dos em sessenta segundos Essa dificuldade de interpretação explica por que algumas culturas pre ferem dividir o dia em vinte e quatro horas enquanto outras culturas preferem dividir o dia em doze horas com o prefixo AM e PM Outras culturas preferem ainda dividir a numeração das horas em quatro grupos da manha da tarde da noite e da madrugada Um número é formado por um ou mais dígitos Matematicamente é possível representar um número usando um dígito em uma base e outro digito em outra base Esta construção é útil quando se usam contadores para a efetuação do endereçamento de locais de atuação de sistemas digitais quando a quantidade de combinações não pode ser dada por todas as combinações de dí gitos em uma única base Esta construção é bastante atípica e raramente é observada em sistemas reais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 14 Exemplo 1 x0110b 4 bits x 023 122 121 020 x 08 14 12 01 x 0 4 2 0 x 6d Neste primeiro exemplo o bit mais significativo MSb vale zero Dentro do contexto da arit mética decimal é ensinado que um zero à esquerda pode ser dispensado Já no contexto da arit mética binária nem sempre um zero à esquerda pode ser removido Se a análise é puramente matemática esta remoção pode ser feita Se porém a análise está associada a um sistema físico então este zero não pode ser eliminado Este zero implica em várias opções de implementação física podendo ser desde um bit de memória física até mesmo ao pino de um chip No contexto dos sistemas físicos o fato de um bit valer zero ou um nada muda na estrutura física Quando este é o caso o número binário precisa ter obrigatoriamente a representação de todos os bits físicos ainda que tenhamos um zero à esquerda Além da explicação do parágrafo anterior existe o fato de que as operações aritméticas bi nárias somente podem ser realizadas sobre números com a mesma quantidade de bits Exemplo 2 x11b 2 bits x 121 120 x 12 11 x 2 1 x 3d Exemplo 3 x1101b 4 bits x 123 122 021 120 x 18 14 02 11 x 8 4 0 1 x 13d Exemplo 4 x10101111b 8 bits x 127 026 125 024 123 122 121 120 x 1128 064 132 016 18 14 12 11 x 128 0 32 0 8 4 2 1 x 175d Exemplo 5 x010001101000b 12 bits x 02111210029028027126125024123022021020 x 210 26 25 23 x 1024 64 32 8 x 1128d Exemplo 6 x2011203 ternário x 235 034 133 132 231 030 x 2243 081 127 19 23 01 x 486 0 27 9 6 0 x 528d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 15 Exemplo 7 x1021334 quaternário x 145 044 243 142 341 340 x 11024 0256 264 116 34 31 x 1024 0 128 16 12 3 x 1183d Exemplo 8 x2084437d decimal x 2106 0105 8104 4103 4102 3101 7100 x 21000000 0100000 810000 41000 4100 310 71 x 2000000 000000 80000 4000 400 30 7 x 2084437d Exemplo 9 x58C3Ah hexadecimal Ch 12d Ah 10d x 5164 8163 12162 3161 10160 x 565536 8 4096 12256 316 101 x 327680 32768 3072 48 10 x 363578d Exemplo 10 x1563A212 A12 10d x 1125 5124 6123 3122 10121 2120 x 1248832 520736 61728 3144 1012 21 x 248832 103680 10368 432 120 2 x 363434d A conversão de um número na base dez para uma outra base pode ser feita por meio de dois métodos Os métodos são mutuamente equivalentes e o estudante pode escolher aquele com o qual você possui maior habilidade Método das divisões sucessivas Método da determinação das parcelas No método das divisões sucessivas é preciso identificar o valor do resto de cada divisão inteira No método da determinação das parcelas é preciso identificar quais parcelas estão presen tes no somatório que define o número decimal Exemplo 11 x94d para binário Método das divisões sucessivas modo 1 002 0b determinação do resto que gera um bit 0b resto 02 052 1b determinação do resto que gera um bit 1b resto 12 942 470 x 0b 472 235 x 10b 232 115 x 110b 112 55 x 1110b 52 25 x 11110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 16 22 10 x 011110b 12 05 x 1011110b Método das divisões sucessivas modo 2 942 47 resto 0 x 0b 472 23 resto 1 x 10b 232 11 resto 1 x 110b 112 5 resto 1 x 1110b 52 2 resto 1 x 11110b 22 1 resto 0 x 011110b 12 0 resto 1 x 1011110b Método da determinação das parcelas Qual é a maior potência de dois que cabe dentro de 94 Resposta 64 6494128 269427 sete bits 9426 64 Sim x 1b 9464 30 3025 32 Não x 10b 3024 16 Sim x 101b 3016 14 1423 8 Sim x 1011b 148 6 622 4 Sim x 10111b 642 221 2 Sim x 101111b 220 020 1 Não x 1011110b Exemplo 12 x94d para base 3 Método das divisões sucessivas modo 1 003 03 determinação do resto que gera um bit 0b resto 03 033 13 determinação do resto que gera um bit 1b resto 13 073 23 determinação do resto que gera um bit 2b resto 23 943 313 x 13 313 103 x 113 103 33 x 1113 33 10 x 01113 13 03 x 101113 Método das divisões sucessivas modo 2 943 31 resto 1 x 13 313 10 resto 1 x 113 103 3 resto 1 x 1113 33 1 resto 0 x 01113 13 0 resto 1 x 101113 Método da determinação das parcelas 8194243 349435 cinco bits 9434 81 Sim x 13 9481 13 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 17 1333 27 Não x 103 1332 9 Sim x 1013 139 4 431 3 Sim x 10113 43 1 130 1 Sim x 101113 110 Exemplo 13 x528d para base 3 Método das divisões sucessivas modo 1 003 03 determinação do resto que gera um bit 0b resto 03 033 13 determinação do resto que gera um bit 1b resto 13 073 23 determinação do resto que gera um bit 2b resto 23 5283 176 x 03 1763 587 x 203 583 193 x 1203 193 63 x 11203 63 2 x 011203 23 07 x 2011203 Método das divisões sucessivas modo 2 5283 176 resto 0 x 03 1763 58 resto 2 x 203 583 19 resto 1 x 1203 193 6 resto 1 x 11203 63 2 resto 0 x 011203 23 0 resto 2 x 2011203 Método da determinação das parcelas modo 1 243528729 3552836 seis bits 52835 243 Sim x 13 528243 285 28535 243 Sim x 23 285243 42 4234 81 Não x 203 4233 27 Sim x 2013 4227 15 1532 9 Sim x 20113 159 6 631 3 Sim x 201113 63 3 331 3 Sim x 201123 33 0 030 1 Não x 2011203 Método da determinação das parcelas modo 2 243528729 3552836 seis bits 52835 243 Sim duas vezes x 23 528486 42 4234 81 Não x 203 4233 27 Sim uma vez x 2013 4227 15 1532 9 Sim uma vez x 20113 159 6 631 3 Sim duas vezes x 201123 66 0 030 1 Não x 2011203 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 18 São efetuadas duas comparações com o número 243 Isso acontece porque este número cabe duas vezes dentro de 528 Se este cuidado não é tomado a próxima comparação com o nú mero 81 gera a seguinte situação errada 28534 81 Sim x 13 28581 204 Os números permanecem grandes indicando que a redução por meio da geração de bits não está acontecendo Além disso o número 81 cabe três vezes dentro de 285 mas 3 não é um sím bolo válido dentro da base ternária Exemplo 14 x971d para base 4 Método das divisões sucessivas modo 1 0004 04 determinação do resto que gera um bit 0b resto 04 0254 14 determinação do resto que gera um bit 1b resto 14 0504 24 determinação do resto que gera um bit 2b resto 24 0754 34 determinação do resto que gera um bit 3b resto 34 9714 24275 x 34 2424 605 x 234 604 15 x 0234 154 375 x 30234 34 075 x 330234 Método das divisões sucessivas modo 2 9714 242 resto 3 x 34 2424 60 resto 2 x 234 604 15 resto 0 x 0234 154 3 resto 3 x 30234 34 0 resto 3 x 330234 Método da determinação das parcelas modo 1 2569711024 4497145 cinco bits 97144 256 Sim x 14 971256 715 71544 256 Sim x 24 715256 459 45944 256 Sim x 34 459256 203 20343 64 Sim x 314 20364 139 13943 64 Sim x 324 13964 75 7543 64 Sim x 334 7564 11 1142 16 Não x 3304 1141 4 Sim x 33014 114 7 741 4 Sim x 33024 74 3 340 1 Sim x 330214 31 2 240 1 Sim x 330224 21 1 140 1 Sim x 330234 11 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 19 Método da determinação das parcelas modo 2 2569711024 4497145 cinco bits 97144 256 Sim três vezes x 34 9713256 203 20343 64 Sim três vezes x 334 203364 11 1142 16 Sim zero vezes x 3304 11016 11 1141 4 Sim duas vezes x 33024 1124 3 340 1 Sim três vezes x 330234 331 0 Exemplo 15 x363578d para hexadecimal 363578 16 22723625 0625 16 10 x Ah 22723 16 14201875 01875 16 3 x 3Ah 1420 16 8875 075 16 12 x C3Ah 88 16 55 05 16 8 x 8C3Ah 5 16 05 05 16 5 x 58C3Ah Exemplo 16 x363434d para base doze 363434 12 3028617 017 12 2 x 2h 30286 12 252383 083 12 10 x A2h 2523 12 21025 025 12 3 x 3A2h 210 12 175 05 12 6 x 63A2h 17 12 142 042 12 5 x 563A2h 1 12 008 008 12 1 x 1563A212 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 20 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 21 Capítulo 103 Números fracionários A progressão de potências dos dígitos inteiros apresentada no capítulo anterior pode ser expandida para os dígitos fracionários por meio do uso de potências negativas Posição Potência Casa das unidades 100 Casa dos décimos 101 Casa dos centésimos 102 Casa dos milésimos 103 Casa dos décimos de milésimos 104 Casa dos centésimos de milésimos 105 Casa dos milionésimos 106 Casa dos bilionésimos 109 Tabela 1 As principais casas decimais fracionárias 27128 2664 2532 2416 238 224 212 201 2105 22025 230125 2400625 25003125 260015625 2700078125 28000390625 Tabela 2 Potências de dois Estes valores podem ser representados por meio de frações parciais 21121 22122 23123 24124 25125 26126 27127 28128 Tabela 3 Frações parciais de dois 31131 32132 33133 34134 35135 36136 37137 38138 Tabela 4 Frações parciais de três n11n1 n21n2 n31n3 n41n4 n51n5 n61n6 n71n7 n81n8 Tabela 5 Frações parciais da base n 2112 2214 2318 24116 25132 26164 271128 281256 Tabela 6 Frações parciais de dois 3113 3219 33127 34181 351243 361729 3712187 3816561 Tabela 7 Frações parciais de três Números que contenham parcela fracionária podem ser expressos de duas formas a pri meira é a explicitação das duas parcelas separadas por uma vírgula ficando a parte inteira à es querda e a parte fracionária à direita Esta forma tem a vantagem de expressar claramente a ordem de grandeza do número em questão A segunda forma é por meio de uma divisão de dois números Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 22 inteiros uma fração irredutível Esta segunda forma tem a vantagem de eliminar erros de arredon damento quando a fração irredutível gera dízimas periódicas Por causa destes erros de arredonda mento é recomendado que os cálculos sejam todos efetuados na forma de frações e somente após a obtenção da fração final esta divisão seja efetuada gerando um número que pode conter algum erro de arredondamento em ração da quantidade de casas decimais adotada em sua repre sentação Tomando esse cuidado ainda que algum erro de arredondamento ocorra na representa ção do valor final não acontece propagação de erro entre um cálculo e outro No processo de conversão de um número fracionário decimal para alguma outra base nem sempre é possível obter o resultado final exato Muitas vezes a quantidade de dígitos fracionários decorrentes da conversão é muito grande e indeterminável Sendo este o caso é preciso definir a quantidade máxima de bits fracionários usados no resultado da conversão Quando o número fra cionário é maior do que 1 é preciso inspecionar a potência do dígito mais significativo Quando o número fracionário é menor do que 1 então a primeira potência já está determinada e é 1 Exemplo 1 x 0101b x 121 022 123 x 121 022 123 1 x 121 022 123 2323 x 23121 23022 23123 23 x 122 021 120 23 x 4 0 18 x 58 x 0625d Outra forma x 121 022 123 x 105 0025 10125 x 0625d Exemplo 2 Converter para decimal x 10110b x 122 021 120 121 022 x 14 02 11 12 04 x 164 04 44 24 04 x 16 0 4 2 04 x 224 x 112 x 55d Exemplo 3 Converter para decimal x 001101101101b x 026 025 124 123 022 121 120 021 122 123 024 125 x 24 23 21 20 22 23 25 x 16 8 2 1 14 18 132 x 3216 328 322 321 3214 3218 32132 32 x 512 256 64 32 8 4 1 32 x 477 32 x 2740625d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 23 Outra forma x 026 025 124 123 022 121 120 021 122 123 024 125 x 24 23 21 20 22 23 25 x 2524 2523 2521 2520 2522 2523 2525 25 x 29 28 26 25 23 22 20 25 x 512 256 64 32 8 4 1 32 x 477 32 x 2740625d Exemplo 4 Converter para decimal x 01023 x 131 032 233 x 33131 33032 33233 33 x 321 310 302 33 x 9 0 2 27 x 11 27 não contém erro de arredondamento x 0407d contém erro de arredondamento mas não há propagação de erro Outra forma x 131 032 233 x 10333 00111 20037 x 10333 00111 20037 x 0407d Quando as parcelas não são exatas esta outra forma não é recomendada porque pode pro vocar erros de arredondamento Exemplo 5 Converter para decimal x 1014 x 141 040 141 x 14 01 14 x 4 0 14 x 164 04 44 x 16 0 14 x 174 x 425d Exemplo 6 Converter para decimal x 2113 x 230 131 232 x 33230 33131 33132 33 x 332 321 311 33 x 272 91 311 33 x 54 9 3 27 x 66 27 não contém erro de arredondamento x 2444d contém erro de arredondamento mas não há propagação de erro Na conversão de um número decimal fracionário para uma outra base quando a subtração de uma parcela resulta em um resto zero conforme o exemplo 7 isto significa que as parcelas fra cionárias já foram todas determinadas e o processo de conversão está concluído Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 24 Quando o número possui apenas casas fracionárias este cálculo pode ser feito também por meio de multiplicações sucessivas Exemplo 7 Converter para binário x 0625d Método das multiplicações sucessivas 06252 125 x 01b 1251 025 0252 05 x 010b 052 1 x 0101b 11 0 x 0101b Método da determinação das parcelas 062521 05 Sim x 01b 062505 0125 012522 025 Não x 010b 012523 0125 Sim x 0101b 01250125 0 x 0101b Exemplo 8 Converter para binário x 55d Método das divisões sucessivas e multiplicações sucessivas 52 2 resto 1 x 1b 22 1 resto 0 x 10b 12 0 resto 1 x 101b 205 1 x 1011b x 0101b Método da determinação das parcelas 5522 4 Sim x 1b 554 15 1521 2 Não x 10b 1520 1 Sim x 101b 151 05 0521 05 Sim x 1011b 0505 0 x 1011b Exemplo 9 Converter para binário x 2740625d Método das divisões sucessivas e multiplicações sucessivas 272 13 resto 1 x 1b 132 6 resto 1 x 11b 62 3 resto 0 x 011b 32 1 resto 1 x 1011b 12 0 resto 1 x 11011b 2040625 08125 x 110110b 208125 1625 x 1101101b 16251 0625 20625 125 x 11011011b 1251 025 2025 05 x 110110110b 20 5 10 x 1101101101b 101 0 x 1101101101b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 25 Método da determinação das parcelas 322716 274062524 16 Sim x 1b 274062516 1140625 114062523 8 Sim x 11b 11406258 340625 34062522 4 Não x 110b 34062521 2 Sim x 1101b 3406252 140625 14062520 1 Sim x 11011b 1406251 040625 04062521 05 Não x 110110b 04062522 025 Sim x 1101101b 040625025 015625 01562523 0125 Sim x 11011011b 0156250125 003125 00312524 00625 Não x 110110110b 00312525 003125 Sim x 1101101101b 003125003125 0 x 1101101101b Exemplo 10 Converter para binário x 07231d 5 bits fracionários Método das multiplicações sucessivas 207231 14462 x 01b 144621 04462 204462 08924 x 010b 208924 17848 x 0101b 178481 07848 207848 15696 x 01011b 156961 05696 205696 11392 x 010111b 113921 01392 Resto 0139225 Resto 000435d x 010111b Método da determinação das parcelas 0723121 05 Sim x 01b 0723105 02231 0223122 025 Não x 010b 0223123 0125 Sim x 0101b 022310125 00981 0098124 00625 Sim x 01011b 0098100625 00356 0035625 003125 Sim x 010111b 00356003125 000435 Resto 000435d x 010111b Neste exemplo 10 não é possível obter o resultado exato Existe então um erro Erro ou resto 000435d Verificação x 010111b x 121 022 123 024 125 x 12 04 18 116 132 x 1632 032 432 232 132 x 16042132 x 2332 x 071875d x x erro x 2332 000435 x 23 0139232 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 26 x 23139232 x 07231d Exemplo 11 Converter para ternário x 0407d Método das multiplicações sucessivas 31127 119 119 122 x 013 119 1 29 329 23 23 067 x 0103 323 2 x 01023 x 01023 Método da determinação das parcelas 040731 0333 Sim xA 013 04070333 0074 007432 0111 Não xA 0103 007433 0037 Sim xA 01013 00740037 0037 003733 0037 Sim xA 01023 00370037 0 xA 01023 Neste exemplo 11 existe o risco de incorrer em erro decorrente dos arredondamentos das divisões ternárias O uso das frações explícitas resolve este problema 040713 1221313 Sim xB 013 1221313 02213 0221319 0663919 Não xB 0103 06639127 198927127 Sim xB 01013 198927127 098927 098927181 296781181 Sim xB 01023 2967281 096781 Resto 096781 xB 010123 aproximado para quatro bits fracionários Por que razão xA xB A explicação está no fato de que este exemplo 11 está baseado no exemplo 4 e o valor x 0407d é uma aproximação de x 1127 O arredondamento é a causa do erro encontrado no cálculo acima O erro é eliminado se o valor exato a fração é usada no cálculo da conversão para ternário 1127927 Sim x 013 1127927 227 227327 Não x 0103 227127 Sim 2x x 01023 2272127 0 x 01023 Exemplo 12 Converter para ternário x 07231d 5 bits fracionários Diferentemente do exemplo anterior não podemos representar este número por meio de uma fração Não podemos aplicar a técnica isenta de erros de aproximação Neste caso é preciso usar os valores obtidos da divisão armazenados na memória da calculadora Método das multiplicações sucessivas 307231 21693 x 023 301693 05079 x 0203 305079 15237 x 02013 305237 15711 x 020113 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 27 305711 17133 x 0201113 117133 07133 Resto 0713335 Resto 07133243 x 0201113 Método da determinação das parcelas 216933 13 Sim x 013 21693313 116933 116933 13 Sim x 023 11693313 016933 050799 19 Não x 0203 1523727 127 Sim x 02013 1523727127 0523727 1571181 181 Sim x 020113 1571181181 0571181 17133243 1243 Sim x 0201113 171332431243 07133243 Resto 07133243 x 0201113 Considerando que todos os cálculos foram efetuados por meio das frações não há nenhum erro de arredondamento por parte da pessoa que fez estas contas O único erro presente inevitável está associado às dízimas periódicas porém como tais cálculos foram todos feitos por meio das frações então não há propagação de erro O erro ou resto é dado por Erro 07133243 Erro 00029353909465021d Façamos o cálculo contrário a título de verificação x 0201113 x 231 032 133 134 135 x 35231 35032 35133 35134 35135 35 x 342 330 321 311 301 35 x 812 270 91 31 11 243 x 162 0 9 3 1 243 x 175 243 x 07201646090534979d x x erro x 175 243 07133243 x 1757133 243 x 07231d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 28 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 29 Capítulo 104 Números negativos O ser humano é o único animal que entende o significado de números negativos e mesmo assim tal entendimento somente acontece por volta dos seis ou sete anos de vida Dentro da física várias grandezas aceitam valores negativos Uma bolha é uma massa negativa Um elétron é uma carga elétrica negativa O frio é o calor negativo Existem três métodos de representação de números binários negativos Sinalamplitude Complemento de 1 Complemento de 2 Somente o terceiro método é de fato empregado nos circuitos reais e nas calculadoras A vantagem desta representação é que diferentemente das outras ela não desperdiça uma combi nação de bits Em todas estas formas o bit mais significativo é o indicativo de sinal Se 0 o sinal é positivo Se 1 o sinal é negativo Quando se fala de números com sinal subentendese tratarse da representação de complemento de dois Quando a representação é alguma outra é necessário indicação explícita desta representação O método de sinalamplitude embora não seja aplicado nos circuitos reais serve como uma introdução didática para o estudo do método que realmente importa Além disso a comparação entre o primeiro método e o terceiro método evidencia as vantagens deste último O método de sinalamplitude é dentre os três aquele que implica na maior facilidade de compreensão O bit mais significativo MSb most significant bit localizado à esquerda identifica o sinal do número Os demais bits quantificam o número em questão tanto no caso de ser positivo como negativo Esta quantização é a mesma para ambos sinais A quantização é obtida por meio da análise dos bits localizados à direita do MBb Esta quan tização recebe o sinal apontado pelo MSb Como este método não é o foco deste texto serão apre sentadas tabelas comparativas deste com o método de complemento de dois mais adiante A fim de que se possa fazer corretamente a conversão de binário para decimal é necessário que se saiba de antemão se o número em questão possui ou não sinal Se não possui então o bit mais significativo representa a quantidade mais significativa da grandeza é um bit de magnitude Se sim então este bit indica o sinal Este conceito também pode ser compreendido por meio do sinal da maior potência se o número é positivo a maior potência recebe sinal positivo se o número é negativo a maior potência recebe sinal negativo A ausência de informação a respeito da função do bit à esquerda pressupõe a interpretação de que o número seja positivo e de que o bit à esquerda seja de amplitude Se o número é negativo então a maior potência precisa ser obrigatoriamente multiplicada por um pois se é multiplicada por zero então a parcela negativa não existe e por esse motivo o número é positivo Considerando que quanto ao sinal existem apenas duas opções positivo e negativo então o bit de sinal assume apenas dois valores zero e um respectiva mente qualquer que seja a base adotada sinal amplitude B A Decimal Cálculo 0 0 0 0 1 1 1 0 2 0 21 2 1 1 1 1 21 1 Tabela 1 Esquema para números binários de dois bits com sinal sinal amplitude Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 30 C B A Decimal Cálculo 0 0 0 0 0 0 1 1 0 1 0 2 0 1 1 3 1 0 0 4 0 22 1 0 1 3 1 22 1 1 0 2 2 22 1 1 1 1 3 22 Tabela 2 Esquema para números binários de três bits com sinal sinal amplitude D C B A Decimal Cálculo 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 0 23 1 0 0 1 7 1 23 1 0 1 0 6 2 23 1 0 1 1 5 3 23 1 1 0 0 4 4 23 1 1 0 1 3 5 23 1 1 1 0 2 6 23 1 1 1 1 1 7 23 Tabela 3 Esquema para números binários de quatro bits com sinal sinal amplitude C B A Decimal Cálculo 0 0 0 0 0 0 1 1 0 0 2 2 0 1 0 3 0 1 1 4 0 1 2 5 0 2 0 6 0 2 1 7 0 2 2 8 1 0 0 9 0 32 1 0 1 8 1 32 1 0 2 7 2 32 1 1 0 6 3 32 1 1 1 5 4 32 1 1 2 4 5 32 1 2 0 3 6 32 1 2 1 2 7 32 1 2 2 1 8 32 Tabela 4 Esquema para números ternários de três bits com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 31 B A Decimal Cálculo 0 0 0 021 020 0 1 1 021 120 1 0 2 121 020 1 1 1 121 120 Tabela 5 Esquema para números binários de dois bits com sinal C B A Decimal Cálculo 0 0 0 0 022 021 020 0 0 1 1 022 021 120 0 1 0 2 022 121 020 0 1 1 3 022 121 120 1 0 0 4 122 021 020 1 0 1 3 122 021 120 1 1 0 2 122 121 020 1 1 1 1 122 121 120 Tabela 6 Esquema para números binários de três bits com sinal C B A Decimal Cálculo 0 0 0 0 032 031 030 0 0 1 1 032 031 130 0 0 2 2 032 031 230 0 1 0 3 032 131 030 0 1 1 4 032 131 130 0 1 2 5 032 131 230 0 2 0 6 032 231 030 0 2 1 7 032 231 130 0 2 2 8 032 231 230 1 0 0 9 132 031 030 1 0 1 8 132 031 130 1 0 2 7 132 031 230 1 1 0 6 132 131 030 1 1 1 5 132 131 130 1 1 2 4 132 131 230 1 2 0 3 132 231 030 1 2 1 2 132 231 130 1 2 2 1 132 231 230 Tabela 7 Esquema para números ternários de três bits com sinal bits Fórmula 2 B21 A20 3 C22 B21 A20 4 D23 C22 B21 A20 5 E24 D23 C22 B21 A20 Tabela 8 Fórmulas para números binários com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 32 B A Sinalamplitude Complemento de dois 0 0 0 0 0 1 1 1 1 0 0 2 1 1 1 1 Tabela 9 Comparação dos métodos para dois bits com sinal C B A Sinalamplitude Complemento de dois 0 0 0 0 0 0 0 1 1 1 0 1 0 2 2 0 1 1 3 3 1 0 0 0 4 1 0 1 1 3 1 1 0 2 2 1 1 1 3 1 Tabela 10 Comparação dos métodos para três bits com sinal D C B A Sinalamplitude Complemento de dois 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 2 2 0 0 1 1 3 3 0 1 0 0 4 4 0 1 0 1 5 5 0 1 1 0 6 6 0 1 1 1 7 7 1 0 0 0 0 8 1 0 0 1 1 7 1 0 1 0 2 6 1 0 1 1 3 5 1 1 0 0 4 4 1 1 0 1 5 3 1 1 1 0 6 2 1 1 1 1 7 1 Tabela 11 Comparação dos métodos para quatro bits com sinal O método de sinalamplitude apresenta duplicidade na representação do número zero in dicando que existe a perda de uma representação numérica Este problema não existe no método de complemento de dois que representa um número diferente para todas as combinações de bits Exemplo 1 x 10110b com sinal Método 1 A quantidade total de bits é 5 a quantidade de bits de magnitude é 4 24 16 0110b 6d x 6 16 x 10d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 33 Método 2 x 124 023 122 121 020 x 116 08 14 12 01 x 16 0 4 2 0 x 10d Método 3 x 01001b x 1 01010b x 10d x 10d Exemplo 2 x 110011b com sinal Método 1 A quantidade total de bits é 6 a quantidade de bits de magnitude é 5 25 32 10011b 19d x 19 32 x 13d Método 2 x 125 124 023 022 121 120 x 132 116 08 04 12 11 x 32 16 0 0 2 1 x 13d Método 3 x 001100b x 1 001101b x 13d x 13d Exemplo 3 x 1110101b com sinal Método 1 A quantidade total de bits é 7 a quantidade de bits de magnitude é 6 26 64 110101b 53d x 53 64 x 11d Método 2 x 126 125 124 023 122 021 120 x 164 132 116 08 14 02 11 x 64 32 16 0 4 0 1 x 11d Método 3 x 0001010b x 1 0001011b x 11d x 11d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 34 Exemplo 4 x 10000101111011b com sinal Método 1 A quantidade total de bits é 14 a quantidade de bits de magnitude é 13 213 8192 0000101111011b 379d x 379 8192 x 7813d Método 2 x 1213 0212 0211 0210 029 128 027 126 125 124 123 022 121 120 x 18192 04096 02048 01024 0512 1256 0128 164 132 116 18 04 12 11 x 8192 256 64 32 16 8 2 1 x 7813d Método 3 x 01111010000100b x 1 01111010000101b x 7813d x 7813d Exemplo 5 x 121103 com sinal Método 1 A quantidade total de bits é 5 a quantidade de bits de magnitude é 4 34 81 21103 233 132 131 030 21103 227 19 131 030 21103 54 9 3 0 21103 66d x 66 81 x 15d Método 2 x 134 233 132 131 030 x 181 227 19 13 01 x 81 54 9 3 0 x 15d Exemplo 6 x 12134 com sinal Método 1 A quantidade total de bits é 4 a quantidade de bits de magnitude é 3 43 64 2134 242 141 340 2134 216 14 31 2134 32 4 3 2134 39d x 39 64 x 25d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 35 Método 2 x 143 242 141 340 x 164 216 14 31 x 64 32 4 3 x 25d Exemplo 7 x 13Fh com sinal PIC 8 bits Método 1 A quantidade total de bits é 9 a quantidade de bytes de magnitude é 2 162 256 3Fh 3161 15160 3Fh 48 15 3Fh 63 x 63 256 x 193d Método 2 x 1162 3161 15160 x 1256 316 151 x 256 48 15 x 193d Exemplo 8 x 9d 5 bits A quantidade de bits de magnitude é 4 a quantidade total de bits é 415 24 16 x 16 9 x 11d 11 1011b x 11011b Exemplo 9 x 9d 6 bits A quantidade de bits de magnitude é 5 a quantidade total de bits é 516 25 32 x 32 9 x 23d 23 10111b x 110111b Exemplo 10 x 9d 7 bits A quantidade de bits de magnitude é 6 a quantidade total de bits é 617 26 64 x 64 9 x 55d 55 110111b x 1110111b Exemplo 11 x 47d 8 bits A quantidade de bits de magnitude é 7 a quantidade total de bits é 718 27 128 x 128 47 x 81d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 36 81 1010001b x 11010001b Exemplo 12 x 25d 9 bits A quantidade de bits de magnitude é 8 a quantidade total de bits é 819 28 256 x 256 23 x 233d 233 11101001b x 111101001b Exemplo 13 x 200d 9 bits A quantidade total de bits é 9 a quantidade de bits de magnitude é 8 28 256 x 256 200 x 56d 56 00111000b x 100111000b Exemplo 14 x 47d 4 bits ternários de amplitude e 1 bit de sinal O quinto bit o sinal é de ordem 4 34 81 x 81 47 x 34d 34 10213 x 110213 Exemplo 15 x 53d 6 bits quaternários de amplitude e 1 bit de sinal O sexto bit o sinal é de ordem 5 45 1024 x 1024 53 x 971d 971 330234 x 1330234 Exemplo 16 x 100d com sinal PIC 8 bits A quantidade total de bits é 9 a quantidade de bytes de magnitude é 8 O nono bit o sinal é de ordem 8 28 256 x 256 100 x 156d 156 9Ch x 19Ch Exemplo 17 x 1011b com sinal x 122021120121 x 140211105 x 40105 x 25d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 37 Exemplo 18 x 25d com sinal usar a quantidade mínima de bits Mínima potência de 2 que excede 25 4 22 Três bits para a parte inteira dois bits de amplitude inteira x x 22 25 x 22 x x 4 25 x 4 x x 15d x 1000b 0011b x 011b x 1011b Exemplo 19 x 02d com sinal cinco bits fracionários Considerando que este número possui apenas a parcela fracionária é necessário que se defina a localização do bit de sinal Este bit pode ser qualquer um que esteja localizado à esquerda dos bits com valor 1 Usar a casa zero 20 como sinalização x 1202122 x 12122 02 12122 y 1x y 102 y 08 08 2122 21 05 y 01b 08 05 03 22 025 y 011b 03 025 005 23 0125 y 0110b 24 00625 y 01100b 25 003125 y 011001b 005 003125 001875 x 1y x 1b 011001b x 111001b complemento de 2 Usar a casa zero 21 como sinalização x 121202122 x 2202122 02 22122 y 2x y 202 y 18 18 202122 20 1 y 1b 18 1 08 21 05 y 11b 08 05 03 22 025 y 111b 03 025 005 23 0125 y 1110b 24 00625 y 11100b 25 003125 y 111001b 005 003125 001875 x 2y x 10b 111001b x 1111001b complemento de 2 Usar a casa zero 21 como sinalização x 1212223 x 052223 02 052223 y 05x y 0502 y 03 03 2223 22 025 y 001b 03 025 005 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 38 23 0125 y 0010b 24 00625 y 00100b 25 003125 y 001001b 005 003125 001875 x 05y x 01b 001001b x 011001b complemento de 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 39 Capítulo 105 Bases binária quaternária octal e hexadecimal Nos capítulos anteriores foi apresentada a metodologia de conversão de uma base para outra de maneira genérica Algumas bases no entanto possuem certas particularidades que per mitem uma conversão mais rápida e mais fácil Esse é o caso por exemplo das bases de potências de dois As principais seriam a binária a quaternária a octal e a hexadecimal As conversões entre a base 4 e a base 8 e entre a base 8 e a base 16 não podem ser feitas diretamente é preciso fazer primeiro a conversão para binário Base 4 Base 2 0 00 1 01 2 10 3 11 Tabela 1 Conversão entre base 4 e a base 2 Base 8 Base 2 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Tabela 2 Conversão entre base 4 e a base 2 Base 16 Base 2 Base 4 0 0000 00 1 0001 01 2 0010 02 3 0011 03 4 0100 10 5 0101 11 6 0110 12 7 0111 13 8 1000 20 9 1001 21 A 1010 22 B 1011 23 C 1100 30 D 1101 31 E 1110 32 F 1111 33 Tabela 3 Conversão entre base 16 e as bases 2 e 4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 40 Exemplo 1 Converter x 10111b para quaternário x 010111b x 1134 Exemplo 2 Converter x 10101011b para octal x 10101011b x 253o Exemplo 3 Converter x 10010111011b para hexadecimal x 10010111011b x 4BBh Exemplo 4 Converter x 3320314 para binário x 111110001101b x 111110001101b Exemplo 5 Converter x 13022114 para hexadecimal x 13022114 x 1CAh Exemplo 6 Converter x 310223214 para octal x 1101001010111001b x 1101001010111001b x 151271o Exemplo 7 Converter x 36024o para binário x 011101000010100b x 011101000010100b Exemplo 8 Converter x 135006o para quaternário x 001011101000000110b x 001011101000000110b x 0232200124 Exemplo 9 Converter x 3672o para hexadecimal x 0111101110108 x 0111101110104 x 7BAh Exemplo 10 Converter x 1FCh para binário x 000111111100b x 000111111100b Exemplo 11 Converter x A07Fh para quaternário x 1010000001111111b x 1010000001111111b x 220013334 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 41 Exemplo 12 Converter x 3F075h para octal x 00111111000001110101b x 001111110000011101014 x 07701658 Exemplo 13 x 75h obter y x2 x 75h x 01110101h y 011101010h y 0EAh caso o formato seja de 9 bits y EAh caso o formato seja de 8 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 42 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 43 Capítulo 106 Adição aritmética Números binários permitem a execução das operações de adição subtração multiplicação e divisão O mesmo acontece com as bases ternária quaternária e assim por diante Estas opera ções seguem as mesmas regras qualquer que seja a base adotada Neste capítulo será abordada a operação aritmética da adição Os dois elementos de entrada são chamados de parcelas Este nome indica que tais ele mentos apontam para os valores parciais do resultado da operação Parcialidade implica na repre sentação de uma parte de um todo No contexto da lógica argumentativa imparcialidade significa o não acolhimento de nenhuma das partes envolvidas na argumentação O resultado da operação de adição é chamado de soma Muitos professores de matemá tica de maneira errada falam em operação de soma Sob o contexto da matemática não é per mitida a soma de três ou mais parcelas diretamente embora isto possa ser feito de maneira infor mal no contexto da engenharia No contexto da matemática qualquer operação pode ser feita com quaisquer números ex ceto o número zero No contexto das engenharias adição subtração e comparação podem ser aplicados somente entre palavras binárias com exatamente a mesma quantidade de bits Se mate maticamente a quantidade de bits inteiros não é a mesma entre as parcelas então zeros à es querda precisam ser acrescentados a fim de igualar esta quantidade Se matematicamente a quan tidade de bits fracionários não é a mesma entre as parcelas então zeros à direita precisam ser acrescentados O resultado da adição e da subtração também precisam ter necessariamente a mesma quantidade de bits das palavras de entrada Multiplicação e divisão podem ser feitas com números de tamanho de bits diferentes No contexto da matemática é possível efetuar estas operações entre números expressos em bases diferentes porém porém é recomendável que tanto as parcelas como a soma sejam nú meros da mesma base A operação de adição binária de um bit gera dois bits de saída Um deles corresponde ao bit de soma e o outro corresponde ao carregamento para a casa binária à esquerda Este bit é chamado de carry também é chamado de vaium O bit carry pode receber apenas dois valores zero ou um qualquer que seja a base ado tada Na base decimal a máxima soma de dois dígitos é 18 o que implica em carry1 Na base binária a máxima soma resulta em 10b carry1 Na base ternária a máxima soma resulta em 113 carry1 e assim por diante Quando se usam três ou mais parcelas então é possível gerar um carregamento superior a 1 porém este caso não é considerado haja vista que o formalismo matemático não admite esse tipo de operação A operação de adição ternária ou superior também gera dois bits de saída Um deles corres ponde ao bit de soma e este bit é representado na mesma base das parcelas O outro bit corres ponde ao carry chamado de vaium e este bit é sempre binário independentemente da base adotada Para fim de introdução teórica será apresentada a adição binária e posteriormente a adição em outras bases Este procedimento aplicado à base decima implica no método clássico de adição ensinado para as crianças na escola Na adição decimal a máxima soma é obtida com 99 cujo resultado é 18 sendo 8 o bit decimal de soma e 1 o bit de carry A adição de dois bits precisa levar em consideração o bit de carregamento proveniente da casa binária à direita Por esse motivo há dois tipos de carry Carryout É o bit enviado à casa binária à esquerda Carryin É o bit recebido da casa binária à direita Para o bit menos significativo o carryin vale sempre zero Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 44 Para o bit mais significativo o carryout não possui uma casa binária para onde pode ser enviado assumindo então um outro significado ele representa o estouro de capacidade de repre sentação overflow transbordo Este bit possui significado quantitativo no resultado para a deter minação do valor decimal equivalente porém não faz parte da palavra de saída a soma haja vista que esta palavra precisa necessariamente ter a mesma quantidade de bits das duas parcelas O bit de overflow permite então que o estouro na capacidade de representação não comprometa o sig nificado quantitativo da resposta Sendo assim se as palavras binárias das parcelas e da soma pos suem n bits então o resultado numérico é formado por n1 bits Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 0 2 Tabela 1 Adição de um bit LSb Carry in Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 2 1 0 0 0 1 1 1 0 1 1 0 2 1 1 0 1 0 2 1 1 1 1 1 3 Tabela 2 Adição de um bit demais bits Carry in Parcela 1 Parcela 2 Carry out Soma Decimal 0 0 0 0 0 0 0 0 1 0 1 1 0 0 2 0 2 2 0 1 0 0 1 1 0 1 1 0 2 2 0 1 2 1 0 3 0 2 0 0 2 2 0 2 1 1 0 3 0 2 2 1 1 4 1 0 0 0 1 1 1 0 1 0 2 2 1 0 2 1 0 3 1 1 0 0 2 2 1 1 1 1 0 3 1 1 2 1 1 4 1 2 0 1 0 3 1 2 1 1 1 4 1 2 2 1 2 5 Tabela 3 Adição de um bit ternário Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 45 S Cyin P1 P2 Conforme foi explicado todas as palavras binárias envolvidas na adição precisam ter neces sariamente o mesmo tamanho em bits no contexto dos circuitos digitais Isso significa que a res posta da adição é formada por duas palavras a saber a soma e o overflow Se a operação envolve apenas duas parcelas então a palavra overflow é formada por apenas um único bit Se porém a operação envolve três ou mais bits então a palavra overflow pode ser formada por dois bits ou mais Para os professores de matemática de engenharia e na bibliografia correlata não existe consenso quanto a formação do resultado da adição binária Em muitos livros e artigos científicos em muitas aulas é possível observar que muitos eruditos neste assunto consideram que a palavra soma inclui a palavra overflow Nesta interpretação o bit de overlfow corresponde ao MSb da palavra da soma Qual interpretação está correta As duas A corretude porém depende da plena compre ensão da interpretação adotada No contexto da matemática pura a interpretação que determina que o bit de overlfow consiste do MSb da palavra da soma é mais interessante porque produz um maior apelo à intuição No contexto dos sistemas digitais porém é mais conveniente considerar que o bit de overflow não faz parte da palavra soma principalmente quando existe um barra mento central de dados Em sistemas microcontrolados onde existe um barramento de dados centralizado data bus a quantidade de bits deste data bus corresponde ao tamanho das duas parcelas e da soma Isto significa que o bit de overflow não cabe no data bus Este bit é enviado para um registro de bits de sinalização Desta forma a palavra soma não representa o valor verdadeiro do resultado nu mérico da adição Este valor é obtido por meio da adição da palavra soma com o bit OV multipli cado pela devida potência de dois No caso dos microcontroladores da família 8bit PIC o regis trador W work register recebe os oito bits menos significativos do resultado da operação de adição das duas parcelas de oito bits O nono bit o bit de overflow é enviado para o registro de sinalização C Se C0 então o resultado da adição é dado diretamente pelos oito bits do registro W Se C1 então o resultado da adição é dado pelo registro W somado a 256 Nos exemplos numéricos a seguir será dado o nome S sum à composição quantitativa das palavras de overflow e de soma determinando o resultado quantitativo da adição Exemplo 1 A 4d B 2d 0 0 1 0 0 4 0 1 0 2 1 1 0 6 S 110b Exemplo 2 A 4d B 3d 0 0 1 0 0 4 0 1 1 3 1 1 1 7 S 111b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 46 Exemplo 3 A 5d B 1d 0 1 1 0 1 5 0 0 1 1 1 1 0 6 S 110b Exemplo 4 A 5d B 3d 1 1 1 0 1 5 0 1 1 3 1 0 0 0 8 Palavra soma 000b 0d Resultado soma 23 08 8d S 1000b Exemplo 5 A 7 B 3 1 1 1 1 1 7 0 1 1 3 1 0 1 0 10 Palavra soma 010b 2d Adição soma 23 28 10 S 1010b Exemplo 6 A 7 B 7 1 1 1 1 1 7 1 1 1 7 1 1 1 0 14 Palavra soma 110b 6d Adição soma 23 68 14 S 1110b Exemplo 7 ternário A 19 B 14 0 1 2 0 1 19 1 1 2 14 1 0 2 0 33 Palavra soma 0203 6d Adição soma 33 627 33 S 1020b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 47 Exemplo 8 hexadecimal A 781 B 1384 0 1 3 0 D 781 5 6 8 1384 8 7 5 2165 S 875b Exemplo 9 A 275d B 125 1 1 1 1 01 1 275 0 10 1 125 1 0 00 0 400 A matemática clássica não permite a adição de três parcelas ou mais porém no contexto da engenharia esta expansão é permitida Quando existem mais do que duas parcelas o carregamento pode ser maior do que 1 Neste caso podemos entender que a palavra carry é formada por mais de um bit Cada bit da palavra carry é colocado sobre uma casa binária diferente Carry in Parcela 1 Parcela 2 Parcela 3 Carry out Soma Decimal 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 1 0 2 0 1 0 0 0 1 1 0 1 0 1 1 0 2 0 1 1 0 1 0 2 0 1 1 1 1 1 3 1 0 0 0 0 1 1 1 0 0 1 1 0 2 1 0 1 0 1 0 2 1 0 1 1 1 1 3 1 1 0 0 1 0 2 1 1 0 1 1 1 3 1 1 1 0 1 1 3 1 1 1 1 2 0 4 2 0 0 0 1 0 2 2 0 0 1 1 1 3 2 0 1 0 1 1 3 2 0 1 1 2 0 4 2 1 0 0 1 1 3 2 1 0 1 2 0 4 2 1 1 0 2 0 4 2 1 1 1 2 1 5 Tabela 4 Adição de três parcelas de um bit Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 48 Exemplo 10 0 0 0 1 0 0 0 8 0 0 0 1 1 0 1 0 0 4 1 1 0 1 13 Exemplo 11 1 0 1 0 1 5 1 1 0 6 0 1 0 2 1 1 0 1 13 Exemplo 12 1 1 0 1 1 1 0 14 1 0 1 0 10 0 1 1 1 7 1 1 1 1 1 31 Exemplo 13 1 1 2 1 1 0 0 11 95 0 1 0 10 50 0 1 1 11 75 1 0 1 1 00 220 Exemplo 14 2 2 1 1 1 1 1 01 145 0 1 1 00 60 0 1 1 11 75 1 1 1 0 00 280 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 49 Exemplo 15 2 1 1 1 1 1 1 1 01 145 1 0 1 00 100 1 1 0 11 135 1 0 0 1 1 00 380 No exemplo 15 o carryout do MBb tem valor dois Quando este carry desce para formar o overflow ele precisa ser convertido para binário formando dois bits Em outras palavras a palavra overflow é formada por dois bits A complexidade do procedimento da operação da adição de três ou mais parcelas com relação aos carregamentos de valores elevados gerando cargas de dois ou mais bits mostram que os matemáticos estão corretos quando dizem que a operação de adição aritmética somente pode ser efetuada para duas parcelas O cálculo tornase mais fácil quando na ocorrência de três ou mais parcelas a operação da adição aritmética é efetuada em múltiplas eta pas sempre operando duas parcelas Os exemplos 13 14 e 15 podem ser refeitos usando bits binários nos carregamentos tor nando a análise mais coerente em relação aos circuitos digitais O carregamento é representado por uma dupla camada uma para cada bit Neste caso temos uma soma de cinco elementos as três parcelas e as duas camadas de carregamento Exemplo 13 com carregamento binário 0 1 0 0 1 0 0 1 1 0 0 11 95 0 1 0 10 50 0 1 1 11 75 1 0 1 1 00 220 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 50 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 51 Capítulo 107 Subtração positiva No capítulo anterior foi apresentada a operação da adição aritmética binária A subtração binária segue as mesmas regras da subtração decimal A palavra subtração significa tração para baixo puxamento para baixo Em outras palavras a subtração consiste no processo de diminui ção no valor quantitativo representado por um certo número Embora o conceito da adição aritmética possa ser extrapolado para três ou mais parcelas a operação da subtração aritmética permite apenas o uso de dois argumentos Minuendo Subtraendo O primeiro elemento de entrada é chamado de minuendo porque é quem sofre a diminui ção é o número que sofre a tração para baixo O segundo elemento é chamado de subtraendo é o número que determina a intensidade da diminuição do valor do minuendo O resultado da opera ção de subtração aritmética é chamado de resto ou diferença Subtração positiva é aquela onde o subtraendo é menor ou igual ao minuendo Neste capí tulo por razões didáticas será apresentada somente a subtração positiva A subtração negativa implica na observação da representação de números negativos e é apresentada no capítulo se guinte Considerando que a operação aritmética de subtração possui apenas dois argumentos mi nuendo e subtraendo é possível desenvolver apenas subtrações positivas No caso onde o minu endo é menor do que o subtraendo é possível inverter a ordem dos argumentos efetuar a subtra ção positiva e depois transformar o resultado positivo em negativo Essa inversão não implica po rém na troca dos papéis dos dois argumentos haja vista que minuendo e subtraendo possuem significados diferentes Neste capítulo os três primeiros exemplos na sequência são decimais e precisam ser muito bem entendido a fim de que se apreenda o entendimento acerca do procedimento de subtração aritmética binária que segue exatamente o mesmo procedimento Quando se usam o tradicional jargão vem um na subtração decimal este um é proveni ente da casa decimal à esquerda e implica na soma de uma dezena na casa decimal à direita Isto se deve ao fato de que uma unidade em uma casa à direita representa uma dezena na casa à esquerda por causa da base decimal 10d O empréstimo então é de uma unidade do ponto de vista da casa decimal à esquerda e de uma dezena do ponto de vista da casa decimal à direita Seguindo exatamente o mesmo procedimento da subtração decimal a subtração binária também faz uso dos empréstimos Uma unidade em uma casa à direita representa o valor dois na casa à esquerda por causa da base binária 10b Uma unidade em uma casa ternária à direita representa o valor três na casa ternária à esquerda por causa da base ternária 10b e assim por diante Os conceitos apresentados a respeito da subtração decimal e binária podem ser aplicados a qualquer outra base de numeração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 52 Exemplo 1 decimal A 743 B 421 R AB 743 421 322 R 322 Esta subtração pode ser separada pelos seus dígitos 700 40 3 400 20 1 300 20 2 300202 322 Minuendo Subtra endo Resto Unidades 3 1 2 Dezenas 4 2 2 Centenas 7 4 3 Tabela 1 Explicação da subtração decimal do exemplo 1 Neste primeiro exemplo todas as casas decimais sofrem uma subtração positiva não sendo necessário efetuar nenhum empréstimo Tratase de uma situação de fácil compreensão e por isso possui caráter introdutório Exemplo 2 decimal A 743d B 461d R AB 743 461 282 R 282d Esta subtração pode ser separada pelos seus dígitos 700 40 3 400 60 1 300 2 A subtração do segundo dígito não pôde ser efetuada porque geraria um número negativo Considerando que as casas decimais possuem uma progressão de grandeza em dez é possível sub trair uma unidade em uma casa e adicionar dez unidades na casa à direita 40 100 140 tomada do empréstimo na casa das dezenas 700 100 600 pagamento do empréstimo na casa das centenas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 53 600 140 3 400 60 1 200 80 2 200802 282 700 100 100 40 3 400 60 1 200 80 2 200802 282 Na casa das dezenas o valor 100d adicionado corresponde ao empréstimo que foi feito so bre a casa das centenas e é chamado de borrow out na casa das dezenas transferência de paga mento para o futuro Na casa das centenas o valor 100d subtraído corresponde ao empréstimo que esta casa fez para a casa das dezenas e é chamado de borrow in recebimento da conta do emprés timo feito anteriormente Borrow in Minuendo Subtraendo Borrow out Resto Unidades 3 1 0 2 Dezenas 0 4 6 1 8 Centenas 1 7 4 2 Tabela 2 Explicação da subtração decimal do exemplo 2 resto minuendo borrow out 10 borrow in subtraendo Unidades 2 3 010 0 1 Dezenas 8 4 110 0 6 Centenas 2 7 010 1 4 1 0 7 4 3 4 6 1 2 8 2 Exemplo 3 decimal A 743d B 668d R AB 743 668 282 R 282d Esta subtração pode ser separada pelos seus dígitos 700 40 3 600 60 8 300 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 54 Nesta subtração encontramos um resultado negativo tanto para as unidades como para as dezenas O dígito das dezenas possui borrow in e borrow out 3 10 30 tomada do empréstimo na casa das unidades 40 10 30 pagamento do empréstimo na casa das dezenas 700 40 10 10 3 600 60 8 300 5 30 100 130 tomada do empréstimo na casa das dezenas 700 100 600 pagamento do empréstimo na casa das centenas 700 100 10 40 3 100 10 600 60 8 000 70 5 000705 075 O valor 100d adicionado à casa das dezenas corresponde ao empréstimo que foi feito sobre a casa das centenas e é chamado de borrow out Ainda na casa das dezenas o valor 10d subtraído corresponde ao empréstimo que esta casa fez para a casa das unidades e é chamado de borrow in Borrow in Minuendo Subtraendo Borrow out Resto Unidades 3 8 1 5 Dezenas 1 4 6 1 7 Centenas 1 7 6 0 Tabela 3 Explicação da subtração decimal do exemplo 3 Unidades 5 3 110 0 8 Dezenas 7 4 110 1 6 Centenas 8 7 010 1 6 1 1 7 4 3 6 6 1 2 8 2 Na subtração decimal o empréstimo de uma unidade na casa à esquerda implica no acrés cimo de dez unidades na casa vigente O valor dez está associado à base decimal Igualmente em uma base binária o empréstimo de uma unidade na casa à esquerda implica no acréscimo de duas unidades na casa vigente resto minuendo borrow out2 borrow in subtraendo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 55 Na subtração decimal havendo necessidade de um empréstimo o valor emprestado é de dez vezes o peso da casa em questão Igualmente na subtração binária havendo necessidade de um empréstimo o valor emprestado é de duas vezes o peso da casa Um empréstimo para a pri meira casa decimal tem valor dez Um empréstimo para a segunda casa decimal tem valor cem Um empréstimo para a primeira casa binária tem valor dois Um empréstimo para a segunda casa biná ria tem valor quatro Exemplo 4 binário A 6d B 4d R AB 110b 6 100b 4 010b 2 R 2d 100b 10b 0b 100b 00b 0b 000b 10b 0b 4d 2d 0d 4d 0d 0d 0d 2d 0d Neste exemplo todas as casas binárias sofrem uma subtração positiva não sendo necessário efetuar nenhum empréstimo Tratase de uma situação de fácil compreensão e por isso possui caráter introdutório resto minuendo subtraendo Minuendo Subtraendo Resto bit 0 0 0 0 bit 1 1 0 1 bit 2 1 1 0 Tabela 4 Explicação da subtração binária do exemplo 4 Exemplo 5 A 5d B 2d R AB 101b 5 010b 2 011b 3 R 3 100b 00b 1b 000b 10b 0b 100b b 1b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 56 1 0 1 0 1 0 1 0 2 8 2 4d 0d 1d 0d 2d 0d 4d d 1d A subtração do segundo bit não pôde ser efetuada porque geraria um número negativo Considerando que as casas binárias possuem uma progressão de grandeza em dois é possível sub trair uma unidade em uma casa e adicionar duas unidades na casa à direita 100b 100b 000b pagamento do empréstimo na terceira casa binária 00b 10 10b tomada do empréstimo na segunda casa binária 100b 100b 100b 00b 1 000b 10b 0 000b 10b 1 000b 10b 1b 011b No segundo bit o valor 100b adicionado corresponde ao empréstimo que foi feito sobre o terceiro bit e é chamado de borrow out No terceiro bit o valor 100b subtraído corresponde ao empréstimo que este bit fez para o segundo bit e é chamado de borrow in resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto bit 0 1 0 0 1 bit 1 0 0 1 1 1 bit 2 1 1 0 0 Tabela 5 Explicação da subtração do exemplo 5 Bit 0 1b 1b 0b2 0b 0b Bit 1 1b 0b 1b2 0b 1b Bit 2 0b 1b 0b2 1b 0b Exemplo 6 A 6d B 1d R AB 110b 6 001b 1 101b 5 R 5 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 57 resto minuendo subtraendo Minuendo Subtraendo Borrow out Resto 0 0 0 0 000 0 1 1 0 0 1 101 1 1 0 0 110 Tabela 6 Explicação da subtração do exemplo 6 Exemplo 7 A 6d B 5d R AB 0 1 1 1 0 6 1 0 1 5 0 0 1 1 R 1 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 0 1 1 1 0 0 0 1 1 1 Tabela 7 Explicação da subtração do exemplo 7 Exemplo 8 A 4d B 1d R AB 1 1 1 0 0 4 0 0 1 1 0 1 1 3 R 3 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 1 0 0 0 102100 1 1 1 Tabela 8 Explicação da subtração do exemplo 8 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 58 Exemplo 9 A 6d B 3d R AB 1 1 1 1 0 6 0 1 1 3 0 1 1 3 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 1 0 0 0 102100 1 1 1 1 1 112111 Tabela 9 Explicação da subtração do exemplo 9 Exemplo 10 A 4d B 3d R AB 1 1 1 0 0 4 0 1 1 3 0 0 1 1 resto minuendo borrow out2 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 002000 0 0 1 1 1 012011 0 1 0 0 1 102001 0 1 1 0 0 102010 1 0 0 1 1 012101 1 0 1 1 0 012110 1 1 0 0 0 102100 1 1 1 1 1 112111 Tabela 10 Explicação da subtração do exemplo 10 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 59 resto minuendo subtraendo Minuendo Subtraendo Resto 0 0 0 000 1 0 1 101 1 1 0 110 2 0 2 202 2 1 1 211 2 2 0 220 Tabela 11 Subtração ternária sem borrow resto minuendo borrow in subtraendo Borrow in Minuendo Subtraendo Resto 0 0 0 0 0000 0 1 0 1 1001 0 1 1 0 1010 0 2 0 2 2002 0 2 1 1 2011 0 2 2 0 2020 1 1 0 0 1100 1 2 0 1 2101 1 2 1 0 2110 Tabela 12 Subtração ternária positiva casos sem borrow out resto minuendo borrow out3 borrow in subtraendo Borrow in Minuendo Subtraendo Borrow out Resto 0 0 0 0 0 003000 0 0 1 1 2 013012 0 0 2 1 1 013021 0 1 0 0 1 103001 0 1 1 0 0 103010 0 1 2 1 2 113022 0 2 0 0 2 203002 0 2 1 0 1 203011 0 2 2 0 0 203020 1 0 0 1 2 013102 1 0 1 1 1 013111 1 0 2 1 0 013120 1 1 0 0 0 103100 1 1 1 1 2 113112 1 1 2 1 1 113121 1 2 0 0 1 203101 1 2 1 0 0 203110 1 2 2 1 2 213122 Tabela 13 Subtração ternária positiva todos os casos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 60 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 61 Capítulo 108 Subtração negativa Subtração negativa é aquela onde o subtraendo é maior ou igual ao minuendo Invertendo a ordem dos operadores obtémse o módulo da subtração original O valor correto é obtido por meio da negativação deste resultado É possível aplicar a mesma técnica de subtração do caso positivo com a única diferença de que o borrow out do bit mais significativo assume a função de bit de sinal Este método de subtração gera números negativos com a notação de complemento de dois Exemplo 1 decimal A 4 B 6 R AB Método 1 R BA R 2 vide resolução no capítulo anterior R R R 2 A quantidade de bits em A e em B é 3 A quantidade total de bits é 314 23 8 R 8 2 R 6 6 110b R 1110b com sinal Método 2 1 1 0 100b 4 110b 6 1110b 2 R 1110b com sinal Exemplo 2 decimal A 1 B 6 R AB Método 1 R BA R 5 vide resolução no capítulo anterior R R R 5 A quantidade de bits em A e em B é 3 A quantidade total de bits é 314 23 8 R 8 5 R 3 3 011b R 1011b com sinal Método 2 1 1 0 001b 1 110b 6 1011b 5 R 1011b com sinal Exemplo 3 A 12 B 27 R AB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 62 Método 1 R BA R 2712 R 15 R R R 15 1 1 0 0 11011b 27 01100b 12 01111b 15 A quantidade de bits em A e em B é 5 A quantidade total de bits é 516 25 32 R 32 15 R 17 17 10001b R 110001b com sinal Método 2 1 0 0 1 1 01100b 12 11011b 27 110001b 15 R 110001b com sinal Exemplo 4 A 83 B 106 R AB Método 1 R BA R 10683 R 23 R R R 23 0 1 0 1 1 1 1101010b 106 1010011b 083 0010111b 023 A quantidade de bits em A e em B é 7 A quantidade total de bits é 718 27 128 R 128 23 R 105 105 1101001b R 11101001b com sinal Método 2 1 1 0 1 0 0 0 1010011b 083 1101010b 106 11101001b 23 R 11101001b com sinal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 63 Capítulo 109 Multiplicação A multiplicação pode ser entendida como sendo um processo de adição em lote A multipli cação é a operação aritmética cujo resultado é chamado de produto A multiplicação por 2 pode ser efetuada por meio do deslocamento dos bits para a esquerda left shift O bit menos significativo recebe valor zero A multiplicação por 4 pode ser efetuada por meio de dois deslocamentos e assim por diante Para qualquer base a multiplicação por esta base é efetuada através do deslocamento dos dígitos para a esquerda A multiplicação por esta base ao quadrado é efetuada através de dois des locamento dos dígitos para a esquerda Primeiramente será apresentada a multiplicação de um número binário por um número de cimal Esta multiplicação pode ser efetuada através de uma adição cumulativa Desta forma ne nhum conceito novo é necessário além daqueles apresentados nos capítulos anteriores É preciso completar as lacunas com o valor zero a fim de respeitar a norma de que a adição somente pode ser efetuada com palavras de mesmo tamanho de bits A subtração pode ser usada como um ata lho para diminuir a quantidade de operações de adição Neste procedimento é recomendado que as adições sejam feitas somente com duas parcelas a fim de respeitar a formalidade matemática Exemplo 1 A 3 P 2A 3 2 6 Método 1 Método 2 1 1 0 1 1 0 1 1 0 1 1 2 1 1 0 1 1 0 P 111b Exemplo 2 A 5 P 4A 5 4 20 Método 1 Método 2 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1 0 1 1 0 1 1 0 1 0 2 1 0 1 0 1 0 1 0 0 1 0 1 0 0 P 10100b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 64 Exemplo 3 A4 P3A 4 3 12 448 8412 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 2 1 0 0 0 1 1 0 0 1 0 0 0 P 1100b Exemplo 4 A6 P5A 6 5 30 Método 1 Sem usar multiplicação por 2 6612 12618 181230 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 1 0 Método 2 Usando multiplicação por 2 6612 12618 181230 0 1 1 0 0 1 1 0 0 1 1 0 0 0 2 2 0 0 1 1 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 P 11110b Exemplo 5 10 7 70 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 65 Método 1 Sem usar multiplicação por 2 101020 202040 201030 403070 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 Método 2 Usando multiplicação por 2 1010 20 2020 40 4020 60 6010 70 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 P 1000110b Números binários podem ser multiplicados um pelo outro Para isso basta observar as ocor rências do valor 1 em cada um dos bits do número multiplicador Cada uma dessas ocorrências implica na soma de uma parcela Cada parcela consiste na multiplicação por uma potência de 2 O expoente é a posição do bit Exemplo 8 4 3 12 P 0100b0011b P 0100b210100b20 P 0100b20100b1 P 10000100b P 1100b Exemplo 9 6 5 30 P 00110b00101b P 00110b2200110b20 P 00110b400110b1 P 11000b00110b P 11110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 66 Exemplo 10 10 7 70 P 0001010b00111b P 0001010b22 0001010b21 0001010b20 P 0001010b4 0001010b2 0001010b1 P 0101000b 0010100b 0001010b P 0111100b 0001010b P 1000110b Exemplo 11 325 1 10 1 1 1 0 1 00 0 9 8 1 10 1 2925 1 1 0 1 1 1 1 0 10 1 P 1110101b Alternativamente é possível usar juntamente com a adição e a multiplicação por dois a subtração O uso da subtração permite encontrar um atalho para a realização do cálculo desejado Borrow in Minuendo Subtra endo Borrow out Resto 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 Tabela 1 Subtração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 67 Exemplo 12 4 3 12 448 8816 16412 1 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 P 01100b Exemplo 13 10 7 70 101020 202040 404080 801070 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 1 0 P 1000110b Exemplo 14 0 1 1 1 1 1 325 1 10 1 1 1 0 1 00 0 7 8 0 0 0 1 10 1 2275 1 1 0 1 1 0 1 1 01 1 P 1011011b É possível efetuar a multiplicação entre dois números binários Tratase de um método bas tante difundido pela bibliografia técnica Este é um procedimento sistemático que no final das con tas leva aos mesmos cálculos do procedimento anterior exceto pelo fato de que a subtração não é usada Este método apresenta a desvantagem de que possuindo muitas parcelas a soma acarreta na formação de grandes carregamentos entre os dígitos o que dificulta bastante o cálculo e desres peita a definição matemática da operação de adição Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 68 Exemplo 13 outra forma 1010 111 1000110 1 1 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 P 1000110b Exemplo 14 outra forma 1101 111 1011011 1 1 1 1 0 0 1 10 1 1 1 01 1 1 0 1 1 0 1 1 01 1 P 1011011b Exemplo 15 37 100101 27 11011 999 1111100111 1 0 1 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 P 1111100111b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 69 Exemplo 16 63 111111 31 11111 1953 11110100001 1 2 3 4 4 3 2 2 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 P 11110010001b Neste exemplo 16 houve acumulação nos carregamentos gerando valores elevados Nestes carregamentos foram empregados números decimais a fim de não sobrecarregar a tabela Seria mais estético porém se tivessem sido usados apenas números binários porém seria difícil repre sentar estes grandes números no lugar dos carregamentos Exemplo 17 x 75h obter y x2 x 75h x 01110101h y 011101010h y 0EAh caso o formato seja de 9 bits y EAh caso o formato seja de 8 bits Exemplo 18 x F07h obter y x2 x F07h x 111100000111h y 1111000001110h y 1E0Eh caso o formato seja de 13 bits y E0Eh caso o formato seja de 12 bits overflow 1b Exemplo 19 Escrever x 2740625d na forma de fração irredutível conside rando que x é uma somatória de potências de dois 22740625 548125 2548125 109625 2109625 21925 221925 4385 24385 877 Foram necessárias cinco multiplicações para transformar o número fracionário em um nú mero inteiro A fração tem como denominador 25 x 87732 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 70 Exemplo 20 Converter para decimal x 001101101101b Este exemplo já foi resolvido no capítulo sobre números fracionários Porém esta conversão também pode ser feita por meio da multiplicação por uma potência de dois de tal modo a transfor mar o número fracionário em um número inteiro x 001101101101b x 0211 0210 129 128 027 126 125 024 123 122 021 120 x 29 28 26 25 23 22 20 x 512 256 64 32 8 4 1 Foi feito um deslocamento de cinco casas binárias para a esquerda O número foi multipli cado por 25 A restauração do número original é obtida por meio da divisão por 25 x 477 32 x 2740625d Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 71 Capítulo 110 Divisão A divisão é a operação aritmética cujo resultado é chamado de quociente Logo nos primeiros passos no processo de aprendizagem do sistema de numeração decimal as crianças recebem a informação de que o deslocamento das casas decimais para a direita implica em uma divisão por dez O mesmo se pode concluir a respeito das outras bases Quando esta divisão é inteira não é necessário acrescentar casas fracionárias Esta situação é observada quando o dígito menos significativo também chamado de dígito das unidades possui valor zero Qualquer outra situação após a divisão implica no surgimento de dígitos fracionários A divisão por 2 pode ser efetuada por meio do deslocamento dos bits para a direita wright shift O bit mais significativo recebe valor zero A divisão por 4 pode ser efetuada por meio de dois deslocamentos e assim por diante Exemplo 1 4 2 15 Q 100b2 Q 010b Exemplo 2 3 2 15 Q 110b2 Q 011b Exemplo 3 12 4 3 Q 1100b4 Q 0011b Exemplo 4 18 4 45 Q 1001000b4 Q 0010010b Exemplo 5 2 15 3 10b2 01b Q 10b01b Q 11b Exemplo 6 2 221 25 224 145 5 010b2 001b 010b2 100b Q 001b100b Q 101b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 72 Exemplo 7 3 3215 25 326 15675 75 110b2 011b 011b2 110b Q 011b110b Q 1111b Exemplo 8 25 252125 15 12525375 375 101b2 0101b Q 101b0101b Q 1111b Exemplo 9 2 2405 125 20525 25 10b4 010b Q 10b010b Q 101b Exemplo 10 2 2405 175 05315 2221535 35 10b4 010b 01b3 11b Q 10b 11b Q 111b Exemplo 9 8 842 125 2810 10 1000b4 0010b Q 0010b1000b Q 1010b Exemplo 10 8 842 225 8216 21618 18 01000b4 00010b 01000b2 10000b Q 00010b10000b Q 10010b Exemplo 11 8 842 325 8216 16824 26 22426 01000b4 00010b 01000b2 10000b 10000b01000b 11000b 00010b11000b 11010b Q 11010b Exemplo 12 8 824 842 175 426 6814 14 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 0110b1000b 1110b Q 1110b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 73 Exemplo 13 8 824 842 275 426 8216 14 61622 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 01000b2 10000b 00110b10000b 10110b Q 10110b Exemplo 14 8 824 842 375 426 8216 30 16824 62430 1000b2 0100b 1000b4 0010b 0100b0010b 0110b 01000b2 10000b 10000b01000b 11000b 00110b11000b 11110b Q 11110b Exemplo 15 10 1025 10425 375 52575 10220 375 201030 7530375 10100b2 01010b 10100b4 00101b 01010b00101b 01111b 01010b2 10100b 10100b01010b 11110b 111100b001111b 1001011b Q 11110 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 74 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 75 Capítulo 111 Conversão entre analógico e digital Existem dois tipos de números Os números dimensionais são aqueles associados a alguma grandeza física relacionada a algum sistema de unidades Na pedagogia infantil os números são apresentados para as crianças pequenas na forma de números dimensionais geralmente associados a objetos presentes no cotidiano infantil como por exemplo laranjas bicicletas cadernos etc Os números adimensionais também chamados de números puros são aqueles que não possuem nenhuma conotação física Animais e crianças pequenas são incapazes de compreender o signifi cado dos números puros Não é difícil entender o que sejam duas laranjas mas a compreensão do significado do número dois requer uma capacidade de abstração que não pode ser ensinada para crianças em seus primeiros anos de vida Existem também as falsas unidades designações que se assemelham a grandezas físicas mas que em verdade possuem significado puramente metafísico Exemplos de falsas unidades seriam a porcentagem os decibéis e as partes por milhão PPM Uma grandeza é dita analógica quando ela é proveniente de alguma analogia Analogia neste contexto significa usar alguma referência A grandeza altitude tem como referência o nível dos oceanos no equador A grandeza tensão nodal tem como referência a tensão no nó zero também chamada de terra A temperatura expressa em graus celsius tem como referência a temperatura de congelamento da água Uma grandeza analógica pode ser contínua ou discreta Uma grandeza contínua é aquela que apresenta a infinitude para dentro e para fora A infinitude para dentro é aquela segundo a qual entre dois pontos quaisquer sempre há um outro ponto intermediário A infinitude para fora é aquela segundo a qual tomados dois pontos sempre há um outro ponto fora deste inter valo Uma grandeza contínua não apresenta nenhum ponto de descontinuidade ou seja em qual quer ponto os limites laterais assumem o mesmo valor em outras palavras todos os pontos da função são deriváveis Uma grandeza analógica discreta é aquela que possui uma quantidade finita e conhecida de valores admissíveis Isso significa que todos os pontos de mudança de valor são descontínuos a função não é derivável Para toda função analógica discreta existe uma correspondente função ana lógica contínua A função discreta pode ser decorrente de algum processo de armazenamentopro cessamento digital de uma função contínua Uma função discreta pode ser transformada em uma função contínua por meio do uso de fórmulas matemáticas de suavização das descontinuidades Este processo permite que esta função seja derivável Uma grandeza digital é aquela cujos valores dos dígitos individuais não tem uma relação direta com a magnitude da relativa grandeza analógica Por exemplo um arquivo de áudio digital é composto por bits que podem receber valor zero ou um e esse valor não tem relação direta com a intensidade do sinal de áudio no ponto em questão A conversão entre uma função analógica e digital implica na definição de dois parâmetros a quantidade de bits por amostra bit rate e a frequência das amostragens O bit rate determina a resolução da conversão Quanto maiores forem os dois parâmetros mais semelhante é o processa mento da função digital em relação à função analógica original porém o custo desta qualidade se manifesta por meio do aumento no requisito de capacidade de armazenamento em memória e no requisito de capacidade de processamento por meio de um microcontrolador ou microprocessador O bit rate determina a quantidade de níveis quânticos A física quântica estuda o quantum a energia dos elétrons de valência No diagrama de Linus Pauling os elétrons são distribuídos por meio do critério de energia Cada órbita possui uma energia medida em EV elétronvolt Existe uma tolerância de variação de energia em cada órbita de modo que a cada órbita está associada uma banda ou faixa de energia Entre duas bandas consecutivas existe uma faixa proibida band gap representando valores de energia que o elétron somente pode assumir em regime transitório no percurso entre uma banda e outra mas jamais em regime estacionário Esta característica define Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 76 o quantum ou seja a quantidade de bandas é finita e conhecida é uma quantidade contável A palavra quantidade é proveniente deste contexto No caso da função analógica proveniente de uma função digital os níveis quânticos repre sentam os valores analógicos instantâneos que podem ser assumidos em regime estacionário Esta quantidade é finita e conhecida Esta quantidade é definida por 2b onde b representa o bit rate O nível quântico mínimo é chamado de referência negativa O nível quântico máximo é chamado de referência positiva A diferença entre esses dois níveis é chamada de amplitude A relação entre o bit rate e a amplitude define a resolução do método de conversão Intervalo quântico é a diferença entre dois níveis quânticos consecutivos e representa a mí nima variação admissível na função analógica discreta A quantidade de intervalos quânticos é defi nida por 2b1 O intervalo quântico é dado por A2b1 onde A é a amplitude A interação entre sistemas analógicos e digitais pode ocorrer em duas vias a conversão de analógico para digital e a conversão de digital para analógico A conversão de analógico para digital requer uma definição prévia da quantidade de bits definição sem a qual a conversão não pode ser efetuada A conversão de digital para analógico não precisa desta definição porque a palavra binária original já traz a informação da quantidade de bits A quantidade de bits não pode ser confundida com a resolução de bits A primeira define a quantidade física de bits A segunda define a quantidade efetivamente usada na conversão Ideal mente estes dois valores são iguais porém em alguns casos indesejáveis a resolução de bits pode ser menor do que a quantidade de bits Isso acontece quando a amplitude analógica isto é a dife rença entre o mínimo e o máximo valores analógicos empregados é menor do que a metade da amplitude máxima Neste caso é perdido um bit de resolução Esta diferença quase sempre é con sequência de um erro de projeto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 77 Capítulo 112 Quantização binária Os três primeiros conceitos da lógica binária são Bit b Uma unidade binária Nibble Quatro bits Byte B Oito bits Word Uma quantidade arbitária de bits Imaginemos que seja necessário expressar a distância entre duas cidades e esta distância seja dada na forma de cento e vinte mil metros Embora este valor tenha sido expresso por meio do sistema internacional de unidades SI a percepção humana a respeito da distância funciona melhor se esta quantidade é expressa na forma de cento e vinte quilômetros Em grandezas ana lógicas são usados prefixos que auxiliam na eficiente comunicação a respeito de uma determinada quantidade associada a algum fenômeno físico Prefixo Potência Prefixo Potência Quilo 103 Mili 103 Mega 106 Micro 106 Giga 109 Nano 109 Tera 1012 Pico 1012 Tabela 1 As potências dos principais prefixos analógicos Prefixo Significado Prefixo Significado Quilo 10001 Mili 10001 Mega 10002 Micro 10002 Giga 10003 Nano 10003 Tera 10004 Pico 10004 Tabela 2 Os milhares dos principais prefixos analógicos Prefixo Significado Prefixo Significado Quilo mil Mili milésimo Mega milhão Micro milionésimo Giga bilhão Nano bilionésimo Tera trilhão Pico trilhonésimo Tabela 3 As pronúncias dos principais prefixos analógicos Prefixo Letra Prefixo Letra Quilo k Mili m Mega M Micro Giga G Nano n Tera T Pico p Tabela 4 As letras usadas nos principais prefixos analógicos Alguns prefixos usam letras maiúsculas outros usam letras minúsculas Em inglês o prefixo quilo é escrito como kilo Em inglês o prefixo giga é pronunciado como guiga Em espanhol o significado da palavra milhão é diferente Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 78 Estes mesmos prefixos são usados para expressar quantidades binárias Embora no con texto da matemática seja possível representar números binários fracionários os sistemas físicos requerem que os números binários sejam todos inteiros Por esse motivo somente as potências positivas são usadas no contexto binário A potência de dois que mais se aproxima de 1000 é 1024 Este é o número usado como base para a formação dos demais prefixos binários Prefixo Quantidade Quilo 10241 Mega 10242 Giga 10243 Tera 10244 Tabela 5 Os principais prefixos digitais a partir de 1024 Prefixo Quantidade Quilo 210 Mega 220 Giga 230 Tera 240 Tabela 6 Os principais prefixos digitais a partir de 2 Prefixo Quantidade Mega 1024k Giga 1024M Tera 1024G Tabela 7 A conversão entre os prefixos digitais Prefixo Quantidade Quilo 1024 Mega 1048576 Giga 1073741824 Tera 1099511627776 Tabela 8 Os principais prefixos digitais na forma explícita Quando a quantidade determinada de bytes através dos cálculos é fracionada é preciso ar redondar para cima ou para baixo dependendo do contexto da aplicação deste cálculo Se o cálculo diz respeito à quantidade de memória necessária para armazenar uma quantidade de informação então o arredondamento necessário é para cima Se o cálculo diz respeito à quantidade de bytes recebida em uma comunicação serial então o arredondamento necessário é para cima Estes são apenas dois exemplos de aplicação mas há incontáveis outras situações possíveis Para cada uma delas é preciso saber qual o correto tipo de arredondamento A regra de arredondamento da ABNT não é aplicável nestes casos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 79 Exemplo 1 x 15kB Determine x em bytes x 151024 bytes x 1536 bytes Exemplo 2 x 15MB Determine x em bytes x 1510242 bytes x 1572864 bytes Exemplo 3 x 13kB Determine x em bytes x 131024 bytes x 13312 bytes a ser arredondado para cima ou para baixo Exemplo 4 x 3kB e 256 bytes Determine x em bytes x 31024256 bytes x 3328 bytes Exemplo 5 x 90MB e 322kB e 82 bytes Determine x em bytes x 9010242322102482 bytes x 94371840 329084 82 bytes x 94701006 bytes Exemplo 6 x 600GB e 462M e 12kB e 732 bytes Determine x em bytes x 60010243 46210242121024732 bytes x 644245094400 484442112 12288 732 bytes x 644729549532 bytes Exemplo 7 x 2000 bytes Determine x em kB x 20001024 kB x 1953125 kB Exemplo 8 x 40000000 bytes Determine x em MB x 4000000010242 MB x 3814697265625 MB Exemplo 9 x 3523MB Determine x em kB x 35231024 kB x 34404296875 kB Exemplo 10 x 27kB e 48 bytes Determine x em kB x 27102448 bytes x 27696 bytes x 276961024 kB x 27046875 kB Outra forma 48 bytes 481024 kB 48 bytes 0046875 kB x 27 0046875 kB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 80 x 27046875 kB Exemplo 11 x 589MB e 1006kB e 10 bytes Determine x em MB x 589102421006102410 bytes x 617611264 1030144 10 bytes x 618641418 bytes x 61864141810242 kB x 5899824314117431640625 kB Outra forma 10 bytes 1010242 MB 10 bytes 00000095367431640625 MB 1006kB 10061024 MB 1006kB 0982421875 MB x 589 0982421875 00000095367431640625 MB x 5899824314117431640625 MB Exemplo 12 x 4GB e 943MB e 5kB e 148 bytes Determine x em GB x 4102439431024251024148 bytes x 4294967296 988807168 5120 148 bytes x 5283779732 bytes x 528377973210243 GB x 49209033437073230743408203125 GB Outra forma 148 bytes 14810243 GB 148 bytes 00000001378357410430908203125 GB 5kB 510242 GB 5kB 000000476837158203125 GB 943MB 9431024 GB 943MB 09208984375 GB x 4 09208984375 000000476837158203125 00000001378357410430908203125 GB x 49209033437073230743408203125 GB Exemplo 13 x 10000 bytes Determine x em kB inteiros e bytes x 100001024 bytes x 9765625 kB x 9kB inteiros resto 0765625 kB resto 07656251024 bytes resto 784 bytes x 9kB e 784 bytes Exemplo 14 x 7033943 bytes Determine x em MB mais kB mais bytes x 703394310242 MB x 670809078216552734375 MB x 6MB inteiros resto 070809078216552734375 MB resto 0708090782165527343751024 kB resto 7250849609375 kB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 81 x 6MB e 725kB inteiros resto 00849609375 kB resto 008496093751024 bytes resto 87 bytes x 6MB e 725kB e 87 bytes Exemplo 15 x 3146688 bytes Determine x em MB mais kB mais bytes x 314668810242 MB x 300091552734375 MB x 3 MB inteiros resto 000091552734375 MB resto 0000915527343751024 kB resto 09375 kB resto 093751024 bytes resto 960 bytes x 3MB e 960 bytes Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 82 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 83 Parte 113 Bases híbridas Nos capítulos anteriores todos os números apresentados são compostos por dígitos ou numerais representados todos eles pela mesma base Quando o assunto é a representação nu mérica não é fácil pensar em alguma aplicação prática que requeira o uso de bases híbridas Um exemplo de número representado em base híbrida seria um número composto por dois dígitos onde o menos significativo está na base dois e o mais significativo está na base três Os principais exemplos práticos do uso de bases híbridas consistem das aplicações de con tadores Em capítulos seguintes serão apresentados diversos tipos de contadores digitais Um con tador pode ser interpretado como a representação temporal de um sistema de numeração Quando se lida com circuitos eletrônicos que exercem a função de contadores é fácil entender a maneira como contadores diferentes podem ser interconectados para a execução de uma contagem híbrida Por exemplo um contador de dois passos pode ser ligado a um contador de três passos formando um contador de seis passos Se a quantidade de passos do primeiro contador é definida por A e a quantidade de passos do segundo contador é definida por B a quantidade de passos definida pelo acoplamento dos dois contadores em série é dada por AB Da mesma forma como a multiplicação aritmética possui a propriedade comutativa igualmente a ordem dos dois contadores é irrelevante na determinação da quantidade de passos Essa ordem porém é relevante quanto à palavra aritmética gerada por cada passo da contagem Seguindo esta linha de raciocínio vários contadores podem ser ligados em série O problema do uso das bases híbridas é que é necessário que cada dígito tenha uma indica ção individual do valor da sua base Quando porém se apresentam todos os números gerados pela base híbrida em ordem crescente a determinação da base é evidenciada pela própria lista apresen tada Um exemplo de base híbrida usado em nosso cotidiano é a medição da percepção humana do tempo Na tabela abaixo o número z é indefinido pois qualquer número real elevado a zero resulta em um Como é possível observar nos cálculos o peso da segunda casa B leva em consideração a base da primeira casa A B3 A2 Decimal Cálculo B2 A3 Decimal Cálculo 00 0 00 0210z0 00 0 00 0310z0 01 1 01 0211z0 01 1 01 0311z0 10 2 20 1210z0 02 2 02 0312z0 11 3 21 1211z0 10 3 30 1310z0 20 4 40 2210z0 11 4 31 1311z0 21 5 41 2211z0 12 5 32 1312z0 geral x B21Az0 geral x B31Az0 Tabela 1 Exemplos de bases híbridas de duas casas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 84 C3 B4 A2 Decimal Cálculo Cálculo Cálculo 000 0 000 080201 042020 001 1 001 080211 042021 010 2 020 081201 042120 011 3 021 081211 042121 020 4 040 082201 042220 021 5 041 082211 042221 030 6 060 083201 042320 031 7 061 083211 042321 100 8 800 180201 142020 101 9 801 180211 142021 110 10 820 181201 142120 111 11 821 181211 142121 120 12 840 182201 142220 121 13 841 182211 142221 130 14 860 183201 142320 131 15 861 183211 142321 200 16 1600 280201 242020 201 17 1601 280211 242021 210 18 1620 281201 242120 211 19 1621 281211 242121 220 20 1640 282201 242220 221 21 1641 282211 242221 230 22 1660 283201 242320 231 23 1661 283211 242321 geral X C8B2A1 C42B2A Tabela 2 Exemplo de base híbrida de três casas Formato Fórmula AZ1 A BZ2 AZ1 BZ1A CZ3 BZ2 AZ1 CZ2Z1BZ1A DZ4 CZ3 BZ2 AZ1 D Z3Z2Z1CZ2Z1BZ1A Tabela 3 Fórmula para conversão para decimal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 85 Exemplo 1 Converta x341325 para decimal x 335152 x 4552 x 52d Exemplo 2 Converta x52d para a base C4B3A5 52d 5 10 resto 2 10d 3 3 resto 1 3d 4 0 resto 3 x 341325 Exemplo 3 Converta x10271012312 para decimal x 12103320103327332132221 x 3600126641 x 497d Exemplo 4 Converta x497d para a base FE2D10CB3A2 497d 2 248 resto 1 248d 3 82 resto 2 82d 3 27 resto 1 27d 10 2 resto 7 2d 2 1 resto 0 1d 2 0 resto 1 x x10271012312 Exemplo 5 t 26min Determine t em segundos t 2660s t 1560s Exemplo 6 t 13h Determine t em minutos e em segundos t 1360min t 780min t 78060s t 46800s Exemplo 7 t 5d Determine t em horas em minutos e em segundos t 524h t 120h t 12060min t 7200min t 720060s t 720060s t 432000s Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 86 Exemplo 8 t 6 semnas aDetermine t em dias t 67d t 42d Exemplo 9 t 731 segundos Determine t em minutos e segundos t 73160 minutos t 1218 minutos tm 12 minutos inteiros ts 01860s ts 11s t ts tm t 12min e 11s Exemplo 10 t 32722 segundos Determine t em hhmmss t 3272260 minutos t 54536 minutos t 5453660 horas t 90894 horas th 9 horas inteiras tm 0089460min tm 537min tm 5 minutos inteiros ts 03760s ts 22s t 9h5min22s Neste exemplo é preciso fazer os cálculos diretamente na calculadora a fim de evitar os erros de arredondamento Exemplo 11 t 843h horas Determine t em ddhh t 84324 dias t 35125 dias td 35 dias inteiros th 012524 horas th 3h t 35 dias e 3 horas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 87 Capítulo 114 Bases fracionárias Nos capítulos anteriores todas as bases empregadas são inteiras Entretanto é possível fa zer uso de bases fracionárias O único prérequisito é o de que esta base seja dada por um número maior do que 1 Até o momento da redação desta apostila não foi observada nenhuma aplicação para bases fracionadas Também não foram encontradas menções a este assunto na bibliografia consultada O propósito deste capítulo é o de mostrar para o estudante que a matemática permite que estes cálculos sejam realizados tornando este conhecimento disponível para um futuro hipo tético onde talvez isto seja aplicável a alguma área da engenharia Considerando que cada casa de numeração é ocupada por um único numeral então o nu meral máximo permitido é dado pelo máximo número inteiro abaixo da base Por causa disso a progressão de números em uma base fracionária não forma uma função linear Esta não linearidade não permite que o valor decimal seja usado para a determinação do número nesta outra base Outro problema é que ocorrem algumas inversões nesta progressão invalidando a utilização do valor quantitativo destes números Embora não tenha sido feita uma demonstração teórica foi observado que nas bases 15 25 e 35 não ocorrem repetição de valores quantitativos preservando a característica de função injetora Este texto não se propõe a completar a análise destas funções mas sim estimular a propo sição de linhas de pesquisa sobre este assunto Exemplo 1 x0110 base 15 x 0153 1152 1151 0150 x 03375 1225 115 01 x 0 225 15 0 x 375d Exemplo 2 x121 base 25 x 1252 2251 1250 x 1625 225 11 x 125 5 1 x 185d Representação Decimal Decimal 000 015201510150 0 001 015201511150 1 010 015211510150 15 011 015211511150 25 100 115201510150 225 Tabela 1 Alguns números na base 15 A tabela 1 mostra um erro presente na base 15 O número 011 nesta base deveria ser menor do que o número 100 mas o valor decimal mostra que ele é mais alto Esse erro é decorrente da não linearidade na determinação dos valores inteiros em relação ao número que determina a base Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 88 Número Decimal Número Decimal Número Decimal 000 0000 100 62500625 200 12500125 001 0011 101 62501725 201 12501135 002 0022 102 62502825 202 12502145 010 025025 110 625250875 210 12525015 011 025135 111 625251975 211 12525116 012 025245 112 6252521075 212 12525217 020 0505 120 625501125 220 12550175 021 0516 121 625511225 221 12551185 022 0527 122 625521325 222 12552195 1000 15625 Tabela 2 Alguns números na base 25 A tabela 2 mostra um erro presente na base 25 O número 0222 nesta base deveria ser menor do que o número 1000 mas o valor decimal mostra que ele é mais baixo O gráfico abaixo revela a nãolinearidade da tabela 2 Por causa desta nãolinearidade o método das divisões suces sivas não pode ser aplicado na conversão de um número decimal para estas bases fracionárias Gráfico 1 A não linearidade da base 25 Gráfico 2 A não linearidade da base 35 O gráfico da progressão da base 35 foi obtido no Microsoft Excel por meio da construção das sessenta e cinco primeiras combinações e do uso da fórmula abaixo onde n é substituído pelo número da linha An353535Bn3535Cn35Dn 0 2 4 6 8 10 12 14 16 18 20 1 3 5 7 9 11 13 15 17 19 21 23 25 27 0 10 20 30 40 50 1 4 7 10131619222528313437404346495255586164 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 89 Unidade 2 Álgebra booleana Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 90 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 91 Capítulo 201 Existência e unicidade Unicidade A teologia ocidental cristã defende a tese de que o ser humano é único e como tal insubs tituível em sua essência Em todo o mundo em toda a história da humanidade jamais existirão duas pessoas totalmente idênticas Os desenhos formados pelas impressões digitais e a leitura biométrica pela íris e pela retina são uma evidência da unicidade do ser humano As ciências jurídicas estão todas elas apoiadas no pilar da unicidade Sem este princípio não é possível efetuar uma correta aplicação do direito civil A unicidade jurídica é aplicada tanto para pessoa física como para pessoa jurídica Se algo não é único como ente jurídico então o direito não pode ser aplicado sobre ele Por exemplo se duas pessoas possuem exatamente o mesmo nome e esta é a única informação disponível então nenhuma ação jurídica pode ser exercida sobre estas pessoas até que a unicidade seja obtida O conceito da unicidade está associado ao conceito da identidade Somente possui identi dade aquilo que é único Dois elementos são denominados idênticos em relação a um determi nado aspecto quando dentro deste escopo de análise não há distinção entre um e outro não sendo possível identificar qual é qual Existência A teologia ocidental cristã defende a tese de que o ser humano existe bem como toda a natureza pois se esta teologia faz referência ao Deus Criador então algo foi criado e se esse algo foi criado então esse algo existe As ciências jurídicas estão todas elas apoiadas no pilar da existência Sem este princípio não é possível efetuar uma correta aplicação do direito civil A existência jurídica é aplicada tanto para pessoa física como para pessoa jurídica Se algo não existe como ente jurídico então o direito não pode ser aplicado sobre ele Por exemplo se uma pessoa real não tem a sua identidade reve lada então nenhuma ação jurídica pode ser exercida sobre estas pessoas até que a sua existência jurídica seja obtida A existência é uma qualidade associada à sua capacidade de interação com o cosmos o antônimo de caos seja fisicamente seja metafisicamente A existência pode ser provada mas a inexistência não A inexistência é apenas a ausência de uma prova de existência a inexistência per dura somente até a obtenção da evidência da existência No contexto da criminologia a existência de um dolo ou uma culpa pode ser provada mas não é possível provar a inexistência de um crime É possível provar que alguém é culpado mas im possível é provar que alguém é inocente Com base nesta lógica existe o milenar princípio do in dubio pro reo observado no artigo 386 do Código de Processo Penal Uma situação que evidencia a existência do ente em análise é chamada de termo Termo é uma situação que comprova a existência daquilo que se observa Em uma acusação criminal os termos da acusação seriam as evidências coletadas que confirmariam tal acusação Se uma acusação não possui nenhum termo juridicamente válido ela é rejeitada segundo o artigo 395 do Código de Processo Penal Um contrato juridicamente válido possui um ou mais termos isto é a especificação das si tuações reais nos quais este contrato é relevante é atuante bem como a maneira como este con trato manifesta sua relevância em tais situações Caso não haja nenhuma situação plausível ou viá vel na qual o contrato seja relevante então podemos dizer que este contrato não existe Um Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 92 exemplo de contrato não existente seria Se o planeta Terra chocarse contra o Sol então o cliente receberá uma indenização Para cada termo é preciso que o contrato afirme inequivocamente as medidas a serem tomadas Se for constatada a presença de um termo não coberto ou seja uma situação factível cuja resposta contratual não esteja especificada então o contrato está incompleto e precisa ser feito pois no contrário caso a situação não coberta aconteça o contrato não oferece a resposta neces sária e uma desgastante e interminável batalha judicial está criada Existem advogados especializa dos em contratos e distratos e que prestam assessoria às partes envolvidas O teorema da existência precede o teorema da unicidade Para que algo seja único é preciso que este algo primeiramente exista Se algo não existe o princípio da unicidade não pode ser apli cado Termos da função Uma função booleana é uma fórmula matemática e como tal não pode ser provada ou re futada fisicamente mas apenas numericamente Uma função analógica existe quando a partir de sua aplicação podemos determinar pelo menos um ponto no espaço cartesiano unidimensional bidimensional ou tridimensional Uma fun ção booleana existe quando existe pelo menos um termo que a satisfaz Por exemplo se definimos a função yx e se consideramos que a função y existe então seguramente existe pelo menos um valor de x para o qual a aplicação da fórmula dada por yx promova a definição de um valor único e inequívoco para y Em álgebra booleana o conceito de satisfação da função ou de verificação da função pode ser observado tanto por meio do valor zero como por meio do valor um A primeira opção é chamada de análise de zeros e a segunda de análise de uns Não é necessário efetuar as duas observações pois o princípio da exclusão principium tertii exclusi garante que as duas análises são equivalentes embora diferentes Se você possui um balde contendo bolas de gude verdes e vermelhas você pode fazer a separação coletando as verdes ou as vermelhas as duas opções geram exatamente a mesma separação embora os procedimentos sejam diferentes Na análise de zeros a existência da função é confirmada se há pelo menos uma situação na qual esta função retorne o valor zero Igualmente na análise de uns a existência da função é confirmada se há pelo menos uma situação na qual esta função retorne o valor um Quando uma situação possui todas as suas variáveis inequivocamente definidas então ela é chamada de termo A definição de um termo requer obrigatoriamente a definição clara do valor lógico de todas as variáveis de entrada do sistema Sem esta definição não é possível identificar o termo Por exemplo em um contrato a aplicação de um determinado termo requer que sejam ob servadas todas as circunstâncias contratuais que definem este termo se alguma circunstância não é observada se a sua análise é nebulosa então o termo não está definido Se uma função booleana é definida como ZDCBA temos então que Z é a variável de saída ou variável dependente e que D C B e A são as variáveis de entrada ou variáveis independentes Nesta função todos os termos precisam ser também função de TODAS as variáveis de entrada a saber D C B e A Se alguma destas variáveis está ausente em alguma expres são então esta expressão não é um termo da função pois as variávelis ausentes representam algum parâmetro nebuloso indeterminado Uma expressão booleana definida unicamente através de seus termos é considerada canô nica Esta seria a maneira mais concisa de explicação de uma determinada função Segundo o Léxico Dicionário de Português Online o terceiro significado da palavra cânone é dado por ligação apre sentada em forma de lista catálogo entre outros esta lista seria a ordenação dos termos o catá logo seria a representação ordenada dos termos da função Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 93 No contexto da álgebra booleana não existe definição de maior ou menor haja vista que os valores zero e um são uma representação do conceito metafísico de verdadeiro ou falso Apesar disso por razões didáticas a análise de zero é considerada a análise do menor e a análise de uns é considerada a análise do maior Esta abordagem faz sentido na ocasião da materialização da álgebra booleana na forma de circuitos elétricos onde o valor lógico um está relacionado a uma tensão elétrica maior do que aquela relacionada ao valor zero O filósofo polonês Jan Łukasiewicz concebeu um sistema lógico de múltiplos valores onde existe a quantização dos valores lógicos no qual se pode dizer que um certo valor é maior do que outro valor Este porém não é assunto para este curso Atribuição Análise de zeros Análise de uns Verdadeiro 0 1 Falso 1 0 Tabela 1 Valores numéricos relacionados à veracidade Definidos os valores lógicos booleanos surge a necessidade de introduzir a conversão entre um valor e outro A esta conversão são dados os nomes de negação inversão complemento ou deslocamento Embora estas palavras sejam sinônimas no contexto binário isso não acontece na lógica multivalores O símbolo desta inversão é a barra normal podendo ser colocada à esquerda da variável ou da constante ou acima da mesma O princípio do meio excluído afirma que para qualquer proposição ou a proposição ou a sua negação é verdadeira 0 1 1 0 A A Se A 0 então A 1 Se A 1 então A 0 Se A 0 e B 0 então A B Se A 1 e B 1 então A B Se A 0 e B 1 então A B Se A 1 e B 0 então A B Se A 0 e B 0 então A B Se A 1 e B 1 então A B Se A 0 e B 1 então A B Se A 1 e B 0 então A B Definida a inversão lógica é preciso definir os conectivos lógicos Conectivo lógico é a ope ração lógica responsável por conectar duas variáveis gerando uma terceira variável Esta conexão precisar pautarse em algum valor lógico de referência Se na lógica booleana existem apenas dois valores então somente dois conectivos lógicos podem ser definidos O conectivo lógico que atenta para o valor zero pode ser chamado de operação de mí nimo ou conjunção no contexto da lógica proposicional No contexto da filosofia este conectivo é chamado de intersecção No contexto da álgebra booleana este conectivo é chamado de mul tiplicação lógica No contexto dos sistemas digitais este conectivo é chamado de E lógico AND O conectivo lógico que atenta para o valor um pode ser chamado de operação de má ximo ou disjunção no contexto da lógica proposicional No contexto da filosofia este conectivo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 94 é chamado de união No contexto da álgebra booleana este conectivo é chamado de adição lógica No contexto dos sistemas digitais este conectivo é chamado de OU lógico OR Embora estes conectivos sejam definidos para apenas duas variáveis de entrada eles po dem ser extrapolados para três ou mais entradas Um termo é obtido por meio da aplicação de um conectivo lógico sobre as variáveis do sis tema Se este conectivo é a operação de mínimo este termo é chamado de mintermo Se este conectivo é a operação de máximo este termo é chamado de maxtermo Análise Referência em zeros Referência em uns Quantitativa mínimo máximo Lógica conjunção disjunção Filosofia intersecção união Álgebra multiplicação lógica adição lógica Sistemas digitais AND OR Termo mintermo maxtermo Tabela 2 Definição dos conectivos lógicos O teorema da unicidade aplicado aos termos diz que a identificação dos termos precisa ser inequívoca Para tal cada termo precisa ser satisfeito para uma e apenas uma combinação das variáveis de entrada Este é o motivo porque os termos são função de TODAS as variáveis da função Os termos de uma função canônica precisam ser únicos ou seja quando um deles é acio nado nenhum outro pode sêlo Usando a analogia do contrato a análise de um cenário precisa ser única ou seja todos os parâmetros relevantes precisam ser plenamente conhecidos tanto qualita tivamente quanto quantitativamente Se existe algum parâmetro ambíguo então o cenário não é único Definição da função a partir dos termos A função booleana canônica pode ser definida por meio do produtório de maxtermos ou por meio do somatório de mintermos Se a função existe então ela possui pelo menos um termo que pode ser maxtermo ou min termo Em outras palavras se a função existe na análise de zeros então existe pelo menos um maxtermo e se a função existe na análise de uns então existe pelo menos um mintermo Usando a analogia do contrato podemos dizer que se o contrato existe então também existe pelo menos uma situação na qual este contrato seja aplicável Se esta situação não existe então por conse quência o contrato também não existe Na análise de zeros se para que a função exista é preciso que também exista pelo me nos um maxtermo e considerando que este termo ofereça quando selecionado o valor em análise o zero então a ocorrência deste zero é suficiente e determinante para a qualificação da exis tência da função existência esta que é apontada pelo valor zero na variável de saída da função Desta forma este valor zero precisa prevalecer em detrimento da ocorrência do valor um dos maxtermos inválidos O conectivo lógico segundo o qual o valor zero tem precedência sobre o valor um é a multiplicação lógica o operador AND Isso explica porque na análise canônica de zeros temos um produtório Na análise de uns se para que a função exista é preciso que também exista pelo menos um mintermo e considerando que este termo ofereça quando selecionado o valor em análise o um então a ocorrência deste um é suficiente e determinante para a qualificação da existência da função existência esta que é apontada pelo valor um na variável de saída da função Desta Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 95 forma este valor um precisa prevalecer em detrimento da ocorrência do valor zero dos minter mos inválidos O conectivo lógico segundo o qual o valor um tem precedência sobre o valor zero é a adição lógica o operador OR Isso explica porque na análise canônica de uns temos um soma tório Os termos precisam respeitar a premissa da unicidade O acionamento de um termo ocorre por meio de uma e apenas uma combinação das variáveis de entrada A combinação das variáveis de entrada é determinada por meio da indexação dos termos em uma espécie de conversor biná riodecimal aquilo que no contexto dos circuitos digitais é chamado de decodificador A com binação é determinada por meio da inversão ou não operação NOT das variáveis de entrada Tais variáveis em sua forma original e complementada formam um barramento cuja função é a seleção do termo vigente Na análise de zeros se para que o maxtermo seja único é preciso que o conectivo lógico forneça em sua saída o valor zero somente quando todas as suas entradas recebem o valor zero Em qualquer outra situação este conectivo lógico precisa fornecer o outro valor o valor indicativo da nãoseleção a saber um Diante destes critérios é possível concluir que para este conectivo lógico o valor em análise o zero é o valor de menor peso o elemento neutro e que o valor um é o valor de maior peso o elemento nulo O conectivo lógico que satisfaz a este critério é a adição lógica o operador OR Isso explica porque na análise canônica de zeros temos maxter mos pois o conectivo OR prioriza o maior valor Na análise de uns se para que o mintermo seja único é preciso que o conectivo lógico forneça em sua saída o valor um somente quando todas as suas entradas recebem o valor um Em qualquer outra situação este conectivo lógico precisa fornecer o outro valor o valor indicativo da nãoseleção a saber zero Diante destes critérios é possível concluir que para este conectivo lógico o valor em análise o um é o valor de menor peso o elemento neutro e que o valor zero é o valor de maior peso o elemento nulo O conectivo lógico que satisfaz a este critério é a multi plicação lógica o operador AND Isso explica porque na análise canônica de uns temos mintermos pois o conectivo AND prioriza o menor valor Considerando que o princípio da existência precede o princípio da unicidade então em uma análise de zeros a multiplicação precede a adição isto é possui uma hierarquia superior No caso da análise de uns a adição precede a multiplicação Por causa desta hierarquia é necessário que a expressão algébrica da função canônica faça uso dos parênteses para indicar os termos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 96 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 97 Capítulo 202 Forma canônica A melhor maneira de organizar algum pensamento filosófico consiste na colocação ordenada de todas as situações possíveis Qualquer que seja o cenário imaginado esta filosofia apresenta uma resposta previamente definida Não há situação imprevista Este tipo de pensamento é chamado de canônico No contexto do cristianismo dãose o nome de cânon bíblico à lista de todos os textos considerados necessários para a formação do entendimento a respeito da cristandade Igualmente o cânon de um contrato seria a lista ordenada de todas as considerações incluídas na celebração deste contrato Segundo o Dicionário de Filosofia de Nicola Abbagnano cânon seria o Critério ou regra de escolhas para um campo qualquer de conhecimento ou de ação Exemplo de pensamento canônico Se fizer sol e se for domingo eu vou passear Se fizer sol e se não for domingo eu não vou passear Se chover e se for domingo eu não vou passear Se chover e se não for domingo eu não vou passear Cada parágrado do pensamento é chamado de proposição sentença ou termo Dentro do contexto da lógica booleana e da lógica multivalores a forma canônica implica na observação de todas as combinações possíveis de todas as variáveis de entrada do sistema de maneira explícita e na definição inequívoca do seu valor de saída O contrário da forma canônica seria a forma minimizada que apesar de também observar todas as combinações das variáveis de entrada tal análise é feita de maneira implícita Exemplo de pensamento implícito Se fizer sol eu vou passear Se não fizer sol o Se for domingo eu vou visitar parentes o Se não for domingo eu vou ler um livro Neste exemplo de pensamento implícito o primeiro parágrafo consiste de dois termos ele abrande as seguintes situações Fazer sol e ser domingo Fazer sol e não ser domingo Existem diversas maneiras diferentes para a definição de uma função booleana dentre as quais a mais útil é a expressão algébrica pois ela fornece a lei de formação do resultado da aplicação desta função ela apresenta uma fórmula matemática que traduz o comportamento do sistema fí sico responsável pela implementação da função Todas as outras formas de definição de funções booleanas são decorrentes da expressão algébrica Uma expressão algébrica escrita na forma canônica é aquela que não faz uso de nenhum método de minimização Minimização é o procedimento de redução do tamanho da expressão al gébrica sem a alteração do seu comportamento e é assunto para outros capítulos Um circuito lógico está na forma canônica quando é construído a partir da expressão algébrica na forma canônica A forma canônica consiste de um conjunto de termos Em um contexto filosófico ou jurídico termos são as situações que satisfazem as exigências ou demandas No contexto da álgebra boole ana termos são as combinações das variáveis de entrada que tornam verdadeira a variável de saída Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 98 As variáveis de entrada proporcionam o endereçamento de cada termo da função Este en dereçamento responde pelo apontamento do termo pertinente à situação vigente Cada termo pos sui um endereço exclusivo As variáveis de entrada em um sistema físico formam o barramento de endereço address bus Esse endereçamento seria equivalente à numeração dos artigos de uma constituição estatal Cada termo é constituído de um conectivo lógico OR ou AND usando todas as variáveis de entrada do sistema Se alguma variável está ausente então não se trata de um termo Considerando que a operação OR prioriza o valor lógico máximo 1 então o termo formado com este conectivo lógico é chamado de maxtermo Considerando que a operação AND prioriza o valor lógico mínimo 0 então o termo formado com este conectivo lógico é chamado de mintermo Muito embora a lógica booleana tenha inicialmente atribuído os valores zero e um aos significados de falso e verdadeiro falsetrue respectivamente esta atribuição hoje é arbitrá ria ou seja você pode escolher se deseja usar o valor zero ou o valor um como indicador de veracidade Esta escolha define a estrutura da expressão algébrica e do circuito lógico Maxtermo é um indicador de que a função fornece valor zero para aquela configuração das variáveis de entrada Mintermo é um indicador de que a função fornece valor um para aquela configuração das variáveis de entrada A análise de zeros fornece uma expressão algébrica canô nica no formato de um produtório de maxtermos A análise de uns fornece uma expressão algé brica canônica no formato de um somatório de mintermos Não existe significado lógico para um somatório de maxtermos ou para um produtório de mintermos Análise Estrutura Uns min termo1 termo2 termo3 Zeros max termo1 termo2 termo3 Tabela 1 Estrutura das funções canônicas Dentro da filosofia o teorema da unicidade afirma que um termo precisa ser satisfeito para uma e apenas uma combinação das variáveis de entrada Cada termo é selecionado por um único endereço e cada endereço aponta para um único termo relação biunívoca Não existe termo sem endereço e não existe endereço sem termo muito embora o sistema físico possa conter endereços que não apontem para nenhum circuito lógico Em decorrência deste teorema toda tabelaverdade precisa estar completa contendo uma linha para cada endereço das variáveis de entrada No contexto das reações químicas existe o conceito da acidez media por meio do pH Uma substância com um pH com valor sete seria considerada neutra A neutralidade seria a carac terística de não reagir com outras substâncias Em uma disputa esportiva ou jurídica é necessário que o juiz ou árbitro seja neutro ou seja ele não pode ser favorável a nenhuma das partes envolvi das A neutralidade implica da impossibilidade de que os interesses próprios afetem as decisões tomadas No contexto da álgebra booleana um número zero ou um é considerado neutro quando a sua operação com outro número não altera o valor deste outro número Uma operação booleana somente fornece o elemento neutro quando todas as suas variáveis de entrada recebem este valor neutro Para que a condição da unicidade seja satisfeita o conectivo lógico usado precisa ser aquele para o qual o valor analisado seja o elemento neutro Por essa razão a análise de zeros utiliza maxtermos pois o conectivo lógico OR possui como elemento neutro o valor lógico zero A análise de uns utiliza mintermos pois o conectivo lógico AND possui como elemento neutro o valor lógico um Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 99 Análise Referência em zeros Referência em uns Operação AND OR Elemento neutro um zero Tabela 2 Definição dos elementos neutros O teorema da existência afirma que para que a função exista então ela precisa ser satisfeita para pelo menos uma combinação das variáveis de entrada Em outras palavras existe pelo me nos um termo que satisfaz a função No contexto das reações químicas existe o conceito da anulação da reação Por exemplo em um processo de combustão a retirada do oxigênio interrompe o processo imediatamente Em um processo jurídico criminal o procedimento é encerrado imediatamente quando chega a notícia de que o réu está morto A nulidade implica da impossibilidade de que as ações anteriores conti nuem em andamento No contexto da álgebra booleana um número zero ou um é considerado nulo quando a sua operação com outro número despreza o valor deste outro número e impõe o valor nulo Para que a satisfação do termo implique na satisfação da função completa é preciso que o conectivo lógico empregado para ligar os termos caso eles existam em quantidade igual ou superior a dois precisa ser aquele para o qual o valor analisado seja o elemento nulo Por essa razão a análise de zeros utiliza produtório pois o conectivo lógico AND possui como elemento nulo o valor lógico zero A análise de uns utiliza somatório pois o conectivo lógico OR possui como elemento nulo o valor lógico um Análise Referência em zeros Referência em uns Operação AND OR Elemento nulo zero um Tabela 3 Definição dos elementos nulos Os circuitos lógicos construídos a partir da expressão algébrica na forma canônica possuem uma estrutura do tipo gate array arranjo de portas lógicas nas categorias ROM PROM EEPROM e PLA assunto para capítulos posteriores A omissão das portas lógicas referentes aos termos não usados não implica em um processo de minimização algébrica haja vista que esta expressão continua sendo a mesma muito embora o circuito lógico bem como o circuito digital físico possa sofrer uma considerável redução A escrita da expressão algébrica na forma canônica é precedida pela definição do conjunto de ter mos A partir deste conjunto os termos selecionados são escritos na forma de maxtermos análise de zeros ou de mintermos análise de uns Esse conjunto contém o índice decimal correspon dente à posição de cada termo Este índice corresponde ao valor decimal gerado a partir do nú mero binário que define a combinação das variáveis de entrada em questão conforme mostrado nas tabelas a seguir As variáveis de entrada e as variáveis de saída podem receber como nome mnemônicos associados ao seu significado dentro da interpretação humana Genericamente estas variáveis po dem receber as letras do alfabeto A primeira variável à direita então recebe o nome de A e é a menos significativa As variáveis seguintes são mais significativas e recebem as próximas letras do alfabeto A variável de saída recebe a letra seguinte Eventualmente podemse usar sufixos numé ricos Quando o sistema é formado por múltiplas funções das mesmas entradas o nome genérico destas saídas pode ser indexado por meio de um sufixo subscrito Embora a definição de funções booleanas por meio de tabelaverdade seja mais frequente mente usada quando se pretende fazer a conversão para a expressão algébrica na forma canônica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 100 isto não é uma regra Qualquer outra forma de definição destas funções pode ser convertida dire tamente para a expressão canônica Embora não seja uma regra obrigatória um cuidado com a estética e a elegância impõe que a expressão algébrica canônica seja construída por meio do ordenamento de termos em acordo com a tabelaverdade A não observação desta recomendação acarreta em maior dificuldade na inter pretação desta expressão algébrica Para os estudantes iniciantes é recomendado que ao escrever a expressão algébrica seja colocado um pequeno número acima de cada célula indicando o número decimal relativo ao endereço de cada termo decimal B A zeros uns 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 BA BA Tabela 4 Termos de dois bits decimal C B A zeros uns 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 CBA CBA 7 1 1 1 CBA CBA Tabela 5 Termos de três bits decimal D C B A zeros uns 0 0 0 0 0 DCBA DCBA 1 0 0 0 1 DCBA DCBA 2 0 0 1 0 DCBA DCBA 3 0 0 1 1 DCBA DCBA 4 0 1 0 0 DCBA DCBA 5 0 1 0 1 DCBA DCBA 6 0 1 1 0 DCBA DCBA 7 0 1 1 1 DCBA DCBA 8 1 0 0 0 DCBA DCBA 9 1 0 0 1 DCBA DCBA 10 1 0 1 0 DCBA DCBA 11 1 0 1 1 DCBA DCBA 12 1 1 0 0 DCBA DCBA 13 1 1 0 1 DCBA DCBA 14 1 1 1 0 DCBA DCBA 15 1 1 1 1 DCBA DCBA Tabela 6 Termos de quatro bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 101 Em muitas aplicações práticas é conveniente usar a função complementada motivo porque a obtenção desta função será apresentada nos exemplos a seguir por razões puramente didáticas pois o processo de síntese não requer necessariamente a obtenção das quatro formas uma única forma já é suficiente não faz sentido materializar a mesma função lógica de duas ou mais formas diferente Exemplo 1 duas entradas C max1 C min023 C max023 C min1 B A C C 0 0 1 0 0 1 0 1 1 0 1 0 1 1 1 0 Tabela 7 Exemplo 1 Tabelas verdade C C decimal B A zeros uns zeros uns 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 BA BA Tabela 8 Exemplo 1 Definição de termos C BA C BABABA C BABABA C BA Exemplo 2 três entradas D max03456 D min127 D max127 D min03456 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 102 C B A D D 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 0 Tabela 9 Exemplo 2 Tabelas verdade D D decimal C B A zeros uns zeros uns 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 CBA CBA 7 1 1 1 CBA CBA Tabela 10 Exemplo 2 Definição de termos D CBACBACBACBACBA D CBACBACBA D CBACBACBA D CBACBACBACBACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 103 Exemplo 3 quatro entradas E max01267810 E min34591112131415 E max34591112131415 E min01267810 D C B A E E 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 1 0 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 Tabela 11 Exemplo 3 Tabelas verdade Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 104 E E decimal D C B A zeros uns zeros uns 0 0 0 0 0 DCBA DCBA 1 0 0 0 1 DCBA DCBA 2 0 0 1 0 DCBA DCBA 3 0 0 1 1 DCBA DCBA 4 0 1 0 0 DCBA DCBA 5 0 1 0 1 DCBA DCBA 6 0 1 1 0 DCBA DCBA 7 0 1 1 1 DCBA DCBA 8 1 0 0 0 DCBA DCBA 9 1 0 0 1 DCBA DCBA 10 1 0 1 0 DCBA DCBA 11 1 0 1 1 DCBA DCBA 12 1 1 0 0 DCBA DCBA 13 1 1 0 1 DCBA DCBA 14 1 1 1 0 DCBA DCBA 15 1 1 1 1 DCBA DCBA Tabela 9 Exemplo 3 Definição de termos E DCBADCBADCBADCBADCBADCBA DCBA E DCBADCBADCBADCBADCBADCBA DCBADCBADCBA E DCBADCBADCBADCBADCBADCBA DCBADCBADCBA E DCBADCBADCBADCBADCBA DCBADCBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 105 Capítulo 203 Operações lógicas Operação é o ato de aplicar algum procedimento de transformação de uma ou mais variáveis ou constantes na obtenção de um resultado predizível O pensamento filosófico e a aritmética de cimal são formados por um apanhado de operadores O uso conjunto dos operadores e das variáveis e constantes define aquilo que chamamos de matemática Operação 1 Confirmação ou positivação A filosofia positivista é formada pelo pensamento positivo Por positivo entendemse tudo aquilo que pode ser comprovado e confirmado Somente os fenômenos naturais podem ser confir mados isto é positivados Em outras palavras a filosofia positivista se foca unicamente na ima nência na ciência fazendo descarte completo da transcendência evidenciando um rompimento com as heranças do pensamento tomista A República Federativa do Brasil foi regulamentada a par tir do pensamento positivista A pedagogia republicana brasileira possui forte viés positivista e con siste de um rompimento com as heranças do método pedagógico dos jesuítas o Ratio Studiorum No contexto da álgebra booleana a positivação é chamada de operação YES No contexto da moderna cultura urbana ocidental um exemplo clássico da aplicação filosófica da operação YES seriam as pessoas classificadas como NPC nonplayer character que seria aquela pessoa que não possui a capacidade de dizer um não de cunho doutrinário aquela pessoa que apenas repete aquilo que foi ensinada a dizer A operação YES consiste da repetição na saída do valor da entrada Os circuitos integrados que proporcionam esta função são chamados de buffer Embora esta função não provoque nenhuma alteração booleana na variável de entrada ela é importante por causa deste buffer O buffer é a etapa de saída de todo circuito eletrônico usado nas portas lógicas Suas princi pais funções são 1 Efetuar o casamento de impedância vide o teorema da máxima transferência de energia no acoplamento de circuitos elétricos 2 Ajustar os valores de tensão elétrica e de corrente elétrica para um determinado pa drão como por exemplo TTL ECL e CMOS 3 Aumentar o fanout a capacidade de uma saída digital em alimentar várias outras entradas digitais Exemplos de circuitos integrados comerciais da porta YES são o 4049 e o 4050 No contexto dos circuitos analógicos o buffer é chamado erradamente de amplificador de potência Isto é um erro porque em circuitos eletrônicos a fim de que houvesse um circuito am plificador de potência seria necessário que houvesse amplificação de tensão e de corrente ao mesmo tempo em sua componente alternada Isso porém não acontece Por razões de otimização de performance e de custo os projetistas constroem os equipamentos amplificadores de áudio ou vídeo por meio da arquitetura de uma série de amplificadores ligados em cascata cada um deles responsável por uma etapa da amplificação sendo que as primeiras etapas são construídas com amplificadores de tensão também chamados de amplificadores de pequenos sinais e as últimas etapas são construídas com amplificadores de corrente Considerando que as últimas etapas são aquelas que lidam com uma potência elétrica maior então é feita a equivocada associação das eta pas de potência com o amplificador de corrente Alguns engenheiros erradamente fazem o uso do nome amplificador de potência quando o transistor envolvido é de potência No contexto do co mércio a expressão amplificador de potência é empregado para aqueles equipamentos cuja po tência está acima daquela demandada para o uso doméstico Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 106 Operação 2 Negativação ou inversão No pensamento lógico toda proposição pode ser negada Não existe proposição que não possa ser negada Um exemplo de uma nãoproposição seria uma indagação isto é uma pergunta Uma pergunta não pode ser confirmada nem refutada mas apenas respondida e esta resposta pode ser um sim um não ou qualquer outra palavra ou valor numérico Por outro lado uma proposição não pode ser respondida mas apenas confirmada ou refutada Confirmar uma propo sição seria por meio de alguma análise repetila Refutar uma proposição seria apresentar uma análise que resulte na proposição contrária à original Exemplo 1 Proposição O dia está ensolarado Refutação 1 O dia está nublado Refutação 2 Está de noite Exemplo 2 Proposição O Brasil é uma república rica Refutação 1 O Brasil é uma monarquia Refutação 2 O Brasil é um país pobre Refutação parcial O Brasil é rico culturalmente mas pobre financeiramente Neste exemplo 2 podemos observar algumas características do cálculo proposicional 1 Uma proposição pode receber várias refutações diferentes 2 Para que a refutação exista ela não precisa retratar a realidade No caso da primeira refutação a afirmação de que o Brasil é uma monarquia é falsa mas mesmo assim a refutação existe 3 Uma refutação não precisa ser hegemônica No caso da segunda refutação algumas pessoas podem concordar com ela e outras pessoas podem discordar 4 Uma refutação pode ser parcial Neste exemplo a proposição não especifica o tipo de riqueza em questão e a refutação parcial faz a separação entre dois tipos de ri queza Mais uma vez os leitores tem a liberdade para concordar ou não com a afir mação proposta na refutação parcial mas mesmo assim ela continua existindo No contexto da álgebra booleana a negativação é chamada de operação NOT Os circuitos integrados que proporcionam esta função são chamados de inverter Exemplos de circuitos integra dos comerciais da porta NOT são o 74LS04 e o 4069 No caso da tecnologia CMOS as funções lógicas são geradas na maneira complementada naturalmente Sendo assim a função YES em tecnologia CMOS é obtida através da ligação de dois inversores lógicos em série Operação 2 Intersecção ou conjunção E lógico Seção é uma fatia de alguma entidade Interseção é uma fatia que faz parte de duas enti dades ao mesmo tempo Para que a interseção exista as duas entidades precisam existir ao mesmo tempo Na língua portuguesa a conjunção lógica é retratada por meio da palavra e Esta palavra não pode ser interpretada no sentido da conjunção gramatical pois na língua portuguesa esta pa lavra pode ser usada em aplicação estática ou temporal mas no contexto da álgebra booleana o contexto é unicamente estático Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 107 Embora a conjunção seja definida para apenas duas variáveis de entrada ela pode ser ex trapolada para três ou mais entradas Exemplos Eu vou ao cinema se eu tiver dinheiro e se o filme for muito bom A solda é formada por chumbo e por estanho O fôlego é determinado pelo sistema circulatório e pelo sistema respiratório A sabedoria é obtida por meio da observação e pela análise Mas agora permanecem estas três a fé a esperança a caridade 1 Coríntios 1313 No contexto da álgebra booleana esta operação é camada de multiplicação lógica Os circuitos integrados que proporcionam esta função são chamados de AND Exemplos de circuitos integrados comerciais da porta AND são o 74LS00 e o 4081 Operação 3 União ou disjunção OU lógico A palavra união significar tornar único Unir o escopo de validação de uma proposição com o de outra proposição significa que qualquer possibilidade prevista por estes dois escopos é suficiente para validar a proposição resultante Em língua portuguesa a disjunção é retratada por meio da palavra ou Em outras palavra a disjunção poderia ser usada por meio da expressão um outro ou ambos Exemplos 1 Eu vou passear se eu estiver de folga ou se for domingo 2 Eu vou beber água se eu estiver com sede ou se for praticar atividade física 3 Eu vou comprar o produto se eu precisar dele ou se o custo for muito baixo 4 Eu vou investir na poupança se o rendimento for bom ou se eu tiver dinheiro so brando Todas estas quatro proposições consideram também a hipótese de que as duas premissas sejam satisfeitas ao mesmo tempo conforme as análises a seguir 1 Eu vou passear se eu estiver de folga ou se for domingo Se for domingo e eu também estiver de folga eu também vou passear 2 Eu vou beber água se eu estiver com sede ou se for praticar atividade física Se eu for praticar atividade física e também estiver com sede eu também vou beber água 3 Eu vou comprar o produto se eu precisar dele ou se o custo for muito baixo Se eu precisar do produto e ele tiver baixo custo eu também vou compralo 4 Eu vou investir na poupança se o rendimento for bom ou se eu tiver dinheiro so brando Se eu tiver dinheiro sobrando e o rendimento na poupança for bom eu tam bém farei o investimento 5 Eu vou ao supermercado comprar macarrão ou feijão Pode ser que eu compre ape nas um deles ou pode ser que eu compre ambos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 108 Nestes quatro primeiros exemplos temos um efeito cumulativo ou seja quando as duas condições são satisfeitas individualmente há um estímulo para o cumprimento do termo mas quando as duas condições são satisfeitas ao mesmo tempo o estímulo é maior Mas também há situações não cumulativas como o exemplo 5 No contexto da álgebra booleana esta operação é camada de adição lógica Os circuitos integrados que proporcionam esta função são chamados de OR Exemplos de circuitos integrados comerciais da porta OR são o 74LS32 e o 4071 Considerando que esta operação permite a satisfação de uma ou duas premissas ela tam bém é chamada de ou inclusivo inclusive OR IOR Operação 4 OU exclusivo A expressão união inclusiva implica na liberdade para satisfazer uma das premissas mas não ambas Exemplos 1 Eu vou comer churrasco ou pizza 2 Eu vou trabalhar na fábrica de tecidos ou na fábrica de fármacos 3 O preenchimento do formulário requer o número do CPF ou do título de eleitor 4 A lâmpada pode estar acesa ou apagada Todas estas quatro proposições desconsideram a hipótese de que as duas premissas sejam satisfeitas ao mesmo tempo conforme as análises a seguir 1 Eu vou comer churrasco ou pizza mas como cada uma das opções correspondem a uma refeição completa então não é possível optar pelas duas ao mesmo tempo 2 Eu vou trabalhar na fábrica de tecidos ou na fábrica de fármacos porém como cada uma das empresas exigem dedicação exclusiva então não é possível assinar contrato de trabalho nas duas ao mesmo tempo 3 O preenchimento do formulário requer o número do CPF ou do título de eleitor e como há somente um único campo para preenchimento do número de identifica ção então não é possível usar os dois documentos no mesmo formulário 4 A lâmpada pode estar acesa ou apagada Se consideramos que a lâmpada acesa re cebe a corrente elétrica nominal e que a lâmpada apagada recebe uma corrente nula então não é possível manter a lâmpada acesa e apagada ao mesmo tempo Os circuitos integrados que proporcionam esta função são chamados de OR Exemplos de circuitos integrados comerciais da porta OR são o 74LS86 e o 4070 Esta operação também pode ser chamada de ou exclusivo exclusive OR EOR Os exemplos apresentados para a operação de IOR e para a operação de XOR mostram que a distinção semântica entre uma operação e a outra nem sempre é tarefa fácil há muitos casos onde o preletor constrói sua narrativa considerando que a distinção é óbvia e evidente porém nem sempre o leitor ou a audiência entendem a mensagem com a devida clareza incorrendo no risco de fazer uma interpretação equivocada Na maioria das ocasiões tal erro de interpretação provoca resultados irrelevantes e desprezíveis mas há casos onde esse erro leva a decisões desastrosas A elaboração de contratos que usufruam de fé pública requerem o cuidadoso e meticuloso uso dos recursos gramaticais principalmente no caso dos conectivos lógicos Descuidos desta natureza já renderam grandes prejuízos financeiros no mundo dos negócios Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 109 Talvez um dos motivos porque os modernos métodos de educação estejam apresentando desempenho insatisfatório levando a civilização ocidental a um notório decaimento em sua capaci dade de organização do pensamento seja o fato de que hoje as escolas não introduzem as crianças ao pleno domínio do correto uso dos principais conectivos lógicos NOT AND e OR ficando este aprendizado quando acontece ao cargo da construção de conhecimento por parte da própria cri ança construção esta que se não for acompanhada por um mestre experiente no uso da lógica poderá acontecer de maneira deficiente de modo que hoje nos grandes centros urbanos em uma cultura de acesso fácil à informação digital não é raro encontrar adultos com larga formação aca dêmica incapazes de identificar o uso de tais conectivos em uma linguagem textual coloquial carac terizando aquilo que hoje chamamos de analfabetismo funcional Uma das grandes dificuldades comunicativas que povos colonizadores encontram ao se re lacionar com comunidades primitivas está na limitação imposta por idiomas também primitivos nos quais a limitação no uso das palavras impede que os colonizadores expressem o seu pensamento Muitos idiomas primitivos não dispunham de palavras específicas aplicadas aos conectivos lógicos A fim de efetuar a análise matemática dos operadores lógicos é preciso traduzir em núme ros a satisfação das condições iniciais O valor zero representa a não satisfação da condição O valor um representa a plena satisfação da condição No operador AND a função somente é satisfeita se todas as premissas são satisfei tas No operador OR a função não é satisfeita somente se nenhuma das premissas é satisfeitas No operador AND a função retorna um somente se todas as entradas valem um No operador OR a função retorna zero somente se todas as entradas valem zero No operador AND a função retorna zero se pelo menos uma entrada vale zero No operador OR a função retorna um se pelo menos uma entrada vale um Nas entradas do operador AND o valor zero domina o valor um Nas entradas do operador OR o valor um domina o valor zero Elemento AND IOR Dominante ou nulo 0 1 Indiferente ou neutro 1 0 Tabela 1 Definição dos elementos dos operadores Juntando a operação NOT com as operações AND e OR é possível obter as funções NAND e NOR Considerando que em tecnologia CMOS as funções são geradas naturalmente na forma com plementada então as portas lógicas NAND e NOR são mais simples do que as portas lógicas AND e OR respectivamente Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 110 decimal B A AND IOR NAND NOR XOR 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 2 1 0 0 1 1 0 1 3 1 1 1 1 0 0 0 Tabela 2 Resposta dos operadores AND IOR e XOR Considerando que dois três e quatro bits formam um número nas bases quatro oito e de zesseis respectivamente então estes operadores podem ser usados nestas bases B A B A AND IOR NAND NOR XOR 0 0 00 00 0 0 3 3 0 0 1 00 01 0 1 3 2 1 0 2 00 10 0 2 3 1 2 0 3 00 11 0 3 3 0 3 1 0 01 00 0 1 3 2 1 1 1 01 01 1 1 2 2 0 1 2 01 10 0 3 3 0 3 1 3 01 11 1 3 2 0 2 2 0 10 00 0 2 3 1 2 2 1 10 01 0 3 3 0 3 2 2 10 10 2 2 1 1 0 2 3 10 11 2 3 1 0 1 3 0 11 00 0 3 3 0 3 3 1 11 01 1 3 2 0 2 3 2 11 10 2 3 1 0 1 3 3 11 11 3 3 0 0 0 Tabela 3 Operadores aplicados à base quaternária Exemplo 1 A10011b B11001b bit B A AND IOR NAND NOR XOR 4 1 1 1 1 0 0 0 3 1 0 0 1 1 0 1 2 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 Tabela 4 Exemplo 1 B AND A 10001b B IOR A 11011b B NAND A 01110b B NOR A 00100b B XOR A 01010b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 111 Exemplo 2 A2304 B1314 bit B A AND IOR NAND NOR XOR 2 10 01 00 11 11 00 11 1 11 11 11 11 00 00 00 0 00 01 00 01 11 10 01 Tabela 5 Exemplo 2 na forma binária bit B A AND IOR NAND NOR XOR 2 2 1 0 3 3 0 3 1 3 3 3 3 0 0 0 0 0 1 0 1 3 2 1 Tabela 6 Exemplo 2 na forma quaternária B AND A 0304 B IOR A 3314 B NAND A 3034 B NOR A 0024 B XOR A 3014 Exemplo 3 A37Fh B72C4 bit B A AND IOR NAND NOR XOR 2 0011 0111 0011 0111 1100 1000 0100 1 0111 0010 0010 0111 1101 1000 0101 0 1111 1100 1100 1111 0011 0000 0011 Tabela 7 Exemplo 3 na forma binária bit B A AND IOR NAND NOR XOR 2 3 7 3 7 C 8 4 1 7 3 2 7 D 8 5 0 F C C F 3 0 3 Tabela 8 Exemplo 3 na forma hexadecimal B AND A 32Ch B IOR A 77Fh B NAND A CD3h B NOR A 880h B XOR A 453h Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 112 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 113 Capítulo 204 Definição de funções lógicas Foram apresentadas no capítulo anterior as principais funções lógicas booleanas O uso destas operações gera aquilo que chamamos de funções lógicas A idéia de função lógica é a de que os fatos não se criam do nada todos os fatos são decorrentes de fatos anteriores de modo que sem o uso correto da cronologia não é possível entender um fato específico Por exemplo para que um criminologista possa explicar como um crime aconteceu ele precisa estudar os fatos que ante cederam o crime propriamente dito Tais favos prévios consistem das variáveis de entrada que de finem o resultado da aplicação de uma função lógica que responde pelo desfecho do episódio em questão Função lógica é a formalização do pensamento lógico A filosofia trata as funções lógicas de maneira textual e esta é principal forma de definição destas funções No caso de sistemas digitais por outro lado a forma textual embora também possa ser empregada não é a mais concisa Ne cessário se faz realizar o salto entre as ciências humanas em direção às ciências exatas Para os sistemas digitais sete são as possibilidades de definição de funções lógicas 1 Lista de termos 2 Tabela verdade 3 Expressão algébrica 4 Gráfico 5 Mapa de Karnaugh 6 Diagrama de Venn 7 Circuito lógico 1 Lista de termos No critério da concisão a lista de termos é sem dúvida a melhor forma de definição Trata se de uma lista de situações nas quais a função é satisfeita seja com zeros seja com uns A lista contém os maxtermos no caso de análise de zeros ou os mintermos no caso de análise de zeros Os termos são representados por meio do seu índice isto é um número decimal que indica a sua ordem na lista de possibilidades totais A lista de termos foi apresentada no capítulo sobre a forma canônica Lista de termos Exemplo 1 BA B max0 B min1 B max1 B min0 Lista de termos Exemplo 2 CBA C max0 C min123 C max123 C min0 Lista de termos Exemplo 3 DCBA D max137 D min02456 D max02456 D min137 Lista de termos Exemplo 4 EDCBA E max2359111213 E min014678101415 E max014678101415 E min2359111213 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 114 2 Tabela verdade No que diz respeito ao apelo à intuição a tabela verdade é a mais adequada Diferentemente da lista de termos a tabela verdade é a mesma seja para análise de zeros seja para análise de uns A tabela apresenta todas as combinações das variáveis de entrada e na coluna da direita mostra o valor da variável de saída para cada uma destas combinações A desvantagem da tabela verdade é que ela não pode ser apresentada de maneira textual A B 0 0 1 1 Tabela 1 BA C B A D 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 Tabela 3 DCBA B A C 0 0 0 0 1 1 1 0 1 1 1 1 Tabela 2 CBA D C B A E 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 Tabela 4 EDCBA 3 Expressão algébrica Quanto ao elo entre as ciências humanas e as ciências exatas a expressão algébrica é o prin cipal protagonista A expressão algébrica é uma fórmula matemática que traduz um fenômeno hu mano ou um fenômeno físico A expressão algébrica é o ponto de partida para a construção do circuito elétrico digital As propriedades algébricas são aplicadas às expressões algébricas a fim de efetuar as transformações desejadas A conversão de alguma das outras seis formas de definição para a expressão algébrica é chamada de síntese porque a expressão algébrica é a definição mais sintética de todas A expressão algébrica canônica foi apresentada no capítulo sobre a forma canô nica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 115 Expressão algébrica Exemplo 1 B A Expressão algébrica Exemplo 2 C BA C BA BA BA C BA BA BA C BA 4 Gráfico O gráfico é apenas uma forma visualmente diferente de representação da tabelaverdade Cada variável de entrada juntamente com a variável de saída formam um gráfico individual Os gráficos são desenhados de maneira alinhada Se o eixo horizontal representa a grandeza do tempo então os gráficos das variáveis de entrada formam um divisor de frequência onde a variável menos significativa possui a maior frequência 5 Mapa de Karnaugh Tal como o gráfico o mapa de Karnaugh não passa de uma modificação visual da tabela verdade e consiste de uma ferramenta intuitiva de aplicação do teorema da adjacência para a minimização de funções booleanas Este é um assunto para os próximos capítulos 6 Diagrama de Venn O diagrama de Venn é a ponte de comunicação entre o cálculo proposicional e a teoria dos conjuntos Embora este diagrama tenha enorme relevância na análise de tomada de decisões ele tem pouca aplicação no processo de desenvolvimento de sistemas digitais 7 Circuito lógico O circuito lógico representa a expressão algébrica por meio de símbolos visuais Embora os circuitos lógicos também sejam usados no contexto das ciências humanas para formar um diagrama intuitivo a respeito das tomadas de decisões e do pensamento filosófico é no contexto dos sistemas digitais que os circuitos lógicos encontram sua maior aplicabilidade Os circuitos lógicos são um con ceito meramente matemático e estão totalmente separados de qualquer elemento físico O circuito lógico é o ponto de partida para a transformação de uma função matemática lógica em algum sis tema físico Embora a materialização dos circuitos lógicos possa acontecer por meio de mecânica dos sólidos mecânica dos fluidos sistemas eletromecânicos circuitos óticos e até mesmo biológi cos é nos circuitos eletrônicos que os circuitos lógicos são aplicados com maior propriedade Embora um circuito lógico somente contenha elementos lógicos é bastante comum que tais representações incorporem alguns elementos de sua materialização Estes seriam os circuitos hí bridos No caso dos circuitos eletrônicos é convencional que se misturem os símbolos das portas lógicas com os símbolos de resistores capacitores LEDs fontes etc Alguns aplicativos simuladores de circuitos elétricos possuem dois modos de operação dis tintos o modo analógico e o modo digital No modo digital grandezas como tensão elétrica cor rente elétrica potência elétrica resistência elétrica etc são suprimidas Somente os valores lógicos e o tempo são calculados No modo analógico são levadas em consideração as propriedades físicas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 116 dos dispositivos lógicos levando em consideração inclusive as características específicas dos circui tos integrados disponíveis no comércio Algumas definições se aplicam à forma canônica Outras definições são aplicadas à forma minimizada Definição Canônico Minimizado Lista de termos Sim Não Tabela verdade Sim Não Expressão algébrica Sim Sim Gráfico Sim Não Mapa de Karnaugh Não Sim Diagrama de Venn Sim Não Circuito lógico Sim Sim Tabela 5 Aplicação das definições No caso do programa CircuitMaker Student V62c Protel Technology Inc existem modelos pseudoanalógicos como por exemplo o logic switch e o logic display que seriam uma sim plificação no contexto booleano de dispositivos físicos reais Figura 1 O software CircuitMaker Student V62c Os barramentos buses são um artifício estético usado para padronizar o desenho do cir cuito lógico Barramento é um conjunto de duas ou mais linhas paralelas trazendo cada uma a sua informação Em sentido transversal os elementos do circuito fazem o acesso às linhas do barra mento Este barramento pode ser vertical ou horizontal No caso da forma canônica o barramento usa uma linha para cada variável de entrada e mais uma outra linha para cada uma destas variáveis em sua versão complementar Há três tipos de barramento definidos conforme sua aplicação Data bus Address bus Control bus Nos microcontroladores com arquitetura Harvard existe ainda um quarto tipo de barra mento chamado de program bus Em microcontroladores da família PIC32 o data bus é dividido em duas partas o bus matrix e o peripheral bus Um barramento pode ser interno ao circuito integrado ou externo construído na placa de circuito impresso Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 117 Figura 2 Barramentos de 1 bit e de dois bits respectivamente No capítulo anterior foram apresentados exemplos das três primeiras formas de definição a saber a lista de termos a tabela verdade e a expressão algébrica para a forma canônica Aqui são apresentados os respectivos circuitos lógicos obtidos através do CircuitMaker Student V62c C max1 C max023 Figura 3 Exemplo 1 Circuito lógico com análise de zeros C min023 C min1 Figura 4 Exemplo 1 Circuito lógico com análise de zeros A B A C A B B A C C B A B A C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 118 D max03456 Figura 5 Exemplo 2 Circuito lógico com análise de zeros D max127 Figura 6 Exemplo 2 Circuito lógico com análise de zeros invertido B C A V 100 101 110 111 011 010 001 000 D A1 C1 B1 V D 000 001 010 011 111 110 101 100 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 119 D min127 Figura 7 Exemplo 2 Circuito lógico com análise de uns D min03456 Figura 8 Exemplo 2 Circuito lógico com análise de uns invertido A C B D 100 101 110 111 010 011 001 000 B C A 000 001 011 010 111 110 101 100 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 120 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 121 Capítulo 205 Irrelevâncias na forma canônica O cérebro humano não possui capacidade suficiente para analisar todas as situações possí veis acerca de alguma proposição Se você pretende fazer algum investimento financeiro você pre cisa considerar várias hipóteses para o andamento dos eventos que podem influenciar nos resulta dos desta iniciativa como por exemplo a inflação e a taxa de juros Por outro lado você não é capaz de conjecturar todas as hipóteses possíveis e imagináveis como por exemplo o cenário no qual o planeta Terra é atingido por um meteoro Você passaria o resto de sua vida pensando nestas possibilidades e não sobraria tempo para efetuar o investimento propriamente dito Toda pessoa sensata precisa desprezar a possibilidade de ocorrência de algumas hipóteses Aliás a quantidade de hipóteses a serem desprezadas podem ser incontáveis Somente os desenrolares mais plausíveis são considerados na análise a fim de que esta análise seja humanamente possível Esta limitação é uma das características que diferencia um ser humano e um ser divino a saber a onisciência Sob uma análise filosófica os números zero e infinito não existem Zero é um número pequeno ao ponto de estar abaixo da capacidade de medição física ou da capacidade de entendi mento humano Infinito é um número grande ao ponto de estar cima da capacidade de medição física ou da capacidade de entendimento humano Situações irrelevantes são aquelas cuja probabilidade de ocorrência é desprezível Neste caso a análise da função para estas situações é dispensável não é preciso tomar nenhuma decisão em relação a uma ação futura decorrente da vigência destes cenários A filosofia e a sabedoria pre veem que a separação entre o que é relevante e o que é irrelevante pode ser feita de maneira equivocada podendo levar ao desfecho onde os acontecimentos aconteceram de maneira impre vista A teoria do caos por meio do efeito borboleta afirma que todos os acontecimentos desta existência estão entrelaçados interrelacionados Por esse motivo não existe irrelevância plena dentro da ótica da filosofia A sabedoria está em identificar os fenômenos que possuem mais ou menos poder de interferência dentro do sistema em análise Irrelevâncias também surgem na tomada de decisões Tais irrelevâncias acontecem quando uma informação anula a importância de outras informações tornandoas irrelevantes Esta anula ção pode acontecer de maneira favorável à decisão ou contrária Por exemplo na decisão pela aqui sição de algum bem vários critérios são analisados porém observando que o preço cobrado é a metade do preço justo então todas as características depreciativas podem ser descartadas depen dendo do caso Outro exemplo na decisão por algum relacionamento apesar de inúmeras outras virtudes apresentadas pela outra pessoa uma certa desvirtude pode ser uma importância muito grande ao ponto de anular todas a lista de virtudes tornandoas irrelevantes Algumas funções booleanas podem conter combinações irrelevantes das variáveis de en trada Isso significa que estas combinações supostamente nunca são usadas Considerando que a função precisa retornar uma resposta que deve retratar uma veracidade ou uma falsidade e na ausência de uma terceira opção então certamente uma ocorrência forçada de uma situação rele vante leva a uma resposta determinada e constante O projetista precisa fazer a escolha arbitrária a respeito desta resposta Quando se trata da forma canônica a escolha mais sensata é pelo valor false porque neste caso as irrelevâncias não formam maxtermos nem mintermos e isto reduz a quantidade de portas lógicas usadas pelo circuito construído em tecnologia full custom mas pode não fazer a menor diferença quando o circuito é construído em uma ROM ou PROM Na tabelaverdade as irrelevâncias são representadas por X Considerando que as células da tabelaverdade marcadas como irrelevantes são despreza das tanto na análise de zeros como na análise de uns então estas células recebem o valor um na análise de zeros e recebem o valor zero na análise de uns Isto significa que os dois tipos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 122 de análise geram funções diferentes diferença que se manifesta somente nas células irrelevantes que por jamais serem apontadas não provocarão nenhum impacto no funcionamento do sistema Irrelevâncias acontecem quando a quantidade de combinações necessárias para as variáveis de entrada é maior do que as combinações efetivamente utilizadas Na maioria dos projetos as células irrelevantes são alocadas para as últimas posições da tabela mas isso não é uma regra e cada caso deve ser analisado individualmente Em aplicações como contadores e memórias os endereços não usados quase sempre são alocados para as últimas posições Em aplicações onde cada variável de entrada está atribuída a algum significado físico específico como por exemplo os sensores colocados dentro de uma má quina então as posições irrelevantes podem ficar dispersas pela tabelaverdade A irrelevância não pode ser confundida com indeterminação Considerando que o acesso a todas as combinações das variáveis de entrada é possível embora nem sempre factível então todas estas combinações precisam ser determinadas para que a função também seja determinada A exis tência de uma célula indeterminada na tabelaverdade significa que a função também é indetermi nada e por isso não pode ser implementada em um sistema físico A marcação com X na tabela verdade significa que o valor daquela célula não é especificado através da análise das premissas do sistema sua determinação precisa ser feita de maneira arbitrária ou usando algum conceito alheio à definição do significado das variáveis de entrada Primeiramente o projetista faz a substituição das marcas X por zeros ou por uns e somente depois disso o sistema pode ser implementado Em muitas aplicações práticas é conveniente usar a função complementada motivo porque a obtenção desta função será apresentada nos exemplos a seguir por razões puramente didáticas pois o processo de síntese não requer necessariamente a obtenção das quatro formas uma única forma já é suficiente não faz sentido materializar a mesma função lógica de duas ou mais formas diferente Exemplo 1 duas entradas C max1 X3 C min02 X3 C max02 X3 C min1 X3 B A C C 0 0 1 0 0 1 0 1 1 0 1 0 1 1 X X Tabela 1 Exemplo 1 Tabelas verdade C C decimal B A zeros C0 uns C1 zeros C2 uns C2 0 0 0 BA BA 1 0 1 BA BA 2 1 0 BA BA 3 1 1 Tabela 2 Exemplo 1 Definição de termos C BA C BABA C BABA C BA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 123 B A C0 C1 C2 C3 0 0 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 0 1 0 Tabela 3 Exemplo 1 Tabelas verdade Exemplo 2 três entradas D max023 X67 D min145 X67 D max145 X67 D min023 X67 C B A D D 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 X X 1 1 1 X X Tabela 4 Exemplo 2 Tabelas verdade Conforme pode ser observado na tabela as funções D0 D1 D2 e D3 são diferentes e esta diferença está justamente nas células irrelevantes Por causa desta diferença estas funções não podem receber o mesmo nome D D decimal C B A zeros D0 uns D1 zeros D2 uns D2 0 0 0 0 CBA CBA 1 0 0 1 CBA CBA 2 0 1 0 CBA CBA 3 0 1 1 CBA CBA 4 1 0 0 CBA CBA 5 1 0 1 CBA CBA 6 1 1 0 7 1 1 1 Tabela 5 Exemplo 2 Definição de termos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 124 C B A D0 D1 D2 D3 0 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 Tabela 6 Exemplo 2 Tabelas verdade Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 125 Capítulo 206 Mapa de Karnaugh A minimização de uma expressão algébrica canônica consiste da aplicação de alguma pro priedade conhecida no sentido de reduzir o tamanho desta expressão de modo a também e prin cipalmente reduzir o tamanho do circuito lógico A redução do tamanho do circuito lógico implica na redução do tamanho do circuito físico geralmente um circuito eletrônico integrado a um chip A redução do tamanho do circuito físico apresenta algumas vantagens como Redução da área ocupada no layout do circuito integrado Redução da quantidade de chips no sistema Redução do consumo de energia elétrica Redução da probabilidade de ocorrência de defeito no sistema Nem sempre o uso da expressão algébrica na forma canônica leva à construção do sistema físico mais conveniente em acordo com os critérios de julgamento das partes interessadas Na maior parte dos casos o critério é o custo de implementação mas outros critérios podem surgir como tamanho peso consumo de energia elétrica dissipação de calor durabilidade tempo de atraso hazards etc Em razão de demandas específicas são usadas tecnologias fullcustom nas quais o projetista pode escolher livremente a topologia do circuito lógico diferentemente das tecnologias gatear ray nas quais a topologia é prédeterminada e o projetista precisa de adequar a esta predetermi nação Em Para circuitos pequenos a determinação da forma mínima ou forma ótima é bastante intui tiva porém para circuitos maiores com seis ou mais variáveis de entrada e duas ou mais variáveis de saída esta análise não é trivial pois a otimização do circuito pode ser feita segundo critérios que não podem ser todos eles satisfeitos por meio de uma única escolha Os métodos de minimização de circuitos lógicos se agrupam em três categorias Minimização algébrica Minimização sistemática Minimização visual A minimização algébrica é a única opção válida no contexto da análise matemática Publica ções acadêmicas e científicas devem usar este método somente A minimização sistemática não é adequada para o uso humano mas sim para o computador Métodos sistemáticos são aqueles nos quais não é preciso usar a inteligência humana mas apenas cálculos que qualquer computador é capaz de realizar Métodos sistemáticos consistem de algoritmos que podem ser implementados em diversas linguagens de programação de alto nível O método de minimização visual é o mais limitado dentre as três categorias mas também é o mais indicado para estudantes que estejam iniciando suas abordagens nos processos de mini mização O mapa de Karnaugh é um método visual mas outros métodos visuais podem ser desen volvidos futuramente Maurice Karnaugh foi um físico e matemático norteamericano nascido na cidade de Nova Iorque em 1924 Por mais de uma década Karnaugh trabalhou na Bell Labs onde o efeito da trans resistência bipolar foi descoberto por William Shockley em 1948 O mapa de Karnaugh é a forma mais intuitiva de efetuação do processo de minimização porém não é o mais eficiente Quando se trata de funções com seis ou mais variáveis de entrada o Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 126 uso do mapa de Karnaugh é possível mas humanamente difícil A maneira mais eficiente e elegante para obter o efeito da minimização é por meio do uso de propriedades da álgebra booleana a mi nimização algébrica A minimização por mapa de Karnaugh é uma forma intuitiva de aplicação das propriedades da álgebra booleana de uma maneira visual O mapa de Karnaugh é uma reconstrução da tradicional tabelaverdade A diferença é que as células da tabela são reorganizadas de maneira a permitir a minimização visual A sequência den tro do mapa respeita o código Gray também chamado de código espelhado uma sequência de números binários na qual somente uma variável se altera entre uma linha e a outra Frank Gray foi um físico que também trabalhou na Bell Labs O nome espelhado diz respeito ao fato de que exceto pelo bit menos significativo a se gunda metade corresponde à primeira metade em ordem inversa o seu espelho no eixo horizontal B A dec C B A dec D C B A dec 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 3 0 1 1 3 0 0 1 1 3 1 0 2 0 1 0 2 0 0 1 0 2 1 1 0 6 0 1 1 0 6 1 1 1 7 0 1 1 1 7 1 0 1 5 0 1 0 1 5 1 0 0 4 0 1 0 0 4 1 1 0 0 12 1 1 0 1 13 1 1 1 1 15 1 1 1 0 14 1 0 1 0 10 1 0 1 1 11 1 0 0 1 9 1 0 0 0 8 Tabela 1 Código Gray Por causa do uso do código Gray existe uma permutação entre algumas linhas e algumas colunas no mapa O procedimento usado na minimização por mapa de Karnaugh consiste na formação de gru pos de células A quantidade de células por grupo é uma potência de dois O formato geométrico do grupo é o de um retângulo A formação de um par consiste do aglutinamento de dois termos em um só A formação de uma quadra consiste do aglutinamento de dois pares em um só A formação de um octeto consiste do aglutinamento de duas quadras em uma só e assim por diante Os pares podem ser 2x1 ou 1x2 As quadras podem ser 4x1 1x4 ou 2x2 A formação de grupos implica não somente no aglutinamento dos termos compreendidos como também na eliminação das variáveis que sofrem alteração entre uma célula e outra Por causa desta eliminação não se fala mais em maxtermos ou mintermos muito embora a estrutura algébrica continue sendo de produto de somas para análise de zeros e de soma de produtos para análise de uns A formação de pares no mapa de Karnaugh está amparada no teorema da adjacência Se gundo este teorema os pares dizem respeito a dois mintermos ou dois maxtermos nos quais so mente uma variável sofre alteração barrado e não barrado Aplicando a propriedade distributiva e a propriedade do elemento inverso a variável que se altera é eliminada Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 127 BA 0 1 CBA 00 01 11 10 DCBA 00 01 11 10 0 0 1 0 0 1 3 2 00 0 1 3 2 1 2 3 1 4 5 7 6 01 4 5 7 6 11 12 13 15 14 10 8 9 11 10 Tabela 2 Endereçamento das células forma decimal BA 0 1 CBA 00 01 11 10 DCBA 00 01 11 10 0 00 01 0 000 001 011 010 00 0000 0001 0011 0010 1 10 11 1 100 101 111 110 01 0100 0101 0111 0110 11 1100 1101 1111 1110 10 1000 1001 1011 1010 Tabela 3 Endereçamento das células forma binária BA 0 1 CBA 0 1 3 2 DCBA 0 1 3 2 0 00 01 0 00 01 03 02 0 00 01 03 02 1 10 11 1 10 11 13 12 1 10 11 13 12 3 30 31 33 32 2 20 21 23 22 Tabela 4 Endereçamento das células coordenadas Grupamento Elementos Variáveis eliminadas célula 1 20 0 par 2 21 1 quadra 4 22 2 octeto 8 23 3 Tabela 5 Eliminação das variáveis Grupamento Variantes célula 11 par 21 12 quadra 41 14 22 octeto 81 18 42 24 Tabela 6 Formatos Figura 1 Pares e quadras Figura 2 Quadras inválidas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 128 Uma variável é eliminada quando ela aparece dentro do grupamento tanto como zero como como um Se a variável assume os dois valores então ela é irrelevante não entra na expres são algébrica do grupamento Se ao tomar uma decisão um elemento de análise pode ser satisfeito mas também pode não ser satisfeito então este elemento pode ser removido da análise Neste capítulo será apresentada a minimização de funções que formem um único grupa mento no mapa de Karnaugh No capítulo seguinte será apresentada a minimização de funções que formem vários grupamentos no mapa momento em que é necessário entender o conceito de im plicante primo essencial O teorema da adjacência somente pode ser aplicado à base binária O mapa de Karnaugh somente é aplicável à base binária Exemplo 1 CBA 00 01 11 10 0 0 0 1 1 1 1 1 1 1 Tabela 7 Exemplo 1 As duas células são dadas por CBA e CBA Como a variável A muda de valor de uma célula para outra então ela é descartada D max01 D CB Exemplo 2 CBA 00 01 11 10 0 0 1 0 0 1 0 1 0 0 Tabela 8 Exemplo 2 As duas células são dadas por CBA e CBA Como a variável C muda de valor de uma célula para outra então ela é descartada D min15 D BA Exemplo 3 DCBA 00 01 11 10 00 0 0 1 1 01 0 0 1 1 11 1 1 1 1 10 1 1 1 1 Tabela 9 Exemplo 3 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis A e C mudam de valor de uma célula para outra então elas são descartadas E max0145 E DB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 129 Exemplo 4 DCBA 00 01 11 10 00 0 0 1 0 01 0 0 1 0 11 0 0 1 0 10 0 0 1 0 Tabela 10 Exemplo 4 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis D e C mudam de valor de uma célula para outra então elas são descartadas E min371115 E BA Exemplo 5 DCBA 00 01 11 10 00 1 1 1 1 01 1 1 1 1 11 1 1 1 1 10 0 0 0 0 Tabela 11 Exemplo 5 As quatro células são dadas por DCBA DCBA DCBA e DCBA Como as variáveis B e A mudam de valor de uma célula para outra então elas são descartadas E max891011 E DC Exemplo 6 Erro DCBA 00 01 11 10 00 0 0 1 0 01 0 0 1 0 11 0 0 1 0 10 0 0 0 0 Tabela 12 Exemplo 6 erro As três células são dadas por DCBA DCBA e DCBA Como as variáveis D e C mudam de valor de uma célula para outra então elas seriam descartadas descartadas gerando exatamente a mesma expressão algébrica do exemplo 4 que obviamente é uma outra função mostrando que o critério de eliminação de variáveis não pode ser aplicado para grupamen tos que não se enquadrem nos esquemas da tabela 4 errado Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 130 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 131 Capítulo 207 Mapa de Karnaugh de vários IPEs Dentro do contexto do estudo a respeito do pensamento humano quanto às tomadas de decisão podemos afirmar que um implicante primo essencial IPE seria um segmento do pensa mento um subconjunto da análise Quando o pensamento possui dois ou mais IPEs então a aná lise precisa ser dividida em vários subargumentos Cada IPE gera um subargumento ou argumento parcial e a ligação entre estes subargumento forma o argumento completo No capítulo anterior foi apresentada a minimização de funções que formem um único grupa mento no mapa de Karnaugh Neste capítulo será apresentada a minimização de funções que for mem vários grupamentos no mapa Três conceitos precisam ser muito bem compreendidos a fim de que não se cometa erros no uso do Mapa de Karnaugh Implicante É qualquer subconjunto da função Toda função booleana pode ser representada por um produtório de maxtermos análise de zeros ou por um somatório de mintermos análise de uns Um implicante é um subconjunto desta lista de termos que satisfaz os critérios de for mato apresentados no capítulo anterior a saber a célula isolada o par o quarteto o octeto etc Implicante primo É o implicante que não está contido em nenhum outro implicante É o im plicante que não é subconjunto de nenhum outro implicante Em outras palavras é o máximo ta manho de implicante para a situação em questão Implicante primo essencial IPE Essencial é tudo aquilo que não pode faltar A sua ausência implica em erro No mapa de Karnaugh o implicante primo essencial possui pelo menos uma cé lula não irrelevante com o valor analisado zeros ou uns que não pertence a nenhum outro implicante primo essencial A ausência do implicante primo essencial significa que uma ou mais cé lulas não são cobertas por nenhum outro implicante primo essencial de modo que a síntese apre senta erro A minimização por mapa de Karnaugh implica na identificação dos maiores implicantes pri mos essenciais pois quanto maiores são os implicantes maior é a redução do tamanho da expres são algébrica Esta identificação apesar de intuitiva nem sempre é tarefa fácil e requer a adoção de alguns cuidados norteadores O primeiro cuidado é o de iniciar o processo por meio dos tamanhos maiores Se o mapa possui oito células comece pelas quadras Se o mapa possui dezesseis células comece pelos octe tos e assim por diante Deixe as células isoladas para o final do processo O segundo cuidado é o de priorizar os IPEs que não compartilham células Por exemplo na etapa dos pares comece por aqueles pares cujas células pertençam somente a eles caso existam Quando todas as opções de IPEs no tamanho em análise pares quadras ou octetos pos suem compartilhamento de células priorize as células que pertencem a uma única opção de IPE e forme os demais IPEs a partir da situação obtida Observando atentamente estas três recomendações a chance de incorrer em erro na análise do mapa diminui bastante Há situações nas quais existem duas opções válidas Por exemplo há casos onde uma célula pode ser coberta por um par horizontal ou vertical Diante deste cenário cada escolha cria uma ex pressão algébrica diferente porém ambas correspondem à mesma função booleana Na forma canônica a análise de zeros produz uma expressão algébrica no formato de pro dutório de maxtermos a análise de uns produz uma expressão algébrica no formato de somatório de mintermos Na forma minimizada por mapa de Karnaugh não se fala em termos pois ocorre eliminação de variáveis A análise de zeros produz uma expressão algébrica no formato de pro duto de somas a análise de uns produz uma expressão algébrica no formato de soma de produtos Cada IPI é uma função independente A função completa é obtida por meio da junção das funções parciais Esta junção é feita por meio da multiplicação lógica na análise de zeros ou por meio da adição lógica na análise de uns Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 132 Exemplo 1 CBA 00 01 11 10 0 0 0 1 1 1 1 0 1 1 Tabela 1 Exemplo 1 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 Tabela 2 IPE1 Tabela 3 IPE2 D max015 IPE1 max01 IPI1 CB IPE2 max15 IPI2 BA D IPE1 IPE2 D CBBA Exemplo 2 CBA 00 01 11 10 0 1 1 1 1 1 0 1 0 0 Tabela 4 Exemplo 2 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 Tabela 5 IPE1 Tabela 6 IPE2 D min01235 IPE1 min0123 IPI1 C IPE2 min15 IPI2 BA D IPE1 IPE2 D CBA Exemplo 3 DCBA 00 01 11 10 00 0 0 0 1 01 0 0 0 1 11 1 1 0 1 10 1 1 0 1 Tabela 7 Exemplo 3 E max0134571115 IPE1 max0145 IPI1 DB quadra 2x2 IPE2 max371115 IPI2 BA quadra 1x4 E IPE1 IPE2 E DBBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 133 Exemplo 4 DCBA 00 01 11 10 00 0 1 1 0 01 0 0 1 0 11 0 0 1 0 10 1 0 1 0 Tabela 8 Exemplo 4 E min13781115 IPE1 min371115 IPI1 BA IPE2 min13 IPI2 DCA IPE3 min8 IPI3 DCBA E IPE1 IPE2 IPE3 E BADCADCBA Exemplo 5 DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 9 Exemplo 5 Esta minimização com análise de uns pode ser feita corretamente de duas maneiras di ferentes gerando expressões algébricas distintas DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 10 Opção 1 E DCBDBADCACBA DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 11 Opção 2 E DBADCACBADCB No exemplo 5 apesar do fato de que as duas formas utilizam IPIs diferentes o mapa de Karnaugh é o mesmo Isto significa que embora as expressões algébricas sejam diferentes elas re presentam a mesma função motivo por que elas recebem o mesmo nome Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 134 Exemplo 6 tomada de decisão Supondo a situação A minha decisão pelo investimento em uma empresa está sujeita a quatro fatores O valor das ações da empresa está em crescimento A empresa não possui processos judiciais em andamento nos quais ela é ré A empresa não possui dívidas com empregados nem com fornecedores A taxa de juros no Brasil está baixa Tomarei a decisão com base nos seguintes argumentos Se os quatro fatores são satisfeitos então eu invisto na empresa óbvio Se o valor das ações está em crescimento e a taxa de juros está baixa eu faço o investi mento Se não há processos judiciais nem dívidas e as ações estão em crescimento eu faço o in vestimento O primeiro argumento precisa ser descartado porque ele está contido em todos os outros argumentos Isso acontece quando lidamos com uma utopia Utopias são pensamentos de caráter puramente ideológicos e que não se baseiam na realidade Utopias partem da premissa de que to dos os fatores relevantes ocorrem de maneira positiva Um argumento realista leva em considera ção as limitações impostas pela realidade e por esta razão possui um escopo de cobertura limitado Cada fator é uma variável e precisa receber um nome mnemônico a fim de que não precise mos lidar com as longas frases textuais Cada argumento é um implicante é preciso descartar todos aqueles que não sejam primos essenciais A O valor das ações da empresa está em crescimento B A empresa não possui processos judiciais em andamento nos quais ela é ré C A empresa não possui dívidas com empregados nem com fornecedores D A taxa de juros no Brasil está baixa Se o valor das ações está em crescimento e a taxa de juros está baixa eu faço o investi mento DA Se não há processos judiciais nem dívidas e as ações estão em crescimento eu faço o in vestimento CBA DCBA 00 01 11 10 00 0 0 0 0 01 0 0 1 0 11 0 0 1 1 10 0 0 1 1 Tabela 12 Mapa de Karnaugh IPI1 DA IPI1 CBA E IPI1 IPI2 E DACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 135 Capítulo 208 Irrelevância em mapa de Karnaugh Nos capítulos anteriores foi apresentado o ensinamento segundo o qual na forma canônica as células da tabelaverdade marcadas como irrelevantes são desprezadas tanto na análise de zeros como na análise de uns Este procedimento não deve ser usado em mapa de Karnaugh Irrelevâncias em mapas de Karnaugh quando existem precisam ser usadas para melhorar o processo de minimização Em outras palavras as irrelevâncias devem ser usadas para aumentar o tamanho dos grupos de células formadores de implicantes primos essenciais Um cuidado deve ser tomado com relação ao fato de que irrelevâncias jamais podem ser usadas para criar novos implicantes pois aquilo que é irrelevante não é essencial Em outras pala vras os IPEs somente podem ser criados com base nos termos relevantes mas eles podem ser ampliados com base nos termos irrelevantes Um procedimento simples para identificar a formação equivocada de um IPE consiste da observação se algum IPE marcado no mapa possui dentre suas células exclusivas apenas irrelevân cias Isso não pode acontecer Tal como na forma canônica as irrelevâncias em mapas de Karnaugh levam à definição de funções diferentes para as análises de zeros e de uns Exemplo 1 CBA 00 01 11 10 0 1 0 X 1 1 1 1 1 1 Tabela 1 Exemplo 1 A irrelevância pode formar um par com a célula à esquerda Neste caso a célula 3 deixa de ser irrelevante para assumir o valor fixo zero D011 0 D CA A substituição contrária significa na obtenção de uma expressão algébrica maior D011 1 D CBA A substituição contrária não significa que o processo de síntese esteja errado haja vista que a expressão algébrica satisfaz às condições dadas pelo enunciado do problema Porém o fato de que a síntese esteja correta não significa necessariamente que o processo de minimização esteja cor reto Neste caso existe um erro de minimização em uma síntese correta Exemplo 2 CBA 00 01 11 10 0 1 0 X 1 1 1 0 X 1 Tabela 2 Exemplo 2 As duas irrelevância podem formar uma quadra com as células à esquerda Neste caso as células 3 e 7 deixam de ser irrelevantes para assumir o valor fixo zero D0110 D1110 DX110 D A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 136 Exemplo 3 CBA 00 01 11 10 0 0 0 1 1 1 1 0 1 X Tabela 3 Exemplo 3 Neste caso a célula 6 não possui conexão com nenhum IPE não contribui com a minimiza ção A célula 6 deixa de ser irrelevante para assumir o valor fixo um D110 1 D CBBA Exemplo 4 CBA 00 01 11 10 0 0 0 X 1 1 1 1 1 1 Tabela 4 Exemplo 4 A irrelevância pode formar um par com a célula à esquerda porém neste par a única célula exclusiva é a própria irrelevância Neste caso o implicante é primo mas não essencial e por isso não pode ser considerado A célula 3 deixa de ser irrelevante para assumir o valor fixo um D011 1 D CBBA Exemplo 5 CBA 00 01 11 10 0 0 0 X X 1 1 0 1 1 Tabela 5 Exemplo 5 As duas irrelevâncias permitem a formação de uma quadra a partir do par de zeros D CBA Exemplo 6 CBA 00 01 11 10 0 0 0 X 1 1 1 0 X 1 Tabela 6 Exemplo 6 D ACB Exemplo 7 CBA 00 01 11 10 0 0 X 0 1 1 1 0 1 1 Tabela 7 Exemplo 7 A mesma irrelevância pode ser compartilhada por vários IPEs D CBCABA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 137 Exemplo 8 opção 1 opção 2 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 X 0 1 0 0 X 0 1 0 0 X 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 8 Exemplo 8 D1 max135 D1 BACA D10101 D2 max1235 D2 BACB D20100 D1D2 Exemplo 9 análise de zeros análise de uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 X 1 0 1 0 X 1 0 1 0 X 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 9 Exemplo 9 Análise de zeros D0 max15 D BA A irrelevância não é coberta pelo IPE e recebe o valor falso 1 Análise de uns D1 min023467 D BA A irrelevância coberta formando uma quadra e recebe o valor verdadeiro 1 D0 D1 Exemplo 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 X 0 0 X 0 X 0 0 X 0 X 0 0 X 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 Tabela 10 Exemplo 10 D0 max01235 D0 CBA D00X00 D1 min02467 D1 ACB D10X01 D0 D1 Exemplo 11 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 X 00 1 1 1 X 00 1 1 1 X 01 X 1 1 0 01 X 1 1 0 01 X 1 1 0 11 0 X X 0 11 0 X X 0 11 0 X X 0 10 0 X X 0 10 0 X X 0 10 0 X X 0 Tabela 11 Exemplo 11 E0 max 02060809101112131415 E0 DBA E1 min 00010203050709111315 E1 ADC E0 E1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 138 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 139 Capítulo 209 Mapa de Karnaugh sem spikes Na música intitulada O tempo não para grande sucesso musical de 1988 de autoria de Cazuza e Arnaldo Brandão o cantor diz Tuas ideias não correspondem aos fatos Esta frase ge nuinamente genial aborda o problema que existe em problematizar a realidade transformando a naquilo que é considerado ideal correndo o risco de acreditar que o real corresponde ao ideal Tratase de um comportamento histérico no qual a percepção de mundo cosmovisão não estaria baseada na percepção da realidade mas na formulação emocional de um mundo melhor Qual é o engenheiro ou técnico experiente que nunca passou pela desagradável experiência de investir horas ou dias no projeto de alguma benfeitoria aplicando todas as regras de dimensio namento apresentadas nos livros acadêmicos e nos guias técnicos bem como os conhecimentos obtidos por meio da observação dos conhecimentos obtidos nos conselhos oferecidos pelos profes sores na época da instrução descobre na etapa de prototipagem ou no início da obra que o pro jeto inexplicavelmente não funciona Todos os cálculos estão corretos mas o comportamento real do projeto não corresponde ao esperado No contexto das ciências naturais hazards são fatores que afetam negativamente o funcio namento de benfeitorias e que não são diagnosticadas nos cálculos efetuados durante o projeto do sistema Hazards são problemas que somente são descobertos após a realização dos primeiros tes tes Por exemplo a criação de uma vacina de combate contra um patógeno não está limitada à simples análise matemática dos processos envolvidos e nem aos ensaios realizados em laboratório É preciso que uma grande quantidade de pessoas sejam usadas como cobaias a fim de que os sin tomas colaterais manifestos nestas pessoas sirvam como parâmetro para o refinamento no projeto desta vacina Quanto mais experiente é o projetista ou quanto maior é o número de pessoas envolvidas no projeto de maneira sinergética ou quanto maior é o tempo gasto nos trabalhos menor é a pro babilidade de que hazards sejam encontrados No contexto dos circuitos digitais os hazards estão decorrentes de efeitos analógicos ine rentes aos componentes eletrônicos que efetuam as funções lógicas Esses efeitos analógicos po dem ser a corrente elétrica a tensão elétrica mas o efeito que mais gera hazards em sistemas digi tais é o tempo Todas as portas lógicas construídas a partir de transistores lançam mão do funcionamento do chaveamento eletrônico quando o transistor opera como uma chave ligadesliga Nesta opera ção de ligamento e desligamento existe um inerente atraso delay Este tempo de atraso delay time em dispositivos ligados em série gera um atraso de propagação ou tempo de propagação pro pagation time ou propagation delay O tipo mais simples e mais comum de hazard em circuitos digitais é spike Eles consistem de um pico de valor lógico Este pico possui uma duração muito baixa em comparação com os outros tempos decorrentes do funcionamento normal do circuito É um pulso bastante estreito porém mesmo assim ele é suficiente para agir como gatilho em um outro circuito gerando comporta mento inadequado em contadores e registradores Hazzards em circuitos digitais são fenômenos indesejados decorrentes de características elé tricas e temporais e que não podem ser previstas por meio de uma análise puramente booleana Sua análise requer o envolvimento de grandezas como tensão elétrica corrente elétrica potência elétrica impedância de entrada impedância de saída etc Há muitas aplicações nas quais a questão dos spikes não faz a menor diferença como por exemplo o controle de displays A visão humana não é capaz de identificar a ocorrência dos spikes haja vista que a sua duração não passa de alguns nanossegundos Outra categoria de aplicações são Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 140 os atuadores de alta inércia como por exemplo motores inércia mecânica fornos inércia tér mica e lâmpadas incandescentes inércia luminosa A inércia é o resultado de um efeito de filtro passabaixas um fenômeno físico que impede a aplicação de uma função degrau uma descontinui dade na função Nesta situação os spikes por serem uma função de alta frequência são todos fil trados Quando os requisitos de performance temporal não são rigorosos mas os spikes podem ge rar problemas de outras naturezas como por exemplo os harmônicos então os spikes podem ser removidos por meio da colocação de um capacitor pequeno picofarads geralmente cerâmico en tre a saída do circuito lógico e o terra Algumas aplicações podem ter o seu comportamento booleano corrompido por causa dos spikes motivo porque o processo de síntese em tais casos deve levar em consideração a redução na pro babilidade de ocorrência de tais eventos Há dois tipos de spikes Spike em 0 O valor lógico deveria permanecer constante em um porém ele sofre um pico para baixo Spike em 1 O valor lógico deveria permanecer constante em zero porém ele sofre um pico para cima Os spikes podem acontecer também em função degrau Normalmente isso ocorre nos pró prios interruptores que exercem o acionamento das entradas lógicas Novamente a colocação de um capacitor em cada um desses interruptores elimina estes spikes Os circuitos digitais construídos a partir de expressões algébricas minimizadas com mapa de Karnaugh podem gerar spikes quando o valor das entradas geram a mudança do endereçamento de uma célula para outra de modo que o caminho envolvido inclui a passagem por uma célula de valor contrário Uma das maneiras de diminuir a incidência de spikes é o uso no mapa de Karnaugh de al guns implicantes primos não essenciais que façam a ligação entre outros implicantes primos essen ciais Este procedimento reduz a eficiência do processo de minimização e provoca o aumento no tamanho do circuito Cada IPE representa uma porta lógica OR em análise de zeros ou uma porta lógica AND em análise de uns Caso sejam usados IPs não essenciais para reduzir os spikes então uma porta lógica deve ser usada para cada um desses IPs adicionais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 141 Exemplo 1 zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 1 Exemplo 1 No exemplo 1 na análise de zeros há apenas um IPE Não existe então a necessidade de verificação de spikes Na análise de uns os dois IPEs sobrepõese naturalmente dispensando tam bém a análise de spikes Estas são as duas situações que anulam naturalmente o surgimento de spikes Exemplo 2 IPE01 max13 IPE02 max45 IPE01 CB IPE02 CA D IPE01 IPE02 D CBCA IPE11 min02 IPE12 min67 IPE11 CB IPE12 CA D IPE11 IPE12 D CBCA Dois fenômenos distintos não podem acontecer exatamente no mesmo instante Na análise de zero as células 1 e 5 são adjacentes e por isso podem sofrer uma transição imediata de uma para a outra Considerando que estas duas células possuem o mesmo valor zero então esta transição não pode provocar mudança na saída D Se a primeira porta OR desliga vai para um antes do ligamento da segunda porta OR então por um certo tempo as duas portas produzem simultaneamente o valor um ambas desligadas Neste tempo a saída sofre um spike para cima Na análise de uns as células 2 e 6 são adjacentes e por isso podem sofrer uma transição imediata de uma para a outra Considerando que estas duas células possuem o mesmo valor um então esta transição não pode provocar mudança na saída D Se a primeira porta AND desliga vai para zero antes do ligamento da segunda porta AND então por um certo tempo as duas portas produzem simultaneamente o valor zero ambas desligadas Neste tempo a saída sofre um spike para baixo Acrescentando na análise de zeros a terceira porta OR IPNE03 pertinente ao implicante primo não essencial esta porta permanece ligada valor zero no momento em que as duas outras portas produziriam o spike Como o valor zero é dominante na porta AND então a saída D per manece em zero O spike é eliminado Acrescentando na análise de uns a terceira porta AND IPNE13 pertinente ao implicante primo não essencial esta porta permanece ligada valor um no momento em que as duas outras portas produziriam o spike Como o valor um é dominante na porta OR então a saída D permanece em um O spike é eliminado zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 2 Exemplo 2 Método de minimização convencional D CBCA D CBCA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 142 Figura 1 Exemplo 2 Método convencional Neste exemplo 2 a função não utiliza a parcela B Por esse motivo a porta NOT corres pondente também não é usada e pode ser removida do circuito Para que se possa entender corretamente o fenômeno de surgimento do spike considere mos a análise de uns e que seja feita a transição sequencial entre quatro estados 7620 Como em todas estas células D1 então este valor deve permanecer constante Nas células 7 e 6 o IPE12 da figura 1 é ativado Nas células 2 e 0 IPE11 A função D é formada por IPE11 OR IPE12 CBA 00 01 11 10 0 1 0 0 1 1 0 0 1 1 Tabela 3 Exemplo 2 Caminho percorrido Figura 2 Exemplo 2 Surgimento do spike para baixo zeros uns CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 0 0 1 0 1 0 0 1 0 1 0 0 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 Tabela 4 Exemplo 2 Redução de spikes IPE01 max13 IPNE03 max15 IPE02 max45 D IPE01 IPE03 IPE02 IPE11 min02 IPNE13 min26 IPE12 min67 D IPE11 IPE13 IPE12 Na análise de uns nas células 7 e 6 o IPE12 da figura 2 é ativado Nas células 2 e 0 o IPE11 é ativado Nas células 2 e 6 o IPNE13 é ativado A função D é formada por IPE11 OR IPNE13 OR IPE12 D A B C C B A D 7 6 2 0 IPE12 IPE11 D IPE01 IPE02 IPE11 IPE12 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 143 D CBBACA D CBBACA Figura 3 Exemplo 2 Redução de spikes Figura 4 Exemplo 1 Remoção do spike Exemplo 3 zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 1 0 1 00 0 1 0 1 00 0 1 0 1 01 0 1 0 1 01 0 1 0 1 01 0 1 0 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 1 1 1 10 0 1 1 1 10 0 1 1 1 Tabela 5 Exemplo 3 Neste exemplo 3 a análise de zeros gera dois IPEs não interconectáveis de modo que não é possível evitar o surgimento do spike na transição entre um e outro Na análise de uns é possível interconectar todos os IPEs motivo porque no critério de spikes a segunda opção é melhor do que a primeira E BADBA E BADADBBA D C B A D C B A 7 6 2 0 minA minC minB D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 144 Figura 4 Exemplo 3 Redução de spikes Neste exemplo 3 algumas linhas do barramento vertical de entrada não são usadas e por isso podem ser removidas Exemplo 4 zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 1 00 0 0 0 1 00 0 0 0 1 01 0 1 1 1 01 0 1 1 1 01 0 1 1 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 0 0 1 10 0 0 0 1 10 0 0 0 1 Tabela 6 Exemplo 4 Método convencional E BACA E CABA zeros uns DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 1 00 0 0 0 1 00 0 0 0 1 01 0 1 1 1 01 0 1 1 1 01 0 1 1 1 11 0 1 1 1 11 0 1 1 1 11 0 1 1 1 10 0 0 0 1 10 0 0 0 1 10 0 0 0 1 Tabela 7 Exemplo 4 Redução de spikes E BACBCA E CACBBA Figura 5 Exemplo 4 Redução de spikes E B A C D D C A B E D C A B E Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 145 Tal como no exemplo 3 neste exemplo 4 algumas linhas do barramento vertical de entrada não são usadas e por isso podem ser removidas Exemplo 5 Em capítulo anterior foi apresentado este exemplo que possui duas opções de minimização DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 0 00 1 1 1 0 01 1 0 1 0 01 1 0 1 0 11 1 1 1 0 11 1 1 1 0 10 0 0 0 0 10 0 0 0 0 Tabela 8 Exemplo 5 E DCBDBADCACBA E DBADCACBADCB O uso das duas opções ao mesmo tempo implica na remoção dos spikes DCBA 00 01 11 10 00 1 1 1 0 01 1 0 1 0 11 1 1 1 0 10 0 0 0 0 Tabela 6 Exemplo 3 E DCBDBADCACBADBADCACBADCB Figura 6 Exemplo 5 Redução de spikes D C A B E Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 146 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 147 Capítulo 210 Minimização de funções múltiplas Nos capítulos anteriores os sistemas apresentados possuem cada um deles uma única fun ção de saída Um circuito digital convencional costuma apresentar várias variáveis de saída Essas variáveis de saída são função das mesmas variáveis de entrada pois o circuito é o mesmo Nem sempre a melhor minimização para estas funções individuais é a melhor minimização para o circuito completo Quando a quantidade de saídas é muito grande a forma canônica é mais indicada e o circuito seria construído em uma ROM ou PROM Quando existe apenas uma saída a forma minimizada é mais indicada Quando existem algumas poucas saídas uma análise refinada vai dizer qual é a me lhor opção Quanto maior é a quantidade de saídas maior é a atratividade da forma canônica Exemplo 1 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 0 0 0 0 00 0 0 0 0 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 0 0 0 11 1 0 0 1 11 1 0 0 0 10 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 1 Exemplo 1 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min01 E1 DCB E2 min1214 E2 DCA E3 min812 E3 DBA Figura 1 Exemplo 1 Neste primeiro exemplo as três funções são minimizadas independentemente umas das ou tras nenhum critério adicional é incorporado diante de que as três funções são construídas no mesmo circuito E3 E2 E1 B A C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 148 Exemplo 2 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 0 00 0 0 0 0 00 0 0 0 0 01 0 0 1 0 01 0 0 0 0 01 1 1 0 0 11 0 0 0 0 11 1 1 0 1 11 1 0 0 0 10 0 0 0 0 10 0 1 0 0 10 1 0 0 0 Tabela 2 Exemplo 2 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min0137 E2 min9121314 E3 min45812 IPE1 min01 IPE1 DCB IPE2 min37 IPE2 DBA IPE3 min1214 IPE3 DCA IPE4 min913 IPE4 DBA IPE5 min812 IPE5 DBA IPE6 min45 IPE6 DCB E1 IPE1 IPE2 E1 DCB DBA E2 IPE3 IPE4 E2 DCA DBA E3 IPE5 IPE6 E3 DBA DCB Figura 2 Exemplo 2 Neste segundo exemplo as três funções também são minimizadas independentemente umas das outras nenhum critério adicional é incorporado diante de que as três funções são cons truídas no mesmo circuito E3 E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 149 Exemplo 3 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 0 0 0 0 00 1 1 0 0 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 1 0 0 1 11 1 0 0 1 11 1 0 0 0 10 0 0 0 0 10 1 0 0 0 10 1 0 0 0 Tabela 3 Exemplo 3 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 min011214 E2 min81214 E3 min01812 IPE1 min01 IPE1 DCB IPE2 min1214 IPE2 DCA IPE3 min812 IPE3 DBA E1 IPE1 IPE2 E1 DCB DCA E2 IPE2 IPE3 E2 DCA DBA E3 IPE3 IPE1 E3 DBA DCB Figura 3 Exemplo 3 Neste terceiro exemplo as três funções compartilham IPEs levando a uma redução no ta manho do circuito lógico As expressões algébricas destas funções porém não sofreram nenhuma alteração devido ao fato de serem implementadas no mesmo sistema E3 E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 150 Exemplo 4 E1 E2 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 0 0 01 0 1 0 0 01 0 1 0 0 11 0 1 0 0 11 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 4 Exemplo 4 Variáveis de entrada DCBA Variáveis de saída E1E2 E1 min01513 E2 min0158 IPE1 min01 IPE1 DCB IPE2 min513 IPE2 CBA IPE3 min08 IPE3 CBA IPE4 min15 IPE4 DCA E1 IPE1 IPE2 E1 DCBCBA E2 IPE3 IPE4 E2 CBADBA Figura 4 Exemplo 4 Neste quarto exemplo duas funções também são minimizadas independentemente umas das outras porém usando o critério da remoção de spikes elas podem compartilhar IPEs E1 E2 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 0 0 01 0 1 0 0 01 0 1 0 0 11 0 1 0 0 11 0 0 0 0 10 0 0 0 0 10 1 0 0 0 Tabela 5 Exemplo 4 com remoção de spikes E1 E2 B A C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 151 E1 IPE1 IPE2 IPE4 E2 IPE3 IPE4 IPE1 E1 DCBCBADBA E2 CBADBADCB Figura 5 Exemplo 4 com redução de spikes Exemplo 5 Variáveis de entrada BA Variáveis de saída C1C2C3 C1 max12 C1 BABA C2 max0 C2 BA C3 max012 C3 BABABA C3 BA C1 C2 C3 BA 0 1 BA 0 1 BA 0 1 0 1 0 0 0 1 0 0 0 1 0 1 1 1 1 1 0 1 Tabela 4 Exemplo 5 Método convencional C3 max120 C3 C1C2 A lista de maxtermos de C3 corresponde à soma das listas de maxtermos de C1 e de C2 Considerando que a implementação física de C1 e de C2 implica no uso de três portas lógicas OR uma para cada maxtermo e que esses três maxtermos são justamente aqueles usados por C3 então a minimização de C3 não traz nenhuma redução no tamanho do circuito figura 6A A a minimização permite a troca de uma porta lógica AND de três entradas por uma de duas entradas figura 7A Na implementação pela forma canônica figura 6A usamos uma porta de duas entradas para C1 uma de três entradas para C3 e nenhuma porta para C2 Isto implica em uma possível falta de sincronia na atualização dos três bits de saída Para minimizar este problema todas as saídas E2 E1 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 152 devem empregar o mesmo tipo de porta lógica figura 6B As entradas não usadas das portas lógicas precisam receber o elemento neutro No caso da porta AND o elemento neutro é o valor um Considerando que toda porta lógica possui um tempo de atraso inerente da ordem de na nossegundos podemos afirmar que os circuitos das figuras 6A 7A e 7B possuem falta de sincronia na atualização dos bits de saída Quando o atuador é um display o efeito da falta de sincronia é desprezível por não ser perceptível pelo ser humano Figura 6 Exemplo 5 Forma canônica sem A e com B a correção da sincronia respectivamente Figura 7 Exemplo 5 C3 minimizado e C3 em função de C1 e de C2 respectivamente C3 C2 C1 B A C1 C2 V C3 A B C3 C2 C1 B A C2 C1 C3 A B BA BA BA BA BA BA BA BA BA BA BA BA BA BABA C1C2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 153 Exemplo 6 Variáveis de entrada CBA Variáveis de saída D1D2D3 D1 max035 D2 max1 D3 max0135 IPE1 max0 IPE1 CBA IPE2 max1 IPE2 CBA IPE3 max3 IPE3 CBA IPE4 max5 IPE4 CBA D1 IPE1 IPE3 IPE4 D1 CBACBA CBA D2 IPE2 D2 CBA D3 IPE1 IPE2 IPE3 IPE4 D3 CBACBACBACBA Minimizando D3 D3 CBCABA D1 D2 D3 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 Tabela 6 Exemplo 2 Método convencional Usando a forma canônica o circuito emprega quatro portas lógicas OR de três entradas na matriz OR quatro maxtermos Usando a forma minimizada a matriz OR emprega quatro portas lógicas OR de três entradas mais três portas lógicas OR de duas entradas A forma minimizada para D3 é pior Figura 8 Exemplo 6 D3 D2 D1 C A B CBA CBA CBA CBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 154 Exemplo 7 Variáveis de entrada DCBA Variáveis de saída E1E2E3 E1 max456789 E2 max458 E3 max679 E1 DCBADCBADCBADCBADCBADCBA E2 DCBADCBADCBA E3 DCBADCBADCBA E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 1 1 00 1 1 1 1 00 1 1 1 1 01 0 0 0 0 01 0 0 1 1 01 1 1 0 0 10 1 1 1 1 10 1 1 1 1 10 1 1 1 1 11 0 0 1 1 11 0 1 1 1 11 1 0 1 1 Tabela 7 Exemplo 7 Minimização local E1 DCDCB E2 DCBDCBA E3 DCBDCBA Figura 9 Exemplo 7 Forma minimizada convencional A figura 10 apresenta o circuito onde todas as portas OR são idênticas Esta opção oferece uma otimização na sincronia dos bits de saída haja vista de portas lógicas com menos ou mais en tradas podem apresentar tempos de atraso ligeiramente diferentes dependendo da tecnologia empregada na fabricação do circuito integrado B A C D E1 E3 E2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 155 Figura 10 Exemplo 7 Forma minimizada convencional com otimização da sincronia Figura 11 Exemplo 7 E1 a partir de E2 e de E3 DCBA 00 01 11 10 00 1 1 1 1 01 0 0 0 0 10 1 1 1 1 11 0 0 1 1 Tabela 8 Exemplo 7 Minimização global de E1 O mapa de Karnaugh da função E1 minimização global tabela 8 não apresenta a melhor minimização para a função E1 isolada minimização local tabela 7 haja vista que não foram usados implicantes primos essenciais Os dois pares estão incluídos em uma quadra e as duas células isola das estão incluídas em um par São quatro implicantes primos não essenciais Observando os IPIs B A C D E2 E3 E1 E3 E1 E2 D C A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 156 das funções E2 e E3 podemos constatar que eles correspondem aos IPs não essenciais de E1 ge rando uma minimização global E1 DCDCB E1 DCBDCBDCBADCBA E2 DCBDCBA E3 DCBDCBA E1 E2 E3 Exemplo 8 E1 E2 E3 DCBA 00 01 11 10 DCBA 00 01 11 10 DCBA 00 01 11 10 00 1 1 0 0 00 1 1 1 1 00 0 0 1 1 01 0 0 0 0 01 0 0 0 0 01 0 0 0 0 11 0 1 1 0 11 1 0 0 1 11 1 1 1 1 10 0 1 0 0 10 0 1 0 0 10 1 0 0 0 Tabela 7 Exemplo 8 O mapa de Karnaugh das três funções não apresenta a melhor minimização para as funções isoladas haja vista que nem todos os implicantes primos são essenciais Por outro lado estes impli cantes primos não essenciais são compartilhados entre as funções gerando uma minimização global IPE1 min01 IPE1 DCB IPE2 min23 IPE2 DCB IPE3 min1214 IPE3 DCA IPE4 min1315 IPE3 DCA IPE5 min812 IPE4 DCA IPE6 min19 IPE6 CBA E1 IPE1 IPE4 IPE6 E1 DCB DCA CBA E2 IPE1 IPE2 IPE3 IPE6 E2 DCB DCB DCA CBA E3 IPE2 IPE3 IPE4 IPE5 E3 DCB DCA DCA DBA A figura 13 apresenta o circuito onde todas as portas AND são idênticas e onde todas as portas OR também são idênticas Esta opção oferece uma otimização na sincronia dos bits de saída haja vista de portas lógicas com menos ou mais entradas podem apresentar tempos de atraso ligei ramente diferentes dependendo da tecnologia empregada na fabricação do circuito integrado Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 157 Figura 12 Exemplo 8 Minimização global Figura 13 Exemplo 8 Minimização global com otimização da sincronia B A C D E3 E2 E1 D C A B E1 E2 E3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 158 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 159 Capítulo 211 Mapa de Karnaugh de cinco variáveis O uso do mapa de Karnaugh não é recomendado para funções de seis ou mais variáveis por causa da dificuldade na identificação dos IPEs Existem métodos iterativos que resolvem o pro blema da dificuldade nesta identificação e permitem uma fácil implementação do processo em qual quer linguagem de programação para computadores O mapa possui quatro linhas e oito colunas As três variáveis usadas no endereçamento das colunas são C B e A As duas variáveis usadas no endereçamento das linhas são E e D Para mapa de Karnaugh de cinco variáveis temse dois submapas de quatro variáveis lado a lado A variável mais significativa das colunas C identifica estes dois submapas O da esquerda é identificado por C0 e o da direita por C1 Por causa do efeito de espelhamento do código Gray o submapa da direita está invertido em relação ao da esquerda A grande dificuldade do mapa de Karnaugh de cinco variáveis está no fato de que alguns IPEs não podem ser definidos por uma única circunferência Nos exemplos a seguir quando algumas linhas verticais do barramento de entrada não são usadas elas podem ser removidas Variáveis de colunas CBA Variáveis de linhas ED Variável de saída F EDCBA 000 001 011 010 110 111 101 100 00 00 01 03 02 06 07 05 04 01 08 09 11 10 14 15 13 12 11 24 25 27 26 30 31 29 28 10 16 17 19 18 22 23 21 20 Tabela 1 Endereçamento das células forma decimal EDCBA 000 001 011 010 110 111 101 100 00 00000 00001 00011 00010 00110 00111 00101 00100 01 01000 01001 01011 01010 01110 01111 01101 01100 11 11000 11001 11011 11010 11110 11111 11101 11100 10 10000 10001 10011 10010 10110 10111 10101 10100 Tabela 2 Endereçamento das células forma binária EDCBA 0 1 3 2 6 7 5 4 0 00 01 03 02 06 07 05 04 1 10 11 13 12 16 17 15 14 3 30 31 33 32 36 37 35 34 2 20 21 23 22 26 27 25 24 Tabela 3 Endereçamento das células coordenadas Exemplo 1 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 0 0 0 0 01 0 0 1 1 1 1 0 0 11 0 0 0 1 1 0 0 0 10 0 0 0 1 1 0 0 0 Tabela 4 Exemplo 1 F min000102031011141518222630 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 160 IPE1 min00010203 IPE1 EDC IPE2 min10111415 IPE2 EDB IPE3 min18222630 IPE3 EBA F IPE1 IPE2 IPE3 F EDC EDB EBA Figura 1 Exemplo 1 Caso haja a necessidade de remoção de spikes então os implicantes primos não essenciais precisam ser incluídos na síntese IPNE1 min231011 IPNE2 min10142630 IPNE3 min2101826 F IPE1 IPE2 IPE3 IPEN1 IPEN2 IPNE3 F EDC EDB EBA ECB DBA CBA EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 0 0 0 0 01 0 0 1 1 1 1 0 0 11 0 0 0 1 1 0 0 0 10 0 0 0 1 1 0 0 0 Tabela 5 Exemplo 1 com IPNEs Figura 2 Exemplo 1 com IPNEs E D C A B F E D C A B F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 161 Exemplo 2 EDCBA 000 001 011 010 110 111 101 100 00 0 1 0 0 0 0 1 0 01 0 1 1 0 0 1 1 0 11 0 1 1 0 0 1 1 0 10 1 0 0 0 0 0 0 1 Tabela 6 Exemplo 2 F min010509111315162025272931 IPE1 min0911131525272931 IPE1 EA IPE2 min01050913 IPE2 EBA IPE3 min1620 IPE3 EDBA F IPE1 IPE2 IPE3 F DA EBA EDBA Figura 3 Exemplo 2 Exemplo 3 EDCBA 000 001 011 010 110 111 101 100 00 0 1 1 0 0 1 1 0 01 1 0 1 1 1 1 0 1 11 1 1 1 1 1 1 1 1 10 0 1 1 0 0 1 1 0 Tabela 7 Exemplo 3 F min00020406091316182022 IPE1 min0002040616182022 IPE1 DA IPE2 min0913 IPE2 EDBA F IPE1 IPE2 F DA EDBA Figura 4 Exemplo 3 F B A C D E E D C A B F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 162 Exemplo 4 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 8 Exemplo 4 Análise errada A marcação desta quadra está errada porque ela não respeita o teorema da adjacência Vi sualmente isso pode ser percebido por meio da assimetria na matriz O erro também pode ser ob servado por meio das variáveis uma quadra remove duas variáveis então a função desta quadra precisa usar três variáveis as variáveis constantes porém somente as variáveis E e D permane cem constantes o que nos leva a uma função de duas variáveis evidenciando o erro A solução correta seria formar dois pares EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 1 1 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 9 Exemplo 4 Análise correta F min09101114 IPE1 min0911 IPE1 EDCA IPE2 min1014 IPE2 EDBA F IPE1 IPE2 F EDCA EDBA Exemplo 5 EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 0 0 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 10 Exemplo 5 Análise errada Neste exemplo o critério da simetria é respeitado porém o critério do tamanho não Todo IPE precisa ter um tamanho determinado por uma potência de dois mas este tamanho é seis A solução correta seria formar um par e uma quadra EDCBA 000 001 011 010 110 111 101 100 00 1 1 1 1 1 1 1 1 01 1 0 0 0 0 0 0 1 11 1 1 1 1 1 1 1 1 10 1 1 1 1 1 1 1 1 Tabela 11 Exemplo 6 Análise correta F min09101112141516 IPE1 min09111315 IPE1 EDA IPE2 min1014 IPE2 EDBA F IPE1 IPE2 F EDA EDBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 163 Exemplo 6 EDCBA 000 001 011 010 110 111 101 100 00 1 0 0 1 0 1 1 1 01 1 0 0 0 1 1 0 1 11 1 0 0 0 1 1 0 1 10 1 0 0 1 0 1 1 1 Tabela 12 Exemplo 6 Neste exemplo é possível observar que a metade de baixo é igual à metade de cima Isso significa que a variável mais significativa E é irrelevante Tratase de uma função que quatro vari áveis DCBA 00 01 11 10 00 1 0 0 1 01 1 1 1 0 11 1 0 1 1 10 1 0 0 0 Tabela 13 Exemplo 6 remodelado Exemplo 7 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 14 Exemplo 7 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 15 Exemplo 7 Análise de zeros F0 max01234571213151617181920222527 X28293031 IPE01 max012316171819 IPE01 DC IPE02 max571315 IPE02 ECA IPE03 max17192527 IPE03 ECA IPE04 max4122028 IPE04 CBA IPE05 max16182022 IPE05 EDA F0 IPE01 IPE02 IPE03 IPE04 IPE05 F0 DCECAECACBAEDA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 164 EDCBA 000 001 011 010 110 111 101 100 00 0 0 0 0 1 0 0 0 01 1 1 1 1 1 0 0 0 11 1 0 0 1 X X X X 10 0 0 0 0 0 1 1 0 Tabela 16 Exemplo 7 Análise de uns F1 min68910111421232426 X28293031 IPE11 min891011 IPE11 EDC IPE12 min10142630 IPE12 DBA IPE13 min21232931 IPE13 ECA IPE14 min8102426 IPE14 DCA IPE15 min614 IPE15 ECBA F1 IPE11 IPE12 IPE13 IPE14 IPE15 F1 EDCDBAECADCAECBA Neste exemplo coincidentemente a substituição das irrelevâncias é a mesma nas análises de zeros e de uns Neste caso F0F1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 165 Capítulo 212 Minimização algébrica A minimização por meio de mapa de Karnaugh foi desenvolvida como uma ferramenta de simplificação do processo quando a quantidade de variáveis é pequena porém esta técnica consiste da aplicação de propriedades algébricas representadas por meio de círculos Em outras palavras a técnica do mapa de Karnaugh não é indicada para trabalhos acadêmicos e científicos Outra desvan tagem do mapa de Karnaugh é que ele somente pode ser aplicado para a base binária Os processos algébricos são válidos para quaisquer bases Mais uma desvantagem do mapa de Karnaugh é a maior ocupação de espaço na página A expressão algébrica consiste de texto puro Para que a minimização algébrica seja efetuada é preciso possuir amplo entendimento a respeito das propriedades algébricas 1 Dupla inversão A A 1a A A 1b Uma quantidade par de nãos é um sim 1a Uma quantidade ímpar de nãos é um não 1b Uma não insensibilidade é igual a uma sensibilidade 2 Propriedade comutativa AB BA 2a AB BA 2b A ordem das parcelas não altera a soma 2a A ordem dos fatores não altera o produto 2b Dia ou noite é igual a noite ou dia Café com leite é igual a leite com café 3 Propriedade associativa ABC ABC 3a ABC ABC 3b A propriedade associativa é útil para a transformação de portas lógicas de três ou mais en tradas em portas lógicas de duas entradas 4 Propriedade distributiva ABC ABAC 4a ABC ABAC 4b A propriedade 4a vale para todas as bases A propriedade 4b vale apenas para base dois 5 Propriedade distributiva expandida ABCD ACADBCBD 5a ABCD ACADBCBD 5b 6 Elemento idêntico ou idempotência AA A 6a AA A 6b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 166 7 Elemento inverso AA 1 7a AA 0 7b 8 Elemento neutro A0 A 8a A1 A 8b 9 Elemento nulo A1 1 9a A0 0 9b 10 De Morgan AB AB 10a AB AB 10b Dentro do contexto do cálculo integral e diferencial um jovem estudante pode ter grande facilidade em resolver as dificílimas integrais apresentadas no livrotexto adotado pelo professor pois elas são divididas e agrupadas por técnica de integração Sendo assim ao escolher algum exer cício proposto no livro o estudante já sabe previamente qual é o caminho para a solução com base apenas no título do capítulo onde o problema está inserido Porém na ocasião da avaliação este jovem estudante recebe uma ou várias integrais para serem resolvidas sem nenhuma orienta ção sobre qual ou quais técnicas devem ser aplicadas Neste momento o estudante não enxerga qual é a técnica necessária ele tenta usar algumas possibilidades mas não encontra a solução Mais tarde quando o professor apresenta a resolução da avaliação o estudante percebe que aquela in tegral tem uma solução fácil bastando apenas saber qual é a técnica a ser empregada Vemos então que uma simples informação pode fazer toda a diferença Este exemplo retrata a dificuldade que é encontrada no processo de investigação de caminhos Igualmente difícil é a determinação do melhor caminho para a minimização de uma ex pressão algébrica Embora seja possível encontrar um caminho nem sempre é possível confirmar que este se trate do melhor caminho Por razões didáticas não será explorado neste capítulo o desafio que transformar uma expressão algébrica qualquer em uma expressão algébrica minimi zada Da mesma forma que no cálculo integral faz toda a diferença a simples informação sobre qual seja o método a ser empregado na resolução igualmente na minimização algébrica a presença do Mapa de Karnaugh serve como indicador do melhor caminho Por esse motivo em todos os exemplos apresentados neste capítulo será feita primeiramente a minimização por mapa de Kar naugh e posteriormente e a partir dela será feita a minimização algébrica Por meio das transformações algébricas é possível evidenciar a veracidade do teorema da adjacência As minimizações algébricas baseadas no teorema da adjacência costumam seguir a mesma sequência de aplicação de propriedades algébricas Com um pouco de prática o estudante consegue minimizar com facilidade todas as expressões algébricas seguindo sempre a mesma se quência de transformações Da mesma forma que um advogado ao elaborar a estratégia de defesa do seu cliente ao citar as leis vigentes precisa necessariamente citar o nome da lei à qual faz referência igualmente a aplicação de qualquer propriedade da álgebra booleana requer que o nome da propriedade tam bém seja mencionado A menção destes nomes é feita à direita da linha onde a transformação é aplicada Todas estas menções são alinhadas formando uma coluna um memorial descritivo do processo de minimização Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 167 Não é permitida a aplicação implícita de nenhuma propriedade Todas as aplicações preci sam ser relatadas no memorial descritivo Não é permitida a aplicação de duas propriedades ao mesmo tempo cada linha precisa retratar a aplicação de uma e apenas uma propriedade As versões a e b são propriedades diferentes A descrição precisa conter o nome da propriedade e não o número na lista acima pois cada autor utiliza uma lista diferente com numeração diferente Embora o procedimento de minimização por Mapa de Karnaugh permita a formação de qua dras diretamente o teorema das adjacências permite o agrupamento de apenas duas partes No caso das quadras o teorema das adjacências precisa ser aplicado duas vezes Comparando os exemplos 1 e 2 é possível constatar que o primeiro faz o agrupamento no lado direito e o segundo no lado esquerdo Essa diferença acontece porque as partes agrupáveis estão em lados diferentes nos dois exemplos A aplicação da propriedade distributiva requer a ob servação do lado pelo qual o agrupamento é efetuado Uma inversão neste lado implica na aplicação da propriedade comutativa dentro da propriedade distributiva e isso não é permitido Exemplo 1 D max45 CBA 00 01 11 10 0 1 1 1 1 1 0 0 1 1 Tabela 1 Exemplo 1 D CBACBA Forma canônica D CBAA Distributiva D CB0 Elemento inverso D CB Elemento neutro Exemplo2 D max15 CBA 00 01 11 10 0 1 0 1 1 1 1 0 1 1 Tabela 2 Exemplo 2 D CBACBA Forma canônica D CCBA Distributiva D 0BA Elemento inverso D BA Elemento neutro Exemplo 3 D max13 CBA 00 01 11 10 0 1 0 0 1 1 1 1 1 1 Tabela 3 Exemplo 3 D CBACBA Forma canônica D BCABCA Comutativa D BBCA Distributiva D 0CA Elemento inverso D CA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 168 Neste exemplo 3 o agrupamento é feito em razão de variáveis que estão separadas de modo que é necessário aplicar a propriedade comutativa Ao aplicar a comutativa a escolha por qual lado o agrupamento será direcionado é arbitrária e não altera a expressão algébrica final Exemplo 4 D max1345 CBA 00 01 11 10 0 1 0 0 1 1 0 0 1 1 Tabela 4 Exemplo 4 Este exemplo 4 consiste na união dos exemplos 1 e 3 Caso estas minimizações algébricas já tenham sido apresentadas então a minimização da função 4 pode ser feita a partir daqueles resul tados IPE1 max13 IPE1 CA Exemplo 3 IPE2 max45 IPE2 CB Exemplo 1 D IPE1 IPE2 D CACB Caso as minimizações anteriores não tenham sido feitas é preciso partir do início do proce dimento de minimização algébrica D CBACBACBACBA Forma canônica D BCABCACBACBA Comutativa D BBCACBAA Distributiva D 0CACB0 Elemento inverso D CACB Elemento neutro Exemplo 5 D max145 CBA 00 01 11 10 0 1 0 1 1 1 0 0 1 1 Tabela 5 Exemplo 5 IPE1 max15 IPE1 BA Exemplos 2 IPE2 max45 IPE2 CB Exemplos 1 D IPE1 IPE2 D BACB D CBACBACBA Forma canônica D CBACBACBACBA Elemento idêntico D CBACBACBACBA Comutativa D CCBACBAA Distributiva D 0BACB0 Elemento inverso D BACB Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 169 Neste exemplo 5 há três maxtermos e dois pares Está faltando um maxtermo Isso acontece porque em verdade há quatro maxtermos mas dois deles são iguais No processo de minimização algébrica é preciso duplicar este termo Exemplo 6 D max1457 CBA 00 01 11 10 0 1 0 1 1 1 0 0 0 1 Tabela 6 Exemplo 6 IPE1 max15 IPE2 max45 IPE3 max57 D IPE1 IPE2 IPE3 Quando há muitos termos o estudante pode colocar um índice acima das expressões algé bricas pertinentes a cada termo Isto não é recomendado para trabalhos acadêmicos e científicos mas ajuda o estudante a entender os procedimentos adotados na minimização algébrica D CBACBACBACBA Forma canônica D CBACBACBACBACBACBA Elemento idêntico D CBACBACBACBACBACBA Comutativa D CBACBACBACBACABCAB Comutativa D CCBACBAACABB Distributiva D 0BACB0CA0 Elemento inverso D BACBCA Elemento neutro Neste exemplo 5 há quatro maxtermos e três pares Está faltando um maxtermo Isso acon tece porque em verdade há seis maxtermos mas três deles são iguais No processo de minimização algébrica é preciso triplicar este maxtermo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 170 Exemplo 7 E min15 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 0 0 11 0 0 0 0 10 0 0 0 0 Tabela 7 Exemplo 7 E DCBADCBA Forma canônica E CDBACDBA Comutativa E CCDBA Distributiva E 1DBA Elemento inverso E DBA Elemento neutro Exemplo 8 E min151415 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 0 0 11 0 0 1 1 10 0 0 0 0 Tabela 8 Exemplo 8 E DCBADCBADCBADCBA Forma canônica E CDBACDBADCBADCBA Comutativa E CCDBADCBAA Distributiva E 1DBADCB1 Elemento inverso E DBADCB Elemento neutro Outra opção IPE1 min15 IPE1 DCBADCBA Forma canônica IPE1 CDBACDBA Comutativa IPE1 CCDBA Distributiva IPE1 1DBA Elemento inverso IPE1 DBA Elemento neutro IPE2 min1415 IPE2 DCBADCBA Forma canônica IPE2 DCBADCBA Comutativa IPE2 DCBAA Distributiva IPE2 DCB1 Elemento inverso IPE2 DCB Elemento neutro E IPE1 IPE2 E DBADCB Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 171 Exemplo 9 E min157 DCBA 00 01 11 10 00 0 1 0 0 01 0 1 1 0 11 0 0 0 0 10 0 0 0 0 Tabela 9 Exemplo 9 E DCBADCBADCBA Forma canônica E DCBADCBADCBADCBA Elemento idêntico E CDBACDBADCABDCAB Comutativa E CCDBADCABB Distributiva E 1DBADCA1 Elemento inverso E DBADCA Elemento neutro Outra opção IPE1 min15 IPE1 DBA Vide exemplo 8 IPE2 min57 IPE2 DCBADCBA Forma canônica IPE2 DCABDCAB Comutativa IPE2 DCABB Distributiva IPE2 DCA1 Elemento inverso IPE2 DCA Elemento neutro E IPE1 IPE2 E DBADCA Exemplo 10 E min1357 DCBA 00 01 11 10 00 0 1 1 0 01 0 1 1 0 11 0 0 0 0 10 0 0 0 0 Tabela 10 Exemplo 10 E DCBADCBADCBADCBA Forma canônica E DCABDCABDCABDCAB Comutativa E DCABBDCABB Distributiva E DCA1DCA1 Elemento inverso E DCADCA Elemento neutro E DACDAC Comutativa E DA CC Distributiva E DA1 Elemento inverso E DA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 172 Exemplo 11 DCBA 00 01 11 10 00 0 0 1 1 01 0 1 1 1 11 0 1 1 0 10 0 0 0 0 Tabela 11 Exemplo 11 E min235671315 E DCBADCBADCBADCBA DCBADCBADCBA Forma canônica E DCBADCBADCBADCBA DCBADCBADCBADCBA Elemento idêntico E DCBADCBADCBADCBA DCBADCBADCBADCBA Comutativa E DCBADCBADCBADCBA DCABDCABDCABDCAB Comutativa E DCBAADCBAA DCABBDCABB Distributiva E DCB1DCB1 DCA1DCA1 Elemento inverso E DCBDCBDCADCA Elemento neutro E CDBCDBDCADCA Comutativa E CCDBDD CA Comutativa E 1DB1CA Elemento inverso E DBCA Elemento neutro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 173 Capítulo 213 Conversores de código Um conversor de código é um dispositivo que recebe uma palavra binária e a converte em outra palavra binária O tamanho em bits da palavra de entrada não precisa ser o mesmo tamanho da palavra de saída Cada bit da palavra de saída consiste de uma função booleana individual A síntese das funções booleanas que compõe o conversor de código pode ser feita na forma canônica ou na forma minimizada Embora seja possível misturar funções minimizadas e funções canônicas a tradição mostra que todas as funções devem ser submetidas ao mesmo critério de síntese Exemplo 1 Input Output 0 2 1 3 2 0 3 1 Tabela 1 Definição do conversor B A Out1 Out0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 Tabela 2 Definição das funções binárias Out1 max23 Out0 max02 Out1 B A BA Out0 B A B A Out1 min01 Out0 min13 Out1 BA B A Out0 B A B A Minimizado Out1 B Out0 A Circuito 1 Exemplo 1 com análise de uns e de zeros respectivamente Out0 Out1 A B Out1 Out0 B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 174 Exemplo 2 Input Output 0 5 1 2 2 6 3 4 Tabela 3 Definição do conversor B A Out2 Out1 Out0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 Tabela 4 Definição das funções binárias Out2 max1 Out1 max03 Out0 max123 Out2 BA Out1 BABA Out0 BABABA Out2 min023 Out1 min12 Out0 min0 Out2 BABABA Out1 BABA Out0 BA Minimizado Out2 BA Out1 BA Out0 BA Circuito 2 Exemplo 2 com análise de uns e de zeros respectivamente A B A B C B A V C B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 175 Exemplo 3 Input Output 0 2 1 2 2 0 3 1 4 0 5 2 6 1 7 1 Tabela 5 Definição do conversor C B A Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 6 Definição das funções binárias Out1 max23467 Out0 max01245 Out1 CBACBACBACBACBA Out0 CBACBACBACBACBA Circuito 3 Forma canônica em zeros B C A Out1 Out0 V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 176 Circuito 4 Forma canônica em zeros a partir das funções complementadas Circuito 5 Forma canônica em uns B C A Out1 Out0 A C B Out0 Out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 177 Out1 min015 Out1 CBACBACBA Out0 min367 Out0 CBACBACBA Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 Out1 BCA Out0 B CA 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 Tabela 7 Minimização em zeros Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 Out1 CBBA Out0 B A CB 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1 Tabela 8 Minimização em uns Exemplo 4 Input Output 0 6 1 4 2 2 3 6 4 6 5 1 6 7 7 4 Tabela 9 Definição do conversor C B A Out2 Out1 Out0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 Tabela 10 Definição das funções binárias Out2 max25 Out1 max157 Out0 max012347 Out2 min013467 Out1 min02346 Out0 min56 Out2 CBACBA Out1 CBACBACBA Out0 CBACBACBACBACBACBA Out2 CBACBACBACBACBACBA Out1 CBACBACBACBACBA Out0 CBACBA Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 Tabela 11 Minimização em zeros Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 1 1 1 0 0 1 0 1 1 0 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 1 0 1 Tabela 12 Minimização em uns Out2 CBACBA Out1 BACA Out0 CBABA Out2 BACACB Out1 ACB Out0 CBACBA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 178 Circuito 6 Forma canônica em zeros Circuito 7 Forma canônica em um B C A V Out0 Out1 Out2 A C B Out0 Out1 Out2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 179 Exemplo 5 Input Output 0 0 1 1 2 3 3 6 4 10 5 15 6 5 7 12 Tabela 13 Definição do conversor C B A Out3 Out2 Out1 Out0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 0 0 Tabela 14 Definição das funções binárias Out3 max01236 Out2 max0124 Out1 max0167 Out0 max0347 Out3 min457 Out2 min3567 Out1 min2345 Out0 min1256 Out3 CBAC BA CBA CBACBA Out2 CBAC BA CBAC B A Out1 CBAC BACBACBA Out0 CBACBAC BACBA Out3 CBA CB AC B A Out2 CBA CB AC BAC B A Out1 C B AC B ACBACB A Out0 CB AC BACB AC BA Out3 Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 Tabela 15 Minimização em zeros Out3 Out2 Out1 Out0 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 CBA 00 01 11 10 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 1 0 1 Tabela 16 Minimização em uns Out3 CBA Out2 CACBBA Out1 CBCB Out0 BABA Out3 CACB Out2 BACACB Out1 CBCB Out0 BABA Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 180 Circuito 8 Forma canônica em zeros na forma invertida Circuito 9 Forma canônica em uns na forma invertida B C A Out2 Out1 Out0 V A C B Out2 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 181 Capítulo 214 Análise reversa Dentro do contexto do ambiente de trabalho de um engenheiro especialista em sistemas digitais não basta que ele seja competente na missão de produzir um bom projeto de circuito ele trônico digital Também é importante que ele seja capaz de realizar uma análise reversa Por aná lise reversa estamos fazendo referência ao processo de obtenção das expressões algébricas das tabelasverdade e das tabelas de decodificação a partir da observação do circuito lógico A análise reversa de grandes circuitos digitais não pode ser feita por meio da observação humana dos nós topológicos pois estamos falando de sistemas formados por milhares de portas lógicas Neste caso a análise pode ser efetuada por meio da comparação da injeção das palavras de entrada com as respectivas palavras de saída Exemplo O circuito abaixo foi projetado por um engenheiro que não pode ser contatado não é pos sível obter a documentação do projeto Sendo assim é preciso investigar qual é a proposta deste circuito e a forma como o projetista alcançou este resultado Por meio da construção do circuito em um software simulador ou então por meio da submissão do circuito eletrônico real a ensaios e testes é possível obter a tabelaverdade dos bits de saída Observando o desenho do circuito lógico é possível escrever as expressões algébricas Para isso é preciso identificar os caminhos da informação até a chegada ao nó de saída de cada função Circuito 1 Diagrama completo Out1 ABD Out2 A Out3 DCB Out4 BCADB C B D A Out1 Out3 Out4 Out2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 182 Circuito 2 Diagrama para Out1 Circuito 3 Diagrama para Out2 Circuito 4 Diagrama para Out3 Circuito 5 Diagrama para Out4 Out1 A D B Out2 A Out3 D B C Out4 A D B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 183 D C B A Out4 Out3 Out2 Out1 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 Tabela 1 Definição das funções binárias Input Output 0 D 1 E 2 1 3 2 4 1 5 A 6 1 7 2 8 9 9 A A 0 B 3 C 1 D A E 0 F 3 Tabela 2 Tabela de decodificação Out1 ABD D C B A A B D BD BD Out1 0 0 0 0 1 1 1 1 0 1 0 0 0 1 0 1 1 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 0 0 1 1 Tabela 3 Determinação da tabelaverdade de Out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 184 Out3 DCB D C B A DC DC B Out3 0 0 0 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 1 1 1 1 1 0 0 0 Tabela 4 Determinação da tabelaverdade de Out3 Out4 BCADB D C B A D B A CA CA DB Out4 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 0 1 1 0 0 0 1 1 1 1 0 0 0 0 1 0 0 Tabela 5 Determinação da tabelaverdade de Out4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 185 Unidade 3 Circuitos lógicos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 186 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 187 Capítulo 301 Portas lógicas A palavra porta diz respeito a um dispositivo que pode ser aberto ou fechado também remete à idéia de fluxo No caso das portas lógicas teríamos um fluxo de informações lógicas A filosofia e as ciências jurídicas estão todas baseadas em fluxo de informação Portas lógicas são uma entidade filosófica ou matemática a depender do contexto Sua im plementação física é feita principalmente na forma de circuitos eletrônicos mas também pode ser feita por meio de escoamento de líquidos e gases ou por luz ou outro tipo de materialização que venha a ser criado No caso dos circuitos elétricos eles podem ser digitais ou analógicos Somente os circuitos digitais são relevantes neste texto A principal diferença entre um sistema analógico e um sistema digital é que o sistema ana lógico possui uma quantidade incontável de valores possíveis enquanto o digital possui uma quan tidade conhecida geralmente dois valores Outra diferença é que as grandezas analógicas precisam de uma unidade e uma referência diante da qual o valor zero é atribuído enquanto números digitais não possuem referência nem unidade Dentro do contexto da eletricidade portas lógicas podem ser construídas por meio de cha ves elétricas Estas chaves são biestáveis ou seja possuem infinitos estados transientes instáveis e apenas dois estados estacionários estáveis ligado ou desligado A forma mais intuitiva de entendimento destas chaves é a sua forma mecânica pushbutton toogle switch relés contatores disjuntores etc Os primeiros computadores foram construídos com relés A primeira tecnologia usada na fabricação de portas lógicas eletrônicas fazia uso de diodos retificadores Por esse motivo o nome dado a esta tecnologia era DRL Diode Resistor Logic Lógica diodoresistor A função lógica é efetuada pelos diodos O resistor atua como um guia para o refe rencial de tensão quando os diodos operam em alta impedância Figura 1 Circuito seletor de máximo analógico No circuito da figura 1 o nó topológico indicado por C representa a função analógica CBA Esta função é dada pelo valor maior encontrado nas duas entradas A e B Nos gráficos é possível observar que existe um offset na saída em relação à entrada Esta diferença acontece por causa da queda de tensão do diodo em polarização direta VTH threshold voltage tensão de limiar algo em torno de 07V para o semicondutor de silício Para que os dois diodos não sejam polarizados reversamente ao mesmo tempo as duas fontes de tensão senoidal possuem um offset igual à tensão de pico O funcionamento do circuito seletor de máximo pode ser entendido por meio da percepção de que o diodo que recebe a maior tensão encontrase em um estado de saturação superior ao do diodo que possui a menor tensão O diodo mais saturado proporciona a menor resistência RD e isso faz com que ele determine o valor da tensão elétrica no nó de saída C Esta tensão de saída é então superior à tensão aplicada à entrada anodo do outro diodo e isso faz com que a sua Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 188 polarização seja reversa levando a sua resistência direta a valores elevadíssimos isolando a fonte de tensão alternada com menor valor de tensão instantânea Vt Quando ambos diodos estão submetidos a uma tensão direta inferior a VTH os dois diodos estão em estado de não saturação e podem ser considerados desligados Nesta situação o valor da tensão na saída precisa ser de 0V Para isso é preciso o uso de um resistor de valor elevado a fim de obter uma corrente elétrica muito baixa Considerando que a corrente elétrica neste resistor na situação de desligamento dos diodos é quase nula então o resistor se comporta como um curto circuito virtual e a saída recebe o valor de 0V Considerando que este resistor tem a função de levar a tensão de saída a zero ele é chamado de pulldown resistor Figura 2 Circuito seletor de mínimo analógico No circuito da figura 2 a função CBA é dada pelo valor menor encontrado nas duas en tradas A e B O offset na saída em relação à entrada acontece por causa do VTH O diodo que recebe a menor tensão encontrase em um estado de saturação superior ao do diodo que possui a maior tensão de modo que a saída recebe a menor tensão Quando ambos diodos estão desliga dos o valor da tensão na saída precisa ser de 2V neste exemplo Considerando que o resistor tem a função de levar a tensão de saída à tensão máxima ele é chamado de pullup resistor Em se tratando de circuitos integrados é muito difícil construir resistores com valores ele vados então a resistência passiva é substituída por uma resistência ativa obtida por meio de um transistor Por causa deste transistor a tecnologia passou a ser chamada de DTL Diode Tran sistor Logic Lógica diodotransistor Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 189 Figura 3 Circuito seletor de máximo digital Figura 4 Circuito seletor de mínimo digital Os dois diodos podem ser substituídos por dois transistores de junção bipolar BJT Os dio dos baseemissor dos transistores é o responsável pela operação lógica A vantagem do uso do tran sistor é que é possível obter melhor controle do ponto de operação Este controle pode ser usado por exemplo para realizar uma compensação para a anulação de efeitos térmicos A B C A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 190 Figura 5 Seletores operados com transistores Os circuitos elétricos digitais podem ser construídos por meio de chaves eletrônicas Estas chaves são melhores do que as mecânicas em várias características como custo de fabricação ta manho peso rapidez tempo de vida útil consumo de energia elétrica etc As chaves eletrônicas são construídas por meio de transresistores conhecidos hoje como transistores Tais dispositivos possuem o efeito da resistência virtual na qual tensão e corrente são medidos em pontos distintos Se por um lado o efeito da transresistência é útil em circuitos am plificadores de tensão ou de corrente o efeito do chaveamento booleano é obtido fora do efeito transresistor estamos falando dos limites superior e inferior da transresistência gráfico ICVCE chamados de corte IC0A e saturação VCE0V respectivamente nomenclatura usada em dispositivos bipolares Os primeiros dispositivos transistores foram construídos por meio de válvulas termiônicas por meio do aperfeiçoamento das válvulas diodo Enquanto as válvulas diodo possuem apenas um filamento emissor de elétrons e uma grade screen coletor de elétrons as válvulas transisto res possuem um condutor localizado entre estes dois elementos a fim de que sua corrente seja controlada por meio da emissão de elétrons entre emissor e coletor Os primeiros computadores eletrônicos foram construídos através de válvulas termiônicas Posteriormente foram desenvolvidos os dispositivos de estado sólido solid state Este nome salienta o fato de que as válvulas são dispositivos de estado gasoso e por isso apresentam vários inconvenientes como por exemplo fragilidade mecânica aquecimento local baixa vida útil grande tamanho alto consumo de energia elétrica peso elevado demora da inicialização etc Os dispositivos de estado sólido são construídos principalmente em silício Si monocrista lino mas também podem ser construídos em cristais de germânio Ge arseneto de gálio GaAs etc O silício é o material mais usado por diversos motivos dentre os quais os principais são o fato de que o silício é o elemento mais abundante no planeta Terra e o fato de que o óxido de silício SiO2 é o material com a melhor resistividade elétrica que existe e se forma naturalmente na super fície da lâmina Os dispositivos digitais de estado sólido hoje se dividem em dois grupos principais TTL e CMOS O primeiro grupo é formado pelos transistores bipolares O segundo grupo pelos monopo lares Nos dispositivos monopolares a corrente controlada é de apenas um tipo Nos dispositivos bipolares de dois tipos A corrente pode ser formada pelo deslocamento de elétrons na banda de energia de condução ou por lacunas na banda de energia de valência A corrente de elétrons é ob servada em metais e em semicondutores do tipo N A corrente de lacunas é observada exclusiva mente nos semicondutores do tipo P A corrente de lacunas é mais lenta do que a de elétrons por que a mobilidade das lacunas é inferior à dos elétrons 5V 1 Hz 500mHz 5V 500mHz 1 Hz Seletor de máximo Seletor de mínimo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 191 O transistor bipolar bipolar juntion transistor BJT foi o primeiro transistor de estado sólido a ser desenvolvido Seu princípio de funcionamento está baseado no efeito Schottky desco berto casualmente nos laboratórios Bell O nome bipolar diz respeito ao fato de que a corrente principal em topologia EC emissor comum chamada de IC é de um tipo nas regiões de emissor e coletor e de outro tipo na região de base Há dois tipos porque nas regiões N dopagem com fósforo 5A a corrente majoritária é formada por elétrons na banda de condução e nas regiões P dopagem com bóro 3A a corrente majoritária é formada por lacunas na banda de valência O nome TTL significa Transistor Transistor Logic A primeira palavra diz respeito ao fato de que a etapa lógica é feita por meio de transistores bipolares A segunda palavra diz respeito ao fato de que o buffer amplificador de corrente etapa de saída de toda porta lógica também é construída por meio de transistores bipolares Comercialmente a família de circuitos lógicos TTL é identificada por meio dos prefixos 74 uso geral e 54 uso militar A família TTL possui várias subdivisões dentre as quais as principais são LS Low Schottky HS High Speed C CMOS levels Os dispositivos monopolares são os transistores de efeito de campo FET Dentro desta ca tegoria a primeira estrutura desenvolvida foi o FET de junção JFET Posteriormente foi desenvol vido o capacitor MOS formado por três camadas metal óxido e semicondutor A primeira e a ter ceira formam as placas do capacitor a segunda forma o dielétrico O óxido de silício SIO2 também chamado de vidro é o melhor isolante que existe O capacitor MOS pode ser usado para controlar um FET dando origem ao MOSFET A sigla MOSFET significa metal oxide semicondutor FET Os primeiros circuitos digitais construídos com MOSFETs usavam as tecnologias nMOS e pMOS Posteriormente essas duas tecnologias foram substituídas pela tecnologia CMOS o MOS complementar complementary MOS A tecnologia CMOS implica na divisão do circuito em duas partes uma delas construídas com transistores de canal P e a outra com transistores de canal N Uma das regiões é chamada de rede R e é responsável por levar a saída para o estado zero reset A outra região é chamada de rede S e é responsável por levar a saída para o estado um set Uma região responde pelo comple mento da outra Quando uma é ativada a outra é desativada A família de tansistores MOSFET é a mais usada atualmente em dispositivos digitais e possui uma enorme semelhança com o funcionamento dos transistores termiônicos porém estes existem somente na versão de canal N impedindo a construção de regiões complementares Apesar de sua relativa simplicidade conceitual em relação ao BJT a tecnologia MOS foi desenvolvida posterior mente por causa de impedimentos decorrentes das limitações dos processos de fabricação disponí veis naquela época O transistor FET JFET MOSFET IGBT field effect transitor transistor de efeito de campo opera de maneira análoga à válvula termiônica Enquanto nas válvulas a corrente é controlada por meio do campo elétrico entre filamento e grade a corrente dos FETs corrente de canal é contro lada por meio do campo elétrico entre metal e semicondutor A tecnologia CMOS é a mais usada hoje em circuitos digitais em razão do seu baixo consumo de energia elétrica muito embora o capacitor de porta implique em uma pequena redução na ca pacidade de operação em altas frequências por causa do tempo de cargadescarga Comercial mente a família de circuitos lógicos CMOS é identificada por meio do número 4000 O inversor CMOS porta lógica NOT é o circuito CMOS mais simples formado apenas por um MOSFET de canal P rede S e um MOSFET de canal N rede R Todas as outras portas lógicas são obtidas a partir da expansão do inversor CMOS por meio da ligação de transistores do mesmo tipo em série ou em paralelo Por essa razão todas as portas lógicas construídas com tecnologia Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 192 CMOS fornecem a saída invertida operação NOT Isso explica por que as portas NAND e NOR são mais simples do que as portas AND e OR respectivamente Os circuitos lógicos podem apresentar saídas ativas em nível baixo e saídas ativas em nível alto Quando a saída é ativa em nível baixo a ação indicada pelo nome da variável de saída ou pela sua legenda é efetuada por meio do nível lógico zero Quando é ativa em nível alto a ação é efetuada através do nível lógico um O circuito lógico para ser útil precisa controlar um atuador que pode ser um LED um mo tor um outro circuito lógico ou qualquer outro dispositivo elétrico Nesta atuação o circuito pode exercer uma lógica positiva ou negativa Na lógica negativa o atuador é acionado por meio do nível lógico zero Na lógica positiva o atuador é acionado por meio do nível lógico um Na lógica negativa a fonte de energia para o atuador é um gerador externo porém na lógica positiva a fonte de energia para o atuador é o próprio chip ou um buffer ligado ao chip ou um driver de potência o que torna esta opção desvantajosa Por essa razão a lógica negativa é mais utilizada do que a lógica positiva Não se deve confundir lógica positivanegativa com saídas ativas em nível altobaixo ou com análise de unszeros em tabelasverdade Tratamse de três conceitos totalmente distintos e in dependentes Portas lógicas tradicionais Figura 6 Porta YES Figura 7 Porta NOT Figura 8 Porta AND de duas entradas Figura 9 Porta OR de duas entradas Figura 10 Porta XOR Figura 11 Porta NAND de duas entradas Figura 12 Porta NOR de duas entradas Figura 13 Porta XNOR B A A B C B A A B C C B A C B A A B C A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 193 B A AND OR XOR NAND NOR XNOR 0 0 0 0 0 1 1 1 0 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 1 0 0 0 1 Tabela 1 Portas lógicas de duas entradas Figura 14 Porta AND de três entradas Figura 15 Porta OR de três entradas Figura 16 Porta NAND de três entradas Figura 17 Porta NOR de três entradas C B A AND OR NAND NOR 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 1 1 0 0 1 1 0 1 1 1 1 1 0 0 Tabela 2 Portas lógicas de três entradas As portas lógicas podem ser implementadas em diversos meios físicos como por exemplo dutos hidráulicos e condutores óticos O meio mais usado é o elétrico Relés eletromecânicos podem ser usados para implementar funções lógicas Contatores elétricos são usados na implementação da lógica de seleção de circuitos de acionamentos de motores elétricos A forma mais comum po rém é através de circuitos eletrônicos em estado sólido IC integrated circuit comercializados na forma de chips A palavra chip ou die se refere à pastilha semicondutora onde o circuito é gravado Esta pastilha é acondicionada em um invólucro chamado de encapsulamento responsável pelo maior custo de produção nos circuitos de baixa complexidade Esse encapsulamento além de fornecer proteção mecânica para o chip ainda proporciona os contatos elétricos por meio de pinos de alu mínio Esses pinos podem ser dispostos em três tipos básicos de encapsulamento quanto à geome tria dos contatos duas linhas paralelas DIP dual in line package quatro linhas formando um quadrado PLCC plastic leaded chip carrier arranjo bidimensional LGA land grid array D C B A A B C D D C B A A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 194 Existem ainda outras siglas referentes a variações no formato dos pinos O formato DIP é o mais usado por estudantes porque é compatível com a matriz de contatos usada no desenvolvi mento de protótipos mas não é indicado em produção de larga escala por causa do custo elevado e do espaço físico ocupado Figura 18 Algumas opções de encapsulamento DIP Todo encapsulamento possui algum artifício visual para a identificação dos pinos O formato DIP faz uso de um chanfro ou círculo localizado na parte superior O primeiro pino está disposto à esquerda do marcador enquanto o último pino está à sua direita Os principais tamanhos de encapsulamento DIP são DIP8 DIP14 DIP16 DIP20 DIP36 e DIP40 O encapsulamento DIP7 seria um DIP8 faltando um pino Embora possam existir variações entre um fabricante e outro a maioria dos ICs de portas lógicas básicas respeitam a mesma pinagem Considerando que os encapsulamentos oferecem uma quantidade de pinos geralmente superior à necessária para o acesso a uma única porta lógica estes ICs costumam fornecer mais de uma porta lógica Dois pinos são usados para a alimentação elétrica A tabela a seguir é usada nos seguintes ICs 74LS08 LS quad 2input AND 74LS32 LS quad 2input OR 74LS00 LS quad 2input NAND 74LS02 LS quad 2input NOR 74LS86 LS quad 2input XOR Função Porta A Porta B Porta C Porta D VCCGND Entrada 1 1 4 9 12 14 Entrada 2 2 5 10 13 7 Saída 3 6 8 11 Tabela 3 Pinagem para algumas portas lógicas de duas entradas A tabela a seguir é usada nos seguintes ICs 74LS11 LS triple 3input AND 74LS10 LS triple 3input NAND Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 195 Função Porta A Porta B Porta C VCCGND Entrada 1 1 3 9 14 Entrada 2 2 4 10 7 Entrada 3 13 5 11 Saída 12 6 8 Tabela 4 Pinagem para algumas portas lógicas de três entradas A tabela a seguir é usada nos seguintes ICs 74LS21 LS dual 4input AND 74LS20 LS dual 4input NAND Função Porta A Porta B VCCGND Entrada 1 1 9 14 Entrada 2 2 10 7 Entrada 3 4 12 Entrada 4 5 13 Saída 6 8 Tabela 5 Pinagem para algumas portas lógicas de quatro entradas Portas lógicas de oito entradas com encapsulamento DIP14 oferecem uma porta lógica por chip Este é o caso dos seguintes ICs 74LS30 LS 8input NAND 4078 8input NOR Figura 19 Portas lógicas de oito entradas Habilitação das saídas O tristate é um recurso essencial quando se compartilha um barramento de dados entre diversos dispositivos digitais O tristate apesar do nome não se trata de um terceiro estado Este nome é usado para retratar a situação na qual o circuito digital possui em sua saída uma alta im pedância Em outras palavras a alta impedância pode ser entendida como um isolamento infinito em teoria Por isolamento se diz em respeito ao nó de referência GND ground É possível enten der que um nó topológico está em alta impedância quando o seu comportamento dá a impressão de que existe um isopor vidro ou porcelana separando este nó do resto do circuito A teoria de circuitos elétricos a teoria de eletrônica e a teoria sobre lógica booleana não são suficientes para determinar a tensão elétrica neste nó muito menos o seu equivalente nível lógico Se existe um outro circuito elétrico ligado a esta saída tristate então a tensão elétrica é determinada por este outro circuito Se não existe outro circuito então a tensão elétrica é determinada por meio de fe nômenos eletromagnéticos Graças ao tristate é possível efetuar um curtocircuito entre várias saídas digitais Se so mente uma destas fontes de sinal digital injeta valor lógico neste nó e todas as demais estão em alta impedância então não há de fato um curto circuito Se porém duas ou mais saídas tentam injetar sinal lógico ao nó então pode haver curtocircuito e danos aos dispositivos Portas lógicas com recurso de alta impedância possuem uma entrada com ação de habilitar a saída booleana ou desabilitála gerando a alta impedância Este sinal de habilitação é chamado 1 2 3 4 5 6 11 12 8 2 3 4 5 9 10 11 12 13 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 196 de output enable OE Este sinal é aplicável somente aos bits das saídas de dados Bits de saída de sinalização não podem ser controlados pelo OE Figura 20 74LS126 Quad 3state buffer CS IN OUT 0 0 3S 0 1 3S 1 0 0 1 1 1 Tabela 6 74LS126 Quad 3state buffer Figura 21 74LS125 Quad 3state buffer CS IN OUT 0 0 0 0 1 1 1 0 3S 1 1 3S Tabela 7 74LS125 Quad 3state buffer Habilitação das entradas Os circuitos digitais podem fazer uso do recurso da habilitação das entradas Quando estas são habilitadas o circuito funciona normalmente Quando estas são desabilitadas elas são forçadas a um determinado valor Esta função é chamada de chip enable ou chip select A função CE ou CS é aplicável somente aos bits das entradas de dados Bits de entrada de controle não podem ser controlados pelo CE Cada bit de dado de entrada recebe uma porta lógica de duas entradas Uma entrada recebe o bit de dado propriamente dito A outra entrada recebe o sinal CE Porta Elemento neutro Elemento nulo AND 1 0 OR 0 1 Tabela 8 Definição dos elementos das portas lógicas Situação Elemento Habilitado Neutro Desabilitado Nulo Tabela 9 Elemento usado no controle das entradas output enable output input input output output enable Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 197 Porta Entradas habilitadas Entradas desabilitadas AND 1 0 OR 0 1 Tabela 10 Valor do comando chip enable para ativação das entradas Porta Nome da função AND CE OR CE Tabela 11 Definição da lógica de ativação das entradas Figura 22 Circuitos de habilitação das entradas Usando uma porta XOR o circuito de habilitação de entradas se transforma em uma porta NOT habilitável Figura 23 74LS86 como um YesNot configurável S IN OUT função 0 0 0 YES 0 1 1 YES 1 0 1 NOT 1 1 0 NOT Tabela 12 74LS86 como um YesNot configurável chip enable input output input chip enable output select input output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 198 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 199 Capítulo 302 Decodificadores Imagine a seguinte situação A professora na escola vai fazer a conferência sobre quais alu nos estão presentes A professora possui uma lista com os nomes dos alunos matriculados Esta lista consiste de um conjunto de combinações de letras que formam os nomes na forma escrita Essas combinações consistem de um código linguístico Para cada aluno existe um código correspon dente O conjunto ordenado de letras que formam o nome do aluno não possui nenhuma corres pondência direta com a pessoa física do aluno Essa ausência de correlação direta impede que uma pessoa iletrada consiga identificar o aluno por meio da observação do texto A alfabetização consiste da obtenção do conhecimento sobre o procedimento da conversão da mensagem codificada na in dicação do seu significado Ao ler o nome do aluno a professora realiza o processo de decodificação daquela mensagem a fim de realizar o apontamento do aluno selecionado O texto é a informação codificada O apontamento do aluno é a informação decodificada A professora é o decodificador As expressões algébricas na forma canônica são construídas a partir dos termos que podem ser maxtermos na análise de zeros ou mintermos na análise de uns O circuito identificador e seletor destes termos é chamado de decodificador Os decodificadores são ao mesmo tempo a estrutura digital mais simples encontrada em circuitos lógicos e a mais importante Não é possível projetar circuitos digitais sem o entendimento a respeito do que sejam os decodificadores Decodificadores podem ser entendidos como conversores de binário para decimal Existe uma entrada binária e uma saída decimal A entrada binária é formada pela quantidade de bits ne cessária para permitir a representação de todos os valores decimais suportáveis por este decodifi cador A saída decimal é formada por uma quantidade de bits suficiente para apontar para todos os valores decimais suportados por este decodificador O nome dos bits de saída precisa receber obrigatoriamente um sufixo correspondente ao valor decimal da palavra binária colocada nos bits de entrada O valor decimal existe apenas no entendimento humano pois quanto ao circuito lógico existe apenas números binários codificados e números binários decodificados Um decodificador completo possui n bits de entrada e 2n bits de saída O decodificador é especificado por n2n Um decodificador incompleto é aquele que sofre a subtração de uma ou mais saídas Neste caso as palavras binárias de entrada correspondentes a estas saídas omitidas não poderiam ser utilizadas pois o decodificador não seria capaz de fazer a decodificação Como somente uma única combinação dos bits de entrada pode ser inserida em um instante então somente uma única saída pode ser sinalizada por vez Não é permitido selecionar zero duas ou mais saídas Uma e apenas uma saída é selecionada Se o decodificador indica o valor decimal por meio de uma saída em zero temos um de codificador com saída decodificada ativa em nível zero e neste caso o nome dos bits de saída pre cisa começar com Se o decodificador indica o valor decimal por meio de uma saída em um temos um decodificador com saída decodificada ativa em nível um Para decodificação em nível zero todas as demais saídas assumem nível um Para decodificação em nível um todas as demais saídas assumem nível zero Para saídas decodificadas indicadas por nível zero cada bit corresponde a um maxtermo e a porta lógica utilizada é a OR Para saídas decodificadas indicadas por nível um cada bit corres ponde a um mintermo e a porta lógica utilizada é a AND De maneira geral a porta lógica empregada é aquela para a qual o valor usado na sinalização é o elemento neutro Quando as saídas decodificadas são ativas em nível baixo é preciso sinalizar este fato A forma mais eficiente é usar uma barra no início do nome das variáveis de saída Se por razão de limitação do ambiente de desenvolvimento não é possível usar este símbolo no início do nome da Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 200 variável de saída então este nome deve ser iniciado por NOT Porém nem sempre é possível colocar o nome das variáveis no desenho do circuito lógico e neste caso não seria possível esclare cer que as saídas seriam ativas em nível baixo Neste caso convém usar uma circunferência em todas as saídas decodificadas ativas em nível baixo à semelhança da circunferência usada no símbolo das portas NOT NAND e NOR Neste texto será usada a redundância as duas representações são usadas ao mesmo tempo Quando as entradas eou as saídas são decodificadas não existe o conceito de palavra bi nária mas sim de indicação Por esse motivo existe a definição de indicação por nível alto ou indicação por nível baixo Quando as entradas eou as saídas são codificadas então temos uma palavra binária e não se definem o nível de indicação Conforme foi explicado no capítulo anterior as portas NOR e NAND são mais simples do que as portas OR e AND Por essa razão é possível simplificar o circuito eletrônico por meio da análise invertida de modo a obter o mesmo decodificador usando as portas NOR ou NAND O comando chip enable CE é usado para habilitardesabilitar as entradas de dados não atua nas entradas de controle A desabilitação é obtida por meio da injeção do elemento nulo da porta lógica usada nas entradas O comando output enable OE é usado para habilitardesabilitar as saídas de dados não atua nas saídas de sinalização A desabilitação é obtida por meio do uso do valor tristate Este valor indica que a saída digital encontrase em estado de alta impedância uma isolação física do nó de saída em relação ao resto do circuito O uso do tristate permite que as saídas de vários circuitos sejam todas elas ligadas ao mesmo barramento de dados data bus Se o tristate não é usado esta ligação provoca um curtocircuito e a queima dos componentes envolvidos A palavra codificada de entrada faz a seleção do termo escolhido Cada termo possui um endereço único e exclusivo pois ele está embutido em uma lista ordenada A seleção do termo é chamada de endereçamento Neste caso o barramento de entrada do decodificador pode ser entendido como sendo um barramento de endereço address bus Exemplo 1 Decodificador 12 com saídas ativas em nível alto Figura 1 12 DEC ativo em nível alto A out0 out1 0 1 0 Out0 A 1 0 1 Out1 A Tabela 1 12 DEC ativo em nível alto Exemplo 2 Decodificador 12 com saídas ativas em nível baixo Figura 2 12 DEC ativo em nível baixo A out0 out1 0 0 1 Out0 A A Out0 Out1 A Out0 Out1 12 DEC A out0 out1 12 DEC A out0 out1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 201 1 1 0 Out1 A Tabela 2 12 DEC ativo em nível baixo Exemplo 3 Decodificador 24 com saídas ativas em nível alto Figura 3 24 DEC ativo em nível alto B A out0 out1 out2 out3 0 0 1 0 0 0 Out0 BA 0 1 0 1 0 0 Out1 B A 1 0 0 0 1 1 Out2 BA 1 1 0 0 0 1 Out3 B A Tabela 3 24 DEC ativo em nível alto Exemplo 4 Decodificador 24 com saídas ativas em nível baixo Figura 4 24 DEC ativo em nível baixo B A out0 out1 out2 out3 0 0 0 1 1 1 Out0 B A 0 1 1 0 1 1 Out1 BA 1 0 1 1 0 1 Out2 B A 1 1 1 1 1 0 Out3 BA Tabela 4 24 DEC ativo em nível baixo B A Out0 Out1 Out2 Out3 B A Out3 Out2 Out1 Out0 24 DEC out0 out1 out2 out3 A B out0 out1 out2 out3 A B 24 DEC Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 202 Exemplo 5 Decodificador 38 com saídas ativas em nível alto Figura 5 38 DEC ativo em nível alto C B A out0 out1 out2 out3 out4 out5 out6 out7 0 0 0 1 0 0 0 0 0 0 0 Out0 CBA 0 0 1 0 1 0 0 0 0 0 0 Out1 CB A 0 1 0 0 0 1 0 0 0 0 0 Out2 C BA 0 1 1 0 0 0 1 0 0 0 0 Out3 C B A 1 0 0 0 0 0 0 1 0 0 0 Out4 CBA 1 0 1 0 0 0 0 0 1 0 0 Out5 CB A 1 1 0 0 0 0 0 0 0 1 0 Out6 C BA 1 1 1 0 0 0 0 0 0 0 1 Out7 C B A Tabela 5 38 DEC ativo em nível alto Figura 6 38 DEC ativo em nível alto A B C 321 4 Out3 Out2 Out1 Out0 Out4 Out5 Out6 Out7 out4 out5 out6 out7 38 DEC A out0 out1 out2 out3 B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 203 Exemplo 6 Decodificador 38 com saídas ativas em nível baixo Figura 7 38 DEC ativo em nível baixo C B A out0 out1 out2 out3 out4 out5 out6 out7 0 0 0 0 1 1 1 1 1 1 1 Out0 C B A 0 0 1 1 0 1 1 1 1 1 1 Out1 C BA 0 1 0 1 1 0 1 1 1 1 1 Out2 C B A 0 1 1 1 1 1 0 1 1 1 1 Out3 C BA 1 0 0 1 1 1 1 0 1 1 1 Out4 C B A 1 0 1 1 1 1 1 1 0 1 1 Out5 C BA 1 1 0 1 1 1 1 1 1 0 1 Out6 C B A 1 1 1 1 1 1 1 1 1 1 0 Out7 C BA Tabela 6 38 DEC ativo em nível baixo Figura 8 38 DEC ativo em nível baixo Out4 Out5 Out6 Out7 Out2 Out3 Out1 C B A Out0 321 4 A B C out0 out1 out2 out3 38 DEC out4 out5 out6 out7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 204 Exemplo 7 Decodificador 24 em lógica positiva com chip enable Figura 9 24 DEC ativo em nível alto CE B A out0 out1 out2 out3 0 X X 0 0 0 0 1 0 0 1 0 0 0 Out0 CEBA 1 0 1 0 1 0 0 Out1 CEB A 1 1 0 0 0 1 0 Out2 CE BA 1 1 1 0 0 0 1 Out3 CE B A Tabela 7 24 DEC ativo em nível alto Exemplo 8 Decodificador 24 em lógica negativa com chip enable Figura 10 24 DEC ativo em nível baixo CE B A out0 out1 out2 out3 0 0 0 0 1 1 1 0 0 1 1 0 1 1 Out0 CE B A 0 1 0 1 1 0 1 Out1 CE BA 0 1 1 1 1 1 0 Out2 CEB A 1 X X 0 1 1 1 Out3 CEBA Tabela 8 24 DEC ativo em nível baixo CE A B Out1 Out2 Out3 Out0 CE B A Out2 Out3 Out1 Out0 out0 out1 out2 out3 24 DEC A B CE out0 out1 out2 out3 A B 24 DEC CE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 205 Exemplo 9 Decodificador 24 em lógica positiva com output enable Figura 11 24 DEC ativo em nível alto OE CE B A out0 out1 out2 out3 0 X X X 3S 3S 3S 3S 1 0 X X 0 0 0 0 1 1 0 0 1 0 0 0 Out0 CEBA 1 1 0 1 0 1 0 0 Out1 CEB A 1 1 1 0 0 0 1 1 Out2 CE BA 1 1 1 1 0 0 0 1 Out3 CE B A Tabela 9 24 DEC ativo em nível alto Exemplo 10 Decodificador 24 em lógica negativa com output enable Figura 12 24 DEC ativo em nível baixo OE CE B A out0 out1 out2 out3 0 0 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1 Out0 CE B A 0 0 1 1 1 1 1 0 Out1 CE BA 0 1 X X 1 1 1 1 Out2 CEB A 1 X X X 3S 3S 3S 3S Out3 CEBA Tabela 10 24 DEC ativo em nível baixo CE OE A B Out1 Out2 Out3 Out0 OE CE A B Out1 Out2 Out3 Out0 out0 out1 out2 out3 24 DEC A B OE CE out0 out1 out2 out3 A B 24 DEC OE CE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 206 Exemplo 11 Decodificador 38 em lógica negativa com NAND Figura 13 38 DEC ativo em nível baixo Exemplo 12 Decodificador 38 em lógica negativa com NOR Figura 14 38 DEC ativo em nível alto C B A 74LS10 Out0 Out1 Out3 Out2 Out7 Out6 Out5 Out4 C B A 74LS27 Out0 Out1 Out3 Out2 Out7 Out6 Out5 Out4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 207 Exemplo 13 Decodificador 38 em lógica positiva com chip enable Figura 15 38 DEC ativo em nível baixo Exemplo 14 Decodificador 38 em lógica negativa com chip enable Figura 16 38 DEC ativo em nível alto CE C B A Out4 Out5 Out7 Out6 Out2 Out3 Out1 Out0 CE C B A Out5 Out7 Out6 Out4 Out2 Out3 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 208 Exemplo 15 Decodificador BCD Figura 17 38 DEC BCD ativo em nível alto e ativo em nível baixo D C B A out0 out1 out2 out3 out4 out5 out6 out7 out8 out9 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 X 0 0 0 0 0 0 0 0 0 0 1 1 X X 0 0 0 0 0 0 0 0 0 0 Figura 11 Definição do decodificador BCD com saídas ativas em nível alto 321 4 0 Out5 Out6 Out7 Out8 Out9 Out4 Out3 Out2 Out1 Out0 74LS21 Out9 Out8 Out4 Out5 Out7 Out6 Out2 Out3 Out1 4072 Out0 321 4 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 209 Exemplo 16 Decodificador BCD Figura 18 38 DEC BCD ativo em nível alto e ativo em nível baixo com bit de erro DCBA 00 01 11 10 DCBA 00 01 11 10 00 0 0 0 0 00 1 1 1 1 01 0 0 0 0 01 1 1 1 1 11 1 1 1 1 11 0 0 0 0 10 0 0 1 1 10 1 1 0 0 Tabela 12 Obtenção da expressão minimizada para o bit de erro Erro DCDB Erro DCDB Erro DCB Erro DCB Erro 74LS21 Out0 Out1 Out2 Out3 Out4 Out9 Out8 Out7 Out6 Out5 74LS08 74LS32 321 4 0 Out9 Out8 Out4 Out5 Out7 Out6 Out2 Out3 Out1 74LS32 74LS08 4072 321 4 0 Out0 Erro Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 210 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 211 Capítulo 303 Codificadores No capítulo anterior foram vistos os circuitos lógicos decodificadores Agora serão aborda dos os circuitos que fazem a ação oposta a codificação Codificadores podem ser entendidos como conversores de decimal para binário Existe uma entrada decimal e uma saída binária A entrada decimal é formada por uma quantidade de bits su ficiente para apontar para todos os valores decimais suportados por este codificador A saída binária é formada pela quantidade de bits necessária para permitir a representação de todos os valores decimais suportáveis por este codificador O nome dos bits de entrada precisa receber obrigatoriamente um sufixo correspondente ao valor decimal da palavra binária gerada nos bits de saída Um codificador completo possui 2n bits de entrada e n bits de saída O codificador é especificado por 2nn Um codificador incompleto é aquele que sofre a subtração de uma ou mais entradas Neste caso as palavras binárias de saída correspondentes a estas saídas omitidas não tem condições de serem geradas pois o codificador não possui entradas para geralas Como somente uma única combinação dos bits de saída pode ser gerada em um instante então somente uma única entrada pode ser acionada por vez Não é permitido selecionar zero duas ou mais entradas Uma e apenas uma entrada é selecionada Se o codificador indica o valor decimal por meio de uma entrada em zero temos um codi ficador com entrada codificada ativa em nível zero e neste caso o nome dos bits de entrada precisa começar com Se o codificador indica o valor decimal por meio de uma entrada em um temos um codificador com entrada codificada ativa em nível um Para codificação em nível zero todas as demais entradas precisam ser postas em um Para codificação em nível um todas as demais entradas precisam ser postas em zero Para entradas indicadas por nível zero a porta lógica utilizada é a AND Para saídas indica das por nível um a porta lógica utilizada é a OR De maneira geral a porta lógica empregada é aquela para a qual o valor usado na sinalização é o elemento nulo ou dominante O codificador apresentado neste capítulo não possui proteção para acionamento inválido e por isso seu uso deve respeitar a definição do que seja um decodificador Uma e apenas uma en trada deve ser acionada por vês Existe um tipo de codificador codificador de prioridade priority encoder que em caso de duas ou mais entradas acionadas ao mesmo tempo a menor ou a maior delas é selecionada Assim são os circuitos codificadores comerciais O codificador sem proteção apresentado neste capítulo pode ser usado quando o sistema de acionamento das entradas possui uma limitação de natureza mecânica que impede o aciona mento inválido Um sistema translacional ou rotacional composto por sensores de posição poderia fazer este acionamento Como o ponteiro sempre estará presente então sempre haverá uma en trada acionada Como o ponteiro não pode estar em dois ou mais lugares ao mesmo tempo então somente uma entrada será acionada por vês Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 212 Exemplo 1 Codificador 21 com entradas ativas em nível alto Figura 1 21 ENC ativo em nível alto Figura 2 21 ENC ativo em nível alto Exemplo 2 Codificador 21 com entradas ativas em nível baixo Figura 3 21 ENC ativo em nível baixo Figura 4 21 ENC ativo em nível baixo In0 In1 A In1 In0 A in0 in1 A 0 1 0 1 0 1 Tabela 2 21 ENC ativo em nível baixo in0 in1 A 1 0 0 0 1 1 Tabela 1 21 ENC ativo em nível alto 21 ENC A in0 in1 in0 21 ENC A in1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 213 Exemplo 3 Codificador 42 com entradas ativas em nível alto Figura 5 42 ENC ativo em nível alto in0 in1 in2 in3 B A 1 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 0 0 1 1 1 Tabela 4 42 ENC ativo em nível alto Exemplo 4 Codificador 42 com entradas ativas em nível baixo Figura 7 42 ENC ativo em nível baixo in0 in1 in2 in3 B A 0 1 1 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 0 1 1 Tabela 4 42 ENC ativo em nível baixo I0 I3 I2 I1 A B I0 I1I2 I3 B A 42 ENC in0 in1 in2 in3 A B 42 ENC in0 in1 in2 in3 A B A in0in2 B in0in1 A in1in3 B in2in3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 214 Exemplo 5 Codificador 83 com entradas ativas em nível alto Figura 9 83 ENC ativo em nível alto in0 in1 in2 in3 inj4 in5 in6 in7 C B A 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 1 Tabela 5 83 ENC ativo em nível alto Exemplo 6 Codificador 83 com entradas ativas em nível baixo Figura 10 83 ENC ativo em nível baixo in0 in1 in2 in3 in4 in5 in6 in7 C B A 0 1 1 1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 1 1 Tabela 6 83 ENC ativo em nível baixo 83 ENC in0 in1 in2 in3 in4 in5 in6 in7 A B C I3 I2 I1 I0 I7 I6 I5 I4 A B C 321 4 I0 I2 I4 I6 I3 I1 I5 I7 OutC OutB 74LS21 OutA 4321 in0 in1 in2 in3 in4 in5 in6 in7 A B C 83 ENC A in1in3in5in7 B in2in3in6in7 C in4in5in6in7 A in0in2in4in6 B in0in1in4in5 C in0in1in2in3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 215 Exemplo 7 Codificador BCD com entradas ativas em nível alto Figura 11 BCD ENC ativo em nível alto in0 in1 in2 in3 in4 in5 in6 in7 In8 In9 D C B A 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 Tabela 7 Definição do codificador BCD com entradas ativas em nível alto A in1in3in5in7in9 B in2in3in6in7 C in4in5in6in7 D in8in9 I9 I8 I4 I7 I6 I5 I2 I1 I0 I3 4071 OutD 321 4 OutC 4072 OutB OutA BCD ENC in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 216 Exemplo 8 Codificador BCD com entradas ativas em nível baixo Figura 12 BCD ENC ativo em nível baixo in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 D C B A 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 1 0 0 1 Tabela 8 Definição do codificador BCD com entradas ativas em nível baixo A in0in2in4in6in8 B in0in1in4in5in8in9 C in0in1in2in3in8in9 D in0in1in2in3in4in5in6in7 OutC OutD OutB I1 I0 I5 I3 I2 I4 I9 I7 I8 I6 4073 4081 4082 321 4 OutA BCD ENC in0 in1 in2 in3 in4 in5 in6 in7 in8 in9 A B C D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 217 Capítulo 304 Multiplexadores O multiplexador é o dispositivo que recebe muitas informações e escolhe uma delas para ser enviada para a saída A multiplexação pode ser analógica ou digital Uma multiplexação analógica pode ser exemplificada por meio do microcontrolador PIC16F877 que possui oito entradas analógi cas das quais uma é selecionada para ser enviada para o conversor AD Um circuito puramente analógico pode efetuar a multiplexação Por exemplo nos antigos equipamentos de som residen cial existiam várias opções para a fonte do áudio como por exemplo o tocadiscos de vinil o toca discos a laser o tocafitas rádio FM rádio AM rádio SW microfone ou entrada auxiliar Por meio de chaves mecânicas uma das fontes de sinal é enviada para o amplificador Uma multiplexação analógica também pode ser efetuada por meio de relés Desta forma é possível obter isolação elétrica total entre o circuito de acionamento e os circuitos comandados pelos relés O circuito de acionamento seleciona um relé e energiza a sua bobina Somente um relé é acionado por vês As chaves dos relés estão todas ligadas ao mesmo nó de saída Uma multiplexação digital consiste de um circuito que recebe duas ou mais palavras binárias e escolhe uma delas para ser enviada para a palavra de saída As palavras precisam ter todas o mesmo tamanho em bits A escolha é feita por meio da palavra de seleção As palavras de entrada precisam ser mantidas fixas para que a palavra de saída seja lida Por esse motivo os multiplexadores comerciais são dotados de uma memória na palavra de saída Esta memória é assunto para capítulos mais avançados e não é abordado aqui Todo multiplexador digital possui um decodificador na entrada Este decodificador é respon sável pela seleção da palavra de entrada a partir da palavra de seleção Este decodificador pode ser ativo em nível alto ou baixo e isso não interfere no funcionamento do multiplexador Quando a quantidade de palavras de entrada do multiplexador não é uma potência exata de dois então algumas combinações da palavra de seleção são inválidas Quando acionados esses en dereços colocam em todos os bits da palavra de saída o valor zero ou um a depender da lógica interna Essa informação não aparece no símbolo do multiplexador e quando se trata de algum dispositivo comercial precisa ser investigada através do manual do fabricante do chip Em um pro jeto bem elaborado endereços inválidos jamais são acessados de modo que o fornecimento de va lor zero ou um não faz diferença A palavra de saída de um multiplexador pode ser ligada a um barramento de dados data bus conforme a arquitetura de um microprocessadormicrocontrolador Por meio do multiplexa dor o barramento de dados é capaz de fazer a escrita em algum dispositivo anexado ao sistema Figura 1 Esquema de leitura dos periféricos em um sistema processado 8bit MUX periférico 1 sel periférico 2 periférico 3 periférico n 8bit data bus Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 218 Exemplo 1 Multiplexador 21 de dois bits com análise de uns Figura 2 2bit 21 MUX com análise de uns Sel Out1 Out0 0 A1 A0 Out0 A0SelB0Sel 1 B1 B0 Out1 A1SelB1Sel Tabela 2 2bit 21 MUX Exemplo 2 Multiplexador 21 de dois bits com análise de zeros Figura 3 2bit 21 MUX com análise de zeros Sel Out1 Out0 0 A1 A0 Out0 A0SelB0Sel 1 B1 B0 Out1 A1SelB1Sel Tabela 2 2bit 21 MUX Out0 Out1 B1 B0 A1 A0 Sel B1 B0 A1 A0 Sel Out1 Out0 A0 B0 A1 B1 Sel Out1 Out0 2bit 21 MUX A B out sel 2bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 219 Exemplo 3 Multiplexador 21 de três bits com análise de uns Figura 4 3bit 21 MUX com análise de uns Exemplo 4 Multiplexador 21 de três bits com análise de zeros Figura 5 3bit 21 MUX com análise de zeros B1 B2 B0 A2 A1 A0 Sel Out0 Out2 Out1 B1 B2 B0 A2 A1 A0 Sel Out2 Out1 Out0 Out0 A0SelB0Sel Out1 A1SelB1Sel Out2 A2SelB2Sel Sel Out2 Out1 Out0 0 A2 A1 A0 1 B2 B1 B0 Tabela 3 3bit 21 MUX Out0 A0SelB0Sel Out1 A1SelB1Sel Out2 A2SelB2Sel Sel Out2 Out1 Out0 0 A2 A1 A0 1 B2 B1 B0 Tabela 4 3bit 21 MUX 3bit 21 MUX A B out sel 3bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 220 Exemplo 5 Multiplexador 31 de dois bits com análise de uns Figura 6 2bit 31 MUX com análise de uns Exemplo 6 Multiplexador 31 de dois bits com análise de zeros Figura 7 2bit 31 MUX com análise de zeros Sel1 C0 C1 B1 B0 A1 A0 Sel0 Out1 Out0 Sel1 C0 C1 B1 B0 A1 A0 Sel0 Out1 Out0 Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Sel1 Sel0 Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 0 C1 C0 1 1 0 0 Tabela 5 2bit 31 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Sel1 Sel0 Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 0 C1 C0 1 1 1 1 Tabela 6 2bit 31 MUX 2bit 31 MUX A B out sel1 C sel0 2bit 31 MUX A B out sel1 C sel0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 221 Exemplo 7 Multiplexador 31 de três bits com análise de uns Figura 8 3bit 31 MUX com análise de uns Exemplo 8 Multiplexador 31 de três bits com análise de zeros Figura 9 3bit 31 MUX com análise de zeros Sel1 Sel0 321 4 OUT 321 4 0 C 321 4 0 B 321 4 0 A Sel1 Sel0 321 4 OUT 321 4 0 C 321 4 0 B 321 4 0 A Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0 Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 0 0 0 Tabela 7 3bit 21 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0 Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 1 1 1 Tabela 8 3bit 21 MUX 3bit 31 MUX A B out sel1 C sel0 3bit 31 MUX A B out sel1 C sel0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 222 Exemplo 9 Multiplexador 21 de dois bits com chip enable e output enable Versão 1 Figura 10 3bit 21 MUX com chip enable e output enable Exemplo 10 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 1 Figura 10 2bit 21 MUX com análise de zeros Figura 11 3bit 21 MUX com chip enable e output enable Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 9 2bit 21 MUX Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 10 2bit 21 MUX OE CE B1 B0 A1 A0 Sel Out0 Out1 74LS126 OE CE B1 B0 A1 A0 Sel 74LS125 Out0 Out1 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 223 Exemplo 11 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 2 Figura 12 2bit 21 MUX com análise de uns Exemplo 12 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 2 Figura 13 2bit 21 MUX com análise de zeros CE OE B1 B0 A1 A0 Sel Out0 Out1 74LS126 CE OE B1 B0 A1 A0 Sel 74LS125 Out0 Out1 Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 11 2bit 21 MUX Out0 A0CESelB0CESel Out1 A1CESelB1CESel CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 12 2bit 21 MUX 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 224 Exemplo 13 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 3 Figura 14 2bit 21 MUX com análise de uns Exemplo 14 Multiplexador 21 de dois bits com chip enable e output ena ble Versão 3 Figura 15 2bit 21 MUX com análise de zeros OE CE B1 B0 A1 A0 Sel Out1 Out0 OE CE B1 B0 A1 A0 Sel Out1 Out0 74LS126 Out0 A0SelB0SelCE Out1 A1SelB1SelCE CE Sel Out1 Out0 0 0 A1 A0 0 1 B1 B0 1 X 1 1 Tabela 13 2bit 21 MUX Out0 A0SelB0SelCE Out1 A1SelB1SelCE CE Sel Out1 Out0 0 X 0 0 1 0 A1 A0 1 1 B1 B0 Tabela 14 2bit 21 MUX 2bit 21 MUX A sel B out CE OE 2bit 21 MUX A sel B out CE OE Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 225 Exemplo 15 Multiplexador 21 de dois bits com NAND Figura 16 2bit 21 MUX com análise de uns Exemplo 16 Multiplexador 21 de dois bits com NOR Figura 17 2bit 21 MUX com análise de zeros B1 B0 A1 A0 Sel Out0 Out1 B1 B0 A1 A0 Sel Out0 Out1 Out0 A0SelB0Sel Out1 A1SelB1Sel Sel Out1 Out0 0 A1 A0 1 B1 B0 Tabela 15 2bit 21 MUX Out0 A0SelB0Sel Out1 A1SelB1Sel Sel Out1 Out0 0 A1 A0 1 B1 B0 Tabela 16 2bit 21 MUX 2bit 21 MUX A B out sel 2bit 21 MUX A B out sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 226 Exemplo 17 Multiplexador 21 de dois bits Figura 18 3bit 41 MUX com análise de uns Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 D2 D1 D0 Tabela 17 3bit 41 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0D0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0D1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0D2Sel1Sel0 D0 D1 D2 C2 C1 C0 B0 B1 B2 Sel1 A2 A1 A0 Sel0 Out2 Out1 Out0 3bit 41 MUX A B out sel1 C sel0 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 227 Exemplo 17 Multiplexador 21 de dois bits Figura 19 3bit 41 MUX com análise de zeros Sel1 Sel0 Out2 Out1 Out0 0 0 A2 A1 A0 0 1 B2 B1 B0 1 0 C2 C1 C0 1 1 D2 D1 D0 Tabela 18 3bit 41 MUX Out0 A0Sel1Sel0B0Sel1Sel0C0Sel1Sel0D0Sel1Sel0 Out1 A1Sel1Sel0B1Sel1Sel0C1Sel1Sel0D1Sel1Sel0 Out2 A2Sel1Sel0B2Sel1Sel0C2Sel1Sel0D2Sel1Sel0 D0 D1 D2 C2 C1 C0 B0 B1 B2 In1 A2 A1 A0 In0 Out2 Out1 Out0 3bit 41 MUX A B out sel1 C sel0 D Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 228 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 229 Capítulo 305 Demultiplexadores O demultiplexador é o dispositivo que recebe uma informação e escolhe uma dentre várias saídas para receber a entrada A demultiplexação pode ser analógica ou digital Um circuito pura mente analógico pode efetuar a demultiplexação Por exemplo alguns modelos dos antigos equi pamentos de som residencial existiam várias opções para a saída do áudio como por exemplo as caixas de som o fone de ouvidos ou uma saída para caixas auxiliares Por meio de chaves mecânicas uma dos receptores de sinal é escolhido para receber o sinal de áudio Uma demultiplexação analógica também pode ser efetuada por meio de relés Desta forma é possível obter isolação elétrica total entre o circuito de acionamento e os circuitos comandados pelos relés O circuito de acionamento seleciona um relé e energiza a sua bobina Somente um relé é acionado por vês As chaves dos relés estão todas ligadas ao mesmo nó de entrada Uma demultiplexação digital consiste de um circuito que recebe uma palavra binária e esco lhe uma das saídas para receber essa palavra Os receptores de saída precisam ter todas o mesmo tamanho em bits A escolha é feita por meio da palavra de seleção Todo demultiplexador digital possui um decodificador na entrada Este decodificador é res ponsável pela seleção da palavra de saída a partir da palavra de seleção Este decodificador pode ser ativo em nível alto ou baixo No caso de nível alto as saídas não selecionadas recebem o valor zero em todos os seus bits No caso de nível baixo as saídas não selecionadas recebem o valor um em todos os seus bits A palavra de entrada de um multiplexador pode ser ligada a um barramento de dados data bus conforme a arquitetura de um microprocessadormicrocontrolador Por meio do multiplexa dor o barramento de dados é capaz de fazer a leitura de algum dispositivo anexado ao sistema Figura 1 Esquema de escrita dos periféricos em um sistema processado sel periférico 1 8bit DEMUX 8bit data bus periférico 2 periférico 3 periférico n Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 230 Exemplo 1 Demultiplexador 12 de dois bits com análise de uns A0 In0Sel B0 In0Sel A1 In1Sel B1 In1Sel Sel A1 A0 B1 B0 0 In1 In0 0 0 1 0 0 In1 In0 Tabela 1 2bit 21 DEMUX Figura 2 2bit 21 DEMUX com análise de uns Exemplo 2 Demultiplexador 12 de dois bits com análise de zeros A0 In0Sel B0 In0Sel A1 In1Sel B1 In1Sel Sel A1 A0 B1 B0 0 In1 In0 1 1 1 1 1 In1 In0 Tabela 2 2bit 21 DEMUX Figura 3 2bit 21 DEMUX com análise de zeros 2bit 12 DEMUX in A B sel In1 In0 Sel B1 B0 A1 A0 In1 In0 Sel B1 B0 A1 A0 2bit 12 DEMUX in A B sel Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 231 Exemplo 3 Demultiplexador 14 de três bits com análise de uns Figura 4 3bit 41 DEMUX com análise de uns Exemplo 4 Demultiplexador 14 de três bits com análise de zeros Figura 5 3bit 41 DEMUX com análise de zeros Sel1 Sel0 321 4 0 In 321 4 D 321 4 C 321 4 B 321 4 A Sel1 Sel0 321 4 0 In 321 4 D 321 4 C 321 4 B 321 4 A A0 In0Sel1Sel0 A1 In1Sel1Sel0 A2 In2Sel1Sel0 B0 In0Sel1 Sel0 B1 In1Sel1 Sel0 B2 In2Sel1 Sel0 C0 In0 Sel1Sel0 C1 In1 Sel1Sel0 C2 In2 Sel1Sel0 D0 In0 Sel1 Sel0 D1 In1 Sel1 Sel0 D2 In2 Sel1 Sel0 Sel A B C D 00 In2 In1 In0 000 000 000 01 000 In2 In1 In0 000 000 10 000 000 In2 In1 In0 000 11 000 000 000 In2 In1 In0 Tabela 3 3bit 41 DEMUX A0 In0 Sel1 Sel0 A1 In1 Sel1 Sel0 A2 In2 Sel1 Sel0 B0 In0 Sel1Sel0 B1 In1 Sel1Sel0 B2 In2 Sel1Sel0 C0 In0Sel1 Sel0 C1 In1Sel1 Sel0 C2 In2Sel1 Sel0 D0 In0Sel1Sel0 D1 In1Sel1Sel0 D2 In2Sel1Sel0 Sel A B C D 00 In2 In1 In0 111 111 111 01 111 In2 In1 In0 111 111 10 111 111 In2 In1 In0 111 11 111 111 111 In2 In1 In0 Tabela 3 3bit 41 DEMUX Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 232 Exemplo 5 Demultiplexador 13 de quatro bits com análise de uns Figura 6 4bit 31 DEMUX com análise de uns Exemplo 6 Demultiplexador 13 de quatro bits com análise de zeros Figura 7 4bit 31 DEMUX com análise de uns Sel1 Sel0 321 4 0 In 321 4 A 321 4 B 321 4 C 74LS11 Sel1 Sel0 321 4 A 321 4 B 321 4 C 4075 321 4 0 In A0 In0Sel1Sel0 A1 In1Sel1Sel0 A2 In2Sel1Sel0 A3 In3Sel1Sel0 B0 In0Sel1 Sel0 B1 In1Sel1 Sel0 B2 In2Sel1 Sel0 B3 In3Sel1 Sel0 C0 In0 Sel1Sel0 C1 In1 Sel1Sel0 C2 In2 Sel1Sel0 C3 In3 Sel1Sel0 A0 In0 Sel1 Sel0 A1 In1 Sel1 Sel0 A2 In2 Sel1 Sel0 A3 In3 Sel1 Sel0 B0 In0 Sel1Sel0 B1 In1 Sel1Sel0 B2 In2 Sel1Sel0 B3 In3 Sel1Sel0 C0 In0Sel1 Sel0 C1 In1Sel1 Sel0 C2 In2Sel1 Sel0 C3 In3Sel1 Sel0 Sel A B C D 00 In3 In2 In1 In0 000 000 000 01 000 In3 In2 In1 In0 000 000 10 000 000 In3 In2 In1 In0 000 11 000 000 000 In3 In2 In1 In0 Tabela 5 4bit 31 DEMUX Sel A B C D 00 In3 In2 In1 In0 111 111 111 01 111 In3 In2 In1 In0 111 111 10 111 111 In3 In2 In1 In0 111 11 111 111 111 In3 In2 In1 In0 Tabela 6 4bit 31 DEMUX Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 233 Parte 06 Comutadores e roteadores Antes de estudar o funcionamento dos roteadores e dos comutadores é necessário enten der muito bem o funcionamento dos multiplexadores e dos demultiplexadores apresentados nos dois capítulos anteriores Comutadores são dispositivos obtidos a partir da ligação em série entre um multiplexador e um demultiplexador A ordem desta ligação define o tipo de dispositivo obtido Dispositivo Entrada Saída Roteador Multiplexador Demultiplexador Comutador Demultiplexador Multiplexador Tabela 1 Definição dos dispositivos Figura 1 Esquema de um roteador Figura 2 Esquema de um comutador Se um dos blocos faz uso da análise de zeros o outro bloco também precisa fazer análise de zeros Se um dos blocos faz uso da análise de uns o outro bloco também precisa fazer análise de uns Embora seja algebricamente possível não é usual juntar um bloco de análise de zeros com um bloco de análise de uns Como o próprio nome diz roteador é o dispositivo que escolhe uma rota Uma rota é deter minada pelo seu ponto de partida e pelo seu ponto de chegada Roteador é a ligação de um multi plexador e um demultiplexador nesta ordem Existem várias entradas de dados e várias saídas de dados Alguns bits de seleção determinam a escolha da palavra de entrada Outros bits de seleção determinam a escolha da saída para onde a palavra é enviada Somente uma rota pode ser escolhida por vez Segundo esta definição o roteador possui apenas um canal de comunicação A sensação da conexão de vários canais é obtida por meio da alternância temporal entre várias conexões dife rentes Comutador é a escolha do canal de comunicação entre uma fonte de dados e um receptor de dados Existem vários caminhos que podem ser usados nesta comunicação e os bits de seleção 8bit data bus selin periférico 1 8bit MUX periférico 3 periférico n periférico 2 selout periférico 1 8bit DEMUX periférico 2 periférico 3 periférico n selin canal 1 8bit DEMUX 8bit data bus 1 canal 2 canal 3 canal n 8bit MUX selout 8bit data bus 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 234 servem para escolher o caminho No comutador um demultiplexador aciona um multiplexador nesta ordem Há duas situações práticas nas quais um circuito comutador pode ser usado 1 Quando a comunicação entre dois pontos geográficos é feita por meio de dois tipos de linha de transmissão transmission line TL Uma delas é a principal e a outra é a de emergência Estas duas TLs podem usar o mesmo meio físico cabo do tipo par trançado por exemplo ou po dem usar meios distintos para dar maior capacidade para lidar com impedimentos por exemplo uma TL pode ser cabeada e a outra TL pode ser via rádio 2 Quando uma TL redundante existe para manter a comunicação em funcionamento en quanto a TL principal está passando por um processo de vistoria manutenção programada ou pro cesso de expansãoatualização Figura 3 Comutador de quatro caminhos Um roteador de dois ou mais canais permite que várias conexões sejam efetuadas ao mesmo tempo Este circuito é muito mais sofisticado e não pode ser obtido por meio do simples acopla mento de um MUX e um DEMUX O gerenciamento do uso dos canais requer um algoritmo com plexo Dispositivos modernos fazem uso de microprocessadores ou processadores digitais de sinais executando programas baseados em inteligência artificial para a otimização do uso dos canais Este assunto é abordado em cursos específicos sobre redes de computadores Figura 4 Esquema de um roteador de dois canais Origem Destino Caminho 1 Caminho 2 Caminho 3 Caminho 4 periférico 1 periférico 3 periférico 2 periférico 1 periférico 2 periférico 3 periférico n periférico n Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 235 Exemplo 1 Roteador 32 de dois bits com análise de uns Figura 2 Diagrama do roteador 32 Sel Entrada Saída 000 A D 001 B D 010 C D 011 0 D 100 A E 101 B E 110 C E 111 0 E Tabela 2 Definição do roteador 32 Sel D E 000 A 00 001 B 00 010 C 00 011 00 00 100 00 A 101 00 B 110 00 C 111 00 00 Tabela 3 Definição do roteador 32 Figura 3 Roteador 2bit 32 com análise de uns Sel2 Sel0 A0 A1 B0 B1 C1 C0 Sel1 E1 E0 D1 D0 2bit 32 ROT A B D C E S1 S0 S2 canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 236 Exemplo 2 Roteador 32 de dois bits com análise de zeros Figura 4 Diagrama do roteador 32 Sel Entrada Saída 000 A D 001 B D 010 C D 011 1 D 100 A E 101 B E 110 C E 111 1 E Tabela 4 Definição do roteador 32 Sel D E 000 A 11 001 B 11 010 C 11 011 11 11 100 11 A 101 11 B 110 11 C 111 11 11 Tabela 5 Definição do roteador 32 Figura 5 Roteador 2bit 32 com análise de zeros Sel0 A0 A1 B0 B1 C1 C0 Sel1 Sel2 D0 E0 D1 E1 2bit 32 ROT A B D C E S1 S0 S2 canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 237 Exemplo 3 Roteador 43 de quatro bits com análise de uns Figura 6 Diagrama do roteador 32 Sel Entrada Saída 0000 A E 0001 B E 0010 C E 0011 D E 0100 A F 0101 B F 0110 C F 0111 D F 1000 A G 1001 B G 1010 C G 1011 D G 1100 A 1101 B 1110 C 1111 D Tabela 6 Definição do roteador 32 Sel E F G 0000 A 0 0 0001 B 0 0 0010 C 0 0 0011 D 0 0 0100 0 A 0 0101 0 B 0 0110 0 C 0 0111 0 D 0 1000 0 0 A 1001 0 0 B 1010 0 0 C 1011 0 0 D 1100 0 0 0 1101 0 0 0 1110 0 0 0 1111 0 0 0 Tabela 7 Definição do roteador 32 4bit 43 ROT A E B F C D S2 S1 S0 S3 G Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 238 Figura 7 Roteador 4bit 43 com análise de uns Sel3 Sel2 Sel0 Sel1 321 4 G 321 4 F 321 4 E 321 4 0 D 321 4 0 C 321 4 0 B 321 4 0 A canal Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 239 Exemplo 4 Comutador de dois bits e dois canais com análise de uns SelIn SelOut Out1 Out0 0 0 In1 In0 0 1 0 0 1 0 0 0 1 1 In1 In0 Tabela 8 Definição do comutador de dois bits e duas vias com análise de uns Figura 8 Comutador 2bit de dois canais com análise de uns In0 In1 SelIn SelOut Out1 Out0 canal 1 canal 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 240 Exemplo 5 Comutador de dois bits e dois canais com análise de zeros SelIn SelOut Out1 Out0 0 0 In1 In0 0 1 1 1 1 0 1 1 1 1 In1 In0 Tabela 9 Definição do comutador de dois bits e duas vias com análise de zeros Figura 9 Comutador 2bit de dois canais com análise de zeros In0 In1 SelIn SelOut Out1 Out0 canal 1 canal 2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 241 Exemplo 6 Comutador de três canais SelIn SelOut Out1 Out0 Canal 00 00 In1 In0 1 00 01 0 0 00 10 0 0 00 11 0 0 01 00 0 0 01 01 In1 In0 2 01 10 0 0 01 11 0 0 10 00 0 0 10 01 0 0 10 10 In1 In0 3 10 11 0 0 11 00 0 0 11 01 0 0 11 10 0 0 11 11 0 0 Tabela 10 Definição do comutador de três vias com análise de uns Figura 10 Comutador de três canais SelIn0 SelIn1 SelOut0 SelOut1 In0 In1 Out1 Out0 canal 1 canal 2 canal 3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 242 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 243 Capítulo 307 Conversores de código No capítulo anterior foi ensinado que um multiplexador e um demultiplexador podem ser ligados em série formando duas novas estruturas a saber um comutador ou um roteador Igual mente um codificador pode ser ligado em série com um decodificador formando também uma nova estrutura os conversores de código Esses conversores foram apresentados na unidade ante rior no assunto sobre a álgebra booleana Se um dos blocos faz uso da análise de zeros o outro bloco também precisa fazer análise de zeros Se um dos blocos faz uso da análise de uns o outro bloco também precisa fazer análise de uns Embora seja algebricamente possível não é usual juntar um bloco de análise de zeros com um bloco de análise de uns Pelo menos até o momento da elaboração deste texto não foi encontrada nenhuma aplica ção prática para a ligação ENCDEC motivo porque esta opção não é considerada no decorrer deste estudo Na ligação DECENC a palavra codificada de entrada é exatamente igual à palavra codificada de saída não existe função de transformação não existe aplicação Para que a ligação DECENC tenha alguma serventia é preciso que uma das partes DEC ou ENC sofra alguma alteração Pelo menos até o momento da elaboração deste texto não foi encon trada nenhuma aplicação prática para a alteração no DEC motivo porque esta opção não é consi derada no decorrer deste estudo Este capítulo aborda a alteração no ENC Esta alteração é chamada de personalização ou pelo anglicismo customização Figura 1 Ligação DECENC Figura 2 Ligação ENCDEC Figura 3 Ligação DECENC custom Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso 24 DEC A B 42 ENC A B 24 DEC out0 out1 out2 out3 42 ENC in0 in1 in2 in3 24 DEC A B 4n ENC custom A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 244 haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados Figura 4 Ligação DECENC com análise de zeros Os exemplos apresentados neste capítulo são exatamente os mesmos exemplos apresenta dos no capítulo sobre conversores de código na unidade anterior sobre álgebra booleana Caso haja alguma dificuldade em entender os procedimentos usados nestes projetos é recomendado o acesso àquele capítulo onde uma explicação detalhada é apresentada O uso de um decodificador na entrada do circuito indica que são usados mintermos ou maxtermos e isso aponta para a aplica ção da forma canônica Sendo assim esses circuitos conversores de código estão todos na forma canônica Um circuito construído a partir da minimização algébrica não faz uso de um decodificador na entrada de dados B A A B A A B B A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 245 Exemplos 1 e 2 Input Exemplo 1 Exemplo 2 0 2 5 1 3 2 2 0 6 3 1 4 Tabela 1 Definição dos conversores Figura 5 Exemplo 1 com análise de uns e de zeros respectivamente Figura 6 Exemplo 2 com análise de uns e de zeros respectivamente Exemplos 3 e 4 Input Exemplo 3 Exemplo 4 0 2 6 1 2 4 2 0 2 3 1 6 4 0 6 5 2 1 6 1 7 7 1 4 Tabela 3 Definição do conversor A B 0 1 2 3 A B 34 DEC B A A B 34 DEC 0 1 2 3 0 1 2 3 A B 34 DEC A B C A B 34 DEC 0 1 2 3 V C B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 246 Figura 7 Exemplo 3 com análise de uns e de zeros respectivamente Figura 8 Exemplo 4 com análise de uns Out0 Out1 A B C 38 DEC 0 1 2 3 5 6 7 8 Out1 Out0 V 38 DEC A B C 0 1 2 3 5 6 7 8 A B C 38 DEC 0 1 2 3 5 6 7 8 Out2 Out1 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 247 Figura 9 Exemplo 4 com análise de zeros V Out0 Out1 Out2 38 DEC A B C Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 248 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 249 Capítulo 308 Decodificadores personalizados No capítulo anterior foram apresentadas as associações entre decodificadores e codificado res nesta ordem onde somente o codificador é personalizado Na oportunidade foi dito que não foi encontrada aplicação prática para uma personalização do decodificador No capítulo presente é apresentado o conceito do decodificador personalizado no qual são subtraídos os termos não uti lizados Isso não significa uma personalização booleana haja vista que as expressões algébricas per manecem todas inalteradas Esta é uma personalização aplicável unicamente ao circuito lógico e por isso não pode ser considerada uma minimização algébrica ou um circuito algebricamente dife rente Uma verdadeira personalização no decodificador seria uma transformação algébrica em favor de algum processo de minimização Mesmo assim diremos aqui que o decodificador incompleto seria um circuito personalizado Esta extrapolação simplifica a abordagem pedagógica Estatisticamente quanto maior é a quantidade de bits da palavra de saída menor é a pro babilidade de que algum termo do decodificador possa ser removido Figura 1 Ligação DECENC 24 DEC custom A B 4n ENC custom A B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 250 Exemplo 1 Input Output In1 In0 Out1 Out0 0 2 0 0 1 0 1 3 0 1 1 1 2 0 1 0 0 0 3 1 1 1 0 1 Tabela 1 Definição do conversor In1 In0 Out1 Out0 In1 In0 Out1 Out0 0 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 1 0 1 1 1 0 1 Tabela 2 Identificação dos termos não usados Circuito 1 Exemplo 1 com análise de uns e de zeros respectivamente Exemplo 2 Input Exemplo 2 Exemplo 3 0 2 6 1 2 4 2 0 2 3 1 6 4 0 6 5 2 1 6 1 7 7 1 4 Tabela 3 Definição dos conversores Out0 Out1 A B Out1 Out0 B A Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 251 Circuito 2 Exemplo 2 com análise de uns Circuito 3 Exemplo 3 com análise de zeros Out1 Out0 A C B Out0 Out1 Out2 A C B Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 252 Exemplo 4 Input Output 0 7 1 7 2 2 3 0 4 7 5 4 6 4 7 7 Tabela 4 Definição do conversor C B A Out2 Out1 Out0 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 0 0 1 1 0 0 0 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 Tabela 5 Definição das funções binárias Out1 max23 Out1 max356 Out0 max2356 Out2 CBACBA Out1 CBACBACBA Out0 CBACBACBACBA Circuito 4 Ligação DECENC B C A V Out1 Out2 Out0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 253 Capítulo 309 Circuitos aritméticos Circuitos lógicos aritméticos são aqueles que se propõe a realizar alguma operação aritmé tica Os circuitos aritméticos são encontrados nas ULAs ULA Unidade Lógica e Aritmética ALU Arithmetic Logic Unit Realiza operações lógicas e aritméticas Está presente em todos Cs Ps e DSPs A quantidade de funções varia conforme o modelo O tamanho das palavras da ULA é a informação mais importante sobre o chip O tamanho das palavras da ULA é o do barramento de dados data bus A ULA trabalha com apenas duas palavras As principais operações aritméticas são Adição Subtração Multiplicação Divisão Potenciação Radiciação Logaritimação Os circuitos aritméticos podem ser construídos na forma canônica ou na forma minimizada Quando são implementadas muitas funções aritméticas em um mesmo circuto a forma canônica é mais interessante Quando são implementadas poucas funções a forma minimizada é mais indi cada Os circuitos a seguir foram todos eles implementados na forma minimizada Carry in Parcela 1 Parcela 2 Carry out Sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Tabela 1 Adição CYOUT max 0124 CYOUT min 3567 Sum max 0356 Sum min 1247 A minimização da função sum pode ser feita de maneira intuitiva A primeira metade con siste da função XORparcela1 parcela2 A segunda metade é o inverso da primeira metade isso corresponde a uma inversão acionada pelo bit CYIN obtido pela função XORSUM CYIN Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 254 Circuito 1 Somador de um bit Borrow in Minuendo Subtraendo Borrow out Sub 0 0 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 Tabela 2 Subtração BROUT max 0236 BROUT min 1457 Sub max 0356 Sub min 1247 Circuito 2 Subtrador de um bit P2 P1 CYIN 321 4 SUM CYOUT S SU MI BROUT sinal complemento de dois 321 4 SUBTRACTION BRIN S Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 255 Circuito 3 Somador de dois bit Circuito 4 Somador de quatro bits P10 P21P20 P11 321 4 parcela 1 321 4 parcela 2 S1 CYOUT1 321 4 SUM CYOUT0 S0 CYIN0 CYIN1 CYIN2 CYIN3 321 4 SUM 321 4 0 entrada 2 321 4 0 entrada 1 321 4 OVERFLOW SUM0 SUM1 SUM2 SUM3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 256 Circuito 5 Subtrador de quatro bits Circuito 6 SomadorSubtrador de quatro bits ADDSUB 321 4 321 4 0 entrada 2 321 4 0 entrada 1 321 4 BRIN3 BRIN2 BRIN1 BRIN0 ADDSUB 321 4 321 4 0 entrada 2 321 4 0 entrada 1 321 4 BRIN3 BRIN2 BRIN1 BRIN0 SUB0 SUB1 SUB2 SUB3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 257 Circuito 7 Multiplicador por dois de quatro bits 1X 2X 321 4 overflow 321 4 321 4 0 entrada 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 258 Circuito 8 Divisor por dois de quatro bits Circuito 9 Multiplicador por três de quatro bits 1 2 321 4 overflow 321 4 321 4 0 entrada 1 CYIN4 SUM4 CYIN0 CYIN1 CYIN2 CYIN3 321 4 321 4 0 321 4 SUM0 SUM1 SUM2 SUM3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 259 Circuito 10 ULA de três funções de quatro bits B2 B1 B0 A1 A0 A2 S0 S1 321 4 A 321 4 B 1 2 0 0 2 1 1 2 0 2 1 0 321 4 Output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 260 Circuito 11 ULA de quatro funções de quatro bits B2 B1 B0 A1 A0 A2 S0 S1 1 2 0 321 4 A 321 4 B 1 2 0 0 2 1 1 2 0 321 4 Output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 261 Unidade 4 Lógica seqüencial Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 262 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 263 Capítulo 401 Introdução Um historiador experiente durante suas análises a respeito de algum fato de natureza his tórica sabe que a fim de entender corretamente os acontecimentos precisa não somente estudar os fatos contemporâneos ao período de cobertura de sua análise mas também os fatos que ante cederam tal acontecimento O desfecho dos fatos históricos depende não apenas dos fatores pre sentes em tais acontecimentos mas também dos fatos anteriores A programação de robôs e as linguagens CNC Comando Numérico Computacional pos suem instruções que podem ser absolutas ou relativas As instruções absolutas são aquelas que determinam o resultado independentemente da situação atual Por exemplo o comando pode levar algum atuador para a posição xyz 352 através do mnemônico GOTO Outro exemplo seria o comando que levaria um forno a uma temperatura específica As instruções relativas são aquelas que usam como ponto de partida a situação presente Por exemplo o comando pode levar o atu ador a avançar 352 nos três eixos cartesianos respectivamente A posição final somente pode ser determinada com base na informação a respeito da posição inicial Um outro exemplo seria o comando que levaria um forno a subir sua temperatura em 5 graus celsius A temperatura final somente pode ser determinada se o valor da temperatura inicial é conhecido Instrução absoluta Instrução relativa Vá para a posição x5m Avance 5m no eixo X Mude a temperatura para 30C Aumente a temperatura em 5C Você precisa pesar 80Kg Você precisa emagrecer 5Kg O preço sofreu um acréscimo de R1000 O preço sofreu um aumento de 10 O áudio sofreu um acréscimo de 10W O áudio sofreu um acréscimo de 10db Tabela 1 Exemplos de instruções absolutas e relativas O estudo dos circuitos digitais pode ser dividido em dois grandes grupos Lógica combinacional Lógica seqüencial Figura 1 Os dois tipos de lógica Embora a lógica sequencial seja um subconjunto da lógica combinacional chamamos de lógica combinacional a lógica a lógica nãosequencial A lógica combinacional foi abordada nos capítulos anteriores A palavra combinação versa a respeito do estado das variáveis de entrada Esta combinação define um maxtermo em análise de zeros ou um mintermo em análise de uns Na lógica combinacional o valor da variável de saída ou das variáveis de saída depende unica mente das variáveis de entrada Em outras palavras a informação a respeito dos valores das variá veis de entrada é suficiente na determinação do valor da variável de saída ou das variáveis de sa ída Um circuito combinacional com vários bits de saída possui a propriedade de que todas essas variáveis de saída são dependentes unicamente das variáveis de entrada Nenhuma variável de sa ída é dependente do valor de outra variável de saída combinacional seqüencial Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 264 Transição é a relação entre o valor de uma grandeza em dois instantes consecutivos Em se tratando de um bit binário as transições possíveis são 00 01 10 11 No contexto dos circuitos analógicos existem dois conceitos sobre realimentação Realimentação positiva Realimentação negativa Realimentação consiste do processo de amostragem do valor da variável de saída e do uso do valor desta amostra junto com o valor da variável de saída A realimentação negativa possui a propriedade de levar o sistema para a estabilidade Na realimentação negativa o valor de realimen tação é subtraído no valor do input A realimentação negativa não é objeto de estudo no contexto da lógica seqüencial A realimentação positiva possui a propriedade de retirar o sistema da estabilidade para a instabilidade A instabilidade pode levar a duas situações diferentes Oscilação e saturação A osci lação é o resultado de um sistema subamortecido A saturação é o resultado da obtenção de valores demasiadamente elevados para alguma grandeza física implicando no surgimento de ou tros fenômenos físicos que interrompam o processo de crescimento da primeira grandeza Um sis tema instável a caminho da saturação apresenta aquilo que chamamos de instabilidade temporá ria Um sistema instável subamortecido apresenta aquilo que chamamos de instabilidade cons tante Este sistema também é chamado de astável No que diz respeito a circuitos lógicos somente os estados estáveis são relevantes Na tran sição entre um estado estável e outro estado estável há infinitos estados instáveis que formam o transitório A quantidade de estados estáveis determina o tipo de circuito No escopo da lógica booleana seqüencial há apenas circuitos astáveis monoestáveis e bi estáveis No contexto dos circuitos lógicos a realimentação é obtida por meio do retorno do valor do bit de saída ao input do circuito Tipo Estados estáveis Astável 0 Monoestável 1 Biestável 2 Triestável 3 Poliestável n Tabela 1 Tipos de circuitos lógicos sequenciais Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 265 Figura 2 Realimentação unitária circuito monoestável Fazendo uso da propriedade algébrica do elemento nulo é possível afirmar que na reali mentação unitária o valor da variável de saída é dada por este elemento um valor constante que não depende do valor da variável input Este circuito não possui utilidade prática Um circuito mo noestável pode oferecer o elemento neutro ou o elemento nulo No caso da figura 2 o circuito oferece o elemento nulo Figura 3 Realimentação complementar circuito astável Na realimentação complementar quando a entrada recebe o elemento nulo a saída tam bém recebe esse elemento e o circuito permanece nesta situação Quando o input recebe o ele mento neutro a porta NOT oferece o elemento nulo a porta oferece o elemento nulo e após sofrer a função NOT transformase em elemento neutro O circuito entra em oscilação Neste caso o cir cuito é chamado de astável Esta oscilação possui uma elevadíssima frequência que não possui empregabilidade prática pois o seu valor em hertz é extremamente sensível à temperatura ambi ente Usando uma porta NAND ou uma porta NOR o estado estável fornece um valor invertido na saída Elemento no input Situação Nulo Estável Neutro Astável Tabela 2 Comportamento do circuito 2 Figura 4 Realimentação complementar com portas NAND e NOR Alguns modelos de portas lógicas como por exemplo o 74LS132 e o 4093 possuem o efeito de histerese A histerese é o resultado de uma realimentação positiva que resulta em um efeito de filtro passabaixas O circuito eletrônico gerador desta histerese é chamado de disparador Sch mitt Em outras palavras esta histerese reduz a frequência da oscilação no circuito acima tor nandoa menos sensível a efeitos térmicos Figura 5 Oscilador com porta lógica Schmitt Trigger output input input output input output input output input output input output input 4093 output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 266 Na figura 6 é apresentada uma tentativa de realimentação com porta lógica Esta tentativa não funciona porque na primeira vez em que a saída obtém o elemento nulo nunca mais ela recebe o elemento neutro Figura 6 Tentativa de realimentação com porta lógica Na figura 7 é apresentada uma modificação no circuito da figura 6 A porta lógica da reali mentação é complementada Quando o sinal control recebe o elemento nulo a realimentação ofe rece o elemento neutro o circuito se comporta como uma porta YES a saída recebe o valor do input Quando o control recebe o elemento neutro então a análise precisa discernir entre os dois valores possíveis no input Se o control recebe o elemento neutro e o input recebe o elemento nulo então a porta lógica de cima obriga a saída a receber o elemento nulo Este elemento nulo injetado na porta lógica de baixo obriga a realimentação a assumir o elemento neutro O valor da variável de saída então se gue o valor da variável input O circuito é monoestável Se o control recebe o elemento neutro e o input também recebe o elemento neutro então temos um problema de valor de contorno É preciso supor qual é o valor inicial da variável de saída Se este valor é o elemento neutro então a porta de baixo fornece o elemento nulo a porta de cima também fornece o elemento nulo e a saída recebe o elemento nulo a saída sofre uma transição no neutro para o nulo Se este valor é o elemento nulo então a porta de baixo fornece o elemento neutro a porta de cima também fornece o elemento neutro e a saída recebe o elemento neutro a saída sofre uma transição no nulo para o neutro Estas duas transições compõe a oscilação O circuito é astável Figura 7 Melhoramento do circuito da figura 4 Elemento no control Elemento no input Situação Nulo X YES Neutro Nulo Monoestável Neutro Neutro Astável Tabela 3 Comportamento do circuito 5 Figura 6 Complementação da porta lógica superior control input output control input output input control output input control output control input output control input output Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 267 Na figura 6 é apresentada a complementação da porta lógica superior A porta lógica da realimentação é complementada É preciso analisar todas as situações possíveis inclusive os pro blemas de valores de contorno Quando o control recebe o elemento nulo a realimentação oferece o elemento neutro o circuito se comporta como uma porta NOT a saída recebe o valor do input Quando o input recebe o elemento nulo a porta de cima leva a saída ao elemento neutro Elemento nulo Situação No control NOT No input E neutro Tabela 4 Comportamento do circuito 5 Se o input recebe o elemento nulo e o control recebe o elemento neutro então a porta de cima leva a saída ao elemento neutro A porta de baixo está com as suas duas entradas com o ele mento neutro fornecendo o elemento nulo à porta de cima A porta de cima está com as duas entradas com o elemento nulo Se o input recebe o elemento neutro e o control recebe o elemento nulo então a porta de baixo leva a realimentação ao elemento neutro A porta de cima está com as suas duas entradas com o elemento neutro fornecendo o elemento nulo à saída A porta de baixo está com as duas entradas com o elemento nulo Figura 7 Comportamento do circuito NAND Figura 8 Comportamento do circuito NOR Quando o input e o control recebem ambos o elemento neutro surge um problema de valor de contorno É preciso supor qual é o valor inicial da saída Figura 9 Comportamento do circuito NAND 0 0 1 1 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 0 1 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 268 Figura 10 Comportamento do circuito NOR As figuras 9 e 10 mostram que se o input e o control recebem ambos o elemento neutro então a saída não se altera Se o valor inicial da saída é o elemento neutro ela continua com este valor Se o valor inicial da saída é o elemento nulo ela também continua com este valor Esta é uma situação onde o bit de saída não depende apenas do valor dos bits de entrada mas também do seu valor anterior A esta propriedade dáse o nome de efeito memória Este efeito enquadra este circuito na categoria de circuito lógico seqüencial Figura 11 Redefinição das variáveis de entrada A preservação do valor da variável de saída por meio do efeito memória é chamada de comando hold mantém em português O comando hold é efetuado injetandose o elemento neutro nas duas entradas O verbo manter pode ser interpretado como não fazer nada Em ou tras palavras se a ação das duas entradas tem algum significado então o comando hold consiste em não executar as ações definidas pelos significados das duas entradas Na porta lógica NAND o elemento neutro é o valor lógico um Isto significa que a injeção do valor lógico um em uma das entradas implica em não executar a ação que dá significado a esta entrada A aplicação do valor lógico um em ambas entradas implica em não fazer nada Em outras palavras as entradas são ativas em nível baixo Na porta lógica NOR o elemento neutro é o valor lógico zero Isto significa que a injeção do valor lógico zero em uma das entradas implica em não executar a ação que dá significado a esta entrada A aplicação do valor lógico zero em ambas entradas implica em não fazer nada Em outras palavras as entradas são ativas em nível alto in 2 in 1 out in 2 in 1 out 0 0 1 0 0 1 0 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 269 Capítulo 402 Flip Flop RS No capítulo anterior foi apresentado o efeito da realimentação positiva em circuitos lógicos e como tal realimentação pode provocar o efeito de memorização do valor de um bit O flipflop RS é o biestável mais simples disponível no universo dos circuitos digitais A sigla RS remete às duas ações sem memória possíveis em um bit binário Set Leva o valor a um Reset Leva o valor a zero A palavra reset em inglês significa voltar ao estado original O estado original de um bit em um circuito lógico se refere ao seu valor na ocasião da energização do circuito considerando que este bit não possua uma memória inicial Este valor booleano se traduz como sendo um nível de tensão elétrica Nas tecnologias TTL ECL e CMOS o valor lógico zero representa a tensão elé trica de zero volts Os engenheiros eletricistas poderiam ter escolhido como valor lógico inicial para a saída dos flip flops o valor zero ou o valor um A decisão pelo valor zero está amparada na vantagem de que considerando que estes circuitos geralmente são construídos com a topologia terracomum então os bits de saída em nível baixo implicam em uma corrente elétrica nula um consumo de energia elétrica também nulo O flip flops RS possui dois bits de entrada de dados R e S com as funções de executar os comandos reset e set respectivamente O bit de saída do flip flops recebe o nome arbitrário de Q Set Q1 Reset Q0 Além das ações set e reset também é definida uma pseudoação chamada de hold Este nome é usado para especificar o comando no qual o flip flops não sofre a ação dos comandos set e reset Este comando possui a propriedade de preservar o valor anterior na saída Q O valor anterior de Q pode ser chamado de Q Q0 ou Qantes Hold QQ Set Q1 Reset Q0 A opção hold pode ser entendida como um nãocomando não fazer nada manter tudo como está Isso faz sentido porque como existem apenas dois estados estáveis então somente podem existir dois comandos cada comando leva o circuito para um estado estável Considerando que o bit Q não pode receber os valores zero e um ao mesmo tempo então não é permitido aplicar os comandos set e reset ao mesmo tempo A combinação das variáveis de entrada que resulta na aplicação dos comandos set e reset ao mesmo tempo é chamada de forbidden O bit Q também é chamado de variável de estado finito Quando o circuito possui várias flip flops então a lista dos bits Q compõe as variáveis de estado finito A ordenação dos bits de estado formam a palavra de estado Os bits de estado são usados para acionar circuitos combinacionais ou os próprios flip flops do circito Não raro alguns desses bits são usados em sua forma complementar Q Considerando que a arquitetura interna dos biestáveis apresenta um nó topológico onde o valor lógico é dado por Q então este nó compõe a segunda saída do flip flop Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 270 O flip flop RS pode ser construído de duas formas Flip flop RS NOR Flip flop RS NAND Porta Elemento neutro Elemento nulo NOR 0 1 NAND 1 0 Tabela 1 Elementos das portas lógicas Considerando que o elemento nulo domina o elemento neutro e considerando que é permi tido não acionar os comandos set e reset mas não é permitido acionálos ao mesmo tempo podemos concluir que tais comandos são acionados por meio do elemento nulo As figuras 3 e 4 mostram que a função hold elemento neutro implica em duas possibilidades de valores para as saídas mostrando que esta função não é suficiente para determinar o valor das saídas É preciso também saber qual era o estado anterior das saídas Porta Ativação NOR Nível alto NAND Nível baixo Tabela 2 Ativação das entradas dos flip flops Figura 1 Comandos do flip flop RS NOR Figura 2 Comandos do flip flop RS NAND Figura 3 Hold em FF flip flop NOR Figura 4 Hold em flip flop RS NAND RESET Q Q SET Q Q SET Q Q RESET Q Q RESET SET Q Q RESET SET Q Q RESET SET Q Q RESET SET Q Q 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 271 A figura 5 mostra que a opção forbidden elemento nulo implica em fazer QQ uma incon sistência tautológica reductio ad absurdum Este comando não pode ser executado Figura 5 Forbidden em flip flop RS NAND O flip flop RS possui ampla aplicação em situações onde o flip precisa ser efetuado através de dois eventos mutuamente independentes O flip flop RS é indicado quando estes dois eventos atuam na forma de um pulso estreito Por pulso estreito entendese como um pulso cuja largura temporal é muito inferior ao tempo de intervalo médio entre dois pulsos consecutivos Por serem pulsos estreitos a probabilidade de ocorrência dos dois pulsos ao mesmo tempo é muito baixa Há aplicações onde o sistema impede que os dois pulsos ocorram ao mesmo tempo Figura 6 FF RS acionado por pulso estreito Um exemplo de aplicação do flip flop RS acionado por pulso estreito é o controlador de um motor em um sistema mecânico translacional com dois sensores de fim de curso um em cada ex tremidade do persurso Cada sensor aciona uma entrada R ou S O valor Q0 está relacionado a algum sentido na rotação do motor e o valor Q1 está relacionado ao outro sentido Sendo assim o motor está sempre ligado alternando o seu sentido de rotação toda vez que um sensor é acio nado Considerando que o movimento translacional da parte móvel sofre inversão imediata no seu sentido de movimento quando o sensor é acionado então os sensores são acionados por um perí odo de tempo bastante curto Outro exemplo de aplicação do flip flop RS acionado por pulso é o gerador digital de sinal PWM pulse width modulation Há um contador binário que define o período do sinal PWM Este contador binário define uma onda triangular ascendente Toda vez que este contador sofre um over flow ele reinicia acionando o comando SET do flip flop Existe uma palavra binária de comparação que define o valor médio da onda quadrada de saída do modulador Quando o valor do contador coincide com o valor da palavra de comparação o comando RESET do flip flop é acionado A saída Q corresponde ao sinal modulado por largura de pulso PWM O flip flop RS é um flip flop inversor Isto pode ser observado na figura 5 O estado proibido injeta nas duas saídas o elemento neutro mas o estado proibido é obtido por meio da aplicação do elemento nulo nas duas entradas Esta inversão acontece por causa na negação intrínseca às portas lógicas NOR e NAND RESET SET Q Q RESET SET Q Q 5V SET RESET 5V Q Q 5VRESET SET 5V Q Q 1 0 1 0 0 1 0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 272 Figura 7 Comportamento do FF RS ativo em nível alto Q0 1 Figura 8 Comportamento do FF RS ativo em nível baixo Q0 0 Figura 9 Simulação analógica Figura 10 Resultado da simulação analógica 1MHz 1MHz RESET SET Q Q SET RESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 273 Capítulo 403 Flip Flop Datum No capítulo anterior foi apresentado o flip flop RS Na ocasião foi observado o fato de que aquele circuito possui uma combinação proibida em suas variáveis de entrada Isto é um inconveni ente porque abre a possibilidade de que tal circuito se comporte de maneira inadequada Também foi observado no capítulo anterior que aqueles circuitos possuem três tipos de combinação nas variáveis de entrada Comando Efeito Hold QQ Set Q1 Reset Q0 Tabela 1 Os comandos válidos do FF RS O comando hold fornece como saída uma variável isto significa que a determinação do resultado deste comando implica no conhecimento do valor desta variável e esta variável consiste do valor anterior da própria variável cujo valor atual se deseja calcular A isto é dado o nome de efeito memória pois o resultado da aplicação da ação não depende apenas da ação mas tam bém do valor da variável de saída no instante anterior O comando hold pode ser entendido como um não comando ou seja não fazer nada Os comandos set e reset possuem como saída uma constante isto significa que a de terminação do resultado destes comandos não implica no conhecimento do valor da variável no instante anterior não existe efeito memória O comando set faz Q1 se Q0 e se Q1 o comando reset faz Q0 se Q0 e se Q1 Por causa do efeito memória o comando hold destoa dos outros dois comandos Podemos remover este comando deixando apenas os dois comandos que não possuem efeito memória Para isso basta impor que as duas entradas sejam complementares pois se as duas entradas são iguais temos o comando hold e o comando forbidden Para fazer esta complementação basta impor a condição de que as entradas R e S sejam complementares Neste caso a determinação de uma variável implica na determinação da outra variável Há então apenas uma única variável No caso do FF RS como há duas entradas de dados elas requerem o uso de nomes específi cos a fim de que haja distinção entre elas Se porém há apenas uma única variável de entrada de dado ela não precisa desta distinção e pode ser chamada diretamente de dado ou datum em inglês Em razão disso este circuito é chamado de flip flop datum ou flip flop datum Todo flip flop datum possui um FF RS interno A fim de que as duas entradas do FF RS interno sejam complementares é preciso incorporar um inversor porta NOT entre estas duas entradas Para efeito de padronização foi escolhido que a entrada de cima recebe o dado No capítulo anterior foi observado que aqueles circuitos apresentam o efeito de inversão decorrente do fato de que os conectivos lógicos usados apresentam uma inversão interna A fim de que o flip flop datum não apresente tal inversão é preciso aplicar o inversor na entrada de cima A maioria dos circuitos digitais possuem uma entrada de controle chamada chip select ou chip enable Este comando permite habilitar ou desabilitar as entradas de dados Igualmente o flip flop datum precisa deste comando Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 274 Figura 1 Flip flop datum NOR Figura 2 Flip flop datum NAND Não é possível exercer o comando de habilitaçãodesabilitação por meio de uma porta lógica ANDOR na entrada D pois uma desabilitação implica na colocação do elemento nulo e este é um valor válido não nulo no circuito a jusante Ao invés disso é preciso colocar esta porta lógica em cada uma das duas entradas do FF RS interno Embora a habilitaçãodesabilitação possa ser feita por meio de qualquer conectivo lógico ANDORNANDNOR motivos tecnológicos orientam o projeto no sentido do uso do mesmo tipo de porta lógica usada no FF RS interno Esta observação reduz o custo da produção do circuito inte grado e melhora a sua performance Figura 3 Flip flop RS com habilitação Figura 4 Flip flop Datum com habilitação Comparando o esquemático do flip flop datum sem controle e o esquemático do flip flop datum com controle é possível observar que a posição da porta NOT é diferente O motivo disso é que no circuito sem controle existe uma inversão nas saídas mas o circuito com controle não pro porciona esta inversão Esta diferença existe em virtude do fato de que no circuito sem controle existe apenas uma coluna de portas lógicas enquanto no circuito com controle existem duas co lunas Considerando que cada porta lógica possui uma inversão interna então uma quantidade ím par de colunas implica numa inversão resultante enquanto uma quantidade par de colunas implica na inexistência desta inversão D Q Q D Q Q D Q Q D Q Q Q Q S R C Q Q C R S D C Q Q C D 0 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 275 Também é possível observar que os FFs NAND com controle possuem uma entrada com nome C enquanto os FFs NOR com controle possuem uma entrada com nome C O motivo disso é o fato de que na porta OR o elemento neutro tem valor zero o FF é habilitável em nível baixo Um FF NAND com controle é habilitável em nível alto Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 276 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 277 Capítulo 404 Flip flop datum master slave No capítulo anterior foi apresentado o flip flop datum Na ocasião foi observado o fato de que aquele circuito responde imediatamente ao comando de entrada Esta resposta imediata pode parecer boa porém ela impede que uma informação seja retida Esta retenção é necessária para a construção de circuitos sequenciais relevantes Para que tal retenção seja obtida é preciso aplicar o princípio masterslave O mecanismo mestreescravo consiste de duas portas de passagem de informação que atuam de maneira complementar e serial Quando a primeira está aberta a segunda está fechada e viceversa Este princípio é aplicado em várias situações Exemplo 1 Em uma estação espacial existem duas escotilhas que fazem a comunicação en tre o ambiente interno e o ambiente externo O ambiente interno possui uma pressão igual à at mosférica O ambiente externo possui uma pressão muito baixa letal para o homem Se houvesse apenas uma única escotilha o procedimento de saída do astronauta para o ambiente externo im plicaria na perda da pressão interna da estação matando todos os seus ocupantes Ao invés disso existem duas escotilhas que fazem comunicação com a câmara de descompressão A primeira esco tilha faz a comunicação com o interior da estação A segunda escotilha faz a comunicação com o exterior Ao iniciar o processo o astronauta abre a primeira escotilha certificandose de que a se gunda escotilha está fechada Em seguida o astronauta entra na câmara e fecha a primeira escoti lha Agora é possível abrir a segunda escotilha pois a descompressão da câmara não implica na descompressão do interior da estação Exemplo 2 Em um submarino existem duas escotilhas que fazem a comunicação entre o ambiente interno e a água do mar O ambiente interno possui uma pressão igual à atmosférica O ambiente externo possui uma pressão muito alta letal para o homem Se houvesse apenas uma única escotilha o procedimento de saída do mergulhador para o ambiente externo implicaria na inundação do submarino matando todos os seus ocupantes quer seja por afogamento quer por causa da alta pressão Existem duas escotilhas que fazem comunicação com a câmara de descom pressão A primeira escotilha faz a comunicação com o interior do submarino A segunda escotilha faz a comunicação com a água Ao iniciar o processo o mergulhador abre a primeira escotilha cer tificandose de que a segunda escotilha está fechada Em seguida o astronauta entra na câmara e fecha a primeira escotilha Agora é possível abrir a segunda escotilha para a entrada da água pois a elevação na pressão da câmara não implica na compressão do interior do submarino Exemplo 3 Em um canal de navegação existem duas comportas que fazem a comunicação entre um trecho de pequena altitude para um trecho de maior altitude Se houvesse apenas uma única comporta o procedimento de uma região para a outra implicaria no alagamento de toda a região a jusante provocando grande tragédia Existem duas comportas que fazem comunicação en tre a região baixa e a região alta A primeira comporta faz a comunicação com a parte baixa A se gunda comporta faz a comunicação com a parte alta Ao iniciar a subida o operador abre a primeira comporta certificandose de que a segunda comporta está fechada proporcionando o nivelamento do nível da água Em seguida a embarcação entra na câmara de transição e fecha a primeira com porta Agora é possível abrir a segunda comporta para a entrada da água Quanto o nível da água na câmara é igual ao nível da água na região mais elevada então a segunda comporta é aberta e a embarcação pode prosseguir viagem Exemplo 4 Salas limpas são ambientes cujo ar é submetido a um determinado nível de pu rificação a fim de que processos físicoquímicos sejam realizados em o risco de sofrer contaminação A entrada e saída dos funcionários não pode permitir a entrada de contaminantes no ar Há duas portas de comunicação entre as quais existe uma câmara de descontaminação Quando o sujeito chega a porta externa é aberta e junto com ele entram também todos os contaminantes do ex terior Ao fechar a primeira porta um forte jato de ar é lançado sobre o homem ao mesmo tempo Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 278 que um potente exaustor retira o ar contaminado Terminado o processo de troca do ar a porta interna é aberta e o homem tem acesso ao ambiente de trabalho Os flip flops apresentados nos capítulos anteriores possuem controle por nível Um nível ló gico habilita a entrada de dado e um outro nível lógico desabilita O propósito do uso da arquitetura mestreescravo em um flip flop é o de transformar o controle por nível em um controle por borda O nome mestreescravo é usado para indicar que a arquitetura é composta por dois ele mentos idênticos colocados em série com um controle complementar Há então duas possibilida des para a implantação destas estruturas quanto aos níveis de controle Opção Mestre Escravo 1 Nível baixo Nível alto 2 Nível alto Nível baixo Tabela 1 Níveis para ativação dos elementos do flip flop master slave Flip flop Controle Mestre Direto Escravo Invertido Tabela 2 O sinal enviado para cada flip flop master slave de nível O processo de gravação do flip flop master slave é composto de duas etapas Etapa Ação 1 Gravação do mestre 2 Gravação do escravo Tabela 3 As duas etapas do processo de gravação do flip flop master slave Opção Gravação do mestre Gravação do escravo 1 0 1 2 1 0 Tabela 4 As duas opções do flip flop master slave Opção Gravação do MS Borda 1 01 2 10 Tabela 5 Os dois tipos de borda de controle do flip flop master slave O sinal de controle do flip flop master slave pode ser aleatório ou periódico Um sinal perió dico é aquele que se repete constantemente definindo um período Um sinal aleatório é aquele que não define um período O sinal digital periódico é chamado de onda quadrada O duttycycle de uma onda quadrada determina o percentual de nível alto em comparação com o período Se o DC é de 50 então o tempo alto é igual ao tempo alto Um DC de 50 não é obrigatório no sinal de controle dos circuitos digitais desde que o pulso para cima ou para baixo não seja demasiadamente estreito Um controle aleatório é proveniente de um processo estocástico Um exemplo deste tipo de aplicação é o circuito que efetua o processamento dos dados provenientes do acionamento de uma catraca de um ônibus computando a quantidade de passageiros por dia O tempo de intervalo entre um acionamento e outro é imprevisível Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 279 Quando o controle é feito por meio de uma onda quadrada dizemos que este sinal de con trole é o relógio do circuito Este sinal é chamado de clock Este é o nome padrão usado para o sinal de controle do flip flop master slave Toda porta lógica possui um atraso inerente um tempo de resposta As saídas não são atu alizadas no exato instante da aplicação dos valores nas entradas Por esta razão os flip flops também apresentam atraso Este atraso implica na determinação do período mínimo para o clock ou em outras palavras a frequência máxima No capítulo anterior foi mostrado que o sinal de controle por nível permite a habilitação do flip flop datum por meio do elemento neutro da porta lógica utilizada Considerando que as saídas Q e Q do primeiro flip flop o mestre são mutuamente complementares é possível então usar como escravo ao invés de um flip flop datum opção 1 figuras 1 e 2 um flip flop RS opção 2 figuras 3 e 4 A segunda opção tem a vantagem de economizar uma porta NOT Também é possível juntar as duas opções formando uma terceira opção figuras 5 e 6 Surge então uma redundância Essa redundância pode ser útil no aumento da performance do flip flops Teoricamente as duas primeiras opções apresentam o mesmo tempo de resposta porém o uso de ambas opções ao mesmo tempo garante que o caminho mais rápido prevalece Opção Controle por nível NOR Baixo NAND Alto Tabela 6 Os dois tipos de flip flop datum com controle por nível Opção Borda Elemento neutro Porta lógica 1 0 NOR 2 1 NAND Tabela 7 Os dois tipos de porta lógica aplicáveis aos flip flops Figura 1 Flip flop datum master slave NOR opção 1 Figura 2 Flip flop datum master slave NAND opção 1 D CLK Q Q CLK D Q Q master slave master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 280 Figura 3 Flip flop datum master slave NOR opção 2 Figura 4 Flip flop datum master slave NAND opção 2 Figura 5 Flip flop datum master slave NOR opção 3 Figura 6 Flip flop datum master slave NAND opção 3 A entrada D no flip flop master slave é considerada síncrona Isso quer dizer que o efeito de uma ação na entrada de dados somente provoca efeito nas saídas na ocasião da primeira ocor rência da borda de controle que pode ser de subida no caso da porta NOR ou de descida no caso da porta NAND Existem muitas situações onde é necessário o uso de uma entrada assíncrona Essa entrada não depende da ocorrência da primeira borda de controle o resultado nas saídas acontece assim que o estímulo é injetado na entrada assíncrona O efeito assíncrono pode ser ob tido por meio da injeção do elemento nulo em todos os conectivos lógicos formadores dos flip flops RS internos sem considerar os conectivos responsáveis pelo controle Q Q CLK D Q Q D CLK D CLK Q Q Q Q CLK D master slave master slave master slave master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 281 Entrada Ação assíncrona Clear Q0 Preset Q1 Tabela 8 Os dois tipos de flip flop datum com entradas assíncronas Opção Entradas assíncronas por nível Nome das entradas assíncronas NOR Alto CL PR NAND Baixo CL PR Tabela 9 O valor usado nas entradas assíncronas Figura 7 Flip flop datum com preset e clear Como é possível descobrir analiticamente a localização das entradas assíncronas Na ver são NOR a injeção do elemento nulo um na entrada assíncrona superior obtémse o valor zero na saída mais próxima Q Isto corresponde à função clear A injeção do elemento nulo um na entrada assíncrona inferior obtémse o valor zero na saída mais próxima Q Isto corresponde à função preset Na versão NAND a injeção do elemento nulo zero na entrada assíncrona superior obtémse o valor um na saída mais próxima Q Isto corresponde à função preset A injeção do elemento nulo zero na entrada assíncrona inferior obtémse o valor um na saída mais próxima Q Isto corresponde à função clear As entradas assíncronas quando ativadas paralisam o flip flop Por esse motivo os coman dos assíncronos precisam ser ativados em um curto espaço de tempo por um pulso estreito Por pulso estreito entendese como um pulso cuja largura é muito menor do que o período do relógio clock Também não é permitido o acionamento das duas entradas assíncronas ao mesmo tempo pois suas ações são imediatas e antagônicas levando o circuito a um comportamento inadequado A fim de garantir a brevidade do pulso na entrada assíncrona e também garantir que as duas en tradas assíncronas não são ativadas ao mesmo tempo é recomendado no ambiente de simulação computacional do circuito o uso de um modelo do tipo push button como fonte de sinal A obtenção das imagens dos circuitos foi obtida através do programa CircuitMaker Student V62c Foi observado um bug neste programa quando o push button modelo SPDTPB recebe o nível alto na entrada de baixo e o nível baixo na entrada de cima Este é o caso do circuito NOR Como resultado deste bug surge uma oscilação na saída Caso você observe a ocorrência deste bug a solução é fazer a ligação do push buttom conforme o circuito NAND usando uma porta NOT na saída do push buttom O flip flop datum apresentado neste capítulo é usado como um bit de SRAM static random access memory um elemento essencial em microcontroladores e em computadores Esta é uma memória estática porque a informação gravada é preservada enquanto o circuito está energizado não é preciso repetir o processo de gravação como acontece com as memórias dinâmicas DRAM NOTC D Q NOTQ PRESET V V CLEAR D C NOTCLEAR V V NOTPRESET NOTQ Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 282 Caso as entradas assíncronas não sejam usadas elas precisam ser anuladas por meio da colocação do valor oposto ao da ativação destas entradas Figura 8 Flip flop datum master slave NOR com preset e clear Figura 9 Flip flop datum master slave NOR com preset e clear No programa CircuitMaker Student V62c são oferecidos dois modelos de flip flop datum Modelo Símbolo Encapsulamento Especificação 74LS74 D SRN DIP14 LS dual Dtype flip flop 4013 D SR DIP14 CMOS dual Dtype flip flop Tabela 10 Os dois tipos de flip flop datum master slave disponíveis no ambiente de simulação Figura 10 Os dois tipos de flip flop datum master slave disponíveis no ambiente de simulação CLK D PR V V CL Q Q CLK D CL V V PR Q Q S D CP R Q Q 4013 S D CP R Q Q 74LS74 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 283 Figura 11 Os dois modelos comerciais de flip flop datum disponíveis no ambiente de simulação Figura 12 Anulação das entradas assíncronas CLK D Q Q PR V CL V S D CP R Q Q 74LS74 CLK D PR V CL V Q Q S D CP R Q Q 4013 D CLK S D CP R Q Q 4013 Q Q V V S D CP R Q Q 74LS74 Q Q D CLK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 284 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 285 Capítulo 405 Toggle Datum A palavra inglesa toggle significa alternância No contexto dos circuitos digitais esta pa lavra soa como um sinônimo de biestável Fora deste contesto as chaves do tipo toggle podem ter mais de duas posições estáveis No contexto binário a diferença entre um biestável e um to ggle é que o biestável não precisa necessariamente sofrer uma alternância enquanto um toggle foi feito para sofrer as alternâncias No contexto da lógica sequencial é possível construir um toggle através de vários tipos de flip flop Neste capítulo será apresentado o circuito toggle construído a partir de um flip flop datum Em circuitos digitais um toggle faz o papel de um divisor de tensão Em uma base binária a divisão é por dois Dividir a frequência por dois significa multiplicar o período por 2 O formato da onda do sinal de saída Q depende da borda de ativação da entrada de relógio do flip flop O divisor de tensão também pode ser entendido como um contator de um bit pois ele possui apenas dois es tados estáveis Antes Depois Q0 Q1 Q1 Q0 Tabela 1 O comportamento do toggle booleano Figura 1 Divisão de frequência por borda de subida Figura 2 Divisão de frequência por borda de descida Como é possível observar nas figuras 1 e 2 a divisão de frequência por borda de subida provoca uma defasagem de 180 no sinal de saída Essa defasagem pode ser constatada por meio do fato de que no sinal de saída se o período inicia em nível baixo então na entrada o período inicia em nível alto Por outro lado a divisão de frequência por borda de descida não provoca defa sagem no sinal de saída Tanto o sinal de entrada como o de saída iniciam em nível baixo Por esta razão a divisão de frequência por borda de descida é melhor do que a por borda de subida Infeliz mente os dois modelos disponíveis no simulador 74LS74 e 4013 são ativos em borda de subida No flip flop datum o valor presente da entrada D equivale ao valor futuro da saída Q A fim de que o flip flop datum exerça a função da alternância é preciso que a entrada D receba o inverso da saída Q isso faz com que o valor futuro de Q seja o inverso do valor presente A saída Q é realimentada na entrada D D Q t t D t t Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 286 Figura 3 Toggle com 74LS74 e com 4013 Figura 4 Toggle Datum NOR Figura 5 Toggle Datum NAND Considerando que a saída Q é realimentada na entrada D e considerando que o valor D é enviado para a metade de baixo do circuito então o valor Q é enviado para a parte de baixo A porta NOT na entrada pode ser removida por meio de uma realimentação de Q figuras 6 e 7 Conforme pode ser observado nas figuras 6 e 7 o toggle datum consiste de uma realimen tação cruzada das saídas nas entradas Considerando que os flip flops RS internos ao mestre e ao escravo também possuem uma realimentação cruzada podemos concluir que o toggle datum pos sui uma dupla realimentação cruzada Sabendo que cada porta lógica possui um atraso inerente então cada realimentação cruzada possui seu próprio atraso Uma dupla realimentação cruzada im plica em um atraso aproximadamente duplicado A conclusão é a de que o toggle datum possui aproximadamente o dobro do tempo de atraso de um flip flop datum controlado por borda CLK Q S D CP R Q Q 74LS74 V V CLK S D CP R Q Q 4013 Q CLK PR V V CL Q CLK V PR CL V Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 287 Figura 6 Toggle Datum NOR sem porta NOT nas entradas do master e do slave Figura 7 Toggle Datum NAND sem porta NOT nas entradas do master e do slave Se um toggle datum efetua uma divisão de frequência por dois então um duplo toggle da tum efetua uma divisão de frequência por quatro e assim por diante Quando o flip flop é sensível à borda de descida do sinal de controle toggle datum NAND então a saída Q do flip flop anterior à esquerda pode ser ligada diretamente à entrada de con trole do flip flop seguinte à direita Quando o flip flop é sensível à borda de subida do sinal de controle toggle datum NOR então a saída Q do flip flop anterior à esquerda pode ser ligada diretamente à entrada de controle do flip flop seguinte à direita pois esta inversão transforma a natural borda de descida decorrente do término do período de contagem de 1 bit em uma borda de subida correta para acionar o flip flop seguinte Figura 8 Divisores de frequência por 4 com 74LS74 e com 4013 CLK Q CL V V PR CLK Q V CL PR V CLK Q S D CP R Q Q 74LS74 V V V V S D CP R Q Q 74LS74 CLK Q S D CP R Q Q 4013 S D CP R Q Q 4013 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 288 Figura 9 Duplo Toggle Datum NAND Figura 10 Duplo Toggle Datum NOR Figura 11 Divisão de frequência por quatro por borda de subida Figura 12 Divisão de frequência por quatro por borda de descida CLK CL V PR V Q CLK V CL PR V Q Q Q D t t Q D t Q t Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 289 Capítulo 406 Máquina de estados estáveis finitos Se um pesquisador fizer uma consulta popular a respeito do significado da palavra má quina perceberá que cada entrevistado apresentará uma definição diferente a cerca deste signifi cado No contexto da engenharia mecânica esta palavra está associada ao fato de que existem dois ou mais estados possíveis Um alicate é uma máquina pois ele pode estar aberto ou fechado Uma chave de fenda não é uma máquina pois possui apenas um estado Se o mesmo pesquisador fizer uma consulta sobre o significado da palavra estável tam bém obterá uma grande quantidade de significados e interpretações Estável é tudo aquilo que pode permanecer em um estado Estabilidade e equilíbrio são conceitos relacionados No contexto da engenharia existem quatro situações quanto à estabilidade e ao equilíbrio de um sistema Equilíbrio estável Equilíbrio instável Desequilíbrio estável Desequilíbrio instável Quando se fala em estado estável se fala sobre equilíbrio estável Um sistema se encon tra em equilíbrio estável quando ele tende a permanecer no equilíbrio na ausência de estímulos ou quando sujeito a estímulos de pequena intensidade Um estímulo de grande intensidade pode levar o sistema a mudar para um outro estado estável Mais uma vez voltando ao exemplo do pesquisador da consulta pública se a pesquisa for feita a respeito do significado da palavra infinito a maioria das pessoas dirá que esta palavra re mete a algo que não tem fim No contexto da matemática ou da engenharia porém esta resposta não pode ser aplicada haja vista que o conceito de fim remete a uma descontinuidade na função e tal descontinuidade impede que a análise matemática linear seja aplicada em tal situação Por infinito entendemos como algo incontável Por incontável entendemos como algo cujo valor é desconhecido Tal desconhecimento pode ser devido ao enorme valor deste nú mero ou pode ser devido a incertezas no modelamento do sistema Desta forma se o projetista não possui meios para determinar a quantidade de estados estáveis possíveis ao sistema então dizemos que a quantidade de estados não é finita ou então infinita ou mais ainda incontável ainda que a quantidade verdadeira caiba na ponta dos dedos da mão Todo sistema físico que possui pelo menos dois estados estáveis possui entre estes dois estados estáveis infinitos estados instáveis Neste contexto a palavra infinito assume o signifi cado popular de um número muito grande cuja magnitude é inimaginável para o intelecto humano Esta é uma característica da análise analógica Um bit binário em um circuito digital possui infinitos valores de tensão elétrica durante o processo transitório de alternância de zero para um ou de um para zero da mesma forma que no conjunto dos números reais temos uma quantidade infi nita de números entre zero e um Os estados instáveis não são considerados no projeto de má quinas de estados estáveis finitos MEEFs As MEEFs possuem três tipos de variáveis Variáveis de dados de entrada Variáveis de dados de saída Variáveis de estado A quantidade de variáveis de estado é determinada por meio da quantidade de estados por meio das potências de dois As variáveis de estado são representadas pela letra Q precedida do Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 290 índice começando pelo valor zero As variáveis de estado são implementadas fisicamente por meio dos flipflops um FF para cada variável de estado Variável Significado De entrada Sensor De saída Atuador De estado Flipflop Tabela 1 O significado dos três tipos de variáveis das MEEFs As variáveis de entrada precisam ser funções independentes Nenhuma delas pode depen der de alguma variável de estado ou de saída Quanto às variáveis de saída há dois tipos Variável de saída combinacional Depende apenas das variáveis de entrada Variável de saída sequencial Depende de pelo menos uma variável de estado A definição de uma MEEF é feita por meio de dois recursos Diagrama de estados estáveis finitos Tabela de transições de estados estáveis finitos A melhor explicação a respeito destes dois recursos é feita por meio de exemplos A impor tância destes recursos está no fato de que eles transcendem o escopo da engenharia podendo ser aplicados em qualquer problema de natureza filosófica variável no tempo Exemplo 1 Contador de 1 bit Antes Depois Q0 Q1 Q1 Q0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 Exemplo 2 Contador de 2 bits Antes Depois Antes Depois Q1 Q0 Q1 Q0 0 1 0 0 0 1 1 2 0 1 1 0 2 3 1 0 1 1 3 0 1 1 0 0 Tabela 3 Exemplo 2 Figura 2 Exemplo 2 0 1 3 1 2 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 291 Exemplo 3 Contador de 3 bits Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 1 0 0 0 0 0 1 1 2 0 0 1 0 1 0 2 3 0 1 0 0 1 1 3 4 0 1 1 1 0 0 4 5 1 0 0 1 0 1 5 6 1 0 1 1 1 0 6 7 1 1 0 1 1 1 7 0 1 1 1 0 0 0 Tabela 4 Exemplo 3 Figura 3 Exemplo 3 Exemplo 4 Contador de 4 bits Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 10 1 0 0 1 1 0 1 0 10 11 1 0 1 0 1 0 1 1 11 12 1 0 1 1 1 1 0 0 12 13 1 1 0 0 1 1 0 1 13 14 1 1 0 1 1 1 1 0 14 15 1 1 1 0 1 1 1 1 15 0 1 1 1 1 0 0 0 0 Tabela 5 Exemplo 4 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 292 Figura 4 Exemplo 4 Exemplo 5 Contador BCD O contador BCD é um contador incompleto de 4 bits Das dezesseis combinações possíveis das quatro variáveis de estado somente dez são usadas As seis combinações não usadas não defi nem estados estáveis Para facilitar o projeto do circuito é possível criar o conceito abstrato de estado fantasma isto é um estado que poderia existir mas não existe porque o seu endereço a combinação dos bits de estado jamais é utilizado Considerando que a tabela de transições de estados estáveis finitos consiste de várias tabe las verdade uma para cada variável de estado e de saída então é necessário incorporar todos os estados fantasmas Como eles nunca são usados então a definição do estado apontado por eles é irrelevante Na tabela 7a os valores são decimais então as irrelevâncias X são também decimais entre zero e quinze ou hexadecimais Na tabela 6b os valores são binários então as irrelevâncias tam bém são binárias Quando a tabela de transições de estados finitos apresenta os estados fantas mas apontado para valores irrelevantes nos bits de estado então os estados fantasmas não podem ser incluídos no diagrama de estados estáveis finitos Quando o diagrama de EEFs apresenta os estados estáveis finitos então este diagrama deve mostrar para onde os EEFs apontam pois no contrário o diagrama estaria incompleto em sua lógica Como exemplo será apresentado o conta dor BCD onde os estados fantasmas levam todos para o estado inicial zero Figura 5 Exemplo 5 com os estados fantasmas indefinidos 0 2 14 12 10 8 6 4 1 3 13 3 5 9 0 6 1 2 7 5 4 3 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 293 Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 Tabela 6 Exemplo 5 sem os estados fantasmas Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 10 X 1 0 1 0 X X X X 11 X 1 0 1 1 X X X X 12 X 1 1 0 0 X X X X 13 X 1 1 0 1 X X X X 14 X 1 1 1 0 X X X X 15 X 1 1 1 1 X X X X Tabela 7 Exemplo 5 com os estados fantasmas indefinidos Figura 6 Exemplo 4 com os estados fantasmas definidos para o estado inicial 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 294 Figura 7 Exemplo 4 com os estados fantasmas definidos para o estado seguinte Antes Depois Destino em 0 Depois Destino adiante Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 1 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 Tabela 8 Exemplo 4 com os estados fantasmas definidos 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 295 Capítulo 407 MEEFs com uma entrada No capítulo anterior foi apresentado o conceito de máquinas de estados estáveis finitos Na oportunidade todos os exemplos apresentados possuem apenas um único caminho uma única sequência Aqueles são exemplos de MEEFs sem entradas A ausência de entradas indica que existe apenas um único tipo de contagem O tipo de contagem não pode ser alterado Há situações porém nas quais é desejável que exista a liberdade de escolha entre dois ou mais tipos diferentes de contagem A fim de que tal escolha exerça influência no circuito é neces sário usar variáveis de controle ou de seleção Esse tipo de circuito possui três tipos de variáveis Variáveis de estado Q0 Q1 Q2 Variáveis de controle A B C Variáveis de seleção S0 S1 S2 As variáveis de estado devem ser analisadas como menos significativas Isto facilita a análise das tabelasverdade Se as variáveis de seleção Embora as palavras controle e seleção impliquem neste contexto no mesmo tipo de ação elas carregam uma diferença semântica Por seleção referimonos à escolha entre dois tipos de contagem diferentes e que possuem a mesma relevância Por controle referimonos a uma ação que faz com que o circuito tome uma ação que não se enquadra no conceito de controle Os bits de seleção tem esse nome porque eles realizam a seleção do tipo de contagem a ser realizada Os bis de seleção são bastante usados em endereçamento de palavras ou em endereçamento de memórias Sendo assim estes bits podem ser usados na seleção da contagem ou na seleção do endereço A definição do significado das variáveis de controleseleção é arbitrária e por esse motivo é necessário o uso de uma legenda explicativa da forma como essas variáveis devem ser interpreta das a fim de que não haja erro de interpretação Mesmo com o uso de legendas pode ser que haja situações onde ocorram múltiplas inter pretações especialmente no que diz respeito aos estados fantasmas Nestes casos as tabelas verdade eou os diagramas podem esclarecer essas imprecisões cognitivas Uma dos melhores artifícios para a definição da máquina de estados estáveis finitos é o dia grama de estados estáveis finitos Neste diagrama cada estado estável é representado por um cír culo Dentro deste círculo é especificado o número do estado Este número pode ser expresso na forma decimal ou binária As transições entre os estados estáveis são descritas por meio de setas É preciso habilidade para que o diagrama seja construído de maneira estética No diagrama o valor das variáveis de controleseleção precisa ser indicado junto com as setas de transições Se o circuito possui apenas uma variável de controle então esta variável não precisa ser especificada no diagrama As principais ações de controle são Pausa pause Reiniciação restart Inversão invert Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 296 Exemplo 1 Contador de 1 bit com pausa A Ação 0 QQ 1 QQ Tabela 1 Exemplo 1 Definição das ações A Antes Depois 0 Q0 Q0 0 Q1 Q1 1 Q0 Q1 1 Q1 Q0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 Neste primeiro exemplo o diagrama apresenta o nome da variável de controle A fim de que o desenho não se torne por demais poluído o nome desta variável pode ser omitido Nesta legenda a pausa é obtida com valor zero Este é um controle por nível baixo Se esta variável recebe o nome da sua função então ela será chamada de PAUSE Exemplo 2 Contador de 2 bits com pausa A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 2 2 0 1 0 1 0 0 3 3 0 1 1 1 1 1 0 1 1 0 0 0 1 1 1 2 1 0 1 1 0 1 2 3 1 1 0 1 1 1 3 0 1 1 1 0 0 Tabela 3 Exemplo 2 Figura 2 Exemplo 2 A0 Pausa A1 Contagem 0 1 A0 A0 A1 A1 3 1 2 0 1 1 1 1 0 0 0 0 A0 Pausa A1 Contagem Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 297 Exemplo 3 Contador de 3 bits com pausa A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 2 2 0 0 1 0 0 1 0 0 3 3 0 0 1 1 0 1 1 0 4 4 0 1 0 0 1 0 0 0 5 5 0 1 0 1 1 0 1 0 6 6 0 1 1 0 1 1 0 0 7 7 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 1 1 1 2 1 0 0 1 0 1 0 1 2 3 1 0 1 0 0 1 1 1 3 4 1 0 1 1 1 0 0 1 4 5 1 1 0 0 1 0 1 1 5 6 1 1 0 1 1 1 0 1 6 7 1 1 1 0 1 1 1 1 7 0 1 1 1 1 0 0 0 Tabela 4 Exemplo 2 Figura 3 Exemplo 3 1 1 1 1 0 0 1 1 0 1 1 0 0 0 0 0 6 0 2 4 1 3 5 7 A0 Pausa A1 Contagem Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 298 Exemplo 4 Contador de 2 bits com inversão A Ação 0 incremento 1 decremento Tabela 5 Exemplo 1 Definição das ações A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 1 0 0 0 0 1 0 1 2 0 0 1 1 0 0 2 3 0 1 0 1 1 0 3 0 0 1 1 0 0 1 0 3 1 0 0 1 1 1 1 0 1 0 1 0 0 1 2 1 1 1 0 0 1 1 3 2 1 1 1 1 0 Tabela 6 Exemplo 4 Figura 4 Exemplo 4 Exemplo 5 Contador de 3 bits com inversão A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 1 0 1 2 0 0 0 1 0 1 0 0 2 3 0 0 1 0 0 1 1 0 3 4 0 0 1 1 1 0 0 0 4 5 0 1 0 0 1 0 1 0 5 6 0 1 0 1 1 1 0 0 6 7 0 1 1 0 1 1 1 0 7 0 0 1 1 1 0 0 0 1 0 7 1 0 0 0 1 1 1 1 1 0 1 0 0 1 0 0 0 1 2 1 1 0 1 0 0 0 1 1 3 2 1 0 1 1 0 1 0 1 4 3 1 1 0 0 0 1 1 1 5 4 1 1 0 1 1 0 0 1 6 5 1 1 1 0 1 0 1 1 7 6 1 1 1 1 1 1 0 Tabela 7 Exemplo 5 3 1 2 0 0 0 0 0 1 1 1 1 A0 Normal A1 Reverso Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 299 Figura 5 Exemplo 5 Exemplo 6 Contador de 2 bits com reiniciação A Antes Depois A Antes Depois Q1 Q0 Q1 Q0 0 0 1 0 0 0 0 1 0 1 2 0 0 1 1 0 0 2 3 0 1 0 1 1 0 3 0 0 1 1 0 0 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 2 0 1 1 0 0 0 1 3 0 1 1 1 0 0 Tabela 8 Exemplo 6 A Ação 0 incremento 1 zero Tabela 9 Exemplo 6 Definição das ações Figura 6 Exemplo 6 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 6 0 2 4 1 3 5 7 A0 Normal A1 Reverso A0 Normal A1 Restart 3 1 2 0 0 0 0 X 1 1 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 300 Exemplo 7 Contador de 3 bits com reiniciação A Antes Depois A Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 1 0 1 2 0 0 0 1 0 1 0 0 2 3 0 0 1 0 0 1 1 0 3 4 0 0 1 1 1 0 0 0 4 5 0 1 0 0 1 0 1 0 5 6 0 1 0 1 1 1 0 0 6 7 0 1 1 0 1 1 1 0 7 0 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 1 2 0 1 0 1 0 0 0 0 1 3 0 1 0 1 1 0 0 0 1 4 0 1 1 0 0 0 0 0 1 5 0 1 1 0 1 0 0 0 1 6 0 1 1 1 0 0 0 0 1 7 0 1 1 1 1 0 0 0 Tabela 8 Exemplo 7 Figura 7 Exemplo 7 Se o contador possui duas opções de contagem então no diagrama cada estado precisa dar origem a duas setas Porém quando o estado leva ao mesmo desfecho para os dois valores de uma mesma variável de controleseleção então esta variável é irrelevante para esta transição de esta dos Neste caso as duas setas podem ser fundidas em uma e o valor da variável é marcado como X Esta irrelevância pode ser observada no exemplo 6 no estado 3 A contagem natural pro move a transição do estado 3 para o estado 0 O processo de reiniciação promove esta mesma transição A transição é a mesma qualquer que seja o valor da variável A Esta irrelevância pode ser observada no exemplo 6 no estado 7 1 1 1 1 1 1 1 0 0 0 0 0 0 0 X 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 301 Exemplo 8 Contador BCD com reiniciação A Antes Depois A Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 2 0 0 0 0 1 0 0 1 0 0 2 3 0 0 0 1 0 0 0 1 1 0 3 4 0 0 0 1 1 0 1 0 0 0 4 5 0 0 1 0 0 0 1 0 1 0 5 6 0 0 1 0 1 0 1 1 0 0 6 7 0 0 1 1 0 0 1 1 1 0 7 8 0 0 1 1 1 1 0 0 0 0 8 9 0 1 0 0 0 1 0 0 1 0 9 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 0 0 0 1 2 0 1 0 0 1 0 0 0 0 0 1 3 0 1 0 0 1 1 0 0 0 0 1 4 0 1 0 1 0 0 0 0 0 0 1 5 0 1 0 1 0 1 0 0 0 0 1 6 0 1 0 1 1 0 0 0 0 0 1 7 0 1 0 1 1 1 0 0 0 0 1 8 0 1 1 0 0 0 0 0 0 0 1 9 0 1 1 0 0 1 0 0 0 0 Tabela 9 Exemplo 7 Tabela sem os estados fantasmas Figura 7 Exemplo 7 0 0 0 0 0 0 0 0 0 X 1 1 1 1 1 1 1 1 1 0 6 1 2 7 5 4 3 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 302 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 303 Capítulo 408 MEEFs com várias entradas No capítulo anterior foi apresentado o conceito de entrada de controle em máquinas de estados estáveis finitos Na oportunidade todos os exemplos apresentados possuem apenas uma única entrada de seleção Há situações porém nas quais é necessário o uso de mais de uma variável de controlese leção A fim de que não ocorra erro na interpretação da tabela e do diagrama é necessário que a legenda faça a discriminação de todas as combinações destas variáveis No diagrama de estados estáveis finitos o valor de todas as variáveis de controleseleção precisa ser indicado junto com as setas de transições Os principais tipos de controle são Pausa pause Reiniciação restart Inversão invert O comportamento do contador é determinado pelos bits de controle O ajuntamento orde nado dos bits de controle formam a palavra de controle control word Esta palavra não pode ser confundida com a palavra ou as palavras de dados Em uma palavra de dados os bits possuem todos a mesma função uma função informativa Dentro de um mesmo sistema todas as transições possíveis incluindo aquelas que não são usadas precisam considerar o valor de todas as variáveis de controle Alguns comandos possuem o poder de anular outros comandos Por exemplo o comando pause anula o comando da inversão pois se o contador está parado não faz sentido falar sobre o sentido da contagem Existem dois tipos de comando pause O primeiro tipo é aquele que anula a ação do relógio clock Neste caso a pausa anula a ação de todos os outros comandos O segundo tipo apresentado neste capítulo é aquele que mantém a ação do relógio mas configura o estado vigente para ser o próximo estado Neste caso um comando de reiniciação pode atuar durante a vigência da pausa Quando uma máquina possui várias ações de controle é preciso que o diagrama de estados estáveis finitos explique de que maneira os comandos interagem entre si Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 304 Exemplo 1 Contador de 2 bits com pausa e inversão B A Ação 0 X Pausa 1 0 Crescente 1 1 Decrescente Tabela 1 Exemplo 1 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 2 2 0 0 1 0 1 0 0 0 3 3 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 2 2 0 1 1 0 1 0 0 1 3 3 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 3 1 1 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 2 1 1 1 1 0 0 1 1 1 3 2 1 1 1 1 1 0 Tabela 2 Exemplo 1 Figura 1 Exemplo 1 3 1 2 0 10 10 10 10 0X 0X 0X 0X 11 11 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 305 Exemplo 2 Contador de 2 bits com pausa e reiniciação B A Ação 0 X Pausa 1 0 Contagem 1 1 Reiniciação Tabela 3 Exemplo 3 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 2 2 0 0 1 0 1 0 0 0 3 3 0 0 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 2 2 0 1 1 0 1 0 0 1 3 3 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 2 0 1 1 1 0 0 0 1 1 3 0 1 1 1 1 0 0 Tabela 4 Exemplo 2 Figura 2 Exemplo 2 3 1 2 0 10 10 10 1X 0X 0X 11 0X 0X 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 306 Exemplo 3 Contador de 2 bits com reiniciação e inversão B A Ação 0 X Reiniciação 1 0 Crescente 1 1 Decrescente Tabela 5 Exemplo 3 B A Antes Depois B A Antes Depois Q1 Q0 Q1 Q0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 2 0 0 1 0 0 0 0 0 1 3 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0 1 2 1 0 0 1 1 0 1 0 2 3 1 0 1 0 1 1 1 0 3 0 1 0 1 1 0 0 1 1 0 3 1 1 0 0 1 1 1 1 1 0 1 1 0 1 0 0 1 1 2 1 1 1 1 0 0 1 1 1 3 2 1 1 1 1 1 0 Tabela 6 Exemplo 3 Figura 3 Exemplo 3 3 1 2 0 10 10 10 0X 10 0X 0X 11 0X 11 11 11 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 307 Capítulo 409 Contador assíncrono Datum Contador é todo dispositivo cuja principal função é a de efetuar uma contagem Esta defini ção pode parecer óbvia porém ela é relevante para a distinção entre contadores e temporizadores quando especialmente em sistemas digitais estas duas entidades podem ser construídas por meio exatamente do mesmo circuito elétrico Um contador acionado por um relógio clock por ter uma base de tempo constante possui um tempo de contagem previsível podendo ser usado também como temporizador Se a conta gem é mais importante do que a temporização então o dispositivo recebe o nome de contador Se a temporização é mais importante do que a contagem então o dispositivo recebe o nome de temporizador Se a base de tempo é aleatória processo estocástico então o contador não pode ser usado como um temporizador Nos capítulos anteriores foi apresentado o duplo toggle que age como um divisor de fre quência por quatro No divisor por quatro ou por oito dezesseis etc o valor das saídas Q dos flip flops intermediários é irrelevante somente interessa o valor da saída do último flip flop Se porém usamos as saídas de todos os flip flops temos então um contador assíncrono A palavra assíncrono neste contexto pode ser entendida de duas formas 1 As entradas de controle dos flip flops de contagem não estão todas elas ligadas ao mesmo nó topológico de modo que não é possível afirmar se todas essas entradas recebem exatamente o mesmo sinal exatamente no mesmo instante 2 O sinal de relógio propaga serialmente de um flip flops para o próximo agregando a este sinal o tempo de atraso de propagação de maneira cumulativa de modo que os primeiros flip flops estão adiantados e os últimos estão atrasados todos os flip flops de contagem estão fora de sincronia uns com os outros A falta de sincronia faz com que cada bit de contagem tenha seu próprio instante de atuali zação Considerando que o atraso é cumulativo entre os flip flops a arquitetura de contadores as síncronos funciona satisfatoriamente quando existem poucos bits de contagem Porém quando a quantidade de bits é grande o atraso acumulado no último flip flop pode ser prejudicialmente rele vante Considerando que o tempo de atraso de propagação de um flip flop é de algumas dezenas de nano segundos este efeito é imperceptível para os olhos humanos mas é percebido quando o contador assíncrono aciona um outro dispositivo digital A falta de sincronia gera um comportamento transitório errado na passagem de alguns es tados para o próximo estado Quando a transição implica na alteração de apenas um único bit então o efeito da falta de sincronia não é percebido a não ser através do atraso propriamente dito Porém quando dois ou mais bits são alterados na mesma transição então uns são alterados antes de outros gerando números errados no barramento de saída do contador Quando o contador assíncrono é usado como temporizador os valores intermediários da contagem não importam somente interessa a sinalização de término da contagem timeout Neste caso os problemas inerentes ao contador assíncrono tornamse irrelevantes Considerando que nos esquemáticos as entradas são colocadas à esquerda e o fluxo de informação segue da esquerda para a direita então a ordem dos flip flop de um contador assíncrono é invertida em relação ao número binário gerado na contagem O bit menos significativo é o da extremidade esquerda e o bit mais significativo é o da extremidade direita Isso pode ser constatado por meio do fato de que os divisores de frequência geram toggles mais lentos na sequência de modo que o flip flop da esquerda é o mais rápido e o da direita o mais lento Contadores assíncronos são formados por toggles um para cada bit de contagem Nos capí tulos anteriores foi apresentado o toggle datum mas qualquer outro circuito toggle pode ser usado na construção de um contador assíncrono Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 308 Em toda contagem crescente de vários dígitos em qualquer base o incremento de um dígito à esquerda acontece na borda de descida do bit à direita Por esse motivo os contadores binários construídos a partir de flip flops devem usar flip flops sensíveis à borda de descida do sinal de con trole Nem sempre porém é possível escolher esse tipo de flip flop Eventualmente pode ser que o projetista seja obrigado a usar algum dispositivo de borda de subida Neste caso a ligação entre os divisores de freqüência precisa fazer uso do sinal Q Por causa do uso da saída complementada a borda negativa é transformada em positiva Figura 1 Contador assíncrono de 4 bits com borda de subida Figura 2 Contador assíncrono de 4 bits com borda de descida Figura 3 Contador assíncrono de 2 bits com NOR Figura 4 Contador assíncrono de 2 bits com NAND CLK Q0 Q1 CL V PR V CLK Q0 Q1 V CL PR V Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Q C Divisor De freqüência Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 309 Figura 5 Contador assíncrono de 2 bits Figura 6 Contador assíncrono de 3 bits Figura 7 Contador assíncrono de 4 bits FF Divisão de frequência 0 2 1 4 2 8 3 16 Tabela 1 Divisão cumulativa de freqüência O efeito cumulativo das sucessivas divisões de frequência remete ao princípio da comatória das parcelas componentes de todo número binário conforme apresentado nos primeiros capítulos acerca da aritmética binária CLK V S D CP R Q Q S D CP R Q Q 321 4 V CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 310 É possível prever os efeitos colaterais da falta de sincronia Em uma contagem de dois bits o bit menos significativo LSb está adiantado em relação ao bit mais significativo MSb As transi ções de estado são 00b 01b 10b 11b 00b É preciso analisar individualmente as quatro transições 00b 01b Como o MSb não sofre alteração então a assimetria não é problema 01b 10b Como os dois bits sofrem alteração então a assimetria traz proble mas 10b 11b Como o MSb não sofre alteração então a assimetria não é problema 11b 00b Como os dois bits sofrem alteração então a assimetria traz proble mas Nas transições 01b 10b e 11b 00b sabendo que o LSb muda antes do MSb então a transição de estados estáveis possui um estado instável intermediário 01b 00b 10b 11b 10b 00b Início Intermédio Final Estável Instável Estável 01 00 10 11 10 00 Tabela 2 Defeitos instáveis devido a assincronia de 2 bits Além dos circuitos temporizadores os contadores assíncronos encontram aplicação onde o atuador possui um intrínseco filtro passabaixas como por exemplo um painel luminoso onde as lâmpadas apresentem um elevado tempo de acendimento e apagamento Um tempo considerado elevado está na ordem de milissegundos Algumas aplicações de baixa frequência podem sofrer comportamento inadequado quando submetidas às oscilações decorrentes da assincronia Neste caso um capacitor pequeno de alguns picofarads colocado em paralelo com cada um dos bits de saída pode filtrar estas oscilações Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 311 Capítulo 410 Contador síncrono Datum No capítulo anterior foi apresentado o contador assíncrono Datum Na oportunidade foi explicado o problema gerado pela falta de sincronia dos bits de contagem A fim de eliminar os sintomas da falta de sincronia é preciso então construir um contador síncrono O contador síncrono é aquele onde não existe diferença de atraso de propagação nas entra das de controle por borda dos FFs A forma mais eficaz de garantir que este atraso não exista é por meio da ligação destas entradas de controle por borda no mesmo nó topológico As entradas D dos FFs consistem de funções booleanas independentes e que precisam ser determinadas A determinação destas funções retrata o processo de projeto do circuito lógico Como as funções são independentes então é possível projetar cada uma delas separadamente par tindo do LSb e terminando no MSb Em caráter de exemplificação será apresentado o projeto de um contador de quatro bits Lembrando que a saída Q corresponde à entrada D após a borda de controle então os bits Q correspondem à palavra binária antes da borda de controle e os bits D correspondem à palavra binária depois da borda de controle Q3 Q2 Q1 Q0 D3 D2 D1 D0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 Tabela 1 Funcionamento do contador de 4 bits Figura 1 Esboço do contador síncrono D de 4 bits CLK V 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 312 Função D0 Em toda contagem completa crescente ou decrescente o LSb age como um toggle e por isso a sua configuração é exatamente a mesma da do LSb de um contador assíncrono Q0 D0 0 1 1 0 Tabela 2 Funcionamento do contador de 1 bit D0 Q0 Figura 2 Circuito para o contador de 1 bit Função D1 Primeiramente é preciso construir a tabelaverdade para depois determinar as funções Antes Depois Q1 Q0 D1 D0 0 1 0 0 0 1 1 2 0 1 1 0 2 3 1 0 1 1 3 0 1 1 0 0 Tabela 2 Funcionamento do contador de 2 bits D0 Q0 D1 Q1Q0 Figura 3 Os dois bits menos significativos O uso da porta XOR por parte do bit mais significativo de entrada D1 neste caso pode ser facilmente identificado por meio desta análise se quando o bit de estado mais significativo Q1 neste caso vale 1 então a função D assume o comportamento inverso de quando Q vale 0 então esta função é representada pelo conectivo lógico XOR Q1 D1 0 0 0 1 1 1 1 0 Tabela 3 Evidenciação da operação XOR na função D1 Função D2 Antes Depois Q2 Q1 Q0 D2 D1 D0 0 1 0 0 0 0 0 1 1 2 0 0 1 0 1 0 2 3 0 1 0 0 1 1 3 4 0 1 1 1 0 0 4 5 1 0 0 1 0 1 5 6 1 0 1 1 1 0 6 7 1 1 0 1 1 1 7 0 1 1 1 0 0 0 Tabela 4 Funcionamento do contador de 3 bits CLK V S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 313 210 00 01 11 10 0 0 0 1 0 1 1 1 0 1 Tabela 5 A terceira função D1 Q2Q1Q0Q2Q1Q0Q2Q1Q0Q2Q1Q0 Q2 D2 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 Tabela 5 Evidenciação da operação XOR na função D2 Q2 D2 0 0 0 0 0 0 0 1 Tabela 6 A primeira metade da tabela Observando a primeira metade da tabelaverdade de D2 podemos enxergar que esta função parcial pode ser escrita como D2 Q1Q0 Observando a tabelaverdade de D2 completa podemos juntar a função D2 com a variável de entrada Q2 D2 Q2D2 D2 Q2Q1Q0 Figura 4 Os três bits menos significativos CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 314 Função D3 Ant Dep Q3 Q2 Q1 Q0 D3 D2 D1 D0 Q3 D3 Q2 Q1 Q0 D3 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 2 0 0 0 1 0 0 1 0 0 0 0 0 1 0 2 3 0 0 1 0 0 0 1 1 0 0 0 1 0 0 3 4 0 0 1 1 0 1 0 0 0 0 0 1 1 0 4 5 0 1 0 0 0 1 0 1 0 0 1 0 0 0 5 6 0 1 0 1 0 1 1 0 0 0 1 0 1 0 6 7 0 1 1 0 0 1 1 1 0 0 1 1 0 0 7 8 0 1 1 1 1 0 0 0 0 1 1 1 1 1 8 9 1 0 0 0 1 0 0 1 1 1 9 10 1 0 0 1 1 0 1 0 1 1 10 11 1 0 1 0 1 0 1 1 1 1 11 12 1 0 1 1 1 1 0 0 1 1 12 13 1 1 0 0 1 1 0 1 1 1 13 14 1 1 0 1 1 1 1 0 1 1 14 15 1 1 1 0 1 1 1 1 1 1 15 0 1 1 1 1 0 0 0 0 1 0 Tabela 7 Funcionamento do contador de 4 bits D3 Q2Q1Q0 D3 Q3D3 D3 Q3Q2Q1Q0 D2 Q1Q0 D3 Q3Q2D2 Figura 5 Contador D síncrono de quatro bits O desenvolvimento das funções D3 D2 D1 e D0 mostra que existe um padrão nestas fun ções Cada bit do contador é formado por um FF uma porta XOR e uma porta AND de duas entradas A entrada D do FF recebe a saída da porta XOR Os dois conectivos lógicos recebem como entrada a saída Q do FF deste bit e a saída da porta AND à direita Com base nestas observações é possível projetar estes contadores de maneira sistemática Por exemplo o contador de cinco bits é construído por meio da inclusão de um FF uma porta AND e uma porta XOR ao contador de quatro bits CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 315 Figura 6 Contador D síncrono de cinco bits É possível criar um módulo contendo estes três elementos aplicáveis para cada bit do con tador e replicar este módulo para todos os bits do contador Esta técnica produz um contador mo dular A saída da porta AND do MSb tem a função de threshold Este sinal de saída serve como gatilho para um outro circuito digital ou como clock para um outro contador mais significativo As entradas superiores dos dois conectivos lógicos do LSb tem a função de enable ativo em nível alto Esta entrada pode também receber o sinal threshold de um outro contador menos significativo Figura 7 Módulo contador D síncrono de um bit Figura 8 Quatro módulos contador D síncronos de um bit Figura 9 Módulos contador D síncronos de quatro bits CLK V 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 enable CLK output threshold V S D CP R Q Q th 1bit D COUNT CLK en out 321 4 th3 1bit COUNT 3 CLK en3 out3 th2 1bit COUNT 2 CLK en2 out2 th1 1bit COUNT 1 CLK en1 out1 th0 1bit COUNT 0 CLK en0 out0 CLK th 4bit COUNT CLK en out 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 316 Figura 10 Módulo contador D síncrono de quatro bits Figura 11 Módulos contador D síncronos de quatro bits Figura 12 Contador de dois nibbles a partir de dois contadores de um nibble CLK enable S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V threshold CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V V enable S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 V threshold contador mais significativo contador menos significativo TH 4bit COUNT 1 CLK 321 4 4bit COUNT 0 CLK en 321 4 CLK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 317 Capítulo 411 Contador com desvio assíncrono A palavra desvio significa sair da via tomar uma outra via Nos capítulos anteriores foram apresentados os contadores completos síncronos e assíncronos Por serem completos eles fazem uso de todas as combinações das variáveis de estado Nem sempre porém os estados são usados na contagem Na falta de um nome consagrado pela literatura técnica vamos usar provisoriamente o nome de estado fantasma para estes es tados não usados Este nome é provisório porque estamos aguardando que a comunidade científica escolha um nome universal para os estados não usados Por esse motivo não é recomendado o uso da terminologia estado fantasma fora do contexto deste curso pois se ela não é consagrada pela comunidade científica você corre o risco de não ser compreendido ao fazer uso destas palavras No diagrama de estados estáveis finitos os estados fantasmas são desenhados por meio de uma circunferência tracejada Existem também os estados fantasmas condicionais Isto acontece quando existe uma variável de controle que ao ser ativada ou não pode tornar fantasma um determinado estado ou não Se este é o caso o desenho no diagrama deve ser feito por meio de um círculo contínuo Há dois tipos de contadores incompletos Contador interrompido Contador de sequência não linear A definição do contador de sequência não linear é feita por meio da exclusão do conceito de contador interrompido A definição do contador interrompido é aquele que é construído a partir de um contador completo e da subtração de um ou mais estados Há dois tipos de contadores interrompidos Contador com circuito de desvio desvio assíncrono Contador sem circuito de desvio desvio síncrono O contador com circuito de desvio é construído a partir de um contador completo acrescen tado de um circuito combinacional de desvio O contador completo original pode ser síncrono ou assíncrono O contador sem circuito de desvio não parte de um contador completo o circuito é inicialmente projetado considerandose a incompletude da contagem O contador sem circuito de desvio somente pode ser construído na versão síncrona e é assunto para os capítulos mais adiante O princípio do circuito de desvio assunto deste capítulo está baseado em um circuito com binacional que identifica uma certa combinação das variáveis de estado e ocorrendo esta identifi cação ativa as entradas preset de alguns flip flops e as entradas clear de outros flip flops A combinação que ativa o circuito de desvio é um estado fantasma Assim que este estado é ativado o circuito de desvio leva o contador para outro estado O estado fantasma de desvio embora seja usado não é estável pois o seu tempo de uso não é definido pelo relógio do sistema mas sim pelo tempo de atraso de propagação do circuito interno dos flip flops Por não ser estável este estado não é considerado um estado estável válido Por causa da assincronia das entradas preset e clear dos flip flops o circuito de desvio é considerado assíncrono Temos então um desvio assíncrono Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 318 Há três tipos de contadores interrompidos quanto à sincronia Contador assíncrono com circuito de desvio assíncrono Contador síncrono com circuito de desvio assíncrono Contador síncrono com circuito de desvio síncrono será visto mais adiante Um contador síncrono com circuito de desvio assíncrono comportase como um contador síncrono nas transições lineares e comportase como um contador assíncrono na transição de des vio Considerando que um contador síncrono apresenta um comportamento de um contador assín crono mas possui um circuito mais complexo então o uso de um desvio assíncrono em um contador síncrono anularia as vantagens da opção pelo contador síncrono Por esse motivo se o contador é síncrono a melhor opção é pelo desvio síncrono será visto mais adiante Com base nesta conclu são todos os exemplos apresentados neste capítulo estão baseados no contador datum assíncrono Há dois tipos de contadores interrompidos quanto ao significado da interrupção Contador incompleto Contador com pulo O contador incompleto é aquele que omite alguns dos últimos estados de um contador com pleto O circuito de desvio realiza uma reiniciação da contagem Por reiniciar a contagem o estado apontado pelo desvio é o zero todos os bits de estado valem zero todos os flip flops sofrem o comando clear As entradas preset não são usadas O contador com pulo é aquele que omite alguns dos estados intermediários de um contador completo Por não reiniciar a contagem o estado apontado pelo desvio não é o zero nem todos os bits de estado valem zero alguns flip flops sofrem o comando clear outros flip flops sofrem o comando preset O projeto de contadores com pulo é mais trabalhoso do que o projeto de con tadores incompletos motivo porque os pulos serão abordados no capítulo seguinte Há dois tipos de FFs quanto às entradas assíncronas Ativação em nível alto Ativação em nível baixo Quando as entradas assíncronas são ativas em nível alto PR e CL então o circuito de desvio consiste da materialização de um mintermo Uma porta AND é usada e a quantidade de entradas desta porta coincide com a quantidade de bits de contagem Quando as entradas assíncronas são ativas em nível baixo PR e CL então o circuito de desvio consiste da materialização de um maxtermo Uma porta OR é usada e a quantidade de en tradas desta porta coincide com a quantidade de bits de contagem A minimização da função de desvio pode reduzir a quantidade de entradas da porta lógica A efetivação do desvio é feita por meio do acionamento do circuito de desvio Esta ativação precisa ser feita no primeiro estado fantasma Este estado pode ser chamado de estado de des vio ou estado gatilho Este não é um estado estável pois a sua permanência dura apenas alguns nano segundos que é o tempo de propagação para que as portas lógicas sejam acionadas Apesar disso o estado gatilho pode ser incluído no diagrama de estados estáveis finitos Apesar do erro de natureza conceitual esta inclusão permite que o estudante entenda como o desvio acontece Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 319 Exemplo 1 Contador BCD com CL Um contador BCD é um contador hexadecimal incompleto Os estados fantasmas são 1011121314 e 15 O primeiro estado fantasma é o 10 É neste estado que o desvio assíncrono precisa ser efetuado Figura 1 Interrupção BCD em um contador hexadecimal Estado gatilho 10d 1010b Clear Q3Q2Q1Q0 mintermo 10 Figura 2 Exemplo 1 Exemplo 2 Contador BCD com CL Estado gatilho 10d 1010b Clear Q3Q2Q1Q0 maxtermo 10 Figura 3 Exemplo 2 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 4bit COUNT out0 out1 out2 out3 CLK restart identificador de 1010b Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 320 Considerando que o gatilho é acionado em um único estado o estado gatilho então este gatilho não é acionado nos demais estados fantasmas Isso leva à conclusão que para esses esta dos fantasmas a contagem seguiria normalmente de maneira crescente Figura 4 Interrupção BCD em um contador hexadecimal O primeiro estado fantasma de um contador interrompido é usado para acionar a reinici ação do contador Caso haja mais estados fantasmas por jamais serem acessados o apontamento para o próximo estado é irrelevante Por causa disso a ação destes estados sobre as entradas clear dos FFs também é irrelevante Estas irrelevâncias podem ser usadas para aplicar alguma técnica de minimização Como a função restart é formada por um único termo a minimização pode propor cionar a redução na quantidade de entradas da porta lógica 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 0 00 1 1 1 1 01 0 0 0 0 01 1 1 1 1 11 X X X X 11 X X X X 10 0 0 X 1 10 1 1 X 0 Tabela 1 Funções CLEAR e CLEAR Clear Q3Q1 Clear Q3Q1 Figura 5 Exemplo 1 minimizado CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 0 6 1 2 7 5 4 3 8 9 A B C D E F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 321 Figura 6 Exemplo 2 minimizado Considerando que o gatilho é acionado em um único estado o estado gatilho então este gatilho não é acionado nos demais estados fantasmas Isso leva à conclusão que para esses esta dos fantasmas a contagem seguiria normalmente de maneira crescente Figura 7 O diagrama do circuito minimizado CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V 0 6 1 2 7 5 4 3 8 9 A B C D E F Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 322 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 323 Capítulo 412 Contador com pulo assíncrono No capítulo anterior foi apresentado o conceito de contador interrompido O conceito de contador com pulo é bastante semelhante A única diferença é que o circuito de desvio ao invés de levar ao estado zero leva para um estado posterior ao estado fantasma que aciona o desvio Quando o circuito de desvio leva para o estado zero o desvio aciona as entradas clear de todos os flip flops de contagem Quando porém o circuito de desvio leva para um estado se guinte então a depender do número do estado apontado pelo desvio alguns flip flops sofrerão o comando clear e outros flip flops sofrerão o comando preset Com exceção do primeiro estado fantasma chamado de estado gatilho que aciona o circuito de desvio os demais estados fantasmas implicam em uma irrelevância na tabelaverdade da função de desvio O estado apontado pela função de desvio precisa ser necessariamente supe rior ao estado fantasma onde o comando é acionado Não sendo assim o contador entra em um loop infinito O pulo pode ser entendido como a instrução GOTO da linguagem assembler Este comando possui como argumento o endereço da program memory para onde o salto precisa levar A não ser que existam outros mecanismos de desvio o endereço apontado pela instrução GOTO precisa ser superior ao endereço onde esta instrução está armazenada Exemplo 1 Contador de três bits que pula o estado 5 em nível alto Neste exemplo há somente um estado pulado Este é o estado fantasma que aciona o circuito de desvio O salto é endereçado para o estado seis O salto consiste da transição do estado quatro para o estado seis Estado gatilho 5d 101b Estado de destino 6d 110b Clear Q2Q1Q0 Clear PR2 PR1 CL0 4d 100b A transição de 100b para 110b implica na alteração de um único bit de estado Q1 Por esse motivo a assincronia não possui nenhum efeito o salto age de maneira síncrona Figura 1 Exemplo 1 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 324 Exemplo 2 Contador de três bits que pula o estado 3 em nível alto Estado gatilho 3d 011b Estado de destino 4d 100b Clear Q2Q1Q0 Clear PR2 CL1 CL0 2d 010b O salto consiste da transição do estado dois para o estado quatro A transição de 010b para 100b implica na alteração de um dois bits de estado Q2 e Q1 Por esse motivo a assincronia se manifesta Figura 2 Exemplo 2 Exemplo 3 Contador que pula os estados 3 4 e 5 em nível alto O salto consiste da transição do estado dois para o estado seis O gatilho para o disparo do salto é o mesmo do exemplo 1 A ação do circuito de disparo é a mesma do exemplo 2 Estado gatilho 3d 011b Estado de destino 6d 110b Clear Q2Q1Q0 Clear PR2 PR1 CL0 Figura 3 Exemplo 3 210 00 01 11 10 0 0 0 1 0 1 X X 0 0 Tabela 1 Função CLEAR do exemplo 3 Dos três estados fantasmas um é usado como gatilho para o pulo Os outros dois estados são irrelevantes e podem ser usados na minimização do circuito Neste exemplo nenhum grupa mento pôde ser obtido não foi possível reduzir o tamanho do circuito CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 325 Figura 4 Exemplo 3 Exemplo 4 Contador de três bits que pula os estados 1 2 e 3 Figura 5 Exemplo 4 Estado gatilho 1d 001b Estado de destino 4d 100b Clear Q2Q1Q0 Clear PR2 CL1 CL0 Figura 6 Exemplo 4 não minimizado 210 00 01 11 10 0 0 1 X X 1 0 0 0 0 Tabela 2 Função CLEAR do exemplo 4 Clear Q2Q0 Apesar da possibilidade de minimização esta minimização não provoca alteração no com portamento dos estados fantasmas pois o estado alterado na formação do IPE o estado 3 é naturalmente o estado anterior ao estado de destino o estado 4 CLK 321 4 S D CP R Q Q S D CP R Q Q S D CP R Q Q 6 0 2 4 1 3 5 7 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 326 CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q 4321 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 327 Capítulo 413 Contador codificado Em capítulos anteriores foi apresentado o conversor de código um circuito que converte uma palavra binária de entrada em uma outra palavra binária de saída Este circuito conversor de código pode ser acoplado à saída de um contador a fim de que um contador específico seja criado Esta estratégia simplifica o processo de criação de contadores complexos Como os contadores fornecem naturalmente as saídas complementadas então não é ne cessário usar as portas NOT nas entradas do circuito conversor de código Nenhum contador normal permite a repetição de estados dentro de uma mesma contagem A técnica da codificação da palavra de saída de um contador é o método mais fácil para a criação de contadores que possuam estados repetidos em uma mesma contagem A técnica da codificação das saídas é particularmente interessante quando se trabalha com contadores de poucos estados mas que exibam números grandes Por exemplo suponhamos que desejamos construir um contador que exiba números que expressem anos partindo de 1981 até 2007 Se o contador é construído para exibir esses números diretamente será necessário usar todos os onze bits nesta contagem Usando um circuito de codificação este número pode ser reduzido De 1981 até 2007 há vinte e sete estados Para que esses estados sejam endereçados são neces sários apenas cinco bits de contagem Figura 1 Exemplo 1 nbit COUNT CLK CONV nbit mbit Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 328 Exemplo 1 Contador síncrono datum 2301 Figura 2 Contador 2301 com análise de uns Figura 3 Contador 2301 com análise de zeros CLK 321 4 Out1 Out0 V S D CP R Q Q S D CP R Q Q 321 4 CLK 321 4 Out0 Out1 321 4 S D CP R Q Q S D CP R Q Q V Este primeiro exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo sobre conversores de código na unidade sobre álgebra booleana exemplo 1 Input Output 0 2 1 3 2 0 3 1 Tabela 1 Definição do conversor B A Out1 Out0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 1 Tabela 2 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 329 Exemplo 2 Contador síncrono datum 5264 Figura 4 Contador 5264 com análise de uns Figura 5 Contador 5264 com análise de zeros CLK 321 4 Out2 Out1 Out0 V S D CP R Q Q S D CP R Q Q 321 4 Out2 Out1 Out0 CLK 321 4 V 321 4 S D CP R Q Q S D CP R Q Q V Este segundo exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo so bre conversores de código na uni dade sobre álgebra booleana exem plo 2 Input Output 0 5 1 2 2 6 3 4 Tabela 3 Definição do conversor B A Out2 Out1 Out0 0 0 1 0 1 0 1 0 1 0 1 0 1 1 0 1 1 1 0 0 Tabela 4 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 330 Exemplo 3 Contador assíncrono datum 22010211 Figura 6 Contador 22010211 com análise de uns Como este contador é assíncrono então o LSb é dado pelo flip flop à esquerda Por esse motivo a conexão do entre o contador e o circuito combinacional é cruzada No diagrama de estados estáveis finitos é permitido usar os valores codificados Como a identificação do estado inicial não é imediata é preciso marcalo como tal Figura 7 Contador 22010211 CLK 321 4 Out0 Out1 V S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 Este terceiro exemplo faz uso dos resultados obtidos na construção do circuito projetado no capítulo sobre conversores de código na unidade so bre álgebra booleana exemplo 3 Input Output 0 2 1 2 2 0 3 1 4 0 5 2 6 1 7 1 Tabela 5 Definição do conversor C B A Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 6 Definição das funções binárias 1 2 0 0 2 1 2 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 331 Exemplo 4 Contador assíncrono datum 22010211 Figura 8 Contador 22010211 com análise de uns Neste circuito a variável de controle A possui uma ação assíncrona Isso quer dizer que quando este bit sofre alguma alteração o contador é reconfigurado imediatamente independente mente da borda do relógio Uma ação assíncrona de reconfiguração do contador não é desejável A fim de tornar a entrada A síncrona é preciso lançar mão de métodos de projeto que serão apre sentados em capítulos seguintes A CLK 321 4 S D CP R Q Q S D CP R Q Q V Out1 Out0 321 4 A State Output 0 0 2 0 1 2 0 2 0 0 3 1 1 0 0 1 1 2 1 2 1 1 3 1 Tabela 7 Definição do conversor A Q1 Q0 Out1 Out0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1 0 1 Tabela 8 Definição das funções binárias Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 332 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 333 Unidade 5 Circuitos JK Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 334 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 335 Capítulo 501 Flip Flop JK Nos capítulos anterior foram apresentados os flip flops RS e datum O flip flop RS possui a vantagem de apresentar o comando hold O FF datum possui a vantagem de possuir apenas uma entrada de dados Os quatro comandos aplicáveis a um bit são Hold Q Q Reset Q 0 Set Q 1 Invert Q Q Comando Q Q Hold 0 1 0 1 Reset 0 1 0 0 Set 0 1 1 1 Invert 0 1 1 0 Tabela 1 Os quatro comandos de um bit Em verdade os quatro comandos podem ser reduzidos a apenas dois comandos Comando Q Q Ação HI Ação RS Hold 0 1 0 1 Hold Hold Reset Set Reset 0 1 0 0 Hold Invert Reset Reset Set 0 1 1 1 Invert Hold Set Set Invert 0 1 1 0 Invert Invert Set Reset Tabela 2 Os quatro comandos convertidos em dois comandos Nenhum dos flip flops apresentados anteriormente implementam o comando invert O circuito toogle D implementa a inversão por meio de um circuito externo e não por meio do flip flop Necessário se faz criar um FF que possua o comando invert embutido Para satisfazer a esta de manda surge o flip flop JK A tabela 3 mostra que há duas possibilidades para o acionamento dos quatro comandos do FF JK uma usando porta NAND outra usando porta NOR Embora as duas opções sejam idênticas em eficiência somente a primeira opção é usada As motivações que levaram a esta escolha são de ordem comercial eou tecnológica Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 336 Opção 1 Porta NAND Opção 2 Porta NOR Comando J K Comando J K Hold 0 0 Hold 1 1 Reset 0 1 Reset 1 0 Set 1 0 Set 0 1 Invert 1 1 Invert 0 0 Tabela 3 O acionamento dos comandos do FF JK Os comandos reset e set têm um efeito previsível independentemente do valor anterior da variável de estado Q Esta previsibilidade evidencia que o valor anterior de Q é irrelevante Esta irrelevância mostra que não há efeito memória nestes dois comandos Os comandos hold e invert têm um efeito imprevisível se não sabemos do valor anterior da variável de estado Q Esta imprevisibilidade é intrínseca à etimologia destas duas palavras Quando usamos o verbo manter precisamos obviamente saber qual é o valor anterior daquilo que se deseja manter Quando usamos o verbo inverter também precisamos saber qual é o valor anterior daquilo que se deseja inverter No contexto da filosofia se você deseja apoiar uma idéia você precisa primeiro entender muito bem desta idéia a fim de que as suas palavras verdadeiramente apoiem esta idéia Não é possível apoiar corretamente aquilo que não se compreende Igualmente se você deseja refutar uma idéia você precisa entender muito bem desta idéia Um erro muito comum cometido por for madores de opinião é o de tentar apoiar ou refutar algo sobre o qual não possuem entendimento Em um trabalho filosófico relevante a confirmação ou a refutação de uma tese requer obrigatori amente a apresentação das referências a cerca desta tese ou seja é preciso fazer uma consulta ao conhecimento anterior e isso é justamente aquilo que chamamos de efeito memória As referên cias bibliográficas são uma consulta à memória a respeito da sabedoria do passado Também no contexto da filosofia se você deseja apresentar uma idéia nova você não pre cisa obrigatoriamente apresentar referências bibliográficas a não ser quando você deseja fazer alguma comparação ou alguma justificativa Esta não necessidade de consulta a referências biblio gráficas evidencia uma ausência de efeito memória Este seria o caso dos comandos reset e set do flip flop RS e do flip flop JK Tipo Comandos Com memória Hold Invert Sem memória Reset Set Tabela 4 Os dois tipos de comando do FF JK Embora o flip flop JK possa talvez ser implementado de uma maneira totalmente nova ele é construído hoje como uma evolução do flip flop datum É possível então transformar um flip flop datum em um flip flop JK Essa transformação é obtida por meio do acréscimo de um circuito combinacional à entrada do FF datum Quais são as entradas deste circuito combinacional Obvia mente estas entradas são as próprias entradas de dados do flip flop JK isto é J e K Isso porém não é suficiente pois precisamos levar em consideração o efeito memória dos comandos hold e invert A fim de que o efeito memória seja incorporado é preciso lançar mão da variável Q Temos então três variáveis de entrada totalizando oito combinações Se o flip flop datum possui apenas uma variável de entrada então o circuito combinacional possui três entradas e uma saída Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 337 J K Q comando D 0 0 0 Hold 0 0 0 1 1 0 1 0 Reset 0 0 1 1 0 1 0 0 Set 1 1 0 1 1 1 1 0 Invert 1 1 1 1 0 Tabela 5 A tabelaverdade do circuito combinacional JKQ 00 01 11 10 JKQ 00 01 11 10 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 Tabela 6 O mapa de Karnaugh do circuito combinacional D KQJQ D KQJQ Há duas possibilidades para a construção do circuito minimizado produto de somas ou soma de produtos Neste texto é usada a segunda opção O leitor pode realizar a simulação do circuito da primeira opção É possível fazer uso do implicante primo não essencial para reduzir a possibili dade do surgimento de spikes Figura 1 Flip flop JK a partir de flip flop datum D KQJQ Figura 2 Flip flop JK a partir de flip flop datum D KQJQ JKQ 00 01 11 10 JKQ 00 01 11 10 0 0 1 0 0 0 0 1 0 0 1 1 1 0 1 1 1 1 0 1 Tabela 7 O mapa de Karnaugh do circuito combinacional com redução de spikes C J K V S D CP R Q Q K CONTROL J Q Q datum master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 338 D KQKQJQ D KQ JK JQ Figura 3 Flip flop JK a partir de flip flop datum D KQJKJQ Figura 4 Flip flop JK a partir de flip flop datum D KQJKJQ Figura 5 Flip flop JK trocando as portas AND e OR por portas NAND O projeto do circuito com portas NAND é feito por meio da propriedade BA BA De Morgan C J K V S D CP R Q Q J CONTROL K Q Q J CONTROL K Q Q datum master slave datum master slave Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 339 Figura 6 Flip flop JK a partir de flip flop datum com preset e clear Os nós topológicos apontados por set e reset possuem uma diferença de atraso provo cada pela porta NOT É possível eliminar este atraso por meio da construção da função D D KQJQ D KQJQ Figura 7 Flip flop JK a partir de flip flop RS Figura 8 Flip flop JK trocando as portas AND e OR por portas NAND K J C CLEAR V V PRESET Q Q K J C CLEAR V V PRESET Q Q J K C CLEAR V V PRESET Q Q set reset datum set reset set reset s r Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 340 SET QJKQ RESET QJKQ s SETC r RESETC s QJKQC r QJKQC Os circuitos anteriores apresentam uma série de seis portas lógicas de modo que os tempos de atraso de propagação do sinal são somados e acumulados provocando um grande atraso na resposta final do circuito O circuito pode ser simplificado para apenas cinco portas lógicas redu zindo o tempo de atraso e aumentando a capacidade do circuito em relação à frequência do relógio A seguir é apresentado o processo matemático por meio do qual esta simplificação é efetuada Figura 9 A primeira etapa do processo de simplificação Figura 10 A segunda etapa do processo de simplificação J K C CLEAR V V PRESET Q Q C K J CLEAR V V PRESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 341 Figura 11 Os cinco tipos de flip flop JK disponíveis no ambiente de simulação 74LS73 DIP14 Dual NegativeEdgeTriggered MasterSlave JK FlipFlops with Clear and Complementary Outputs 74LS112 DIP16 Dual JK NegativeEdgeTriggered FlipFlops with Clear And Preset 4027 DIP 16 CMOS Dual JK MasterSlave FlipFlop J CP K R Q Q 74LS73 J CP K R Q Q 74LS107 S J CP K R Q Q 4027 S J CP K R Q Q 74LS76 S J CP K R Q Q 74LS112 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 342 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 343 Capítulo 502 Toggle JK O toggle datum foi apresentado em capítulos anteriores O toggle JK opera exatamente da mesma forma ou seja exerce uma divisão de freqüência por dois O efeito toggle consiste em uma eterna inversão na saída do circuito O flip flop JK opera como toggle quando ele aplica unicamente o comando invert As entradas J e K estão sempre ligadas ao valor lógico 1 Figura 1 Toggle com 74LS76 Figura 2 FF JK com as duas entradas de dados em nível 1 Figura 3 Simplificação do toogle JK A figura 3 mostra que o flip flop JK operado como toogle consiste exatamente do mesmo circuito lógico do flip flop datum operado como toogle A simplificação é feita com base na proprie dade do elemento neutro e na propriedade do elemento nulo da adição e da multiplicação ló gicas O circuito da figura 3 resultado da simplificação do circuito da figura 2 consiste do flip flop datum com a saída Q realimentada à entrada de dado CLK V 5V S J CP K R Q Q 74LS76 C V 5V CLEAR V V PRESET Q Q C CLEAR V V PRESET Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 344 Comparando o circuito 2 com o circuito 3 é perceptível que o primeiro possui o adicional de dois tempos de atraso de propagação decorrentes das portas AND e OR nas entradas JK Isto signi fica que embora o toggle datum e o toggle JK sejam equivalentes no ponto de vista lógico eles são diferentes quanto à performance quanto à máxima freqüência de operação Além disso existe o consumo de energia elétrica destas portas lógicas Por todos esses motivos o toggle datum deve ser preferido em detrimento do toggle JK Uma terceira vantagem do toggle datum em relação ao toggle JK é que por possuir menos portas lógicas o tamanho geométrico ocupado no layout do circuito integrado é menor liberando espaço para outros circuitos O uso de menos portas lógicas também traz a vantagem de que todo dispositivo elétrico mesmo integrado possui uma probabilidade conhecida de apresentar defeito após o processo de fabricação Ao usar menos portas lógicas a probabilidade de ocorrência de de feito do produto final durante os procedimentos de controle de qualidade é diminuída Considerando então que o flip flop JK operado como toggle corresponde exatamente ao mesmo circuito l então os flip flops datum são a melhor opção para a construção de contadores assíncronos Entretanto a orientação para o projeto de circuitos integrados digitais aponta no sen tido do uso de módulos repetíveis Em outras palavras estes circuitos devem ser construídos a partir do uso da menor variedade possível de portas lógicas e de flip flops Por esta razão é interessante que se evite usar flip flop datum e flip flop JK em um mesmo circuito integrado Neste contexto se por alguma razão o circuito precisa usar flip flop JK e se este mesmo circuito precisa fazer uso de um contador assíncrono então este contador deve usar flip flop JK mesmo sabendo que cada flip flop JK operado como toggle será reduzido à mesma funcionalidade de um toggle datum Todo contador assíncrono pode ser construído a partir do toggle datum ou a partir do toggle JK ou até mesmo de uma mistura destes dois toggles Considerando porém que o contador as síncrono datum possui vantagens em relação ao contador assíncrono JK tanto quanto à capacidade de resposta em freqüência quanto ao consumo de energia elétrica e considerando também que o contador síncrono possui um comportamento mais confiável do que o contador assíncrono ausên cia de spikes então os capítulos seguintes focarseão na apresentação das metodologias para o projeto de contadores JK síncronos Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 345 Capítulo 503 Contador síncrono JK Foi apresentado anteriormente o método empregado no projeto intuitivo do contador sín crono datum Tal método é intuitivo porque está baseado unicamente na observação do comporta mento das funções Q em um caso bastante específico a saber o contador completo crescente Por ser um método intuitivo não há nenhuma sistematização Este mesmo procedimento pode ser em pregado para o projeto do contador completo crescente JK Existe porém uma diferença no projeto de contadores datum e no projeto de contadores JK Enquanto o primeiro tipo emprega uma única função de entrada por bit de contagem o segundo emprega duas funções No primeiro caso as funções datum equivalem ao valor futuro para as saídas Q tornando o procedimento bastante rápido e simples No segundo caso esta relação imediata de cronologia não existe É preciso lançar mão das definições dos comandos do flip flop JK Comando J K Hold 0 0 Reset 0 1 Set 1 0 Invert 1 1 Tabela 1 O acionamento dos comandos do FF JK Tipo Comandos Com memória Hold Invert Sem memória Reset Set Tabela 2 Os dois tipos de comando do FF JK O método intuitivo apresentado neste capítulo para o projeto de contadores síncronos JK segue a mesma linha de raciocínio do método intuitivo apresentado anteriormente para o projeto de contadores síncronos datum Considerando que o flip flop datum possui apenas comandos sem memória usaremos neste método somente os comandos JK sem memória a saber reset e set Comando D J K Reset 0 0 1 Set 1 1 0 Tabela 3 Comparação entre os comandos D e os comandos JK Conforme evidenciado na tabela anterior um flip flop JK que utiliza apenas os comandos sem memória opera exatamente como um flip flop datum Neste caso não há benefício algum na escolha pelo uso do flip flop JK pelo contrário a escolha pelo flip flop datum representa melhor capacidade de frequência e menor consumo de energia elétrica Figura 1 FF JK operando como FF D CLK D V V S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 346 É possível projetar intuitivamente o contador JK lançando mão dos comandos com memória Isto permite a criação de um circuito com um formado diferente daquele proporcionado pelo mé todo do uso dos comandos sem memória usado no contador datum Comando J K Hold 0 0 Invert 1 1 Tabela 4 Os comandos com memória do FF JK Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 bit 2 bit 1 bit 0 0 0 0 0 0 0 0 1 hold hold hold invert 0 0 0 1 0 0 1 0 hold hold invert invert 0 0 1 0 0 0 1 1 hold hold hold invert 0 0 1 1 0 1 0 0 hold invert invert invert 0 1 0 0 0 1 0 1 hold hold hold invert 0 1 0 1 0 1 1 0 hold hold invert invert 0 1 1 0 0 1 1 1 hold hold hold invert 0 1 1 1 1 0 0 0 invert invert invert invert 1 0 0 0 1 0 0 1 hold hold hold invert 1 0 0 1 1 0 1 0 hold hold invert invert 1 0 1 0 1 0 1 1 hold hold hold invert 1 0 1 1 1 1 0 0 hold invert invert invert 1 1 0 0 1 1 0 1 hold hold hold invert 1 1 0 1 1 1 1 0 hold hold invert invert 1 1 1 0 1 1 1 1 hold hold hold invert 1 1 1 1 0 0 0 0 invert invert invert invert Tabela 5 Funcionamento do contador de 4 bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 Tabela 6 Programação dos bits de entrada do contador de 4 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 347 Funções J0 e K0 Em toda contagem completa crescente ou decrescente o LSb age como um toggle Q0 J0 K0 0 1 1 1 1 1 Tabela 7 Funcionamento do contador de 1 bit J0 1 K0 1 Figura 2 Circuito para o contador de 1 bit Funções J1 e K1 Primeiramente é preciso construir a tabelaverdade para depois determinar as funções Antes Depois Antes Depois Antes Depois Q1 Q0 Q1 Q0 bit 1 Q1 Q0 Q1 Q0 J1 K1 0 1 0 0 0 1 hold 0 0 0 1 0 0 1 2 0 1 1 0 invert 0 1 1 0 1 1 2 3 1 0 1 1 hold 1 0 1 1 0 0 3 0 1 1 0 0 invert 1 1 0 0 1 1 Tabela 8 Funcionamento do contador de 2 bits J1 Q0 K1 Q0 Figura 3 Os dois bits menos significativos Funções J2 e K2 Antes Depois 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0 Tabela 9 Definição do contador de 3 bits CLK V 321 4 S J CP K R Q Q CLK V 321 4 S J CP K R Q Q S J CP K R Q Q FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 348 Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 bit 2 Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 0 0 0 0 0 1 hold 0 0 0 0 0 1 0 0 0 0 1 0 1 0 hold 0 0 1 0 1 0 0 0 0 1 0 0 1 1 hold 0 1 0 0 1 1 0 0 0 1 1 1 0 0 invert 0 1 1 1 0 0 1 1 1 0 0 1 1 0 hold 1 0 0 1 0 1 0 0 1 0 1 1 1 1 hold 1 0 1 1 1 0 0 0 1 1 0 1 0 0 hold 1 1 0 1 1 1 0 0 1 1 1 0 0 0 invert 1 1 1 0 0 0 1 1 Tabela 10 Funcionamento do contador de 3 bits J2 Q1Q0 K2 Q1Q0 Figura 4 Os três bits menos significativos Funções J3 e Q3 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 0 0 0 0 0 0 0 1 hold 0 0 0 1 0 0 1 0 hold 0 0 1 0 0 0 1 1 hold 0 0 1 1 0 1 0 0 hold 0 1 0 0 0 1 0 1 hold 0 1 0 1 0 1 1 0 hold 0 1 1 0 0 1 1 1 hold 0 1 1 1 1 0 0 0 invert 1 0 0 0 1 0 0 1 hold 1 0 0 1 1 0 1 0 hold 1 0 1 0 1 0 1 1 hold 1 0 1 1 1 1 0 0 hold 1 1 0 0 1 1 0 1 hold 1 1 0 1 1 1 1 0 hold 1 1 1 0 1 1 1 1 hold 1 1 1 1 0 0 0 0 invert Tabela 11 Funcionamento do contador de 4 bits CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 349 Antes Depois Q3 Q2 Q1 Q0 Q2 Q2 Q1 Q0 J3 K3 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0 1 1 Tabela 12 Funcionamento do contador de 3 bits J3 Q2Q1Q0 K3 Q2Q1Q0 Figura 5 Os quatro bits menos significativos Estes circuitos possuem todos eles uma característica em comum Os flip flops possuem suas entradas de dados ligadas ao mesmo nó topológico Comando JK Hold 0 Invert 1 Tabela 13 O FF JK com as entradas de dados reduzidas a um único nó O desenvolvimento das funções J3 K3 J2 K2 J1 K1 J0 K0 mostra que existe um padrão nestas funções Cada bit do contador é formado por um flip flop e uma porta AND de duas entradas As entradas J e K do flip flop recebem a saída da porta AND Com base nestas observações é possível projetar estes contadores de maneira sistemática Por exemplo o contador de cinco bits é construído por meio da inclusão de um flip flop e uma porta AND ao contador de quatro bit CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 350 Figura 6 Contador de cinco bits É possível criar um módulo contendo estes dois elementos aplicáveis para cada bit do con tador e replicar este módulo para todos os bits do contador Esta técnica produz um contador mo dular Figura 7 Contador modular de quatro bits Figura 8 Circuito do módulo contador JK síncrono de um bit Figura 9 Símbolo do módulo contador JK síncrono de um bit Figura 10 Quatro módulos contador JK síncronos de um bit CLK 321 4 V S J CP K R Q Q 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q V CLK threshold 2 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V threshold 1 enable 1 enable 2 CLK output V threshold 2 S J CP K R Q Q threshold 1 th1 th2 1bit JK COUNT en1 en2 CLK out 321 4 1bit JK COUNT th1 th2 1bit JK COUNT CLK 1bit JK COUNT 1bit JK COUNT en1 en2 out FF0 FF1 FF2 FF3 FF4 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 351 Capítulo 504 Contador síncrono decrescente JK No capítulo anterior foi apresentado o projeto do contador síncrono crescente JK por meio dos comandos com memória O mesmo procedimento pode ser usado para o projeto de contadores decrescentes É possível inverter qualquer contagem por meio do uso das saídas Q porém o uso de tais saídas não é recomendado porque nem todos os circuitos integrados oferecem acesso ex terno a estes bits Antes Depois dec Q3 Q2 Q1 Q0 dec Q3 Q2 Q1 Q0 bit 3 bit 2 bit 1 bit 0 0 0 0 0 0 15 1 1 1 1 invert invert invert invert 1 0 0 0 1 0 0 0 0 0 hold hold hold invert 2 0 0 1 0 1 0 0 0 1 hold hold invert invert 3 0 0 1 1 2 0 0 1 0 hold hold hold invert 4 0 1 0 0 3 0 0 1 1 hold invert invert invert 5 0 1 0 1 4 0 1 0 0 hold hold hold invert 6 0 1 1 0 5 0 1 0 1 hold hold invert invert 7 0 1 1 1 6 0 1 1 0 hold hold hold invert 8 1 0 0 0 7 0 1 1 1 invert invert invert invert 9 1 0 0 1 8 1 0 0 0 hold hold hold invert 10 1 0 1 0 9 1 0 0 1 hold hold invert invert 11 1 0 1 1 10 1 0 1 0 hold hold hold invert 12 1 1 0 0 11 1 0 1 1 hold invert invert invert 13 1 1 0 1 12 1 1 0 0 hold hold hold invert 14 1 1 1 0 13 1 1 0 1 hold hold invert invert 15 1 1 1 1 14 1 1 1 0 hold hold hold invert Tabela 1 Funcionamento do contador decrescente de 4 bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 Tabela 2 Programação dos bits de entrada do contador decrescente de 4 bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 352 Funções J1 e K1 Antes Depois dec Q1 Q0 dec Q1 Q0 bit 1 J1 K1 0 0 0 3 1 1 invert 1 1 1 0 1 0 0 0 hold 0 0 2 1 0 1 0 1 invert 1 1 3 1 1 2 1 0 hold 0 0 Tabela 3 Funcionamento do contador decrescente de 2 bits J1 Q0 K1 Q0 Figura 1 Contador decrescente de dois bits Funções J2 e K2 Antes Depois dec Q2 Q1 Q0 dec Q2 Q1 Q0 bit 2 J2 K2 0 0 0 0 7 1 1 1 invert 1 1 1 0 0 1 0 0 0 0 hold 0 0 2 0 1 0 1 0 0 1 hold 0 0 3 0 1 1 2 0 1 0 hold 0 0 4 1 0 0 3 0 1 1 invert 1 1 5 1 0 1 4 1 0 0 hold 0 0 6 1 1 0 5 1 0 1 hold 0 0 7 1 1 1 6 1 1 0 hold 0 0 Tabela 4 Funcionamento do contador decrescente de 3 bits J2 Q1Q0 K2 Q1Q0 Figura 2 Contador decrescente de três bits CLK V 321 4 S J CP K R Q Q S J CP K R Q Q CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 353 Funções J3 e K3 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 bit 3 J3 K3 0 0 0 0 1 1 1 1 invert 1 1 0 0 0 1 0 0 0 0 hold 0 0 0 0 1 0 0 0 0 1 hold 0 0 0 0 1 1 0 0 1 0 hold 0 0 0 1 0 0 0 0 1 1 hold 0 0 0 1 0 1 0 1 0 0 hold 0 0 0 1 1 0 0 1 0 1 hold 0 0 0 1 1 1 0 1 1 0 hold 0 0 1 0 0 0 0 1 1 1 invert 1 1 1 0 0 1 1 0 0 0 hold 0 0 1 0 1 0 1 0 0 1 hold 0 0 1 0 1 1 1 0 1 0 hold 0 0 1 1 0 0 1 0 1 1 hold 0 0 1 1 0 1 1 1 0 0 hold 0 0 1 1 1 0 1 1 0 1 hold 0 0 1 1 1 1 1 1 1 0 hold 0 0 Tabela 5 Funcionamento do contador decrescente de 4 bits J3 Q2Q1Q0 K3 Q2Q1Q0 Figura 3 Contador decrescente de quatro bits A diferença entre os contadores crescentes e os decrescentes é que os crescentes usam nas portas lógicas AND os bits Q enquanto os decrescentes usam os bits Q Figura 4 Contador decrescente de cinco bits V 4321 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK 321 4 V S J CP K R Q Q 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q FF0 FF1 FF2 FF3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 354 É possível criar um contador reversível através da comutação entre os bits Q e os bits Q por meio do uso da porta lógica XOR como um inversor programável A segunda opção do contador reversível logo abaixo apresenta a vantagem de que na ocasião da seleção do comando de inversão o valor vigente é preservado Na primeira opção o processo de seleção da inversão implica na ime diata inversão bitabit da saída Figura 5 Contador reversível por meio da inversão das saídas Figura 6 Contador reversível por meio da inversão das entradas das portas AND direction CLK 321 4 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q direction CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 355 Capítulo 505 Modificações no contador síncrono JK No capítulo anterior foi apresentado o método de projeto de contadores completos síncro nos JK por meio do uso dos comandos com memória hold e invert Este método pode ser aplicado para outros tipos de contadores síncronos JK Uma mensagem precisa ficar clara para o estudante que se depara com a apresentação desta metodologia No caso dos contadores completos este método fornece o circuito lógico em sua forma otimizada porém no caso de outros contadores este método não garante a otimização O propósito deste capítulo é apresentar o desenvolvimento do intelecto humano no sentido de per mitir o melhor entendimento a respeito dos melhores métodos de projeto destes circuitos Nos capítulos seguintes será apresentado um aperfeiçoamento deste método tornando a metodologia deste capítulo desaconselhável A diferença está no fato de que neste capítulo será apresentado o método de aplicação de somente os comandos com memória hold e invert Nos capítulos seguintes será apresentado o método que emprega também os comandos sem memória set e reset mostrando a maneira como esta inclusão permite uma interessante redução no tamanho do circuito Exemplo 1 Contador de 0 a 2 Antes Depois Antes Depois Q1 Q0 Q1 Q0 bit 1 bit 0 0 1 0 0 0 1 hold invert 1 2 0 1 1 0 invert invert 2 0 1 0 0 0 invert hold 3 X 1 1 X X Tabela 1 Funcionamento do contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 0 1 0 0 1 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 X X X X X X Tabela 2 Funcionamento do contador de 0 a 2 J0 Q1 J1 Q1Q0 K0 Q1 K1 Q1Q0 Figura 1 Circuito lógico do contador de 0 a 2 CLK V 321 4 S J CP K R Q Q S J CP K R Q Q FF0 FF1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 356 Exemplo 2 Contador de 0 a 6 Antes Depois Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 bit 2 bit 1 bit 0 0 1 0 0 0 0 0 1 hold hold invert 1 2 0 0 1 0 1 0 hold invert invert 2 3 0 1 0 0 1 1 hold hold invert 3 4 0 1 1 1 0 0 invert invert invert 4 5 1 0 0 1 0 1 hold hold invert 5 6 1 0 1 1 1 0 hold invert invert 6 0 1 1 0 0 0 0 invert invert hold 7 X 1 1 1 Tabela 3 Funcionamento do contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 0 0 1 1 1 1 1 1 1 0 0 1 0 1 0 0 0 0 1 1 1 0 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 X X X X X X X X X X X X Tabela 4 Funcionamento do contador de 0 a 6 J2 K2 J1 K1 J0 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 0 1 0 0 0 1 1 0 0 1 1 1 1 1 0 0 X 1 1 0 1 X 1 1 1 1 X 0 Tabela 5 Minimização das funções J2 K2 Q1Q2Q0 J1 K1 Q0Q2Q1 J0 K0 Q2Q1 É possível observar que o processo de minimização por Mapa de Karnaugh não é suficiente para promover uma boa minimização Isso acontece porque este método de projeto não oferece irrelevâncias As únicas irrelevâncias observáveis acontecem em razão da ocorrência de estados fantasmas No capítulo seguinte é apresentada uma estratégia de criação de irrelevâncias por meio da disponibilização dos quatro comandos do flip flop JK O método apresentado neste capítulo possui a vantagem de implicar na construção de uma única função para cada bit de contagem tornandoo bastante semelhante ao método aplicado ao flip flop datum Estes dois métodos porém possuem a desvantagem do baixo poder minimizatório decorrente da pequena ou nula ocorrência de irrelevâncias O método apresentado no capítulo se guinte possui a desvantagem de implicar na construção de duas funções para cada bit de contagem porém mesmo assim o poder minimizatório supera esta desvantagem tornando aquele método mais interessante Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 357 Figura 2 Circuito lógico do contador de 0 a 6 CLK S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V FF0 FF1 FF2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 358 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 359 Capítulo 506 Minimização no contador síncrono JK No capítulo anterior foi apresentado o método de projeto de contadores síncronos JK por meio do uso dos comandos com memória hold e invert Os comandos sem memória set e reset podem ser empregados a fim de gerar uma interessante redução no tamanho do circuito Um bit binário possui apenas quatro possibilidades de transição É preciso saber identificar quais comandos efetuam determinadas transições Nesta identi ficação é preciso separar os comandos quanto a possuírem ou não memória A ocorrência das irrelevâncias nos comandos do FF JK permite um maior poder minimizató rio promovendo uma interessante redução no tamanho do circuito lógico Esta é uma característica exclusiva do FF JK e que o torna bastante atraente no projeto de contadores síncronos Este método de projeto implica no uso de duas funções lógicas para cada bit de contagem Em virtude da ocorrência de uma minimização de várias funções no mesmo sistema é preciso apli car os conceitos já explicados em capítulos anteriores sobre a minimização conjunta de várias funções Este tipo de método implica no uso de dois tipos de irrelevâncias Irrelevâncias devidas aos comandos JK Irrelevâncias devidas aos estados fantasmas Transição Efeito 00 permanência baixa 01 borda de subida 10 borda de descida 11 permanência alta Tabela 1 As opções de transição em um bit Cada uma dos quatro tipos de transição pode ser efetuado por meio de um comando com memória e por meio de um comando sem memória Esta característica não é observada nos conta dores construídos a partir de FF RS ou FF datum Comando Transição Com memória Sem memória 00 hold reset 01 invert set 10 invert reset 11 hold set Tabela 2 As opções de comando para cada transição Comando Transição Com memória Sem memória J K J K 00 0 0 0 1 01 1 1 1 0 10 1 1 0 1 11 0 0 1 0 Tabela 3 As configurações das entradas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 360 Cada tipo de transição pode ser efetuada por meio de dois comandos JK e cada um desses dois comandos é ativado por meio dos dois bits de entrada J e K Nestes dois comandos um dos bits é igual e um dos bits é diferente Quando o valor do bit é diferente na comparação entre os dois comandos este bit é irrelevante Transição Comando J K 00 0 X 01 1 X 10 X 1 11 X 0 Tabela 4 A tabela de transições JK O surgimento das irrelevâncias proporciona um grande poder minimizatório nos Mapas de Karnaugh Este poder está no fato de que em cada tabelaverdade ou Mapa de Karnaugh metade das células é irrelevante por causa da tabela de transições JK Este é o motivo porque o FF JK é a melhor opção para o projeto de contadores síncronos mesmo sabendo que o FF D apresenta uma capacidade de freqüência superior O uso do FF JK apresenta vantagem apenas quanto ao surgimento das irrelevâncias Tal van tagem desaparece quando o projeto é feito a partir das funções lógicas escritas na forma canônica Neste caso o uso de FF D é recomendado Estes circuitos serão abordados na ocasião do estudo a cerca dos dispositivos lógicos programáveis Contadores de um bit Analisemos agora de maneira genérica os contadores de um dois três e quatro bits sa bendo que os contadores maiores seguem a mesma linha de raciocínio A coluna marcada como antes não muda nunca pois por definição todo estado estável precisa ter pelo menos um ca minho de saída Quanto à coluna de saída ela pode apontar para qualquer estado estável do sis tema inclusive o próprio estado anterior Antes Depois Q Q bit J K 0 0 1 00 01 0 X 1 X 1 0 1 10 11 X 1 X 0 Tabela 5 As possibilidades de contagem de um bit Antes Depois Q Q J K 0 X 1 X Tabela 6 O esboço da tabela de transições de um bit Nas tabelasverdade das funções J e K somente as células marcadas com são confi guráveis em acordo com o diagrama de estados estáveis finitos As células irrelevantes tem o seu valor definido a partir dos implicantes primos essenciais dos Mapas de Karnaugh Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 361 Contadores de dois bits Antes Depois Q1 Q0 Q1 Q0 bit 1 bit 0 J1 K1 J0 K0 0 0 0 0 1 1 0 1 0 1 00 00 01 01 00 01 00 01 0 X 0 X 1 X 1 X 0 X 1 X 0 X 1 X 0 1 0 0 1 1 0 1 0 1 00 00 01 01 10 11 10 11 0 X 0 X 1 X 1 X X 1 X 0 X 1 X 0 1 0 0 0 1 1 0 1 0 1 10 10 11 11 00 01 00 01 X 1 X 1 X 0 X 0 0 X 1 X 0 X 1 X 1 1 0 0 1 1 0 1 0 1 10 10 11 11 10 11 10 11 X 1 X 1 X 0 X 0 X 1 X 0 X 1 X 0 Tabela 7 As possibilidades de contagem de dois bits Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 X X 0 1 X X 1 0 X X 1 1 X X Tabela 8 O esboço da tabela de transições de dois bits J1 J0 10 0 1 10 0 1 0 0 X 1 X X 1 X K1 K0 10 0 1 10 0 1 0 X X 0 X 1 1 X Tabela 9 O esboço dos Mapas de Karnaugh de três bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 362 Contadores de três bits Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 X X X 0 0 1 X X X 0 1 0 X X X 0 1 1 X X X 1 0 0 X X X 1 0 1 X X X 1 1 0 X X X 1 1 1 X X X Tabela 10 O esboço da tabela de transições de três bits J2 J1 J0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 X X 0 X X 1 X X X X 1 X X 1 X X K2 K1 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 X X X X 0 X X 0 X X 1 1 X X 1 X X Tabela 11 O esboço dos Mapas de Karnaugh de três bits Contadores de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 X X X X 0 0 0 1 X X X X 0 0 1 0 X X X X 0 0 1 1 X X X X 0 1 0 0 X X X X 0 1 0 1 X X X X 0 1 1 0 X X X X 0 1 1 1 X X X X 1 0 0 0 X X X X 1 0 0 1 X X X X 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X Tabela 12 O esboço da tabela de transições de quatro bits Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 363 J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 00 X X X X 01 01 X X X X 11 X X X X 11 10 X X X X 10 J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 00 X X X X 01 X X X X 01 11 X X X X 11 10 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 X X 00 X X 01 X X 01 X X 11 X X 11 X X 10 X X 10 X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 X X 00 X X 01 X X 01 X X 11 X X 11 X X 10 X X 10 X X Tabela 13 O esboço dos Mapas de Karnaugh de quatro bits Exemplo 1 Contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 0 0 0 1 0 X 1 X 0 1 1 0 1 X X 1 1 0 0 0 X 1 0 X 1 1 X X X X X X Tabela 14 Funcionamento do contador de 0 a 2 J1 J0 10 0 1 10 0 1 0 0 1 0 1 X 1 X X 1 0 X K1 K0 10 0 1 10 0 1 0 X X 0 X 1 1 1 X 1 X 1 Tabela 15 O esboço dos Mapas de Karnaugh de três bits J1 Q0 K1 1 J0 Q1 K0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 364 Figura 1 Circuito lógico do contador de 0 a 2 Antes Depois Q1 Q0 Q1 Q0 J1 K1 J0 K0 J1 K1 J0 K0 0 0 0 1 0 1 1 1 reset invert 0 1 1 0 1 1 1 1 invert invert 1 0 0 0 0 1 0 1 reset reset 1 1 0 0 1 1 0 1 invert reset Tabela 16 Funcionamento do contador de 0 a 2 após a substituição das irrelevâncias Figura 2 Diagrama de estados estáveis finitos completo do contador de 0 a 2 Exemplo 2 Contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 0 1 1 0 X X 0 1 X 0 1 1 1 0 0 1 X X 1 X 1 1 0 0 1 0 1 X 0 0 X 1 X 1 0 1 1 1 0 X 0 1 X X 1 1 1 0 0 0 0 X 1 X 1 0 X 1 1 1 X X X X X X X X X Tabela 17 Funcionamento do contador de 0 a 6 J2 J1 J0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 0 0 1 0 0 0 1 X X 0 1 X X 1 1 X X X X 1 0 1 X X 1 1 X X 0 K2 K1 K0 210 00 01 11 10 210 00 01 11 10 210 00 01 11 10 0 X X X X 0 X X 1 0 0 X 1 1 X 1 0 0 X 1 1 X X X 1 1 X 1 X X Tabela 18 Mapas de Karnaugh do contador de 0 a 6 CLK V 321 4 S J CP K R Q Q S J CP K R Q Q 3 1 2 0 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 365 J2 Q1Q0 K2 Q1 J1 Q0 K1 Q2Q0 J0 Q2Q1 K0 1 Figura 3 Circuito lógico do contador de 0 a 6 Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 0 0 0 1 1 hold hold invert 0 0 1 0 1 0 0 0 1 1 1 1 hold invert invert 0 1 0 0 1 1 0 1 0 0 1 1 reset hold invert 0 1 1 1 0 0 1 1 1 1 1 1 invert invert invert 1 0 0 1 0 1 0 0 0 1 1 1 hold reset invert 1 0 1 1 1 0 0 0 1 1 1 1 hold invert invert 1 1 0 0 0 0 0 1 0 1 0 1 reset reset reset 1 1 1 0 0 0 1 1 1 1 0 1 invert invert reset Tabela 19 Funcionamento do contador de 0 a 6 Figura 4 Diagrama de estados estáveis finitos completo do contador de 0 a 6 CLK S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 V 0 6 1 2 7 4 3 5 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 366 Exemplo 3 Contador BCD Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 X 0 X 0 X 1 X 0 0 0 1 0 X 0 X 1 X X 1 0 0 1 0 0 X 0 X X 0 1 X 0 0 1 1 0 X 1 X X 1 X 1 0 1 0 0 0 X X 0 0 X 1 X 0 1 0 1 0 X X 0 1 X X 1 0 1 1 0 0 X X 0 X 0 1 X 0 1 1 1 1 X X 1 X 1 X 1 1 0 0 0 X 0 0 X 0 X 1 X 1 0 0 1 X 1 0 X 0 X X 1 1 0 1 0 X X X X X X X X 1 0 1 1 X X X X X X X X 1 1 0 0 X X X X X X X X 1 1 0 1 X X X X X X X X 1 1 1 0 X X X X X X X X 1 1 1 1 X X X X X X X X Tabela 20 Funcionamento do contador BCD J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 0 00 X X X X 01 0 0 1 0 01 X X X X 11 X X X X 11 X X X X 10 X X X X 10 0 1 X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 0 00 X X X X 01 X X X X 01 0 0 1 0 11 X X X X 11 X X X X 10 0 0 X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 1 0 01 0 1 X X 01 X X 1 0 11 X X X X 11 X X X X 10 0 0 X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X 1 00 X 1 1 X 01 1 X X 1 01 X 1 1 X 11 X X X X 11 X X X X 10 1 X X X 10 X 1 X X Tabela 21 Mapas de Karnaugh do contador BCD J3 Q2Q1Q0 K3 Q0 J2 Q1Q0 K2 Q1Q0 J1 Q3Q0 K1 Q0 J0 1 K0 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 367 J3 Q2J2 K3 Q0 J2 K2 Q1Q0 J1 Q3Q0 K1 Q0 J0 K0 1 Figura 5 Circuito lógico do contador BCD Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 Tabela 22 Funcionamento do contador BCD CLK V 321 4 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 368 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 hold hold hold invert 0 0 0 1 reset hold invert invert 0 0 1 0 hold hold hold invert 0 0 1 1 reset invert invert invert 0 1 0 0 hold hold hold invert 0 1 0 1 reset hold invert invert 0 1 1 0 hold hold hold invert 0 1 1 1 reset invert invert invert 1 0 0 0 hold hold hold invert 1 0 0 1 reset hold reset invert 1 0 1 0 hold hold hold invert 1 0 1 1 reset invert reset invert 1 1 0 0 hold hold hold invert 1 1 0 1 reset hold reset invert 1 1 1 0 hold hold hold invert 1 1 1 1 invert invert reset invert Tabela 23 Funcionamento do contador BCD Antes Depois Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 0 1 0 0 0 0 0 0 0 1 1 2 0 0 0 1 0 0 1 0 2 3 0 0 1 0 0 0 1 1 3 4 0 0 1 1 0 1 0 0 4 5 0 1 0 0 0 1 0 1 5 6 0 1 0 1 0 1 1 0 6 7 0 1 1 0 0 1 1 1 7 8 0 1 1 1 1 0 0 0 8 9 1 0 0 0 1 0 0 1 9 0 1 0 0 1 0 0 0 0 10 11 1 0 1 0 1 0 1 1 11 4 1 0 1 1 0 1 0 0 12 13 1 1 0 0 1 1 0 1 13 4 1 1 0 1 0 1 0 0 14 15 1 1 1 0 1 1 1 1 15 0 1 1 1 1 0 0 0 0 Tabela 24 Funcionamento completo do contador BCD Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 369 Figura 6 Diagrama de estados estáveis finitos completo para o contador BCD 0 2 14 12 10 8 6 4 1 3 13 3 5 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 370 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 371 Capítulo 507 Contador Anel Nos capítulos anteriores foram apresentados os contadores convencionais Aqueles conta dores apresentam em seus bits de saída um número binário correspondente ao valor instantâneo da contagem Poderíamos dizer que aqueles seriam contadores codificados pois o valor da con tagem é dado através de um código binário Também foram apresentados em capítulos anteriores os conceitos de codificadores e de decodificadores Na oportunidade foi mostrado que um valor binário pode ser apresentado de maneira codificada e de maneira codificada No caso da representação codificada o sufixo do bit em questão aponta para o valor decimal instantâneo da contagem Codificadores e decodificadores são circuitos combinacionais entretanto este conceito pode ser expandido para o escopo dos circuitos sequenciais Um contador decodificado seria aquele que tal como um decodificador possui um bit de saída exclusivo para cada estado estável sendo o índice do estado representado pelo sufixo do bit em uso Tal como os decodificadores os contadores decodificados acionam um e apenas um bit de saída por vez Nos circuitos combinacionais a decodificação aponta para o mintermo ou max termo selecionado Nos circuitos sequenciais a decodificação aponta para o estado vigente Como não é permitido acessar dois estados estáveis ao mesmo tempo então apenas um único bit de saída pode ser acionado por vez Em bora estes contadores sejam melhor denominados por contadores decodificados esta nomenclatura não é adotada Ao invés disso eles são chamados de contador anel ou ring coun ter O nome anel aponta para o fato de que temos um funcionamento cíclico periódico que pode ser representado em uma circunferência dividida em 360 graus A disposição física e geométrica dos LEDs acionados pelo contador anel é totalmente irrele vante Não é necessário dispor os LEDs de forma circular ou linear Apesar dos contadores anel possuírem um grande apelo intuitivo no deslocamento visual das luzes é no acionamento de máquinas elétricas que estes contadores encontram sua principal aplicação prática É bastante comum que a planta industrial de uma fábrica faça uso de processos acionados em cascata sequencialmente automaticamente Neste caso cada atuador é acionado por meio de um bit específico do contador anel Antigamente antes da popularização dos circuitos digitais os contadores anéis eram cons truídos de maneira mecânica Uma alavanca permite que o usuário do equipamento exerça com as mãos o giro do eixo central de uma mola helicoidal Esta mola é responsável pelo acúmulo de ener gia potencial elástica Quando o usuário retira a mão da alavanca a mola aciona um sistema de engrenagens redutoras de velocidade angular Esta redução além de regular o tempo de expansão da mola melhora a linearidade da expansão À medida em que o sistema de engrenagens atua a roda mais lenta efetua a comutação dos contatos gerando uma contagem em anel Embora este sistema funcione satisfatoriamente possui algumas desvantagens como por exemplo custo ta manho e peso elevados Além disso a mola helicoidal possui baixa vida útil Até hoje alguns fornos elétricos e máquinas de lavar roupas utilizam este sistema de contagem anel Posteriormente o sistema de atuação por mola helicoidal foi substituído por um motor elé trico trazendo a vantagem da linearização da contagem anel aumentando porém o custo do dis positivo Este sistema era bastante empregado em máquinas de lavar roupas do passado Alguns dispositivos apresentavam vários contatos acionados em um mesmo estágio de contagem consis tindo de vários contadores anel operados em paralelo Em capítulos seguintes serão apresentados os registradores de deslocamento Por meio de les é possível criar uma versão melhorada dos contadores anel Neste capítulo porém será apre sentado o contador anel projetado através da tabela de transições de estados apresentada nos ca pítulos anteriores Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 372 O tipo de contador anel apresentado neste capítulo bem como os contadores anel constru ídos a partir dos registradores de deslocamento possuem a desvantagem de utilizar um FF para cada bit anel Esta característica aponta para uma baixa capacidade de utilização do custo informa tivo Por exemplo um contador anel de quatro bits utilizando quatro FFs possui uma capacidade de contagem máxima de dezesseis estados dos quais apenas quatro são usados implicando em uma taxa de utilização de estados de apenas 25 Quanto maior é a quantidade de bits do conta dor anel menor é a sua taxa de utilização da capacidade informativa Em capítulos seguintes serão apresentados os contadores codificados Esta solução permite otimizar esta taxa de utilização bits anel quantidade de FFs estados possíveis taxa de utilização 3 3 238 38 375 4 4 2416 416 25 5 5 2532 532 15625 6 6 2664 664 9375 Tabela 1 Taxa de utilização da capacidade informativa nos contadores anel A versão digital dos contadores anel traz muitas vantagens como por exemplo Baixo custo Baixo consumo de energia elétrica Melhor miniaturização Maior vida útil Maior capacidade de bits Maior capacidade de frequência de operação Ausência de ruído acústico Anel de três bits Figura 1 Contador anel de três bits com LEDs em disposição circular Figura 2 Contador anel de três bits com LEDs em disposição linear Figura 3 Diagrama de estados finitos do contador anel de três bits 2 4 1 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 373 Figura 4 Diagrama de estados finitos incluindo os estados fantasmas No diagrama de estados estáveis finitos com os estados fantasmas é possível observar que o acesso ao estado 0 é inevitável pois a energização do circuito real leva os bits de saídas de dados ao estado inicial 0 Por outro lado o estado 0 não está incluído no contador anel Isto significa que este circuito inicia em uma situação de defeito passando a operar corretamente na sequên cia O estado 0 não pode ser considerado fantasma pois a sua saída não é irrelevante O estado 0 leva obrigatoriamente ao estado 1 Figura 5 Diagrama de estados finitos do contador anel de três bits na forma binária Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 1 0 0 1 X X 1 0 X 1 0 0 0 0 1 X 1 0 X 1 X Tabela 2 Funcionamento simplificado do contador anel de três bits Antes Depois Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 1 0 X 0 X 1 X 0 0 1 0 1 0 0 X 1 X X 1 0 1 0 1 0 0 1 X X 1 0 X 0 1 1 X X X X X X X X X 1 0 0 0 0 1 X 1 0 X 1 X 1 0 1 X X X X X X X X X 1 1 0 X X X X X X X X X 1 1 1 X X X X X X X X X Tabela 3 Funcionamento completo do contador anel de três bits 1 2 4 0 010 001 100 000 6 0 2 4 1 3 5 7 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 374 J2 K2 210 00 01 11 10 210 00 01 11 10 0 0 0 X 1 0 X X X X 1 X X X X 1 1 X X X J1 K1 210 00 01 11 10 210 00 01 11 10 0 0 1 X X 0 X X X 1 1 0 X X X 1 X X X X J0 K0 210 00 01 11 10 210 00 01 11 10 0 1 X X 0 0 X 1 X X 1 1 X X X 1 X X X X Tabela 4 Os Mapas de Karnaugh do contador anel de três bits K2 K1 K0 1 J2 Q1 J1 Q0 J0 Q1 Este contador é melhor desenhado na ordem invertida a saber colocando o FF mais signifi cativo à direita e o menos significativo à esquerda Figura 6 Circuito lógico do contador anel de três bits Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 1 0 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 Tabela 5 Preenchimento da tabela após a definição dos IPEs Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 reset reset invert 0 0 1 reset invert reset 0 1 0 invert reset reset 1 0 0 reset reset invert Tabela 6 Os comandos usados no contador anel Figura 7 Funcionamento do contador anel de três bits CLK Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q invert reset reset reset invert reset reset reset invert invert reset reset Q0 Q1 Q2 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 375 Anel de quatro bits Figura 8 Contador anel de quatro bits com LEDs em disposição circular Figura 9 Contador anel de quatro bits com LEDs em disposição linear Figura 10 Diagrama de estados finitos do contador anel de quatro bits Figura 11 Diagrama de estados finitos incluindo os estados fantasmas Figura 12 Diagrama de estados finitos do contador anel de quatro bits na forma binária 0 2 14 12 10 1 3 13 3 4 5 8 6 9 8 2 4 1 8 1 2 4 0 1000 0010 0100 0001 0000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 376 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 1 0 0 0 X 1 X X 1 0 X 0 1 0 0 1 0 0 0 1 X X 1 0 X 0 X 1 0 0 0 0 0 0 1 X 1 0 X 0 X 1 X Tabela 7 Funcionamento simplificado do contador anel de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 1 0 0 0 X 1 X X 1 0 X 0 0 1 1 X X X X X X X X X X X X 0 1 0 0 1 0 0 0 1 X X 1 0 X 0 X 0 1 0 1 X X X X X X X X X X X X 0 1 1 0 X X X X X X X X X X X X 0 1 1 1 X X X X X X X X X X X X 1 0 0 0 0 0 0 1 X 1 0 X 0 X 1 X 1 0 0 1 X X X X X X X X X X X X 1 0 1 0 X X X X X X X X X X X X 1 0 1 1 X X X X X X X X X X X X 1 1 0 0 X X X X X X X X X X X X 1 1 0 1 X X X X X X X X X X X X 1 1 1 0 X X X X X X X X X X X X 1 1 1 1 X X X X X X X X X X X X Tabela 8 Funcionamento completo do contador anel de quatro bits Mapas de Karnaugh na próxima página K3 K2 K1 K0 1 J3 Q2 J2 Q1 J1 Q0 J0 Q2Q1 Figura 13 Circuito lógico do contador anel de quatro bits CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 377 J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 X 0 00 X X X X 01 1 X X X 01 X X X X 11 X X X X 11 X X X X 10 X X X X 10 1 X X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 X 1 00 X X X X 01 X X X X 01 1 X X X 11 X X X X 11 X X X X 10 0 X X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X X 1 01 0 X X X 01 X X X X 11 X X X X 11 X X X X 10 0 X X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X 0 00 X 1 X X 01 0 X X X 01 X X X X 11 X X X X 11 X X X X 10 1 X X X 10 X X X X Tabela 9 Os Mapas de Karnaugh do contador anel de quatro bits Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 1 1 Tabela 10 Preenchimento da tabela após a definição dos IPEs Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 reset reset reset invert 0 0 0 1 reset reset invert invert 0 0 1 0 reset invert reset reset 0 1 0 0 invert reset reset reset 1 0 0 0 reset reset reset invert Tabela 11 Os comandos usados no contador anel Figura 14 Funcionamento do contador anel de quatro bits invert reset reset reset invert invert reset reset reset reset invert reset reset reset reset invert invert reset reset reset Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 378 É possível observar a ocorrência de um padrão Esta observação permite a expansão do con tador em anel para qualquer quantidade de bits sem a necessidade da efetuação de todo o proce dimento de projeto Todos os bits K são ligados ao nível lógico 1 Exceto J0 todos os demais bits J são ligados à saída Q à esquerda O bit J0 é ligado a todas as saídas Q exceto a última saída Q As saídas Q são levadas a J0 por meio de uma porta AND Figura 15 Contador anel de cinco bits Figura 16 Contador anel de seis bits A definição conceitual de contagem anel esclarece que somente um bit de saída é acionado por vez não permitindo que dois ou mais bits sejam ativados ao mesmo tempo Isso não impede que o conceito de contagem anel seja extrapolado para dois ou mais bits É necessário porém que o nome do contador faça menção a esta estrapolação Se duas saídas são acionadas dizemos que o contador anel é duplo Se são três saídas o contador é triplo E assim por diante CLK S J CP K R Q Q Q0 V Q4 Q1 Q2 Q3 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK Q5 S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Q3 Q2 Q1 Q4 V Q0 S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 379 Duplo anel de quatro bits Figura 17 Contador anel de quatro bits com LEDs em disposição circular Figura 18 Contador anel de quatro bits com LEDs em disposição linear Figura 19 Diagrama de estados finitos do contador anel de quatro bits Figura 20 Diagrama de estados finitos do contador anel de quatro bits na forma binária Figura 21 Diagrama de estados finitos incluindo os estados fantasmas 9 6 12 3 0 2 14 12 1 3 13 3 4 5 10 6 9 8 3 9 6 1 12 0 1001 0011 0110 1100 0001 0000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 380 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 1 0 X 0 X 1 X X 0 0 0 1 1 0 1 1 0 0 X 1 X X 0 X 1 0 1 1 0 1 1 0 0 1 X X 0 X 1 0 X 1 1 0 0 1 0 0 1 X 0 X 1 0 X 1 X 1 0 0 1 0 0 1 1 X 1 0 X 1 X X 0 Tabela 12 Funcionamento simplificado do contador anel de quatro bits J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 X 00 X X X X 01 X X X 1 01 X X X X 11 X X X X 11 0 X X X 10 X X X X 10 X 1 X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 X 00 X X X X 01 X X X X 01 X X X 0 11 X X X X 11 1 X X X 10 X 0 X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 0 X 01 X X X X 01 X X X 1 11 0 X X X 11 X X X X 10 X 1 X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X X 00 X 0 1 X 01 X X X 0 01 X X X X 11 1 X X X 11 X X X X 10 X X X X 10 X 0 X X Tabela 13 Os Mapas de Karnaugh do contador anel de quatro bits J3 K1 Q2 J2 K0 Q1 J1 K3 Q0 J0 K2 Q1 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0 Tabela 14 Preenchimento da tabela após a definição dos IPEs Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 381 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 hold reset hold set 0 0 0 1 reset reset set set 0 0 1 1 reset set set reset 0 1 1 0 set set reset reset 1 1 0 0 set reset reset set 1 0 0 1 reset reset set set Tabela 15 Os comandos usados no contador anel Figura 22 Circuito lógico do duplo contador anel de quatro bits CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 382 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 383 Capítulo 508 Contador Johnson No capítulo anterior foi apresentado o contador anel que embora tenha forte aplicação em automação industrial e em equipamentos eletrônicos também possui um interessante apelo visual Seguindo esta mesma linha de raciocínio foi criado o contador Johnson O contador Johnson oferece a percepção de progressão e de regressão Diferentemente do contador anel porém o contador Johnson possui baixa aplicação quanto ao acionamento de má quinas elétricas razão pela qual o contador Johnson é menos usado do que o contador anel O contador Johnson somente possui relevância quando a quantidade de bits é maior ou igual a quatro O sentido da contagem é irrelevante haja vista que por meio da ligação elétrica destes bits com os seus atuadores é possível fazer ou desfazer uma inversão Em relação ao contador anel o contador Johnson possui a vantagem de fazer uso do estado zero Isso permite que o circuito inicie sem a necessidade de que se faça uso de estados fantas mas Contagem Johnson de quatro bits Figura 1 Contador Johnson de quatro bits com LEDs em disposição linear Figura 2 Diagrama de estados estáveis finitos para o contador Johnson de quatro bits 12 0 3 15 1 7 14 8 1100 0000 0011 1111 0001 0111 1110 1000 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 384 Antes Depois Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 1 0 X 0 X 1 X X 0 0 0 1 1 0 1 1 1 0 X 1 X X 0 X 0 0 1 1 1 1 1 1 1 1 X X 0 X 0 X 0 1 1 1 1 1 1 1 0 X 0 X 0 X 0 X 1 1 1 1 0 1 1 0 0 X 0 X 0 X 1 0 X 1 1 0 0 1 0 0 0 X 0 X 1 0 X 0 X 1 0 0 0 0 0 0 0 X 1 0 X 0 X 0 X Tabela 1 Funcionamento simplificado do contador Johnson de quatro bits Figura 3 Diagrama de estados estáveis finitos completo para o contador Johnson de quatro bits J3 K3 3210 00 01 11 10 3210 00 01 11 10 00 0 0 0 X 00 X X X X 01 X X 1 X 01 X X X X 11 X X X X 11 0 X 0 0 10 X X X X 10 1 X X X J2 K2 3210 00 01 11 10 3210 00 01 11 10 00 0 0 1 X 00 X X X X 01 X X X X 01 X X 0 X 11 X X X X 11 1 X 0 0 10 0 X X X 10 X X X X J1 K1 3210 00 01 11 10 3210 00 01 11 10 00 0 1 X X 00 X X 0 X 01 X X X X 01 X X 0 X 11 0 X X X 11 X X 0 1 10 0 X X X 10 X X X X J0 K0 3210 00 01 11 10 3210 00 01 11 10 00 1 X X X 00 X 0 0 X 01 X X X X 01 X X 0 X 11 0 X X 0 11 X X 1 X 10 0 X X X 10 X X X X Tabela 2 Os Mapas de Karnaugh do contador Johnson de quatro bits 0 2 14 12 1 3 13 3 4 5 10 6 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 385 J3 Q2 K3 Q2 J2 Q1 K2 Q1 J1 Q0 K1 Q0 J0 Q3 K0 Q3 Figura 4 Circuito lógico para o contador Johnson de quatro bits Todos os FFs JK do circuito contador Johnson de quatro bits possuem as entradas J e K com plementares Isto significa que os FFs JK recebem apenas os comandos set e reset recebem apenas os comandos sem memória Em outras palavras os FFs JK atuam como FFs datum O cir cuito pode então ser melhorado trocando os FFs JK por FFs datum Figura 5 Circuito lógico para o contador Johnson de quatro bits usando FF datum D3 Q2 D2 Q1 D1 Q0 D0 Q3 Considerando que a saída Q do FF datum corresponde ao valor futuro da entrada datum então podemos fazer uma correlação cronológica entre as saídas Q Figura 6 Funcionamento do contador Johnson de quatro bits A inversão no bit Q3 é a raiz do efeito Johnson Considerando que todos os bits Q iniciam com valor 0 então a inversão de Q3 leva o valor 1 a Q0 Este valor 1 é deslocado sucessiva mente até a posição Q3 quando finalmente sofre uma nova inversão e transformase em 0 O entendimento deste funcionamento permite que este circuito seja expandido para tantos bits quanto se queira CLK Q3 Q0 Q1 Q2 V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q CLK S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q3 Q0 Q1 Q2 V Q0 Q1 Q2 Q3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 386 Figura 7 Circuito lógico para o contador Johnson de cinco bits bits johnson quantidade de FFs estados possíveis taxa de utilização 4 4 2416 816 50 5 5 2532 1032 3125 6 6 2664 1264 1875 Tabela 3 Taxa de utilização da capacidade informativa nos contadores anel Um contador Johnson possui o dobro da quantidade de estados de um contador anel com a mesma quantidade de bits oferecendo o dobro da taxa de utilização dos estados estáveis CLK S D CP R Q Q Q4 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q3 Q0 Q1 Q2 V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 387 Unidade 6 Registradores Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 388 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 389 Capítulo 601 Registrador paralelo Registrador é o dispositivo que tem como principal função realizar o registro de uma infor mação Registrar é o ato de memorizar Todo registrador pode ser considerado um tipo de memória Para efeito de organização do conteúdo e tomando como base a noção das palavras registrador e memória no imaginário popular brasileiro este texto faz a seguinte distinção entre os significa dos destas duas palavras Registrador Não possui barramento de endereço Memória Possui barramento de endereço Em outras palavras um registrador seria um tipo particular de memória onde haveria so mente um único endereço Há dois tipos de registradores Registrador paralelo Registrador série Quando a palavra registrador é usada sem a especificação sobre o tipo pressupõese tra tarse do registrador paralelo que é o tipo mais usado A função do registrador é a de exercer o armazenamento de uma e apenas uma palavra binária A unidade de registro é o flipflop Há dois tipos de registradores Registrador datum Registrador JK O registrador datum é melhor do que o registrador JK sob todas as análises A única justifi cativa para o uso do registrador JK é a situação onde o layout do circuito integrado é projetado para fazer uso de flipflops todos iguais do tipo JK Figura 1 Símbolo do registrador nbit REG write out CE WE in Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 390 Figura 2 Registrador datum de quatro bits Figura 3 Registrador datum de quatro bits com clear e write enable Figura 4 Registrador JK de quatro bits INA INB INC IND write V 5V 321 4 input 321 4 output S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q WE S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 output 321 4 input V 5V write clear INA IND INC INB write IND INC INB INA V 5V S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q 321 4 output 321 4 input Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 391 Figura 5 Registrador datum de quatro bits integrado Figura 6 Registrador com identificador de mudança na entrada Todos os circuitos digitais multiplexadores possuem um registrador para cada uma das en tradas Isso garante que a leitura das entradas é feita de maneira síncrona e impede que uma gra vação na saída seja feita durante o processo de escrita de uma das entradas Figura 7 Multiplexador com entradas registradas Figura 8 Multiplexador com saída registrada write enable reset IN D IN C IN B IN A write output enable 4076 D3 D2 D1 D0 ED1 ED0 EO1 EO0 CP MR Q0 Q1 Q2 Q3 321 4 output 321 4 input INA INB INC IND write mudou V 5V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 2bit 21 MUX sel out CE OE A B REG REG clk 2bit 21 MUX sel out CE OE A B REG clk Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 392 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 393 Capítulo 602 Registrador série Uma comunicação digital pode ser feita de duas maneiras Comunicação paralela Comunicação serial A vantagem da comunicação paralela é o fato de que todos os bits das palavras são transmi tidos simultaneamente isso oferece uma maior rapidez na comunicação A desvantagem da comu nicação paralela é que quando as distâncias são grandes o custo é elevado pois é necessário um condutor elétrico para cada bit das palavras binárias A vantagem da comunicação serial é o fato de que a depender do protocolo de comunica ção são necessários apenas um ou dois condutores elétricos para a transmissão dos dados A de pender do protocolo um condutor adicional pode ser necessário pode ser usado para a sincronia A desvantagem da comunicação serial é que é necessário usar um protocolo de comunicação e isso torna o circuito muito mais complexo Há dois tipos de comunicação serial Comunicação de um canal Serial data IO Comunicação de dois canais Serial in Serial out RX TX A comunicação de dois canais possui a vantagem de não precisar multiplexar temporalmente os dois sentidos do fluxo da informação proporcionando um protocolo de comunicação mais sim ples e um circuito digital mais barato A desvantagem da comunicação de dois canais é que ela re quer dois condutores de dados e isso implica em um custo elevado quando as distâncias são gran des A comunicação de um canal possui a vantagem adicional de permitir o uso de uma linha de transmissão não elétrica Exemplos de linha de transmissão não elétrica Fibra ótica Infravermelho Rádio Wifi O registrador serial possui aplicação unicamente no contexto da comunicação serial Sua aplicação é bastante restrita e limitada O registrador serial também é chamado de registrador de deslocamento shift register porque o seu funcionamento consiste do deslocamento bitabit através dos flipflops Um exemplo de aplicação seriam circuitos atrasadores Estes circuitos atrasadores são úteis quando a comunicação é feita em vários canais onde é observada uma falta de sincronia Neste caso os canais adiantados precisam ser atrasados para que estejam em sincronia com os canais atrasados Um exemplo desta situação seriam receptores de sinal de televisão digital onde o pro cessamento do áudio é muito mais rápido do que o do vídeo O registrador serial provoca um atraso concatenado O atraso concatenado é determinado pela soma dos atrasos individuais provocados por cada flipflop Este atraso depende da frequência de relógio Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 394 Figura 1 Registrador serial de quatro bits Figura 2 Registrador serial de quatro bits integrado Figura 3 Registrador serial de quatro bits com saída paralela Figura 4 Registrador serial de quatro bits integrado com saída paralela serial in pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q CP1 CP2 Q1 Q2 clock V 5V serial out pause serial in serial out CP1 CP2 Q1 Q2 4015 D CP MR Q0 Q1 Q2 Q3 12 U2A CP1 CP2 Q1 Q2 clock serial in pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V 5V Out0 Out1 Out2 Out3 serial in pause CP1 CP2 Q1 Q2 clock 4015 D CP MR Q0 Q1 Q2 Q3 12 321 4 parallel out Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 395 Figura 5 Registrador serial com leitura paralela na entrada e na saída Um contador assíncrono pode ser usado para identificar a quantidade de bits seriais recebi dos Este contador pode ser usado para interromper a leitura de bits seriais Esta interrupção pode ser usada para sinalizar a disponibilidade de uma palavra binária comleta na saída apta para ser lida por algum outro dispositivo Figura 6 Registrador serial com contagem de bits seriais pause serial in CP1 CP2 Q1 Q2 clock V 5V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 321 4 restart serial in 321 4 counter monitor S D CP R Q Q S D CP R Q Q V 5V CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 321 4 output monitor 321 4 input monitor Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 396 Figura 7 Registrador serial com contagem de bits seriais Geralmente um registrador série costuma vir acompanhado por um registrador paralelo Da mesma forma como o contador sinaliza a conclusão da chegada de uma palavra completa na en trada serial este mesmo contador pode ser usado para disparar o comando de escrita deste regis trador paralelo Este registrador paralelo é chamado de buffer register CP1 CP2 Q1 Q2 clock restart serial in 4321 4518 CP0 CP1 MR Q0 Q1 Q2 Q3 12 321 4 parallel out 4015 D CP MR Q0 Q1 Q2 12 Q3 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 397 Capítulo 603 Contador Johnson O contador Johnson foi apresentado na unidade 5 Naquele capítulo a técnica de projeto empregada consiste do uso de flipflops JK O leitor atento pode ter percebido que o circuito regis trador série apresentado no capítulo anterior assemelhase bastante ao contador Johnson Por meio de pequenas alterações é possível transformar o registrador de deslocamento em um contador Johnson A principal diferença entre um contador não configurável e um registrador de desloca mento é o fato de que o segundo possui uma entrada enquanto o primeiro não Com base nesta percepção o processo de transformação do registrador de deslocamento em um contador Johnson começa pela eliminação da entrada serial Esta eliminação pode ser feita por meio da realimentação da saída serial para a entrada serial Figura 1 Registrador serial com realimentação positiva Considerando que todos os flipflops iniciam com Q0 então o circuito da figura 1 perma nece estático Todas as saídas Q permanecem com valor zero Uma possível solução para esse pro blema seria usar a saída para promover os comandos setreset no primeiro flipflop Isso pode ser feito transformando o flipflop datum em um flipflop RS por meio das entradas assíncronas pre setclear O problema desta opção é o fato de que estas entradas assíncronas geram um descom passo na contagem Johnson Figura 2 Uso dos comandos presetclear pause S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q CP1 CP2 Q1 Q2 clock V 5V Out0 Out1 Out2 Out3 pause V 5V CP1 CP2 Q1 Q2 clock Out3 Out2 Out1 Out0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 398 Uma outra alternativa é a definição da função de entrada do registrador de deslocamento Esta definição pode ser feita por meio da observação do comportamento do contador Johnson Figura 3 Diagrama de estados estáveis finitos completo para o contador Johnson de quatro bits D3 max13715 X24569101113 D3 min081214 X24569101113 D3 3210 00 01 11 10 00 1 0 0 X 01 X X 0 X 11 1 X 0 1 10 1 X X X Tabela 1 Definição da função de entrada D3 Q0 Figura 4 Contador Johnson de quatro bits Caso não exista acesso às funções Q é possível usar uma porta NOT pause Out3 Out2 Out1 Out0 V 5V CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q 0 2 14 12 1 3 13 3 4 5 10 6 8 9 Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 399 Figura 5 Contador Johnson de quatro bits com porta NOT Embora faça mais sentido usar o primeiro flipflop localizado à esquerda como sendo o mais significativo o contador Johnson tornase mais intuitivo quando este bit é tomado como sendo o menos significativo pois ele é o primeiro a sofrer uma inversão Figura 6 Contador Johnson de dois bits Figura 7 Contador Johnson de três bits Figura 8 Contador Johnson de quatro bits CP1 CP2 Q1 Q2 D0 D1 D2 D3 Q0 Q1 Q2 Q3 CP Q1 Q0 CP1 CP2 Q1 Q2 clock S D CP R Q Q S D CP R Q Q V V S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q2 CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 400 Figura 9 Contador Johnson de cinco bits Figura 10 Contador Johnson de seis bits Da mesma forma como o flipflop JK não é indicado na construção do registrador de deslo camento igualmente o flipflop JK não é indicado na construção do contador Johnson conforme a topologia dos deslocamentos Porém caso seja necessário é possível usar o flipflop JK Figura 11 Contador Johnson JK de seis bits V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q4 CP1 CP2 Q1 Q2 clock Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock Q0 Q1 Q2 CP1 CP2 Q1 Q2 clock S J CP K R Q Q S J CP K R Q Q S J CP K R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 401 Capítulo 604 Contador Anel No capítulo anterior foi mostrada a maneira como o registrador de deslocamento pode ser transformado em um contador Johnson Igualmente o registrador de deslocamento pode ser trans formado em um contador Anel A inversão no último flipflop do contador Johnson é a responsável por tirar o ciclo do estado inicial e por esse motivo ela precisa ser preservada no contador Anel Desta forma podemos entender o contador Anel como sendo uma transformação no contador Johnson No contador Johnson existe uma borda de subida e uma borda de descida Essas duas bor das dividem o período em duas partes iguais Considerando que um contador Johnson de n bits possui 2n estados então a quantidade de passos de contagem incluídas em cada semiciclo é dada por n No contador Anel também existe uma borda de subida e uma borda de descida Porém diferentemente essas duas bordas não dividem o período em duas partes iguais No contador Anel o semiciclo positivo LED aceso nível lógico alto é composto por um único bit um único ciclo de contagem Um contador Anel de n bits possui n estados O maior problema no projeto de um contador Anel está no fato de que não existe estado zero isto é não é permitido que todos os bits assumam o nível zero ao mesmo tempo Isso é um problema porque os flipflops iniciam com Q0 Uma alternativa é construir o registrador de deslocamento com realimentação positiva e usar uma chave manual para realizar a iniciação da contagem anel Figura n Contador Anel com iniciação manual É desejável converter a iniciação manual em uma iniciação automática Esta iniciação auto mática precisa levar em conta o tipo de comando assíncrono dos flipflops Se os comandos pre setclear são ativos em nível baixo então a função lógica desta ativação é dada por um maxtermo Esse maxtermo precisa apontar para a posição zero pois é nela que o comando start precisa ser disparado Start max0 Start Q5 Q4 Q3 Q2 Q1 Q0 start Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 402 Figura 2 Contador Anel com iniciação automática Nem sempre as entradas assíncronas presetclear estão disponíveis Preferencialmente o circuito não deve ser dependente destas entradas Uma maneira de contornar este problema é lem brar que o semiciclo positivo é composto de apenas um passo de contagem um bit Sendo assim o circuito pode ser construído por meio da inversão da entrada e da saída de um dos flipflops Os inversores geram um atraso na propagação dos deslocamentos e um custo adicional Caso as saídas D estejam disponíveis elas devem ser usadas Figura 3 Contador anel com inversor Figura 4 Contador Anel de três bits CP1 CP2 Q1 Q2 clock V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 Q4 Q5 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q2 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q V Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 403 Figura 5 Contador Anel de quatro bits Figura 6 Contador Anel de cinco bits Figura 7 Contador Anel de seis bits A saída do primeiro flipflop é a única diferença entre o contador Anel e o contador Johnson Uma simples comutação nesta saída é suficiente para promover a transformação de um contador no outro contador Uma porta XOR pode ser usada na função de seletor entre as funções NOT e YES A comutação não pode ser feita no decorrer de uma contagem É preciso primeiro reiniciar o con tador V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 CP1 CP2 Q1 Q2 clock CP1 CP2 Q1 Q2 clock Q4 Q2 Q3 Q1 Q0 S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q V V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 404 Figura 8 Contador JohnsonAnel configurável reset Anel Johnson V S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q S D CP R Q Q Q0 Q1 Q3 Q2 Q5 Q4 CP1 CP2 Q1 Q2 clock Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 405 Capítulo 605 Memórias No contexto semântico a palavra memória consiste da revivência de fatos pertencentes ao passado Qualquer pessoa pode em qualquer momento consultar a sua memória para relem brar as cores É possível imaginar um quadro onde uma metade esteja na cor verde e a outra metade esteja na cor laranja mesmo estando com os olhos abertos Isso significa que o cérebro humano é capaz de ver com seus próprios olhos a cor azul ao mesmo tempo em que o cérebro recorda o que é a cor verde e a cor laranja O mesmo acontece com os sons O cérebro humano é capaz de imaginar o som de um saxofone enquanto os ouvidos recebem uma música interpretada por meio de outros instrumentos musicais A maneira formidável por meio da qual o cérebro humano é capaz de juntar as informações obtidas pelos órgãos dos sentidos junto com as informações obtidas por meio da consulta à memória é algo até hoje inexplicável Os estudos médicos mostram que a memória humana é armazenada por meio da matéria física Em outras palavras se consideramos a tricotomia corpoalmaespírito a memória faria parte do primeiro elemento o corpo Este entendimento está alicerçado no fato de que vários aconteci mentos podem provocar perda de memória como por exemplo acidentes onde ocorre perda de massa encefálica ou traumatismos cranianos e também a senilidade e as doenças degenerativas Estudos também mostram que a memória não estaria toda ela armazenada no cérebro Al gumas informações precisariam de um acesso ultra rápido Esse é o caso por exemplo da memó ria muscular É a memória muscular que faz com que um pianista após anos de estudos consiga executar obras musicais complicadíssimas com destreza e perfeição É a memória muscular que faz com que um skatista após anos de treinamento consiga executar uma manobra onde o skate faz um giro nos três eixos cartesianos simultaneamente O estilo individual da letra de mão é o resul tado da memória muscular Todos esses exemplos são casos onde o sujeito tem a impressão de que o movimento do corpo ocorre de maneira automática Essa impressão existe porque a promoção dos estímulos elétricos que acionam os músculos não é proveniente do cérebro mas sim dos ele mentos de memória anexos a esses músculos Além do fato de que parte da memória humana esteja espalhada por todo o corpo existe também a característica de que a memória humana é compartimentdada em segmentos hierárqui cos As informações que são consultadas constantemente são armazenadas em uma região de acesso mais fácil As informações que são consultadas raramente são armazenadas em locais mais distantes Isso explica a razão porque as atividades que são executadas cotidianamente são lembra das mais facilmente enquanto que aquelas atividades que ficaram no passado são lembradas com maior dificuldade Quando a informação é inacessada por um tempo prolongado há o risco de que ela seja aparentemente esquecida Outra característica essencial para que a memória seja considerada como tal é a sua dispo nibilidade ao acesso Grande parte das informações que consideramos esquecidas estão de fato armazenadas em nosso cérebro O que se entendem como esquecimento não seria exatamente sobre a informação propriamente dita mas sim sobre a sua rota de acesso Podemos entender o cérebro humano como sendo uma biblioteca composta por milhares de livros A informação que não pode ser lembrada estaria armazenada em algum destes livros porém a ficha catalográfica estaria incompleta de modo que não se sabe em qual livro esta informação estaria armazenada Se a memória humana é armazenada em algum elemento físico do corpo humano então é preciso que o cérebro seja capaz de acessar o exato local físico deste armazenamento Se o cérebro não sabe qual é este caminho então a informação é considerada esquecida Porém um agente externo pode guiar o cérebro na busca por esse caminho e a informação é relembrada O cérebro humano possui a habilidade de alocar uma porção da memória para as informa ções de relevância instantânea e de irrelevância em longo prazo Tratamse das informações que Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 406 acabaram de chegar e que o cérebro não sabe se elas serão necessárias futuramente são informa ções que têem grande chance de serem esquecidas permanentemente Isso explica por que quando o sujeito aprende alguma habilidade ele deve voltar a praticála no dia seguinte a fim de sinalizar ao cérebro que aquela informação tem relevância de longo prazo e que por isso ela não deve ser perdida Isso explica por que para a maioria das pessoas estudar para uma prova na véspera da avaliação traz um rendimento muito baixo em comparação ao ato de estudar nos dois dias anterio res Ao estudar a matéria no primeiro dia o cérebro não sabe se aquela informação tem relevância de longo prazo e por isso armazena aquele conteúdo em uma área de grande volatilidade Ao es tudar a mesma matéria no segundo dia o cérebro entende que aquela informação será acessada outras vezes e por isso armazena aquele conteúdo em uma porção de memória mais segura Para que este processo funcione em sua máxima potencialidade é preciso que haja uma noite de sono bem dormida entre os dois dias de estudos e uma outra noite de sono bem dormida entre os estu dos e a data da avaliação Quando o cérebro humano é exposto a um conteúdo de aprendizado novo o cérebro opera a uma frequência dada pelas ondas gama 25 a 100Hz Essas ondas cerebrais estão associadas à capacidade de aprender coisas novas a capacidade de armazenar novas informações Pessoas aco metidas por debilidades mentais possuem pouca produção de ondas gama No início da vida o in divíduo produz mais ondas gama Alguns estilos musicai estimulam a produção de ondas gama no cérebro e podem ser usadas para melhorar o rendimento nos estudos Essas ondas também são produzidas no sono profundo REM motivo porque as noites bem dormidas são essenciais para a obtenção de um bom aprendizado Um nutricionista pode ser consultado pois alguns alimentos ricos em açúcares podem estimular a produção de ondas gama Embora o envelhecimento do corpo humano traga naturalmente uma diminuição na pro dução de ondas gama pelo cérebro é fundamental que o indivíduo permaneça aprendendo coisas novas A ausência de novos aprendizados de novos desafios pode aumentar o efeito da perda de memória em idades avançadas O cérebro humano não é uma memória segura pois ela pode ser facilmente abalada Não apenas a morte pode apagar esta memória como também doenças degenerativas e acidentes Por essa razão é necessário transferir algumas informações para uma forma de armazenamento mais segura Durante o desenvolvimento das civilizações o homem encontrou diversas formas de produzir os seus registros A forma mais clássica são os desenhos nas cavernas Talvez a memória mais duradoura que já tenha sido inventada tenham sido as inscrições lapidadas nas rochas Peles de animais deram origem ao pergaminho A folha de papiro deu origem àquilo que chamamos de papel Os instrumentos pontiagudos usados para lapidar a pedra deram origem ao que chamamos de lápis Pequenos pedaços de cana munidos de um estilete na ponta deram origem ao que chamamos de caneta João Gutenberg transformou o carimbo em uma máquina de imprimir textos Estava inventada a memória mais usada pelo homem ao longo dos últimos séculos a saber o texto impresso Com o advento da computação surgiu a necessidade da criação de memórias acessáveis eletricamente A primeira memória elétrica digital foi construída por meio de chaves ligadesliga toggle switch Cada bit era acionado diretamente por meio de uma pessoa Na seqüência as cha ves mecânicas foram substituídas pelas chaves elétricas os relés relay Esse aperfeiçoamento per mitiu que as chaves fossem acionadas pelo próprio processador O passo seguinte foi substituir as chaves elétricas por chaves eletrônicas as válvulas termiônicas vacuum tubes Esta substituição promoveu a redução de custos e o aumento na rapidez das comutações A próxima etapa foi a sub situiução das chaves a vácuo pelas chaves de estado sólido solid state construídas em semicondu tor de silício A tecnologia de estado sólido promoveu um grande aumento da escala de integração das memórias bem como na redução de custo e do consumo de energia elétrica durante a opera ção Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 407 Alguns tipos de memória analógica são Memória mecânica por exemplo o dial de um receptor de rádio FM Memória gravitacional por exemplo os pesos usados no acionamento dos antigos relógios de cuco Memória dinâmica por exemplo a primeira lei de Newton a inércia Memória elástica por exemplo o sistema de propulsão de partida rápida em um automóvel elétrico Memória capacitiva se não há corrente elétrica o capacitor memoriza a sua tensão elétrica Memória indutiva se não há tensão elétrica o indutor memoriza a sua cor rente elétrica Memória elétrica um dielétrico carregado eletricamente memoriza sua carga elétrica até o momento da descarga elétrica Memória magnética um condutor pode ser magnetizado por meio da fricção por um íma permanente e a magnetização é memorizada até o momento em que um outro metal é atraído produzindo a descarga magnética Memória ótica um material fosforescente pode armazenar a energia lumi nosa aplicada sobre ele e posteriormente descarregar esta energia no escuro pro duzindo luz No contexto dos sistemas digitais interessam apenas as memórias digitais Um raro exem plo de aplicação de memória analógica em sistemas digitais é o circuito de amostraretenção sam ple and hold usado como etapa de entrada de um conversor analógicodigital AD converter Um capacitor é ligado à entrada de um amplificador operacional amp op em configuração de realimen tação negativa unitária Considerando que a impedância de entrada do amp op nesta configuração é quase infinita então a corrente elétrica drenada é quase zero Se a corrente elétrica no capacitor é quase zero então a sua constante de tempo é quase infinita ou seja o capacitor age como uma memória analógica A fim de tornar este texto mais conciso a expressão memória digital é chamada simples mente de memória Uma memória possui três barramentos Barramento de dados data bus Barramento de endereço address bus Barramento de controle control bus O barramento de dados exerce duas funções Entrada de dados data input Saída de dados data output A seleção entre as funções de entradasaída é feita por meio do circuito chamado TRIS uma abreviação de tristate São usados dois bufferes tristate em antiparalelo ou seja um buffer é acionado no modo input o outro buffer é acionado no modo output O sinal de controle de um buffer é o inverso do sinal do outro de modo que sempre há um buffer ligado e um buffer desligado Todos os bits do data bus recebem a mesma configuração O barramento de endereço é unidirecional de entrada O address bus recebe o address word uma palavra binária codificada que informa o endereço da palavra a ser acessada Em muitas Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 408 situações o address bus do circuito possui uma capacidade de endereçamento superior à quanti dade de palavras da memória fisicamente instalada Isso significa que endereços superiores efetuam um endereçamento inválido A programação da lógica de endereçamento precisa saber qual é a quantidade de memória fisicamente instalada O barramento de controle também é unidirecional porém os seus bits podem ser de entrada ou de saída conforme o significado da informação Os principais controles usados em memórias são Chip enable permite colocar o chip em modo de baixo consumo Chip select permite anular as entradas de dados Output enable permite colocar as saídas de dados em tristate Write enable permite bloquear a operação de escrita ReadWrite seleciona entre leitura e escrita Clear reinicia toda a memória Quanto à possibilidade de escrita as memórias podem ser ROM Read Only Memory somente leitura não volátil RAM Random Access Memory leitura e escrita volátil As ROMs podem ser de dois tipos Fixas recursivamente chamadas de ROMs Programáveis PROM As PROMs podem ser de dois tipos Write once programação irreversível Reprogrammable permite reprogramação As PROMs regraváveis podem ser de três tipos EPROM gravação por meio de luz ultravioleta EEPROM gravação por meio de tensão mais elevada Flash semelhante à EEPROM As RAMs podem ser de dois tipos Dinâmicas Armazenamento capacitivo Estáticas Armazenamento por flip flop datum Em uma ROM o data bus é unidirecional Qualquer circuito lógico puramente combinacional pode ser entendido como sendo uma ROM Os bits de entrada formam o address bus Os bits de saída formam o dataout bus O processo de escrita de uma RAM não pode ser confundido com o processo de programa ção de uma PROM A escrita de uma RAM é efetuada no mesmo contexto da leitura desta RAM A programação de uma PROMEPROMEEPROM é feita em um processo separado Durante o pro cesso de programação a memória está indisponível para o resto do sistema Muitos engenheiros e técnicos preferem usar um circuito separado para a programação da memória Esta separação fa vorece a simplificação do circuito de atuação da memória As memórias EPROM possuem uma janela de quartzo em formato circular no centro supe rior do encapsulamento Por meio da janela a luz ultravioleta é inserida nos pontos exatos onde a programação deve ser feita O quartzo é utilizado em razão do seu baixo índice de difração Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 409 As memórias flash empregam uma tecnologia relativamente nova lançada no mercado no ano 2000 A memória flash se propõe a oferecer uma alternativa ao uso da memória EEPROM A tecnologia anterior porém não será substituída pela nova em razão do fato de que as duas tecno logias tem suas vantagens e suas desvantagens Vantagem da memória flash Alto índice de integração Um bit construído em tecnologia flash ocupa um espaço físico no die região da pastilha de silício onde o circuito integrado é locali zado muito pequena em comparação com um bit construído em tecnologia EEPROM Isso significa que em um sistema integrado MCU ou DSP onde o espaço físico para acomodação dos elementos é bastante crítico é possível construir uma memória programável com uma capacidade de armaze namento muito maior por meio da tecnologia flash do que por meio da tecnologia EEPROM Essa elevada capacidade de armazenamento por meio da tecnologia flash permitiu que a partir do ano 2000 os sistemas integrados pudessem integrar também a memória de programa program me mory tudo em um único chip É na program memory que o microcódigo é gravado seqüência de instruções em linguagem assembler Antes disso com o uso da tecnologia EEPROM a PM era im plementada em um chip separado aumentando a complexidade do sistema Durante a época de transição foram lançados algumas MCUs com PM integrada com tecnologia EEPROM porém esses modelos foram pouco vendidos devido à baixa capacidade de armazenamento de instruções Mi croprocessadores não possuem program memory integrada Vantagem da memória EEPROM Menor custo por bit Maior rapidez na programação Menor deterioração no processo contínuo de reprogramação Por causa da maior rapidez na programação a memória EEPROM é escolhida quando o pro cesso requer maior rapidez Um exemplo clássico foi o da segunda geração das câmeras fotográficas digitais lançadas a partir do ano 2000 em razão da disponibilidade da tecnologia flash A primeira geração fazia uso de disquete do tipo 3 ½ A segunda geração possuía uma grande memória flash para armazenamento de fotografias e em alguns casos pequenas filmagens Porém o processo de gravação do arquivo de fotogravia na memória flash era e ainda é bastante demorado e durante este processo a máquina estaria indisponível ao usuário Para evitar esse problema os fabricantes incorporaram uma memória EEPROM com capacidade de armazenamento suficiente para arquivos de fotografia Quando o usuário tira uma foto ela é gravada rapidamente na EEPROM liberando a máquina para a obtenção de outras fotos enquanto o arquivo gravado na EEPROM é enviado para a flash No caso de arquivo de vídeo a gravação era feita na EEPROM em tempo real até o limite da capacidade de armazenamento desta memória Uma vez atingido o limite o arquivo é copiado para a flash Esse era o motivo porque mesmo tendo uma memória flash grande o suficiente para a gravação de vídeos de vários minutos de duração a máquina permitia a gravação seqüencial de apenas poucos segundos Com o passar dos anos foram desenvolvidas novas gerações de memória flash reduzindo o problema da morosidade do processo de programação mas ainda hoje a tecno logia EEPROM é vantajosa quanto a este critério Sistemas digitais 19052021 Prof Marco Aurélio Seluque Fregonezi httpwwwufsjedubrfregonezisistemasdigitaisphp 410