Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Portas Lógicas Básicas Prof. Rômulo Calado Pantaleão Camara Carga Horária: 2h/60h Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução à Algebra de Boole Em lógica tradicional, uma decisão é tomada baseando-se em dois estados de uma premissa: verdadeiro ou falso (similaridade com o sistema binário). Circuitos lógicos digitais representam o estado binário de um sistema através de expressões lógicas. Para analisar e projetar circuitos lógicos, é necessário ter um método capaz de descrever as decisões tomadas por esses circuitos. 2 Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução à Algebra de Boole A Álgebra Booleana, desenvolvida pelo matemático George Boole, em 1854, é utilizada quando se trabalha com expressões lógicas. Exemplos: a porta está fechada (A), não está chovendo (B). Expressões lógicas descrevem relacionamentos entre as saídas dos circuitos lógicos (decisões) e suas entradas (circunstâncias). 3 Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução à Algebra de Boole 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. A álgebra booleana pode ser usada não só para descrição de tais sistemas, mas também para análise e simplificação, e principalmente para projeto de circuitos (síntese). 4 Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP Introdução à Algebra de Boole Na álgebra booleana, as variáveis lógicas só podem ter dois valores possíveis: 0 e 1, V ou F, Ligado ou Desligado. Em circuitos digitais, os valores booleanos 0 e 1 representam níveis de tensão, chamados níveis lógicos (não representam números, mas sim estado) Usaremos letras como símbolos para variáveis. Ex.: A = 0 ou A = 1 5 Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 6 Os circuitos lógicos executam funções lógicas, que muitas vezes podem ser simplificadas, reduzindo o número de blocos lógicos utilizados. Introdução à Algebra de Boole B.L.1 B.L.2 B.L.3 e1 e2 e4 e3 S f1 f3 f2 ea eb • Através da álgebra de Boole, que 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). • 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. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 7 As técnicas usadas na análise e síntese de circuitos lógicos compreendem: –Tabelas-Verdade; –Símbolos esquemáticos; –Diagramas de tempo; –Linguagens de descrição; Introdução à Algebra de Boole Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 8 Na álgebra booleana, não existem frações, decimais, raiz quadrada, etc, e por isso é mais simples que a álgebra convencional. Ela tem somente três operações básicas (operações lógicas): NOT (NÃO), OR (OU) e AND (E). 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 NOT, OR e AND. Introdução à Algebra de Boole Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 9 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. Tabela com N entradas tem 2N linhas. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 10 Operação OR (OU) A expressão lógica OR 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. Exemplo: fogão – luz do forno só acende se o interruptor for acionado (A) OU a porta do forno for aberta (B). 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 para esta função é: X = A + B Obs: O sinal + não representa adição convencional, mas sim a operação OR. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 11 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. Operação OR Tabela-verdade Porta OR Circuito equivalente Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 12 Operação OR Ampliando o conceito para três entradas Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 13 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. 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. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 14 Operação OR Exemplo com diagramas de tempo: Determine a saída da porta OR na figura seguinte: Resposta: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 15 Operação OR Exemplo: Determine a saída da porta OR na figura seguinte: Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 16 Operação OR Exemplo: Determine a saída da porta OR na figura seguinte: Observe o que ocorre no instante t1. Eventos simultâneos (mudança de nível lógico simultâneo das entradas A e B) causam a ocorrência de pulsos espúrios (glitches ou spikes), tal como mostrado. Obs: Transições simultâneas de sinais devem ser sempre evitadas. Obs: Se a entrada C estivesse no nível lógico alto no instante t1, o glitch não ocorreria. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 17 Operação AND (E) Fogão moderno: fogo só acende se o botão de acendimento for pressionado (A) E o botão do gás for mantido pressionado por 10 s (B). 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. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 18 Operação AND A expressão booleana para a operação AND é: X = A · B • A expressão é lida como x é igual a A AND B. • A operação de multiplicação é realizada da mesma forma que a convencional. • Para o caso de três entradas, a tabela-verdade e símbolo esquemático são: UniversidadeFederal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 19 Operação AND Exemplo: Determine a saída da porta AND para as formas de onda de entrada. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 20 Operação AND Exemplo: 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. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 21 Operação NOT (NEGAÇÃO) 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 (complementado) da variável de entrada. Considerando a variável de entrada A, a saída será: X = Ā (A') A operação NOT é mostrada na tabela-verdade, junto com a porta. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 22 Resumo das operações OR AND NOT 0 + 0 = 0 0 · 0 = 0 0' = 1 0 + 1 = 1 0 · 1 = 0 1' = 0 1 + 0 = 1 1 · 0 = 0 1 + 1 = 1 1 · 1 = 1 Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 23 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. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 24 Descrição Algébrica de Circuitos Lógicos Contudo, na expressão anterior, os parênteses 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ênteses é necessário. No caso de circuitos com inversores, a expressão pode ser escrita como apresentado a seguir. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 25 Avaliação das Saídas dos Circuitos Lógicos O processo de avaliação das saídas dos circuitos digitais é conhecido como Análise. 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 têm 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: Exercício: Considere outros valores para as variáveis de entrada e determine os valores de saída do circuito lógico. x= 0A.B + A + A.D + A.C Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 26 Em geral, as seguintes regras devem ser aplicadas quando avaliando expressões lógicas: Primeiro realize todas as inversões de termos simples. Resolva, a seguir, todas as operações dentro de parênteses. 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, em seguida, inverta o resultado. Avaliação das Saídas dos Circuitos Lógicos Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 27 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. Avaliação das Saídas dos Circuitos Lógicos Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 28 Exemplo: Avaliação das Saídas dos Circuitos Lógicos Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 29 Implementação de Circuitos Utilizando Expressões Booleanas Se a expressão booleana é conhecida, o diagrama lógico do circuito pode ser obtido. Suponha que queremos construir o circuito cuja expressão é: y = AC + BĈ + ĀBC Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 30 Exemplo: Desenhe o circuito que implementa a seguinte expressão: Implementação de Circuitos Utilizando Expressões Booleanas (cont.) Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 31 Porta NOR – NÃO OU Combina as operações OR e NOT. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 32 Porta NOR – NÃO OU Ex.: Determine a saída de uma porta NOR de três entradas seguida de um inversor. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 33 Porta NAND – NÃO E Combina as operações AND e NOT. Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia da Computação – CECOMP 34 Exemplo: Implemente o circuito lógico que tem como expressão: Portas Lógicas NAND e NOR Qual o valor da saída x para ABCD = 1110 ? Resposta: 1.
Compartilhar