Universidade Federal do ABC Eletrônica Digital Aula 2: Portas Lógicas Básicas Tocci, Sistemas Digitais, Cap. 3. https://sites.google.com/site/en2605edigital/edigital Prof. Rodrigo Reina Muñoz rodrigo.munoz@ufabc.edu.br RRM T3.2017 1
Introdução à Algebra de Boole Circuitos lógicos realizam Funções Lógicas; Funções lógicas são compostas por Variáveis Lógicas que assumem somente dois valores: 0 ou 1; A Álgebra Booleana, desenvolvida pelo matemático George Boole, em 1854, é utilizada quando se trabalha com funções lógicas; As Portas Lógicas são dispositivos que implementam as funções lógicas; As portas lógicas são os blocos fundamentais a partir dos quais todos os circuitos lógicos e, portanto, os sistemas digitais são construídos. 2
Introdução à Algebra de Boole (Cont.) Os circuitos lógicos executam funções lógicas, que muitas vezes podem ser simplificadas, reduzindo o número de blocos lógicos utilizados. e1 e2 e3 e4 f1 B.L.1 B.L.2 ea eb f3 B.L.3 S Conforme observado, a saída S é função das entradas e1, e2, e3 e e4, e das funções lógicas f1, f2 e f3. f2 Através da Álgebra de Boole, a qual compreende postulados, propriedades, teoremas e identidades é possível efetuar as simplificações das funções lógicas. Isto é importante porque um circuito lógico poderá ser substituído por outro de menor complexidade (menor número de portas e conexões). 3
Introdução à Algebra de Boole (Cont.) As técnicas usadas na análise e síntese de circuitos lógicos compreende: - Tabelas-Verdade - Símbolos esquemáticos - Diagramas de tempo - Linguagens de descrição - A álgebra booleana tem somente três operações básicas (operações lógicas): OR (OU), AND (E) e NOT (NÃO). Obs: A implementação prática de um circuito é feita utilizando dispositivos como diodos, transistores e resistores, adequadamente interconetados, de forma a produzir as operações básicas OR, AND e NOT. 4
Tabela Verdade É uma técnica usada para descrever como a saída de um circuito lógico responde aos níveis lógicos de entrada. Exemplo: A figura mostra a resposta da saída x em função das entradas. Obs: O símbolo? representa o circuito lógico capaz de produzir a saída x. 5
Operação OR O funcionamento lógico desta porta se caracteriza pela resposta em nível lógico 1 sempre que ao menos uma das variáveis de entrada estiver no nível lógico 1. O nível lógico 0 de saída ocorre somente quando todas as variáveis de entrada estão no nível lógico 0. A expressão booleana desta função é: X = A + B Obs: O sinal + não representa adição convencional, mas sim a operação OR. 6
Operação OR (cont.) A expressão x = A + B é lida como x = A OR B. Similarmente, para três entradas: x = A + B + C é equivalente a x = A OR B OR C. Tabela-verdade e símbolo esquemático: 7
Operação OR (cont.) Ampliando o conceito para três entradas 8
Exemplo de utilização da Operação OR Exemplo de utilização da porta OR em sistemas de controle industrial: Deseja-se ativar um alarme sempre que a temperatura do processo exceder um valor máximo ou a pressão ultrapassar um certo limite. Esquematicamente: A condição de ativação do alarme sugere que as saídas dos comparadores podem ser as entradas de uma porta OR tal como indicado na figura. 9
Exemplo de diagrama de tempo (Operação OR com 2 entradas) Exemplo com diagramas de tempo: Determine a saída da porta OR na figura seguinte: Resposta: 10
Exemplo de diagrama de tempo (Operação OR com 3 entradas) Exemplo: Determine a saída da porta OR na figura seguinte: Observe o que ocorre no instante t 1. Eventos simultâneos (mudança de nível lógico simultâneo das entradas A e B) causam a ocorrência de glitches ou spikes, tal como mostrado. Obs: Transições simultâneas de sinais devem ser sempre evitadas. Obs: Se a entrada C estive-se no nível lógico alto no instante t 1, o glitch não ocorreria. 11
Operação AND A operação lógica de uma porta AND se caracteriza pela saída em nível 1 somente quando todas as entradas estão no nível lógico 1. Em qualquer outro caso, a saída da porta estará no nível lógico zero. Esse comportamento é indicado pela tabela-verdade da porta AND. 12
Operação AND (cont.) A expressão booleana para a operação AND é: X = A. B O sinal (.) representa a operação booleana e não a operação de multiplicação. A expressão é lida como x é igual a A AND B. Para o caso de três entradas a tabela-verdade e símbolo esquemático são: 13
Exemplo da Operação AND (diagrama de tempo) Exemplo: Determine a saída da porta AND para as formas de onda de entrada. 14
Exemplo da Operação AND (diagrama de tempo) Determine a forma de onda de saída da porta AND. Pode ser visto então que a porta AND atua como um circuito inibidor ou habilitador, dependendo do estado lógico da entrada B. Em outras palavras, a entrada B atua como entrada de controle para a outra entrada. 15
Operação NOT ou Inversor Diferentemente das operações OR e AND anteriormente descritas, a operação NOT opera sobre uma única variável de entrada, fornecendo como resultado o valor negado da variável de entrada. Considerando a variável de entrada A, a saída será: X = Ā A operação NOT é mostrada na tabela-verdade: A presença do círculo no símbolo esquemático representa inversão 16
Exemplo da aplicação da porta NOT Aplicação típica da porta NOT: A pressão do interruptor, fechando ou abrindo o circuito levará a um estado lógico verdadeiro ou falso. chave +5 V. Nível lógico 1 Quando a chave está pressionada. Não Pressionado Nível lógico 0 quando a chave está pressionada Pressionado Nível lógico 0 quando a chave não está pressionada Nível lógico 1 quando a chave não está pressionada 17
Descrição Algébrica de Circuitos Lógicos É importante observar que qualquer circuito lógico pode ser descrito usando as três operações booleanas estudadas anteriormente. A expressão algébrica na saída do circuito pode ser obtida percorrendo o esquemático de esquerda para a direita. Precedência de operadores. Tal como na álgebra convencional, existe precedência na seqüência em que as operações booleanas são realizadas. Na figura anterior, a expressão correta é x = (A.B) + C. 18
Descrição Algébrica de Circuitos Lógicos (cont.) Contudo, na expressão anterior, os parêntesis não são necessários visto que a operação AND toma precedência em relação à operação OR. Já no caso da figura a seguir, o uso dos parêntesis é necessário. No caso de circuitos com inversores, a expressão pode ser escrita como apresentado a seguir. 19
Avaliação das Saídas dos Circuitos Lógicos O nível lógico presente na saída de um circuito lógico pode ser determinado a partir da expressão na saída do mesmo. Considerando o circuito da figura anterior, assuma que as variáveis de entrada tem os seguintes estados lógicos: A = 0, B = 1, C = 1 e D = 1. Para determinar o estado lógico da saída basta substituir os valores das variáveis na expressão de saída do circuito, neste caso: x = ΑΒC( Α + D) x = 0 1 1 (0 + 1) x = 0 Exercício: Considere outros valores para as variáveis de entrada e determine os valores de saída do circuito lógico. 20
Avaliação das Saídas dos Circuitos Lógicos Em geral, as seguintes regras devem ser aplicadas na avaliação de expressões lógicas: - Primeiro realize todas as inversões de termos simples. - Resolva a seguir todas as operações dentro de parêntesis. - Resolva as operações AND antes das operações OR. - No caso de alguma expressão aparecer complementada (uma barra acima da expressão), resolva a operação indicada pela expressão e logo inverta o resultado. 21
Avaliação das Saídas dos Circuitos Lógicos O processo de avaliação pode ser realizado também utilizando tabelas-verdade. - Se necessário, realize a construção de tabelas-verdade associadas a diferentes pontos (pontos intermediários) do circuito, até se alcançar a saída. -Esse procedimento é especialmente útil quando se está testando um circuito. Obs: Este procedimento para a avaliação de expressões lógicas é o que se conhece em sistemas digitais como Análise de circuitos lógicos. 22
Exemplo Elaborar a tabela verdade para os pontos intermediários (nós) e para a saída do circuito Dica: caso o circuito acima fosse montado no laboratório, a tabela verdade com os valores lógicos em todos os nós poderia ser utilizada para verificar o funcionamento correto do circuito e para localizar um eventual defeito. 23
Implementação de Circuitos Utilizando Expressões Booleanas Se a expressão booleana é conhecida, o diagrama lógico do circuito pode ser obtido. Considere a seguinte expressão: Y = AC + BC +A BC 24
Implementação de Circuitos Utilizando Expressões Booleanas Exemplo: Desenhe o circuito que implementa a seguinte expressão: x = (A + B) (B + C) Obs.: a) Dada uma tabela verdade, há várias expressões e formas possíveis de implementar o circuito; b) Em aulas futuras, estudaremos como encontrar uma implementação econômica do circuito, i.e., que empregue poucas portas lógicas. 25
Combina as operações OR e NOT. Porta NOR NÃO OU 26
Combina as operações AND e NOT. Porta NAND NÃO E 27
Portas Lógicas NAND e NOR Exemplo: Implemente o circuito lógico que tem como expressão: Qual o valor da saída x para ABCD = 1110? 28
Atividade extra aula Resolver os problemas do livro texto. Recomenda-se fazer, pelo menos, dois exercícios de cada seção. Aula 1: Caps. 1 e 2, Sec. 6.2 (comp. de 2) Aula 2: Cap. 3 até a Sec. 3.9 Obs.: Relacionados, acima, os capítulos e seções da 10ª edição do TOCCI. Para edições anteriores, deve-se procurar exercícios semelhantes aos indicados. 29