Baixe o app para aproveitar ainda mais
Prévia do material em texto
Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ 1. OBJETIVO Analisar a operação das portas lógicas: NAND, NOR, XOR. XNOR. Determinar a equação booleana de um sistema digital em sua forma canônica. Usar os teoremas da álgebra booleana para realizar a simplificação de funções booleanas. Sintetizar circuitos lógicos digitais a partir de especificação proposta ou baseado na tabela de operação do sistema. 2. CONCEITO 2.1. Operações universais As operações universais em eletrônica digital são representadas por: operador NAND e NOR. Baseado nestes operadores lógicos podemos implementar qualquer função existente do domínio digital. Estes operadores são definidos para múltiplas entradas tendo sempre uma única saída. As principais características – tabela de operação, símbolo lógico, símbolo do operador bem como a tabela de equivalência de ambos os operadores quando usados para implementar as demais funções lógicas usadas em digital são fornecidos nos sub-itens abaixo. 2.1.1. Operação: NAND (AND + NOT) Este operador fornece saída em nível lógico baixo se e somente se todas as entradas estiverem simultaneamente em nível lógico alto. A tabela de operação que completamente descreve essa operação no domínio digital bem como o seu símbolo lógico são fornecidos na Figura 1. a b F(a,b) = /(a.b) 0 0 1 0 1 1 1 0 1 1 1 0 Figura 1: Tabela de operação e símbolo lógico de uma porta NAND de duas entradas. O nível lógico dominante da porta NAND é o nível lógico baixo, pois quando aplicado a qualquer entrada da porta, independentemente do sinal inserido nas demais entradas, o sinal resultante de saída será sempre nível lógico alto. O operador NAND é considerado um operador universal, pois a partir do mesmo é possível implementar todos os demais operadores existentes em digital conforme apresentado na tabela 1. Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ Tabela 1: Tabela de equivalência do operador lógico NAND. NOT AND OR As etapas necessárias para realizar a implementação de uma função lógica usando-se somente operadores lógicos NAND são fornecidas a seguir: 1º Passo: Desenhar o circuito lógico usando os símbolos lógicos que representam os operadores convencionais. 2º Passo: Substituir todo símbolo lógico do circuito esquemático pelo seu circuito equivalente implementado somente por portas NAND. 3º Passo: Verificar se no caminho do sinal existe um número par de inversões do sinal. Se existir um número par de inversões esses componentes podem ser eliminados, pois isto não altera o resultado da operação lógica implementada. Normalmente ao final deste processo de conversão o projetista do circuito lógico obtêm uma redução do número de circuitos integrados necessários bem como redução de conexões necessárias para a implementação do sistema digital. Portanto, o projetista otimiza o projeto com relação a área ocupada de placa, quantidade de conexões, e consumo de potência. Ex01: Implemente a função booleana fornecida usando somente portas NAND2 (porta NAND de duas entradas). F(a,b,c) = /a./b + /b.c + /a./b.c + a.c eq. 1 A primeira etapa é identificar quais são os operadores existentes na função e desenhar o circuito lógico baseado nestes operadores. A figura 2 apresenta o circuito esquemático implementado usando-se as portas NOT, AND2 e OR2. Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ Figura 2: Circuito esquemático da função booleana implementado com operadores fundamentais. Substituindo-se todos os operadores pelo seu equivalente implementado somente por portas NAND2 teremos o circuito fornecido abaixo (Figura 3), e eliminando-se o número par de inversão existentes no caminho do sinal o circuito final pode ser implementado conforme mostrado na Figura 3. Na solução proposta o protótipo do circuito final necessitará de quatro circuitos integrados para ser implementado (como a solução proposta com operadores diversos), mas será mais eficiente quando considera-se a quantidade de portas não usadas na montagem final (por circuito integrado). Figura 2: Circuito esquemático implementado somente por portas NAND2 (sem simplificação). Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ Figura 3: Circuito esquemático implementado somente por portas NAND2. 2.1.2. Operação: NOR (OR + NOT) Este operador fornece saída em nível lógico alto se e somente se todas as suas entradas estiverem em nível lógico baixo. A tabela de operação que completamente descreve essa operação no domínio digital bem como o seu símbolo lógico são fornecidos na Figura 4. a B F(a,b) = /(a + b) 0 0 1 0 1 0 1 0 0 1 1 0 Figura 4: Tabela de operação e símbolo lógico de uma porta NOR de duas entradas. O nível lógico dominante da porta NOR é o nível lógico alto, pois quando aplicado a entrada da porta, independentemente do sinal inserido nas demais entradas, o sinal resultante de saída será sempre nível lógico baixo. O operador NOR é considerado um operador universal, pois a partir do mesmo é possível implementar todos os demais operadores existentes em digital conforme apresentado na tabela 2. As etapas do processo de conversão usados para adequar o circuito lógico somente com portas NAND também podem ser usadas quando da utilização de portas NOR como porta universal para implementar circuitos lógicos. Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ Tabela 2: Tabela de equivalência do operador lógico NOR. NOT AND OR 2.2. Operações especiais As funções especiais em eletrônica digital são representadas pelos operadores XOR e XNOR. Estes operadores são normalmente usados para implementar operações aritméticas, de comparação binária, e circuitos de geração de paridade, entre outras. Essas operações são definidas somente para duas variáveis de entradas tendo somente uma única saída. As principais características – tabela de operação, símbolo lógico, símbolo do operador são fornecidos a seguir. 2.2.1. Operação: XOR Este operador fornece saída em nível lógico alto quando os sinais de entrada possuem estados distintos. A tabela de operação que completamente descreve essa operação no domínio digital bem como o símbolo lógico desta operação são fornecidos na Figura 5. a B F(a,b) = a b 0 0 0 0 1 1 1 0 1 1 1 0 Figura 5: Tabela de operação e símbolo lógico de uma porta XOR. A porta XOR não possui nível dominante de entrada, e essa operação é muito usada em operações de criptografia, de aritmética binária e também pode ser usada para realizar inversão controlada, pelo usuário, de um sinal binário. Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ 2.2.2. Operação: XNOR Este operador fornece saída em nível lógico alto quando os sinais de entrada possuem estados iguais. A tabela de operação que completamente descreve essa operação no domínio digital bem como o símbolo lógico desta operação são fornecidos na Figura 6. a b F(a,b) = /(a b) 0 0 1 0 1 0 1 0 0 1 1 1 Figura 6: Tabela de operação e símbolo lógico de uma porta XNOR. A porta XNOR não possui nível dominante de entrada, e essa operação é muito usada em operações de comparação binária podendo também pode ser usada para realizar inversão controlada, pelo usuário, de um sinal binário. 2.3. Formas canônicas de representação de funções booleanas Existem duas formas de representação de funções booleanas: soma de produtos e produtos da soma.Quando a expressão booleana está descrita de modo completo, ou seja, todas as suas variáveis de entrada (de modo normal ou complementar) são elementos constituintes de todas as parcelas da função essa função é dita estar em sua forma canônica. Na forma completa do tipo soma de produtos as parcelas são formados pela conexão das variáveis de entrada usando-se o operador AND (grupo de produtos) sendo essas unidas pelo operador OR para formar a função. Na função completa do tipo soma de produtos cada parcela é denominada de termo mínimo (mintermo) produzindo como saída um sinal de nível lógico alto. A seguir são apresentadas alguns exemplos de funções booleanas escritas no formato soma de produtos: F(a,b) =/a.b + a./b função na forma canônica F(a.b.c) = a.b + /a.b./c + a./b./c função não completa F(a,b,c) = a.b.c + a./b./c +/a./b./c função na forma canônica Deve ser salientado que neste tipo de representação de função, soma de produtos, a variável de entrada quando aparece na parcela em sua forma normal Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ representa nível lógico alto e quando aparece de modo complementado representa nível lógico baixo. Na forma completa do tipo produto das somas as parcelas são formados pela conexão das variáveis de entrada usando-se o operador OR (grupo de somas) sendo essas parcelas unidas pelo operador AND para formar a expressão. Na função completa do tipo produto das somas cada parcela constituinte é denominada de termo máximo (maxtermo) produzindo como saída um sinal de nível lógico baixo. A seguir são apresentadas alguns exemplos de expressões booleanas escritas no formato produto das somas: F(a,b) = (/a + /b).(a + b) função na forma canônica F(a.b.c) = (a + b).(a + /b + /c).(a + /c) função incompleta F(a,b,c) = a + b + c função na forma canônica Deve ser enfatizado que neste tipo de representação de função, produto das somas, a variável de entrada quando aparece na parcela em sua forma normal representa nível lógico baixo e quando aparece de modo complementado representa nível lógico alto. As expressões booleanas em sua forma completa são bastante uteis para realizar a análise de circuitos digitais, e também facilitam a implementação de protótipos dos mesmos quando o projetista usa componentes MSI (medium scale integration) para sua implementação, tais como: multiplexador e decodificador. 2.4. Teoremas booleanos Os teoremas booleanos são usados para realizar a simplificação de expressões booleanas. Como resultado da simplificação o projetista reduz consideravelmente o numero de portas lógicas necessárias para a montagem do protótipo, e consequentemente a quantidade de conexões também é reduzida. Ou seja, o processo de simplificação pode ser entendido como sendo um processo de otimização da função a ser implementada. Dentre os teoremas booleanos temos: as identidades booleanas; as propriedades associativa, distributiva e comutativa; os teoremas de d´Morgan; os teoremas auxiliares, e por fim, o teorema do termo comum. Neste tópico todos os teoremas booleanos serão apresentados e discutidos. Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ 2.4.1. Identidades booleanas As identidades booleanas foram obtidas baseadas nos operadores fundamentais existentes em digital: AND, OR e NOT. As identidades são listadas na Tabela 3. Tabela 3: Identidades booleanas. AND OR NOT a.0 = 0 a + 0 = a /0 = 1 a.1 = a a + 1 = 1 /1 = 0 a.a = a a + a = a //a = a a./a =0 a + /a = 1 2.4.2. Propriedade associativa, comutativa e distributiva As propriedades associativa e comutativa são fornecidas na tabela 4 para os operadores AND e OR (tabela 4). Tabela 4: Propriedade associativa e comutativa na álgebra booleana. AND OR propriedade associativa (a.b).c = a.(b.c) = b.(a.c) (a + b) + c = a + (b + c) propriedade comutativa a.b = b.a a + b = b + a Na álgebra booleana também é válida a lei distributiva sendo essa representada pela equação 2. F(a,b,c) = a. (b + c) = a.b + a.c eq. 2 Na álgebra booleana temos ainda a segunda lei distributiva sendo a mesma dada por: F(a,b,c) = a + b.c = (a + b). (a + c) eq. 3 2.4.3. Teorema de d´Morgan Os teoremas de d´Morgan podem ser usados em qualquer equação booleana independentemente do número de parcelas ou variáveis existentes na mesma. Este teorema pode ser enunciado como: Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ 1. O complemento de uma parcela produto é igual a soma dos complementos das variáveis. /(a.b) = /a + /b 2. O complemento de uma parcela soma é igual ao produto da soma dos complementos das variáveis contidas na parcela. /(a + b) = /a./b A comprovação dos teoremas de d´Morgan podem ser obtidas através do uso de uma tabela de operação. Observe a tabela 5 que demonstra a validade do teorema 1 de d´Morgan. Tabela 5: Comprovação da validade do Teorema de d´Morgan. a b /(a.b) /a /b /a + /b 0 0 1 1 1 1 0 1 1 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 2.4.4. Teoremas auxiliares Os teoremas auxiliares são usados com o intuito de reduzir o numero de etapas necessárias de simplificação de funções quando usamos álgebra booleana para realizar essa tarefa. Os teoremas são oriundos fundamentalmente das identidades booleanas, sendo os mesmos apresentados na Tabela 6. Tabela 6: Teoremas auxiliares usados para simplificação de expressões booleanas. Teorema Auxiliar Prova 1. a +a.b = a a + a.b = a.(1 + b) = a. 1 = a 2. a + a./b = a a + a./b = a.(1 + /b) = a.1 = a 3. a + /a.b = a + b a + /a.b = a + a.b + /a. b = a + b.(a +/a) = a + b 4. /a + a.b = /a + b /a + a.b = /a + /a.b + a.b = /a + b.(/a + a) = /a + b 5. /a + /a.b = /a /a +/a.b = /a.(1 + b) = /a 6. /a + /a./b = /a /a +/a./b = /a.(1 + /b) = /a 7. /a + a./b = /a + /b /a + a./b = /a + /a./b + a./b = /a + /b.(/a + a) = /a + /b 8. a +/a./b = a +/b a + /a./b = a + a./b + /a./b = a + /b.(a + /a) = a + /b 2.4.5. Teorema do termo comum Este teorema é usado para identificar e eliminar termos redundantes existentes em uma expressão booleana. O teorema é enunciado como segue “...quando uma variável booleana aparece em sua forma normal em uma parcela e na sua forma complementada em outra parcela constituinte da mesma expressão booleana, existindo nesta função uma parcela constituída pelas demais variáveis constituintes das parcelas anteriores essa parcela é dita ser redundante podendo ser eliminada da expressão.” Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ A demonstração deste teorema é apresentada a seguir para uma função booleana com três variáveis de entrada. F(a,b,c) = a.b + /a.c + b.c = a.b + /a.c F(a,b,c) = a.b + /a.c + b.c = a.b + /a.c + (a + /a).b.c F(a,b,c) = a.b + /a.c + a.b.c + /a.b.c F(a,b,c) = a.b.(1 + c) + /a.c.(1 + b) F(a,b,c) = a.b + /a.c 2.5. Síntese de circuitos combinacionais As etapas necessárias para realização da sintese de um sistema digital são fornecidos a seguir: 1ª Etapa: Transladar a especificação do problema para uma tabela de operação, ou seja, representar a especificação do problema de um modo tabular. 2ª Etapa: Gerar a função booleana, em sua forma canônica, para todas as variáveis de saída apresentadas no problema. 3ª Etapa: Simplificar as funções obtidas na etapa 2 de modo a otimizar a implementação do sistema digital. 4ª Etapa: Especificar os circuitos integrados a serem usados para a implementação do projeto. 5ª Etapa: Montar e caracterizar o protótipo da aplicação proposta. Ex02: A partir da tabela de operação apresentada sintetize o circuito lógico a ser usado para montagem do protótipo destaaplicação. a b c F(a,b,c) 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ A função booleana, na sua forma completa, do tipo soma de produtos é dada por: F(a,b,c) = (0, 3, 4 , 5, 6 ,7) = /a./b./c + /a.b.c + a./b./c+ a./b.c + a.b./c + a.b.c eq.1 Com o uso de álgebra booleana a equação 1 pode ser simplificada conforme indicado a seguir: F(a,b,c) = (0, 3, 4 , 5, 6 ,7) = /a./b./c + /a.b.c + a./b./c+ a./b.c + a.b./c + a.b.c F(a,b,c) = /a.(/b./c + b.c) + a./b(/c + c) + a.b(/c + c) F(a,b,c) = /a./(bc) + a.(/b + b) = /a./(bc) + a F(a,b,c) = a +/(bc) eq. 2 Baseado na equação 2 definimos os circuitos integrados 7432 (porta OR2) e 74266 (porta XNOR) para serem usados na montagem do protótipo desta aplicação. O circuito esquemático desta aplicação é fornecido na figura 7. Figura 7: Circuito esquemático representando função booleana dada pela equação 2. Ex03: Sintetize o circuito combinacional necessário para realizar o controle de uma unidade de ar-condicionado conforme especificado. O aparelho de ar-condicionado é controlado por quatro variáveis de entrada a saber: temperatura (T), umidade (U), horário do dia (H), e dia de semana (D). Cada uma das variáveis de entrada deste sistema digital é definida como segue: T, 1 quando T > 78oF 0 outra condição U, 1 quando U > 85% 0 outra condição H, 1 quando [8h00 ‐17h00] 0 outra condição D, 1 quando [seg. à sexta] 0 outra condição O aparelho de ar-condicionado deve ser acionado/ligado, neste caso será considerado que essa ação ocorre quando temos nível lógico alto ´1´ como sinal de saída do circuito lógico, em qualquer uma das circunstâncias dadas abaixo: Condições do problema: A temperatura ultrapassa 780F e o horário do dia esta entre 8:00 às 17:00hs; A umidade excede 85%, a temperatura ultrapassa 780F e é final de semana; A umidade excede 85%, a temperatura ultrapassa 780F, e é um dia semanal; Autor: Prof. Dr. Leonardo Mesquita _____________________________________________________________________________ É sábado e a umidade excede 85%. Baseado nas condições do problema informadas a tabela de operação do sistema digital pode ser confeccionada conforme apresentada abaixo: Temperatura Umidade Horário Dia F(tuhd) 0 0 0 0 0 0 0 0 1 0 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 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Da tabela podemos obter a função de saída, em sua forma canônica, como sendo: F(tuhd) = (4, 6, 10, 11, 12, 13, 14, 15) eq. 3 A função simplificada será: F(tuhd) = t.u + t.h + u./d eq. 4 Baseado na equação 4 definimos os circuitos integrados 7404 (porta NOT), 7408 (porta AND2) e 7432 (porta OR2) para serem usados na montagem do protótipo desta aplicação. O circuito esquemático desta aplicação é fornecido na figura 8. Figura 8: Circuito esquemático representando o circuito lógico do controlador do ar-condicionado.
Compartilhar