ÁLGEBRA BOOLEANA- LÓGICA DIGITAL
LÓGICA DIGITAL Álgebra Booleana Fundamentação matemática para a lógica digital Portas Lógicas Bloco fundamental de construção de circuitos lógicos digitais Circuitos Combinatórios Interconexão de portas lógicas onde o sinal de saída é, em qualquer instante, função apenas de sinais de entrada Circuitos Seqüenciais Interconexão de portas lógicas onde o sinal de saída depende também dos sinais anteriores de entrada
ÁLGEBRA BOOLEANA Faz uso de variáveis e operações lógicas: Uma variável pode ter o valor 0 (falso) ou 1 (verdadeiro) As possíveis operações são: AND (E): símbolo OR (OU): símbolo + NOT (NÃO): símbolo operando
ÁLGEBRA BOOLEANA AND: resultado verdadeiro se e somente se ambos os operandos são verdadeiros. OR: resultado verdadeiro se qualquer um ou ambos os operandos possuírem valor verdadeiro. NOT: inverte o valor do operando. XOR: ou exclusivo, o resultado é verdadeiro se e somente se exatamente um dos operandos for verdadeiro. NOR: complemento da operação OR. NAND: complemento da operação AND.
ÁLGEBRA BOOLEANA Tabelas verdade: listam o valor da operação com base nos valores de entrada Montar as tabelas verdade para as operações: NOT, AND, OR, XOR, NAND e NOR
ÁLGEBRA BOOLEANA NOT A A NOT A 0 1 1 0 A AND B A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1
ÁLGEBRA BOOLEANA A OR B A XOR B A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0
ÁLGEBRA BOOLEANA A NAND B A NOR B A B A AND B A NAND B 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 A B A OR B A NOR B 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 1
ÁLGEBRA BOOLEANA Com base nas operações definidas pela álgebra booleana é possível formar expressões. Exemplo: D = A + (B C ) D terá valor 1 se A é 1 ou se B é 0 e C = 1 Precedência: na ausência de parênteses a operação AND tem precedência
ÁLGEBRA BOOLEANA Sabendo que A=1,B=0,C=1 Calcule: A+B C A B + C A + B + C A B C A NOT(B) C (A + (NOT(B) XOR C ) ) B NOT( (A NAND( A B + C ) ) XOR(C + B) )
ÁLGEBRA BOOLEANA Sabendo que A=1,B=0,C=1 Calcule: A+B C A A + 0 = 1 B + C 0 + C = 1 A + B + C = 1 A B C = 1 A NOT(B) C = 1 (A + ( NOT(B) XOR C ) ) B (A + 0) 0 = 0
ÁLGEBRA BOOLEANA Sabendo que A=1,B=0,C=1 Calcule: NOT( (A NAND( A B + C ) ) XOR(C + B) ) =NOT( (A NAND( 1) ) XOR (1)) =NOT( NOT(A AND 1) XOR 1 ) =NOT( NOT( 1) XOR 1 ) =NOT ( 0 XOR 1 ) =NOT ( 1) = 0
SIMPLIFICAÇÃO ALGÉBRICA Utilização dos postulados básico para realizar a simplificação Lei da comutatividade A B = B A Lei da distributividade A (B + C) = (A B) + (A C) A + (B C) = (A + B) (A + C) Elemento identidade A + B = B + A 1 A = A 0 + A = A Elemento inverso A A = 0 A + A = 1
ÁLGEBRA BOOLEANA Teoremas de DeMorgan: (A OR B) = A NOR B = A AND B (A AND B) = A NAND B = A OR B
Simplificação Algébrica Propriedades da álgebra Booleana 1. X + 0 = X 2. X * 1 = X 3. X + 1 = 1 4. X * 0 = 0 5. X + X = X 6. X * X = X 7. X + Not(X) = 1 8. X * Not(X) = 0 9. Not(Not(X)) = X 10. X+Y = Y+X 11. XY = YX 12. X +(Y+Z)=(X+Y)+Z 13. X(YZ)=(XY)Z 14. X(Y+Z)=XY+XZ 15. X+YZ=(X+Y)(X+Z) 16. Not(X+Y)= Not(X)*Not(Y) 17. Not(XY)= Not(X)+Not(Y)
SIMPLIFICAÇÃO ALGÉBRICA Exemplo: A Expressão: Not(A)*B + B*Not(C) Pode ser reduzida a expressão: B(Not(A) + Not(C)) Pela lei da distributividade A (B + C) = (A B) + (A C)
SIMPLIFICAÇÃO ALGÉBRICA Exemplo: A Expressão: ABC + ABC + ABC Pode ser reduzida a: BC + ABC
SIMPLIFICAÇÃO ALGÉBRICA Not(A)*B*Not(C) + A*Not(B)*C + A*B*C = (A + Not(A))*(B*Not(C)) + A*Not(B)*C = (B*Not(C)) + A *Not(B)*C Not(A)*B *Not(C) + A*B*C = (A + Not(A)) *(B*Not(C)); deduzido pela propriedade: Distributiva (A + Not(A)) = 1 ; deduzido pela propriedade: Elemento inverso
LÓGICA DIGITAL
PORTAS LÓGICAS Circuito eletrônico que produz um sinal de saída que é resultado de uma operação booleana sobre os sinais de entrada Portas lógicas básicas: AND, OR, NOT, NAND e NOR
PORTAS LÓGICAS Porta lógica NOT
PORTAS LÓGICAS Porta Lógica OR
PORTAS LÓGICAS Porta Lógica AND
PORTAS LÓGICAS Porta NOR
PORTAS LÓGICAS Porta Lógica NAND
PORTAS LÓGICAS Porta OR com inversores nas entradas
PORTAS LÓGICAS Porta AND com inversores nas entradas
PORTAS LÓGICAS Os círculos indicam uma inversão no nível lógico do sinal de entrada
PORTAS LÓGICAS
PORTAS LÓGICAS Conjunto de portas lógicas funcionalmente completas: Qualquer função booleana pode ser implementada usando apenas as portas deste conjunto Exemplo: AND, OR e NOT AND, NOT: precisa-se saber representar OR OR, NOT: precisa-se saber representar AND NAND NOR
PORTAS LÓGICAS FUNCIONALMENTE COMPLETAS Então podemos implementar as funções AND, OR e NOT usando apenas portas NAND
PORTAS LÓGICAS FUNCIONALMENTE COMPLETAS As funções AND, OR e NOT também podem ser implementadas usando somente portas NOR
CIRCUITOS COMBINATÓRIOS Interconexão de portas lógicas onde o sinal de saída é, em qualquer instante, função apenas de sinais de entrada N entradas binárias e M saídas binárias. Qualquer função booleana pode ser implementada por um circuito eletrônico, através de portas lógicas.
IMPLEMENTAÇÃO Podemos implementar qualquer função booleana, por um circuito eletrônico, através de uma rede de portas lógicas. Para qualquer função existem uma série de implementações alternativas Vamos observar a implementação da função G dada abaixo: G = ABC + ABC + ABC
IMPLEMENTAÇÃO Tabela verdade: D=Not(A)*B*Not(C) A B C Not(A) Not(C) D 0 0 0 1 1 0 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0
IMPLEMENTAÇÃO Tabela verdade: E=A*Not(B)*C A B C Not(B) C) E 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 0 0
IMPLEMENTAÇÃO Tabela verdade: F=A*B*Not(C) A B C Not(C) F 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 0 0 1 1 0 1 1 1 1 1 0 0
IMPLEMENTAÇÃO Tabela verdade: G=D+E+F D E F G 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0
IMPLEMENTAÇÃO A partir da construção da tabela verdade deduzimos que : G só será verdadeira para as seguintes entradas de A,B e C: A=0, B=1 e C=0 D=1 A=1, B=0 e C=1 E=1 A=1, B=1 e C=0 F=1
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO Já foi verificado que a expressão G pode ser simplificada com base nas propriedades da álgebra booleana para a expressão: G = B*Not(C) + A*Not(B)*C De posse dessa informação podemos implementar o circuito referente a G pode substituir o circuito G para a realização da mesma tarefa.
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
IMPLEMENTAÇÃO
CIRCUITOS COMBINATÓRIOS Simplificação de expressões booleanas: Simplificação algébrica (utilizado no exemplo anterior) Mapas de Karnaugh Tabelas de Quine-McKluskey
IMPLEMENTAÇÃO UTILIZANDO PORTAS NAND E NOR Freqüentemente é desejável implementar uma função booleana utilizando apenas portas NAND ou portas NOR. Embora possa Não Ser a implementação que utiliza o menor número de portas, tem como vantagem a regularidade, o que simplifica o processo de fabricação. Considere a Equação: F = B( A + C)
IMPLEMENTAÇÃO UTILIZANDO PORTAS NAND E NOR
IMPLEMENTAÇÃO UTILIZANDO PORTAS NAND E NOR
Circuitos Combinatórios Multiplexadores (MUX) Circuito com 2 n linhas de entrada, n linhas de controle e 1 saída Seleciona uma única saída a partir de várias entradas, sendo a entrada escolhida direcionada para a saída
Multiplexador S2 S1 F S2 S1 0 0 D0 0 1 D1 1 0 D2 1 1 D3 D0 D0 D1 F D1 D2 MUX 4-para-1 F D2 D3 D3 S2 S1
Multiplexador Diagrama Funcional
Multiplexador - Aplicação Controle e roteamento de sinais - Controla qual dispositivo entre a cpu e os canais de dados, pode fazer acesso á memória
Multiplexador - Aplicação C 0 IR 0 ULA 0 C 1 IR 1 ULA 1 C 15 IR 15 ULA 15 S2 S1 MUX 4-para-1 S2 S1 MUX 4-para-1... S2 S1 MUX 4-para-1 PC 0 PC 1 PC 15
Demultiplexador Realiza a operação inversa do multiplexador A partir de uma única entrada, distribuí essa entrada para várias saídas
Demultiplexador
Demultiplexador SELEÇÃO SAÍDA S 2 S 1 S 0 O 7 O 6 O 5 O 4 O 3 O 2 O 1 O 0 0 0 0 0 0 0 0 0 0 0 I 0 0 1 0 0 0 0 0 0 I 0 0 1 0 0 0 0 0 0 I 0 0 0 1 1 0 0 0 0 I 0 0 0 1 0 0 0 0 0 I 0 0 0 0 1 0 1 0 0 I 0 0 0 0 0 1 1 0 0 I 0 0 0 0 0 0 1 1 1 I 0 0 0 0 0 0 0
Decodificador Circuito lógico que converte um código binário de n bits que lhe é apresentado como entrada em 2 n linhas de saída, sendo que cada linha de saída é ativada por uma, e somente uma, das possíveis combinações dos bits de entrada.
Decodificador A B C S 0 S 1 S 2 S 3 S 4 S 5 S 6 S 7 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 1
Decodificador
DECODIFICADORES - APLICAÇÃO
CODIFICADORES Circuito digital oposto do Decodificador Possui um conjunto de linhas de entrada, sendo que somente uma delas pode estar ativada em determinado instante de tempo, produzindo uma saída que é um código de n bits, dependendo da entrada que estiver ativada
CODIFICADORES A 0 A 1 A 2 A 3 A 4 A 5 A 6 A 7 O 2 O 1 O 0 X 0 0 0 0 0 0 0 0 0 0 X 1 0 0 0 0 0 0 0 0 1 X 0 1 0 0 0 0 0 0 1 0 X 0 0 1 0 0 0 0 0 1 1 X 0 0 0 1 0 0 0 1 0 0 X 0 0 0 0 1 0 0 1 0 1 X 0 0 0 0 0 1 0 1 1 0 X 0 0 0 0 0 0 1 1 1 1
PORTA XOR XOR Apresenta nível lógico 1 se as entradas tiverem níveis lógicos opostos, ou seja,se uma delas tiver nível 1
Comparadores Circuito que compara duas entradas Baseado na porta lógica EXNOR, que produz 0 caso as entradas são iguais e 1 se são diferentes EXNOR Apresenta nível lógico 1 sempre que as entradas forem iguais
MATRIZ DE LÓGICA PROGRAMÁVEL Programable Logic Array PLA Pastilhas de uso geral que podem facilmente programadas para propósitos específicos Baseada no fato de que qualquer função booleana pode ser expressa na forma de uma soma de produtos
MATRIZ DE LÓGICA PROGRAMÁVEL
Simplificação Algébrica Propriedades da álgebra Booleana