Prévia do material em texto
ELETRÔNICA DIGITAL AULA 1 Prof. Amilton Carlos Rattmann 2 CONVERSA INICIAL Seja bem-vindo(a)! Nossas aulas abrangerão conteúdo fundamental para cursos de engenharia do grupo II, compondo os conhecimentos necessários para a formação profissional. A eletrônica digital parte de um caso particular de polarização de transistor na eletrônica analógica e se expande até formar a base tecnocomputacional que hoje movimenta o mundo. A eletrônica digital está nas redes de dados e na internet, nas comunicações via satélite e nos sistemas celulares, nos computadores, nos videogames, nos sistemas industriais de controle de produção, nos eletrodomésticos e nos recentes dispositivos de internet das coisas (IoT). Os microprocessadores são os principais e, provavelmente, os mais conhecidos dispositivos pertencentes ao campo da eletrônica digital. Compostos por milhões de transistores operando em corte e saturação e contando com construção física otimizada para esse modo de operação, os processadores realizam milhões de instruções por segundo, controlam barramentos de comunicação digital, executam acesso à memória e transferência de blocos de dados, realizam operações simples e complexas, seguindo uma determinada sequência de comandos armazenados na sua memória de código. Esses comandos, compostos por operandos e instruções, são decodificados em um bloco específico do processador, a arithmetic logic unit – unidade lógica e aritmética (ALU), gerando todos os sinais para os demais blocos funcionais, necessários para realização das suas funções. Em nossas aulas, estudaremos os circuitos digitais que formam a base de construção dos blocos de vários sistemas digitais, como os processadores, desvendando o funcionamento de controladores, decodificadores, registradores que, juntos, formam circuitos mais complexos, que desempenham operações, consequentemente, mais complexas. Partiremos das funções digitais simples desempenhadas pelos transistores, seguindo pela construção e funcionamento das portas lógicas, pela construção e funcionamento das unidades de memória e, finalmente, chegando à síntese de circuitos digitais combinacionais e sequenciais. 3 TEMA 1 – INTRODUÇÃO E FUNDAMENTOS DE ELETRÔNICA DIGITAL 1.1 Sistemas analógicos e digitais O termo analógico vem de análogo, algo que guarda semelhança, é comparável ou similar a outra coisa (Análogo, 2015). Aquele termo está relacionado aos sinais de entrada e saída de um sistema eletrônico. Uma das medidas de qualidade de um amplificador, por exemplo, é definida pela semelhança entre o sinal de saída, amplificado, e o sinal de entrada. De maneira mais geral, os sistemas que operam com sinais contínuos durante todo o seu processamento interno são sistemas analógicos. A eletrônica digital facilitou de forma incontestável a transmissão de informações e o controle de dispositivos, permitindo grande precisão e maior flexibilidade quando comparada aos sistemas analógicos, embora a natureza e suas grandezas ainda permaneçam analógicas. Uma parte do estudo de eletrônica digital passará pelas técnicas e circuitos de conversões entre sinais analógicos e sinais digitais. Os sinais digitais são formados por dois níveis discretos de qualquer grandeza. Embora os sinais digitais sejam, normalmente, definidos como valores de tensão elétrica, níveis discretos de intensidade de corrente elétrica ou de intensidade luminosa também são empregados frequentemente. Os níveis discretos do sinal digital são denominados níveis lógicos e ganham designações como nível lógico alto (high – HI, 1 ou verdadeiro) e nível lógico baixo (low – LO, 0 ou falso). A Figura 1 apresenta o diagrama de conexão de um circuito integrado (CI) digital TTL 74LS00, contendo quatro portas lógicas chamadas não E ou nand gate (NE) e sua respectiva tabela-verdade1 contendo os níveis lógicos HI e LO de saída e entrada, que descrevem o comportamento lógico de cada porta do CI ou, mais precisamente, o comportamento lógico dos circuitos eletrônicos da porta. Embora seja intuitivo associar nível lógico alto ao valor de tensão positiva como 5 V (ou 3,3 V) e o nível lógico baixo com tensão 0 V, isso não é verdade para todos os sistemas e situações práticas encontradas em sistemas digitais. Alguns sistemas podem associar os níveis lógicos a outros valores ou faixa de valores, conforme a necessidade, como nos casos das interfaces digitais V.24 e 1 Tabela-verdade é um recurso gráfico importante que correlaciona sinais de entradas e saídas e é utilizada para descrever, de forma simples e precisa, o comportamento lógico de circuitos digitais. 4 V.35, em que o nível HI pode assumir um valor de tensão elétrica entre -3 V a - 25 V e o nível LO, valores entre 3 V a 25 V. Figura 1 – Diagrama interno de um componente digital contendo quatro portas não E e tabela-verdade da função lógica não E executada por cada um dos quatro circuitos lógicos do CI Fonte: Elaborado com base em Datasheet DM74LS00. 1.2 Bit, nibble, byte, word, MSB, LSB, LE e BE Uma unidade digital (binária) é conhecida como binary unit (bit). A quatro bits agregados representando uma quantidade maior de estados ou valores dá- se o nome de nibble. Dois nibbles ou oito bits agregados são conhecidos como octeto ou byte. Dois bytes agregados formam uma palavra ou word, embora tais termos também sejam empregados quando ocorre agregação de bits na largura do barramento de dados de um microprocessador e que pode ser movimentada de uma única vez. Nesse caso, a word de um processador de 64 bits teria 8 bytes. O bit com o menor peso em um agregado é indicado como o bit menos significativo (LSB, de least significant bit) e, consequentemente, o bit com maior peso é indicado como o bit mais significativo (MSB, de most significant bit), conforme apresentado na Figura 2. Embora, normalmente, o LSB esteja à direita, alguns sistemas podem transmiti-lo ou armazená-lo em ordem inversa, caso no qual existirá uma indicação explícita. Outra forma de representar a ordem dos bits, ilustrada ainda na Figura 2, é denominar o agregado como little-endian (LE), quando o MSB está à direita; e big-endian (BE), quando o MSB está à esquerda. 5 Figura 2 – Termos aplicados a sistemas digitais Fonte: Rattmann, 2021. 1.3 Níveis de abstração A eletrônica digital está presente em todos os sistemas digitais, podendo ser observada em profundidades diferentes e classificada em níveis de encapsulamento ou abstração distintos, conforme as necessidades ou os objetivos da análise em curso, conforme a Figura 3. Figura 3 – Níveis de abstração da eletrônica digital Fonte: Elaborado com base em Pedroni, 2010. No nível de transistor, estão presentes as funções binárias elementares, com base nos estados de corte e saturação dos transistores que produzem as funções lógicas. Os interesses nesse nível se concentram na tecnologia, nas dimensões do transistor, no processo de fabricação, no consumo, no tempo de 6 propagação ou na lógica elementar. No nível de portas lógicas, com maior abstração, o interesse está na resposta correta do circuito lógico, adequado às necessidades do projeto, embora envolvendo a melhor associação entre portas, para maior eficiência. No nível de subsistema, a integração entre blocos funcionais obedece a normas específicas a tempos de resposta e comunicação adequada entre os blocos. Não se avalia a lógica interna, mas o serviço prestado pelo bloco, que deve obedecer, precisamente, à sua especificação, utilizada na definição funcional do sistema digital. No nível de sistema, há o maior nível de abstração. Não é mais possível avaliar o desempenho interno dos módulos, mas o desempenho funcional do dispositivo. A resiliência do sistema, o tempo entre falhas, os limites ambientais de operaçãode unidades decimais. O peso é a base, nesse sistema de numeração, e tem a dimensão igual à quantidade de símbolos do sistema. No caso do sistema decimal, a base é 10, o que dá nome ao próprio sistema. A cada estouro de unidade, em qualquer posição do agregado decimal, a unidade mais à direita é zerada e a unidade mais à esquerda é incrementada em uma unidade, representando uma quantidade igual à respectiva base. No sistema decimal, cada unidade decimal à esquerda representa um valor dez vezes maior que a unidade à direita, ou seja, o produto por uma base, à medida que estão posicionadas mais à esquerda, conforme apresentado na Figura 9, para um valor de 14.585.913. 3 Condição definida pela ultrapassagem da máxima capacidade de representação de uma unidade. 12 Figura 9 – Sistema posicional decimal Fonte: Rattmann, 2021. Algumas unidades decimais, de menor peso, ganharam nomes particulares, como unidade, dezena, centena, milhar, que facilitam a compreensão numérica da contagem. Nesta aula, entretanto, elas foram consideradas apenas como unidades decimais (ou algarismos) associadas(os) a pesos específicos, múltiplos da base. 2.2 Código binário Os valores binários são utilizados em sistemas digitais por apresentarem uma correlação direta com as informações booleanas da lógica matemática. Na lógica, temos valores distintos de verdadeiro e falso (Rooney, 2012) presentes em toda a teoria, representando condições distantes entre si e, claramente, opostas. Na eletrônica digital, os valores de verdadeiro e falso da lógica matemática foram substituídos por níveis lógicos: 1 (high) e 0 (low), respectivamente, mais facilmente associados às condições de condução dos transistores polarizados em corte e saturação. Em corte não passa corrente elétrica pelo dispositivo e, em saturação, passa a máxima corrente elétrica projetada para o ramo de circuito. Nesse sentido, a corrente elétrica que passa pelo ramo do coletor do transistor bipolar ou pelo dreno dos transistores de efeito de campo tem uma intensidade 0 (0%) ou 1 (100%) da corrente elétrica, desconsiderando assim as correntes de fuga existentes nos sistemas reais. Pela lei de Ohm, a corrente elétrica zero, em uma resistência qualquer, produzirá uma tensão de 0 V, assim como uma corrente elétrica máxima produzirá uma tensão máxima sobre a mesma resistência. Os níveis de tensão são a forma de representação mais utilizada nas análises e projetos de sistemas digitais. Cada bit contém uma de duas possíveis informações binárias, denominadas níveis lógicos. Para representar quantidades maiores são necessários mais bits, que são organizados mantendo-se uma relação de peso posicional. Quanto mais à esquerda, maior o peso do bit e sua representatividade, assim como acontece, no sistema decimal, quando 13 distinguimos os números por unidade, dezena e centena, por exemplo. Todavia, na representação binária a base utilizada é 2, denotando os dois estados possíveis, enquanto na representação decimal a base é 10, indicando os dez estados possíveis. A composição posicional é desenvolvida e apresentada na Figura 10, para números de três algarismos (unidades). Figura 1 – Sistemas posicionais decimal e binário, respectivamente Fonte: Rattmann, 2021. O valor da base, elevado à quantidade de algarismos, determina a máxima quantidade de valores que podem ser representados por esse conjunto de algarismos nessa base, conforme apresentado na Figura 11. O sufixo b indica a quantidade de algarismos no código binário; o sufixo o, no octal; e o sufixo h, no hexadecimal. Não são utilizados sufixos em números decimais. Figura 11 – Quantidades máximas de valores por quantidade de dígitos e bases (códigos) Fonte: Rattmann, 2021. 2.3 Código octal A representação octal é empregada quando as quantidades de informações de controle ou contagens são pequenas, não ultrapassando oito valores (entre 0 a 7), e se busca uma representação binária mínima, mais compacta. O código octal agrupa os bits de um valor binário em grupos de três 14 bits (tribits), conforme apresentado na Figura 12, item (a), que permite uma substituição direta pelo dígito octal, conforme apresentado na Figura 12, item (b). Figura 2 – Tribit octal (a) e conversão de número binário em octal (b) Fonte: Rattmann, 2021. 2.4 Código hexadecimal A representação hexadecimal é muito utilizada por apresentar uma forma compacta para números binários longos, como espaço de endereçamento de memória, dispositivos ou instruções em processadores de 32 e 64 bits, cuja representação binária pode se tornar trabalhosa e promover erros, facilmente. Os números binários são agrupados em quadribits e substituídos por algarismos. Figura 3 – Quadribits hexadecimais (a) e conversão de número de código binário em número de código hexadecimal (b) Fonte: Rattmann, 2021. 15 Os dígitos decimais entre 0 a 9 são utilizados como dígitos hexadecimais que representam as mesmas quantidades, completados com as letras A a F, para cobrir os 16 (24 = 16) símbolos necessários ao código hexadecimal, conforme apresentado na Figura 13, item (a). Exemplos de conversão são apresentados na Figura 13, item (b). 2.5 Código BCD A representação binary-coded decimal – decimal codificada em binária (BCD) é uma codificação que utiliza uma representação direta incompleta dos valores binários de quatro bits dos valores decimais, ou seja, utiliza apenas os quadribits que representam os dez dígitos decimais, conforme a Figura 14, item (a). A representação da conversão é apresentada na Figura 14, item (b). Contadores e decodificadores BCD são empregados para contagem de eventos de forma decimal, apresentando os resultados da contagem, normalmente, em displays (mostradores) de sete segmentos, de acordo com a Figura 14, item (c). Figura 4 – Código BCD (a), conversão BCD (b) e aplicação BCD (c) 2.6 Código Gray O código Gray é muito adequado a medidas de posicionamento, pois apresenta, entre valores subsequentes, sempre 1 bit de diferença. Quando observamos uma transição da quantidade 7 para a quantidade 8 no código binário, ocorrem quatro mudanças binárias: 0111 → 1000. Caso essa transição 16 esteja submetida a um circuito lógico combinacional, valores intermediários serão processados e não apenas a transição de 7 para 8. Como os sinais não chegam ao mesmo tempo, a sequência 0111 → 0101 → 1101 → 1001 → 1000 torna-se possível, podendo afetar o funcionamento do circuito digital. Como o código Gray apresenta apenas uma variação binária entre valores subjacentes, não há corrida entre os sinais, não existindo transições intermediárias. O código Gray e as diferenças entre valores subsequentes são apresentados na Figura 15, item (a). As diferenças binárias entre códigos podem ser chamadas de distância de Hamming. Essa distância entre os valores binários 0111 e 1000, por exemplo, é dH = 4. Essa medida é importante em sistemas de transmissão digital, pois o emprego de código com distâncias maiores proporciona uma comunicação com uma maior imunidade a erros. Na Figura 15, item (b), há um exemplo de aplicação do código Gray em um disco, utilizado em codificadores de posicionamento (encoders). Figura 15 – Código Gray: diferenças binárias entre valores subsequentes (a) e disco de código Gray (b) 2.7 Conversão entre códigos numéricos Uma vez que os sistemas digitais operam com base binária, antes de serem mostrados para interação humana eles precisam ser convertidos em base decimal, como no caso de temperaturas ou distâncias, por exemplo. Os códigos binários (bases 2, 8 ou 16) apresentam uma conversão direta entre si. Um valor binário é agrupado em tribits, para formar um valor octal, ou em quadribits, para formar um valor hexadecimal. De forma semelhante, os dígitos hexadecimais ou 17 octaissão convertidos em binários e reagrupados, conforme demonstrado na Figura 16, item (a). Figura 16 – Conversão entre bases: conversão entre bases múltipla da binária (a), conversão de qualquer base para a base decimal (b) e conversão da base decimal para qualquer outra base (c) Fonte: Rattmann, 2021. A conversão de valores em bases numéricas diferentes da decimal para decimal é obtida pelo somatório do produto entre o coeficiente do valor de origem e as bases elevadas à posição do coeficiente, menos 1: 𝐵10 = ∑ 𝐶𝑝𝐵𝑂 (𝑝−1)𝑛 𝑝=1 , conforme desenvolvido e apresentado na Figura 16, item (b), utilizando-se os valores descritos no item (a) (Pedroni, 2010). Já a conversão de quantidades da base decimal em quantidades de qualquer outra base é obtida pela divisão sucessiva do valor decimal de origem pela base de destino, até se obter o resto. Toma-se o quociente da operação anterior e divide-se pela base de destino. Prossegue-se no processo de divisão até que o quociente seja menor que a base. Desse quociente e até o primeiro resto encontrado, nessa ordem, obtém- se o valor decimal convertido em base de destino, conforme desenvolvido na Figura 16, item (c). 2.8 Representação de números negativos Há três métodos de representação de números negativos, nos quais o bit mais significativo representa o sinal do valor: sinal-magnitude, complemento 18 de um e complemento de dois, sendo esse último o mais amplamente utilizado. No sinal-magnitude, o bit de mais alta ordem (MSB) do número binário representa o sinal, como apresentado na Figura 17, item (a). Esse sistema, embora simples, apresenta duas representações para o zero e não permite operações aritméticas corretas entre números negativo e positivo, ou seja, a adição binária do valor -7 com +7, por exemplo, não resulta em 0. No complemento de um, como na Figura 17, item (b), o número negativo é o complemento do número positivo, ou seja, todos os bits são negados ou invertidos (1 → 0 e 0 → 1). O MSB ainda representa o sinal, possui duas representações para o zero e, assim como o código do sinal-magnitude, não permite a operação direta entre números positivos e negativos. Por fim, no complemento de dois, conforme a Figura 17, item (d), o valor negativo é complemento do valor positivo, mais uma unidade. Embora não muito intuitivo, esse método é consistente e efetiva operações aritméticas de adição e subtração com números negativos, como visto na Figura 17, item (c). O MSB ainda representa o sinal. Figura 17 – Representação de valores negativos: sinal magnitude (a), complemento de um (b), obtenção de valor negativo com base em valor positivo e operação com valor negativo (c) e complemento de dois (d) 19 2.9 Representação de pontos flutuantes Um número real pode ser representado em um sistema digital, em bits, sendo armazenado mais eficientemente em um modelo denominado ponto flutuante. A representação mais comumente utilizada de pontos flutuantes é o padrão IEEE 754. Esse padrão apresenta precisão simples de 32 bits, como na Figura 18, itemErro! Fonte de referência não encontrada. (a), e precisão dupla de 64 bits, conforme Figura 18, item (b), em três campos: sinal, expoente e mantissa (fração). A precisão é definida pela quantidade de bits usados na mantissa, em que a quantidade decimal produzida por 2-1 é o valor da unidade decimal dividido por 2, ou seja, representa a quantidade decimal 0,5; a quantidade decimal produzida por 2-2 é a unidade decimal dividida por quatro, ou seja, representa a quantidade decimal 0,25, e assim sucessivamente – quanto maior o expoente negativo, menor a parcela decimal representada. A mantissa do número real é formada pelo somatório de cada uma das parcelas decimais representadas pelos expoentes negativos. Na precisão simples, a menor parcela é obtida por 2-23 = 0,119209 10-6; ou, de outro modo, é o resultado da unidade decimal dividida por 8.388.608 (223). Por exemplo, o número 0,625 é obtido pelo somatório das parcelas 0,5 e 0,125, cujo valor binário é 0,101. A conversão em decimal com base no seu valor binário se dá de maneira habitual: 0,101 → 1.2-1 + 0.2-2 + 1.2-3 = 0,5 + 0 + 0,125 = 0,625. 20 Figura 18 – Padrão IEEE 754: precisão simples (a) e dupla (b) e conversão do valor real 0,7 em binário e de binário em real, apresentando erro decorrente da precisão simples (c) A Figura 18, item (c), apresenta o desenvolvimento tabelado da conversão do valor real 0,7 em binário, mediante multiplicação sucessiva do número presente na primeira linha da coluna A (ISO/IEC 8859-1:1998 e ISO/IEC 8859-2 estabeleciam extensões 4 A extensão da tabela ASCII utilizava códigos de 8 bits, adicionando símbolos entre 128 (80h) e 255 (FFh). 22 padrões de caracteres acentuados para o código ASCII (ISO; IEC, 1998, 1999). Entretanto, caso uma extensão fosse utilizada em um programa de computador, a mesma extensão deveria estar carregada quando aquele fosse executado em outros computadores. Como nem sempre isso ocorria, por diversos motivos, as interfaces e os textos com caracteres acentuados sofriam alteração, passando a apresentar informações incorretas, desfigurando o texto ou a interface. Essa era uma limitação dessa codificação, motivando a adoção de um novo código. O código Unicode substituiu o código ASCII (Ansi, 1963; The Unicode Consortium, 2006). Figura 19 – Tabela ASCII para 7 bits Fonte: Rattmann, 2021. TEMA 3 – CIRCUITOS LÓGICOS Neste tema, abordaremos os circuitos analógicos, que estabelecem as funções lógicas ou, simplesmente, os circuitos lógicos. Existem várias técnicas- base de construção de circuitos lógicos, desenvolvidas com especificações distintas, para atender a necessidades diferentes. O desenvolvimento contínuo das técnicas de circuitos digitais produz técnicas derivadas das técnicas-base, 23 alterando partes específicas dos circuitos, otimizando parâmetros para alcançar resultados novos, como: maior densidade de transistores, menor dissipação de potência, maior velocidade de comutação e menor consumo de energia. Componentes que compartilham as mesmas técnicas são conhecidos como pertencentes a uma mesma família lógica. A Figura 20 apresenta várias famílias lógicas, clássicas (TTL e CMOS) e recentes (AHC, AUC), categorizadas pela tensão de alimentação. Figura 20 – Famílias lógicas Fonte: Texas Instruments, 2017, p. 3. Apresentaremos duas das principais famílias lógicas, para que isso nos permita avançar para os circuitos de portas lógicas e para a apresentação dos benefícios da simplificação dos circuitos lógicos. As demais famílias serão abordadas posteriormente. 3.1 Famílias lógicas A primeira família lógica padrão foi a resistor-transistor logic (RTL), na qual os sinais lógicos entravam através de resistores e saíam por meio de um transistor bipolar, conforme apresentado na Figura 21, item (a). Ela foi lançada 24 pela Fairchild, em 1961, mas apresentava problemas relacionados às múltiplas entradas (fan-in), múltiplas saídas (fan-out) e margem de ruído e velocidade (East, 2019). Nessa família, as equações de malha formada entre as entradas, fontes de tensão digital e alimentação de base -V determinam o ponto de condução do transistor Q1. Esse transistor deve cortar ou saturar para produzir uma saída digital, conforme a combinação das suas tensões de entrada, também digitais. Figura 21 – Circuitos lógicos: porta nor RTL (a); porta and DL e porta nand DTL (b); porta nand TTL (c) Fonte: Rattmann, 2021. A família diode-transistor logic (DTL) foi lançada comercialmente pela Fairchild, em 1964, apresentando soluções para os problemas encontrados na RTL, exceto para a velocidade. Essa técnica não era necessariamente nova, pois já era conhecida e utilizada pela IBM na série de computadores mainframe 360. Nela, os sinais lógicos entram pelo cátodo de um diodo e saem por um transistor bipolar, conforme apresentado na Figura 21, item (b). A técnica de construção de circuitos lógicos DTL empregava como base a técnica diode logic (DL), apenas com diodos e resistores, conforme visto no bloco cinza da mesma Figura 21, item (b). Nessa técnica, ainda, o resistor R2 poderia ser substituído por outro diodo com função de ajuste de nível, passando a apresentar dois diodos, na configuração back-to-back, interligados pelos ânodos: K-A ↔ A-K, na qual um dos cátodos era interligado à almofada de entrada do CI e o outro ânodo, na base do transistor Q1. 25 A análise de funcionamento da técnica DTL precisa considerar o ponto de condução dos diodos de entrada, no qual ocorre a saturação ou o corte do transistor Q1. Observando ainda a Figura 21, item (b), um valor de terra em qualquer das entradas digitais A ou B limita a tensão no nó dos ânodos de D1 e D2 ao valor de aproximadamente 0,7 V (diodo de silício). A base do transistor Q1 experimentará a tensão de um divisor resistivo formado pelos resistores R2 e R3, ancorados em 0,7 V e -V, respectivamente, cortando o transistor. À medida que a tensão de entrada cresce na entrada digital, do valor de terra até um determinado valor suficiente de tensão inicia-se a condução de Q1. Se as entradas forem ao nível de +V, os diodos D1 e D2 deixam de conduzir e a tensão na base de Q1 passa a ser definida pela malha formada por R1, R2 e R3, que deve saturar o transistor. Com base na descrição do funcionamento do circuito, podemos reavaliar considerando os níveis lógicos HI e LO, cuja saída apresenta um valor lógico baixo LO (terra), apenas no caso de as duas entradas estarem em HI (+V), e uma saída HI (+V) para o caso de qualquer uma das entradas, ou ambas, estar(em) em LO (terra). Ou seja, o circuito opera executando a função lógica nand, conforme a combinação de estados lógicos de entrada e saída consolidados no Quadro 1 (nand). 3.2 Família TTL Na lógica transistor-transistor (transistor-transistor logic – TTL), os elementos de comutação são transistores bipolares de junção. Lançada em meados dos anos 1960, foi a família de CIs lógicos que dominou o mercado por cerca de 30 anos. A técnica TTL era mais rápida que a DTL, mantendo custos semelhantes. Conforme apresentada na Figura 21, item (c), os seus diodos de entrada e de ajuste de nível foram incorporados em um transistor multiemissor (Q1). Para cada nova entrada, um novo terminal de emissor é necessário. Quando os sinais de entrada estão em nível alto (HI), o transistor Q1 está cortado. Nessa condição, o fluxo de corrente passa pelo R1 e atravessa a junção base-coletor de Q1 diretamente polarizada, colocando o nó da base de Q2 em potencial elevado próximo a Vcc, saturando Q2. O transistor Q2 é um divisor de fase, que controla o funcionamento da configuração totem-pole5, de saída, formada pelos transistores Q3 e Q4 (Tocci, 2011). Quando o transistor Q2 satura, 5 Configuração de transistores utilizados na saída de amplificadores que operam de forma complementar. 26 a tensão, na base de Q3, reduz e, na base de Q4, aumenta. Nessa configuração de saída, o transistor Q3 corta e o Q4 satura, o que produz uma saída de baixa tensão (LO). Ou seja, para as entradas em HI, produz-se uma saída LO. Quando qualquer entrada é submetida ao potencial de terra (GND), o transistor Q1 satura, levando o nó da base de Q2 ao potencial de terra, colocando esse último, em corte. Nessa condição, a base de Q3 fica submetida a uma tensão próxima ao VCC e a base de Q4, a uma tensão próxima ao potencial de terra. Como o transistor Q3 satura e o Q4 corta, a saída do circuito (Q) vai para um potencial de VCC. Ou seja, para qualquer entrada em nível LO, ou ambas, a saída vai para o nível HI, conforme observado no Quadro 1Quadro . Quadro 1 – Tabela-verdade nand e nor NAND NOR A B Q A B Q LO LO HI LO LO HI LO HI HI LO HI LO HI LO HI HI LO LO HI HI LO HI HI LO A Texas Instruments lançou a série 5400 TTL em 1964, no mesmo ano em que a Fairchild lançou sua família DTL (East, 2019). Os CIs TTL da série 74 tornaram-se um padrão para uso comercial. Os CIs digitais foram separados por classes de temperatura de operação. Na faixa comercial de temperaturas, que fica entre 0 °C a 70 °C; e na faixa industrial, que fica entre -40 °C a 85 °C, a série é designada como 74. Na faixa de temperatura militar, que fica entre -55 °C a 125 °C, a série é designada como 54 (Pedroni, 2010). As funções lógicas and, nor, xor etc. de cada CI digitalpor meio de field programmable gate array (FPGA), que será estudada em aula posterior. Os circuitos elétricos equivalentes apresentados neste tema facilitam o processo de compreensão das funções lógicas estudadas e fornecem uma base de prova para a análise das suas propriedades. Algumas convenções, todavia, são necessárias para facilitar o seu processo de compreensão e minimizar equívocos ao longo deste estudo. Os dispositivos são associados às variáveis booleanas e estão normalmente ativos em nível lógico alto. Ou seja, uma chave estará ligada em nível lógico alto, uma lâmpada estará acesa em nível lógico alto; outros cenários, entretanto, dependerão da natureza do projeto, como no caso de uma porta, cujo estado aberto pode ser representado pelo estado lógico alto, para um sistema de segurança, ou pelo nível lógico baixo, para impedimento de que um veículo se locomova. Com o mesmo raciocínio, podemos incluir tanque para líquidos utilizando sensores para estados cheio e vazio. Estudos com estados lógicos variados serão abordados nas próximas aulas. Para o propósito deste tema, seguem-se as convenções iniciais para chaves e lâmpadas. 4.1 Portas não (not) ou inversoras As portas not são constituídas de circuitos inversores. Para uma entrada em nível alto, existirá uma saída em nível baixo. Para uma entrada em nível baixo, existirá uma saída em nível alto. No circuito equivalente, uma chave em paralelo com a lâmpada apresenta o comportamento da função not, como apresentado na Figura 25, item (a). A simbologia da porta inversora e o circuito equivalente de um buffer acham-se na Figura 25, item (b). Observe que negar (inverter) duas vezes uma variável booleana a faz retornar ao seu estado inicial. As tabelas-verdade, tabelas utilizadas para descrever o funcionamento lógico de um sistema, da função lógica not e do buffer são apresentadas na Figura 25, item (d). O buffer, que pode ser composto por dois inversores, têm na saída o mesmo nível lógico presente na entrada da porta, sendo empregado, por exemplo, para aumentar a capacidade de corrente de um circuito lógico, para acionar um motor de passo ou para restaurar os níveis lógicos de um sinal, como visto na Figura 25, item (c). Os buffers ou inversores Schmitt Trigger, por exemplo, foram projetados para essa função. 32 Figura 25 – Função lógica not: (a) circuito elétrico equivalente; (b) simbologia; (c) função do buffer; e (d) tabela-verdade da função not Fonte: Rattmann, 2021. As propriedades da função not são apresentadas na Figura 26, item (a), e, resumidamente, se concentram na negação de constante e na dupla negação e são bastante intuitivas. A barra sobre a variável indica a negação (aplicação da função not). O mais importante, nesse momento, é entender o funcionamento do circuito CMOS, que será a base para a compreensão do funcionamento das demais portas. Os transistores PMOS criam um canal P entre as ilhas P, devido a um campo elétrico que induz a movimentação de portadores minoritários para a região do canal. Para que esse processo aconteça, esse potencial precisa atrair os portadores de carga positiva, sendo necessário, portanto, um potencial elétrico negativo com relação ao poço. Pela disposição dos transistores PMOS e NMOS, esse potencial é obtido pela conexão do terminal de porta do PMOS ao VSS (GND). Por outro lado, o transistor NMOS conduzirá, pela dualidade da configuração, quando, no seu terminal de porta, existir um campo elétrico com potencial positivo com relação ao substrato, necessário para atrair para a região do canal os portadores minoritários do tipo n. A conexão do terminal de porta ao VDD induz à condução do NMOS. Podemos associar o comportamento do MOS conduzindo a uma chave fechada e o do MOS cortando, a uma chave aberta, conforme sugestão apresentada na Figura 26, item (d). Esse equivalente elétrico permitirá compreender o funcionamento dos circuitos CMOS para a função not e para o buffer, como apresentado na Figura 26, itens (b) e (c) e em suas respectivas tabelas-verdade. 33 Figura 26 – Função lógica not: (a) propriedades; (b) circuitos CMOS not; (c) circuito CMOS buffer Fonte: Rattmann, 2021. 4.2 Portas e (and) e ne (nand) A função and estabelece uma condição de presença obrigatória de dois sinais ou de duas condições. Apenas se ambas ocorrerem, existirá uma saída de nível alto. O circuito equivalente traz duas chaves em série para o acionamento da lâmpada, conforme apresentado na Figura 27, item (a). A função nand é a função and negada. A sua simbologia e circuitos equivalente são apresentados na Figura 27, itens (a) e (b). A propriedades da função lógica and são também intuitivas, mas convém utilizar os circuitos elétricos equivalentes para auxiliar nessa análise. A propriedade A . A = A pode ser reproduzido com duas chaves combinadas com o mesmo acionamento. Chaves em série, que são sempre acionadas ao mesmo tempo, podem ser substituídas por uma única. No caso da propriedade A . 1 = A, uma chave está constantemente ligada (1). Logo o estado da lâmpada dependerá apenas da chave que está sendo comandada. As propriedades podem ser expandidas e combinadas, como nas expressões: • 𝐴 ∙ 𝐴 ∙ 𝐴 ∙ 1 ∙ 1 ∙ 0 ∙ �̅� = 0 • 1 ∙ 0 = 0 As tabelas-verdade e as expressões booleanas das funções and e nand são apresentadas na Figura 27, itens (c) e (d), em que o ponto representa a 34 função and e a barra sobre expressão indica a negação da função and como forma de representar a função nand. Figura 27 – Funções lógicas and e nand: simbologia e circuito elétrico equivalentes (a) and; (b) nand; tabela-verdade e expressão booleana: (c) and; (d) nand Fonte: Rattmann, 2021. Figura 28 – Propriedades da função and e circuitos CMOS and e CMOS nand Fonte: Rattmann, 2021. Na Figura 28, item (a), são apresentadas as propriedades da função and e, nos itens (b) e (c), os circuitos CMOS das funções and e nand. O arranjo dos transistores PMOS na porta nand, em paralelo, conduz o VDD à saída do circuito, para qualquer entrada A ou B em zero. Já para que a saída seja levada ao GND, será necessário que as duas entradas, A e B, sejam de níveis altos. Observe que o circuito and é maior que o nand, isso porque o circuito CMOS é 35 naturalmente nand, sendo necessária uma função inversora para produzir uma saída and. 4.3 Portas OU (or) e NOU (nor) A função or estabelece uma possibilidade de acionamento comum entre duas entradas, no qual um ou outro ativo leva a saída em nível alto. As chaves em paralelo remetem a essa situação, na qual qualquer uma, ou ambas, ligada(s) energiza(m) a lâmpada. A Figura 29, item (a), apresenta o circuito elétrico equivalente e a simbologia utilizada. Na Figura 29, item (b), são apresentadas a simbologia e o circuito elétrico equivalente da porta nor, que é basicamente a função or negada. As tabelas-verdade e as expressões booleanas das funções or e nor são apresentadas na Figura 29, itens (c) e (d), respectivamente, em que o sinal de adição representa a função or e a barra sobre expressão indica a negação da função or, como forma de representar a função nor. Figura 29 – Funções lógicas or e nor: simbologia e circuito elétrico equivalente em (a) or; e em (b) nor; tabela-verdade e expressão booleana em (c) or; e em (d) nor Fonte: Rattmann, 2021. As propriedades da função or são apresentadas na Figura 30, item (a). Assim como visto para a função lógica and, deve ser visualizado o circuito elétrico equivalente da função or, para a melhor compreensão da natureza das suas propriedades. Ainda na Figura 30, itens (b) e (c), são apresentados os circuitos CMOS que executam as funções or e nor, respectivamente. Observe, 36 no circuito CMOS nor, que a aplicação de um potencial VDD em qualquer das entradas A ou B leva a saída do circuito ao nívelzero. Por outro lado, apenas com as duas entradas em zero é possível levar a saída a nível alto. Além disso, assim como na função and, o circuito é naturalmente nor, necessitando de uma função inversora para produzir a função or. Figura 30 – Propriedades da função or nos circuitos CMOS or e CMOS nor Fonte: Rattmann, 2021. 4.4 Portas OU exclusivo (xor) e NOU exclusivo (xnor) A função xor é muito utilizada em uma série de circuitos digitais, de controle de sinais a circuitos de paridade. A saída de uma porta lógica xor será alta apenas se uma das duas entradas estiver também em nível alto. Nenhuma ou as duas entradas ativas levará a saída ao nível zero. A função xnor é a negação da função xor, conforme já observado nas funções lógicas vistas anteriormente. A simbologia das funções xor e xnor é apresentada na Figura 31, item (a). O circuito equivalente na Figura 31, item (b), diferentemente das funções lógicas anteriores, é representado por uma porta inversora com uma chave de passagem (bypass) controlada por uma das entradas, nesse caso, A. Dependendo do estado de A, B será levado à saída invertido ou não. Pode-se dizer que ocorre uma inversão controlada, que pode ser observada na sua tabela-verdade. A função xor apresenta uma expressão alternativa que utiliza as funções and e or, conforme apresentado na Figura 31, item (c), e é demonstrada pelo seu desenvolvimento em tabela-verdade também na Figura 31, mas no item (e). 37 As respectivas tabelas-verdade e expressões booleanas das funções lógicas xor e xnor são apresentadas na Figura 31, em (d) e (e). Note que a função xor é representada por um sinal de adição envolto por um círculo. Na tabela de demonstração da Figura 31, item (e), cada coluna representa uma parte da evolução da prova de equivalência. Nas duas primeiras colunas estão as variáveis de entrada A e B. Nas duas seguintes, as respectivas negações das variáveis de entrada, pois serão necessárias para as próximas colunas. Nas duas próximas colunas, acham-se as expressões em and: �̅� ∙ 𝐵 e 𝐴 ∙ �̅�. Na última coluna, se operam as duas colunas anteriores em or: �̅� ∙ 𝐵 + 𝐴 ∙ �̅�. Figura 31 – Funções lógicas xor e xnor: (a) simbologia; (b) circuito equivalente xor; (c) função lógica equivalente xor; (d) tabelas-verdade e expressões booleanas de xor e xnor, respectivamente; (e) prova de equivalência xor Fonte: Rattmann, 2021. As propriedades da função lógica xor, na Figura 32, item (a), são pouco intuitivas e precisam ser desenvolvidas utilizando-se a expressão alternativa demonstrada anteriormente. Os circuitos CMOS das funções xor e xnor são apresentadas também na Figura 32. Observe que os circuitos básicos são iguais, mas os sinais de entrada estão espalhados entre os transistores MOS, para executar as funções lógicas. No arranjo dos transistores PMOS, valores iguais para A e B cortam os transistores e há: a. Se A e B forem iguais a zero: • condução dos dois PMOS ligados à saída; • bloqueio dos dois PMOS ligados ao VDD; • condução dos transistores NMOS do ramo da direita. 38 b. Se A e B forem iguais a VDD: • condução dos dois PMOS ligados ao VDD; • bloqueio dos dois PMOS ligados à saída; • condução dos transistores NMOS do ramo da esquerda. c. Se A = 1 e B = 0: • condução dos PMOS esquerdo, ligado ao VDD, e direito, ligado à saída; • bloqueio dos PMOS direito, ligado ao VDD, e esquerdo, ligado à saída; • bloqueio dos dois ramos NMOS. d. Se A = 0 e B = 1: • condução dos PMOS direito, ligado ao VDD, e esquerdo, ligado à saída; • bloqueio dos PMOS esquerdo, ligado ao VDD, e direito, ligado à saída; • bloqueio dos dois ramos NMOS. Figura 5 – Propriedades da função xor: circuito CMOS xor e circuito CMOS xnor Fonte: Rattmann, 2021. 4.5 Buffer de três estados (tri-state) Os buffers tri-state não alteram o estado de sinais e são utilizados por esse motivo no controle de sinais, em estado de alta impedância. Normalmente, no seu arranjo de saída CMOS, temos sempre um MOS cortado e outro conduzindo, com a presença de VDD ou VSS na saída. No estado de alta impedância, há dois MOS cortados e nem VDD nem VSS presentes na saída. Uma vez que o buffer se conecta com linhas comuns, nas quais existem outros 39 circuitos de saída conectados, chamados de barramentos, esse estado permite que outros utilizem a linha sem incorrer em risco de sobrecarga e curtos- circuitos. Sistemas microprocessados utilizam intensivamente barramentos, minimamente nos sinais de controle, dados e endereços. Consistem em características do buffer de três estados: • quando habilitado, o estado de saída segue a entrada, como um buffer comum; • quando não habilitado, a saída vai a um estado de alta impedância; • a sua tabela-verdade indica Z como estado de alta impedância; • é utilizado para dar acesso a barramentos. Na Figura 33, item (a), é apresentada a simbologia do buffer, que conta, além da entrada e da saída, com um sinal de habilitação (enable – ENA), que libera a saída ou o coloca em alta impedância, o que é observado na tabela- verdade da Figura 33, item (b). Figura 33 – Buffers de três estados: (a) simbologia; (b) tabela-verdade do buffer tri-state; (c) aplicação típica do buffer tri-state; (d) sistema digital com múltiplos barramentos e CIs; (e) circuito CMOS equivalente do buffer tri-state Fonte: Rattmann, 2021. Um sinal de barramento possui vários bits, que são transportados de forma paralela. O arranjo da Figura 33, item (c), apresenta um buffer de um barramento simples de 4 bits. Atualmente, os barramentos de dados contam com pelo menos 32 bits. Na Figura 33, item (d), é apresentado um sistema didático 40 com a representação de múltiplos barramentos que se espalham pela placa de circuito. Por fim, ainda na Figura 33, item (e), está ilustrado o circuito CMOS do buffer tri-state. Observe que foram acrescentados mais dois MOS ao circuito estudado na Figura 26, item (c). Esses transistores bloqueiam ou conduzem simultaneamente, conforme o estado do sinal ENA. TEMA 5 – EXPRESSÕES BOOLEANAS Neste tema, serão apresentados os teoremas e propriedades para manipulação de expressões booleanas. Esse conhecimento conduz à redução de expressões booleanas, eliminando redundâncias desnecessárias. Na prática, essa simplificação leva à redução dos circuitos digitais pela redução da quantidade de portas lógicas ou de entradas digitais, que leva, consequentemente, à redução de transistores. Circuitos com menos transistores, executando as mesmas funções lógicas, são mais rápidos, ocupam menos área de silício e consomem menos energia. Veremos que as variáveis booleanas guardam valores lógicos que podem estar associados aos estados de entidades físicas, como um interruptor, uma lâmpada; ou ao sinal de reset de um processador. 5.1 Propriedades das expressões booleanas A Figura 34 apresenta propriedades das funções lógicas or e and. Os seus 0 e 1 representam constantes para nível lógico baixo e nível lógico alto, respectivamente. As letras maiúsculas representam variáveis booleanas que podem assumir, em cada momento, um dos dois níveis lógicos: 0 ou 1. As variáveis booleanas são sinais, ou sinais digitais, presentes em circuitos e sistemas digitais. O símbolo de adição representa a função lógica or e o ponto representa a função lógica and. Portanto, nesse contexto, a expressão: Q = A + B . C significa: Q recebe A or B and C, cujo procedimento de cálculo é o resultado da operação de B and C, que tem precedência, com a variável booleana A pela função or, cujo resultado deve ser armazenado na variável booleana Q. Para auxiliar na análise das propriedades das expressões booleanas, relembre os circuitos equivalentes das funções lógicas. A expressão A + 0 = A, por exemplo, remete ao circuito equivalente no qual dois interruptores estão em paralelo, com um delespermanentemente desligado. A lâmpada será 41 energizada unicamente pela ação do interruptor representado por A. Na expressão A + 1 = 1, o interruptor A está em paralelo com outro interruptor permanentemente ligado, mantendo a lâmpada permanentemente ligada. Já a expressão A . 0 = 0 remete a um circuito no qual dois interruptores estão em série, mas um deles permanentemente aberto. A lâmpada permanecerá apagada. Expandindo esse raciocínio, percebe-se que, caso existam chaves em série com uma permanente aberta, o resultado será zero: L = A.B.C.A.B.0 = 0 ou L = A.A.A.A.0 = 0 (L representa o estado lógico da lâmpada). Todas as chaves podem ser eliminadas do circuito (ou simplificadas na expressão booleana), pois não exercem efeito sobre o acionamento da lâmpada. Dessa forma: L = 0. A expressão A.A.A...A representaria chaves em série com acionamento comum sendo, naturalmente, tão efetivas como uma única chave: L = A.A.A.A = A. Figura 34 – Propriedades da álgebra booleana para as funções or e and Fonte: Elaborado com base em Pedroni, 2010. 5.2 Teoremas, princípios e leis aplicados às expressões booleanas Os principais teoremas aplicáveis às expressões booleanas no processo de simplificação estão presentes nas Figuras 35-36. Os principais princípios e leis estão presentes na Figura 36. Os teoremas podem ser demonstrados pela manipulação algébrica, com base nas propriedades das funções booleanas. O princípio da dualidade é uma generalização das leis de Morgan. A dualidade é 42 observada em vários momentos, ao longo dos estudos dos circuitos digitais e nas soluções alternativas apresentadas em soluções técnicas. Figura 35 – Teoremas aplicados à álgebra booleana Fonte: Elaborado com base em Pedroni, 2010. O desenvolvimento de expressões booleanas pode utilizar qualquer combinação de propriedades, leis ou teoremas, desde que a álgebra seja corretamente executada. Figura 36 – Leis e princípios aplicados à álgebra booleana Fonte: Elaborado com base em Pedroni, 2010. O uso de uma apóstrofe, uma forma gráfica mais simples para manipulação em editores eletrônicos de textos, é utilizada para indicar a função not, de inversão ou negação: A′ ≡ A̅. Outro reforço conceitual é dado pela negação da negação de variável: (A′)′ = A ou A̿ = A, que faz com que ela retorne 43 ao seu valor inicial. O princípio da dualidade (PD) pode ser observado pelo desenvolvimento algébrico como segue: • 𝑓(𝑎, 𝑏, 𝑐,+,∙) = 𝑓′(𝑎′, 𝑏′ , 𝑐′,∙, +): PD; • 𝑓(𝑎, 𝑏, 𝑐,+,∙) → (𝑎. 𝑏. 𝑐′) + (𝑎 + 𝑏). 𝑐: função de prova; • (𝑎. 𝑏. 𝑐′) + (𝑎 + 𝑏). 𝑐 = ((𝑎′ + 𝑏′ + 𝑐). (𝑎′. 𝑏′) + 𝑐′)′: aplicação de PD. Figura 37 – Simplificação de portas de três entradas para duas entradas em funções nor e nand Fonte: Rattmann, 2021. A demonstração do PD feita anteriormente pode ser obtida aplicando-se na função de prova a lei de de Morgan duas vezes, no lado esquerdo da identidade, como segue: • (𝑎. 𝑏. 𝑐̅) + (𝑎 + 𝑏). 𝑐 = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ • (𝑎. 𝑏. 𝑐̅) + (𝑎 + 𝑏). 𝑐̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿ = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ • (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ Uma aplicação prática do PD e da lei de Morgan é apresentada na Figura 37, na qual se substitui uma porta lógica de três entradas por portas de duas entradas. Essa substituição pode ser necessária para o aproveitamento de 44 portas disponíveis de um CI (duas portas), evitando-se acrescentar outro componente ao projeto (três portas). Quando as funções não são negadas, para a mesma utilização descrita no parágrafo anterior basta aplicar as propriedades associativas, conforme demostrado na Figura 38. Figura 38 – Utilização prática das propriedades associativas Fonte: Rattmann, 2021. FINALIZANDO Nesta aula, abordamos os principais conceitos que distinguem a eletrônica digital de outras disciplinas, como níveis lógicos, sistema binário e aspectos importantes dos sinais digitais. Foram abordadas as principais formas de representação binária, a conversão entre bases e a forma de representação de algarismos, números inteiros e números reais pelo modelo de ponto flutuante, além da representação de caracteres pela tabela ACSII (Ansi, 1963). Foram apresentadas técnicas de circuitos eletrônicos por trás das famílias lógicas de circuitos e dos componentes digitais, níveis lógicos e termos técnicos empregados nos projetos de circuitos digitais. Os circuitos lógicos que realizam as funções digitais, as propriedades e teoremas necessários para representar e simplificar expressões booleanas também foram desenvolvidas nesta aula, como base para a síntese de circuitos digitais a serem abordados nas próximas aulas. 45 REFERÊNCIAS ANÁLOGO. In: MICHAELIS dicionário brasileiro da língua portuguesa. São Paulo: Melhoramentos, 2015. Disponível em: . Acesso em: 18 jun. 2021. ANSI – American National Standards Institute. American Standard Code for Information Interchange. Washington, 16 jun. 1963. DATASHEET CD4069UB – Texas Instruments. Disponível em: . Acesso em: 5 jul. 2021. DATASHEET DM74LS00 – Fairchild Semiconductor. Disponível em: . Acesso em: 5 jul. 2021. EAST, J. Texas Instruments and the TTL Wars. SemiWiki.com, 8 jul. 2019. Disponível em: . Acesso em: 18 jun. 2021. ISO – International Organization for Standardization; IEC – International Electrotechnical Commission. ISO/IEC 8859-1:1998: information technology – 8- bit single-byte coded graphic character sets – part 1: Latin alphabet no 1. Genebra, 16 abr. 1998. _____. ISO/IEC 8859-2:1999: information technology – 8-bit single-byte coded graphic character sets – part 2: Latin alphabet no 2. Genebra, 21 jan. 1999. MACKENZIE, C. E. Coded Character Sets, History and Development. Reading: Addison-Wesley Publishing Company, 1980. Disponível em: . Acesso em: 18 jun. 2021. PEDRONI, V. A. Eletrônica digital moderna e VHDL. Rio de Janeiro: Elsevier, 2010. ROONEY, A. A história da matemática: desde a criação das pirâmides até a exploração do infinito. São Paulo: M.Books do Brasil, 2012. %3c 46 TEXAS INSTRUMENTS. Logic Guide. Dallas, 2017. Disponível em: . Acesso em: 18 jun. 2020. THE UNICODE CONSORTIUM. The Unicode Standard. v. 5.0. 5. ed. [S.l.]: Addison-Wesley Professional, 2006. TOCCI, R. J. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011.zero. Por outro lado, apenas com as duas entradas em zero é possível levar a saída a nível alto. Além disso, assim como na função and, o circuito é naturalmente nor, necessitando de uma função inversora para produzir a função or. Figura 30 – Propriedades da função or nos circuitos CMOS or e CMOS nor Fonte: Rattmann, 2021. 4.4 Portas OU exclusivo (xor) e NOU exclusivo (xnor) A função xor é muito utilizada em uma série de circuitos digitais, de controle de sinais a circuitos de paridade. A saída de uma porta lógica xor será alta apenas se uma das duas entradas estiver também em nível alto. Nenhuma ou as duas entradas ativas levará a saída ao nível zero. A função xnor é a negação da função xor, conforme já observado nas funções lógicas vistas anteriormente. A simbologia das funções xor e xnor é apresentada na Figura 31, item (a). O circuito equivalente na Figura 31, item (b), diferentemente das funções lógicas anteriores, é representado por uma porta inversora com uma chave de passagem (bypass) controlada por uma das entradas, nesse caso, A. Dependendo do estado de A, B será levado à saída invertido ou não. Pode-se dizer que ocorre uma inversão controlada, que pode ser observada na sua tabela-verdade. A função xor apresenta uma expressão alternativa que utiliza as funções and e or, conforme apresentado na Figura 31, item (c), e é demonstrada pelo seu desenvolvimento em tabela-verdade também na Figura 31, mas no item (e). 37 As respectivas tabelas-verdade e expressões booleanas das funções lógicas xor e xnor são apresentadas na Figura 31, em (d) e (e). Note que a função xor é representada por um sinal de adição envolto por um círculo. Na tabela de demonstração da Figura 31, item (e), cada coluna representa uma parte da evolução da prova de equivalência. Nas duas primeiras colunas estão as variáveis de entrada A e B. Nas duas seguintes, as respectivas negações das variáveis de entrada, pois serão necessárias para as próximas colunas. Nas duas próximas colunas, acham-se as expressões em and: �̅� ∙ 𝐵 e 𝐴 ∙ �̅�. Na última coluna, se operam as duas colunas anteriores em or: �̅� ∙ 𝐵 + 𝐴 ∙ �̅�. Figura 31 – Funções lógicas xor e xnor: (a) simbologia; (b) circuito equivalente xor; (c) função lógica equivalente xor; (d) tabelas-verdade e expressões booleanas de xor e xnor, respectivamente; (e) prova de equivalência xor Fonte: Rattmann, 2021. As propriedades da função lógica xor, na Figura 32, item (a), são pouco intuitivas e precisam ser desenvolvidas utilizando-se a expressão alternativa demonstrada anteriormente. Os circuitos CMOS das funções xor e xnor são apresentadas também na Figura 32. Observe que os circuitos básicos são iguais, mas os sinais de entrada estão espalhados entre os transistores MOS, para executar as funções lógicas. No arranjo dos transistores PMOS, valores iguais para A e B cortam os transistores e há: a. Se A e B forem iguais a zero: • condução dos dois PMOS ligados à saída; • bloqueio dos dois PMOS ligados ao VDD; • condução dos transistores NMOS do ramo da direita. 38 b. Se A e B forem iguais a VDD: • condução dos dois PMOS ligados ao VDD; • bloqueio dos dois PMOS ligados à saída; • condução dos transistores NMOS do ramo da esquerda. c. Se A = 1 e B = 0: • condução dos PMOS esquerdo, ligado ao VDD, e direito, ligado à saída; • bloqueio dos PMOS direito, ligado ao VDD, e esquerdo, ligado à saída; • bloqueio dos dois ramos NMOS. d. Se A = 0 e B = 1: • condução dos PMOS direito, ligado ao VDD, e esquerdo, ligado à saída; • bloqueio dos PMOS esquerdo, ligado ao VDD, e direito, ligado à saída; • bloqueio dos dois ramos NMOS. Figura 5 – Propriedades da função xor: circuito CMOS xor e circuito CMOS xnor Fonte: Rattmann, 2021. 4.5 Buffer de três estados (tri-state) Os buffers tri-state não alteram o estado de sinais e são utilizados por esse motivo no controle de sinais, em estado de alta impedância. Normalmente, no seu arranjo de saída CMOS, temos sempre um MOS cortado e outro conduzindo, com a presença de VDD ou VSS na saída. No estado de alta impedância, há dois MOS cortados e nem VDD nem VSS presentes na saída. Uma vez que o buffer se conecta com linhas comuns, nas quais existem outros 39 circuitos de saída conectados, chamados de barramentos, esse estado permite que outros utilizem a linha sem incorrer em risco de sobrecarga e curtos- circuitos. Sistemas microprocessados utilizam intensivamente barramentos, minimamente nos sinais de controle, dados e endereços. Consistem em características do buffer de três estados: • quando habilitado, o estado de saída segue a entrada, como um buffer comum; • quando não habilitado, a saída vai a um estado de alta impedância; • a sua tabela-verdade indica Z como estado de alta impedância; • é utilizado para dar acesso a barramentos. Na Figura 33, item (a), é apresentada a simbologia do buffer, que conta, além da entrada e da saída, com um sinal de habilitação (enable – ENA), que libera a saída ou o coloca em alta impedância, o que é observado na tabela- verdade da Figura 33, item (b). Figura 33 – Buffers de três estados: (a) simbologia; (b) tabela-verdade do buffer tri-state; (c) aplicação típica do buffer tri-state; (d) sistema digital com múltiplos barramentos e CIs; (e) circuito CMOS equivalente do buffer tri-state Fonte: Rattmann, 2021. Um sinal de barramento possui vários bits, que são transportados de forma paralela. O arranjo da Figura 33, item (c), apresenta um buffer de um barramento simples de 4 bits. Atualmente, os barramentos de dados contam com pelo menos 32 bits. Na Figura 33, item (d), é apresentado um sistema didático 40 com a representação de múltiplos barramentos que se espalham pela placa de circuito. Por fim, ainda na Figura 33, item (e), está ilustrado o circuito CMOS do buffer tri-state. Observe que foram acrescentados mais dois MOS ao circuito estudado na Figura 26, item (c). Esses transistores bloqueiam ou conduzem simultaneamente, conforme o estado do sinal ENA. TEMA 5 – EXPRESSÕES BOOLEANAS Neste tema, serão apresentados os teoremas e propriedades para manipulação de expressões booleanas. Esse conhecimento conduz à redução de expressões booleanas, eliminando redundâncias desnecessárias. Na prática, essa simplificação leva à redução dos circuitos digitais pela redução da quantidade de portas lógicas ou de entradas digitais, que leva, consequentemente, à redução de transistores. Circuitos com menos transistores, executando as mesmas funções lógicas, são mais rápidos, ocupam menos área de silício e consomem menos energia. Veremos que as variáveis booleanas guardam valores lógicos que podem estar associados aos estados de entidades físicas, como um interruptor, uma lâmpada; ou ao sinal de reset de um processador. 5.1 Propriedades das expressões booleanas A Figura 34 apresenta propriedades das funções lógicas or e and. Os seus 0 e 1 representam constantes para nível lógico baixo e nível lógico alto, respectivamente. As letras maiúsculas representam variáveis booleanas que podem assumir, em cada momento, um dos dois níveis lógicos: 0 ou 1. As variáveis booleanas são sinais, ou sinais digitais, presentes em circuitos e sistemas digitais. O símbolo de adição representa a função lógica or e o ponto representa a função lógica and. Portanto, nesse contexto, a expressão: Q = A + B . C significa: Q recebe A or B and C, cujo procedimento de cálculo é o resultado da operação de B and C, que tem precedência, com a variável booleana A pela função or, cujo resultado deve ser armazenado na variável booleana Q. Para auxiliar na análise das propriedades das expressões booleanas, relembre os circuitos equivalentes das funções lógicas. A expressão A + 0 = A, por exemplo, remete ao circuito equivalente no qual dois interruptores estão em paralelo, com um delespermanentemente desligado. A lâmpada será 41 energizada unicamente pela ação do interruptor representado por A. Na expressão A + 1 = 1, o interruptor A está em paralelo com outro interruptor permanentemente ligado, mantendo a lâmpada permanentemente ligada. Já a expressão A . 0 = 0 remete a um circuito no qual dois interruptores estão em série, mas um deles permanentemente aberto. A lâmpada permanecerá apagada. Expandindo esse raciocínio, percebe-se que, caso existam chaves em série com uma permanente aberta, o resultado será zero: L = A.B.C.A.B.0 = 0 ou L = A.A.A.A.0 = 0 (L representa o estado lógico da lâmpada). Todas as chaves podem ser eliminadas do circuito (ou simplificadas na expressão booleana), pois não exercem efeito sobre o acionamento da lâmpada. Dessa forma: L = 0. A expressão A.A.A...A representaria chaves em série com acionamento comum sendo, naturalmente, tão efetivas como uma única chave: L = A.A.A.A = A. Figura 34 – Propriedades da álgebra booleana para as funções or e and Fonte: Elaborado com base em Pedroni, 2010. 5.2 Teoremas, princípios e leis aplicados às expressões booleanas Os principais teoremas aplicáveis às expressões booleanas no processo de simplificação estão presentes nas Figuras 35-36. Os principais princípios e leis estão presentes na Figura 36. Os teoremas podem ser demonstrados pela manipulação algébrica, com base nas propriedades das funções booleanas. O princípio da dualidade é uma generalização das leis de Morgan. A dualidade é 42 observada em vários momentos, ao longo dos estudos dos circuitos digitais e nas soluções alternativas apresentadas em soluções técnicas. Figura 35 – Teoremas aplicados à álgebra booleana Fonte: Elaborado com base em Pedroni, 2010. O desenvolvimento de expressões booleanas pode utilizar qualquer combinação de propriedades, leis ou teoremas, desde que a álgebra seja corretamente executada. Figura 36 – Leis e princípios aplicados à álgebra booleana Fonte: Elaborado com base em Pedroni, 2010. O uso de uma apóstrofe, uma forma gráfica mais simples para manipulação em editores eletrônicos de textos, é utilizada para indicar a função not, de inversão ou negação: A′ ≡ A̅. Outro reforço conceitual é dado pela negação da negação de variável: (A′)′ = A ou A̿ = A, que faz com que ela retorne 43 ao seu valor inicial. O princípio da dualidade (PD) pode ser observado pelo desenvolvimento algébrico como segue: • 𝑓(𝑎, 𝑏, 𝑐,+,∙) = 𝑓′(𝑎′, 𝑏′ , 𝑐′,∙, +): PD; • 𝑓(𝑎, 𝑏, 𝑐,+,∙) → (𝑎. 𝑏. 𝑐′) + (𝑎 + 𝑏). 𝑐: função de prova; • (𝑎. 𝑏. 𝑐′) + (𝑎 + 𝑏). 𝑐 = ((𝑎′ + 𝑏′ + 𝑐). (𝑎′. 𝑏′) + 𝑐′)′: aplicação de PD. Figura 37 – Simplificação de portas de três entradas para duas entradas em funções nor e nand Fonte: Rattmann, 2021. A demonstração do PD feita anteriormente pode ser obtida aplicando-se na função de prova a lei de de Morgan duas vezes, no lado esquerdo da identidade, como segue: • (𝑎. 𝑏. 𝑐̅) + (𝑎 + 𝑏). 𝑐 = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ • (𝑎. 𝑏. 𝑐̅) + (𝑎 + 𝑏). 𝑐̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿̿ ̿ = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ • (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ = (�̅� + �̅� + 𝑐). (�̅�. �̅�) + 𝑐̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ Uma aplicação prática do PD e da lei de Morgan é apresentada na Figura 37, na qual se substitui uma porta lógica de três entradas por portas de duas entradas. Essa substituição pode ser necessária para o aproveitamento de 44 portas disponíveis de um CI (duas portas), evitando-se acrescentar outro componente ao projeto (três portas). Quando as funções não são negadas, para a mesma utilização descrita no parágrafo anterior basta aplicar as propriedades associativas, conforme demostrado na Figura 38. Figura 38 – Utilização prática das propriedades associativas Fonte: Rattmann, 2021. FINALIZANDO Nesta aula, abordamos os principais conceitos que distinguem a eletrônica digital de outras disciplinas, como níveis lógicos, sistema binário e aspectos importantes dos sinais digitais. Foram abordadas as principais formas de representação binária, a conversão entre bases e a forma de representação de algarismos, números inteiros e números reais pelo modelo de ponto flutuante, além da representação de caracteres pela tabela ACSII (Ansi, 1963). Foram apresentadas técnicas de circuitos eletrônicos por trás das famílias lógicas de circuitos e dos componentes digitais, níveis lógicos e termos técnicos empregados nos projetos de circuitos digitais. Os circuitos lógicos que realizam as funções digitais, as propriedades e teoremas necessários para representar e simplificar expressões booleanas também foram desenvolvidas nesta aula, como base para a síntese de circuitos digitais a serem abordados nas próximas aulas. 45 REFERÊNCIAS ANÁLOGO. In: MICHAELIS dicionário brasileiro da língua portuguesa. São Paulo: Melhoramentos, 2015. Disponível em: <https://michaelis.uol.com.br/moderno-portugues/busca/portugues- brasileiro/análogo/>. Acesso em: 18 jun. 2021. ANSI – American National Standards Institute. American Standard Code for Information Interchange. Washington, 16 jun. 1963. DATASHEET CD4069UB – Texas Instruments. Disponível em: <https://www.ti.com/lit/ds/symlink/cd4069ub.pdf?ts=1624455802172&ref_url=htt ps%253A%252F%252Fwww.google.com%252F>. Acesso em: 5 jul. 2021. DATASHEET DM74LS00 – Fairchild Semiconductor. Disponível em: <https://pdf1.alldatasheet.com/datasheet- pdf/view/51021/FAIRCHILD/74LS00.html>. Acesso em: 5 jul. 2021. EAST, J. Texas Instruments and the TTL Wars. SemiWiki.com, 8 jul. 2019. Disponível em: <https://semiwiki.com/john-east/273308-texas-instruments-and- the-ttl-wars/>. Acesso em: 18 jun. 2021. ISO – International Organization for Standardization; IEC – International Electrotechnical Commission. ISO/IEC 8859-1:1998: information technology – 8- bit single-byte coded graphic character sets – part 1: Latin alphabet no 1. Genebra, 16 abr. 1998. _____. ISO/IEC 8859-2:1999: information technology – 8-bit single-byte coded graphic character sets – part 2: Latin alphabet no 2. Genebra, 21 jan. 1999. MACKENZIE, C. E. Coded Character Sets, History and Development. Reading: Addison-Wesley Publishing Company, 1980. Disponível em: <https://textfiles.meulie.net/bitsaved/Books/Mackenzie_CodedCharSets.pdf>. Acesso em: 18 jun. 2021. PEDRONI, V. A. Eletrônica digital moderna e VHDL. Rio de Janeiro: Elsevier, 2010. ROONEY, A. A história da matemática: desde a criação das pirâmides até a exploração do infinito. São Paulo: M.Books do Brasil, 2012. %3c 46 TEXAS INSTRUMENTS. Logic Guide. Dallas, 2017. Disponível em: <https://www.ti.com/lit/pdf/sdyu001>. Acesso em: 18 jun. 2020. THE UNICODE CONSORTIUM. The Unicode Standard. v. 5.0. 5. ed. [S.l.]: Addison-Wesley Professional, 2006. TOCCI, R. J. Sistemas digitais: princípios e aplicações. 11. ed. São Paulo: Pearson Prentice Hall, 2011.