Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 A: A3 A2 A1 A0 A é um número binário em complemento de 2 MaiorIgual ← 1 quando A ≥ 5 ≥ 5 MaiorIgual A 4 Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 A3 A2 A1 A0 MaiorIgual 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 A3 A2 A1 A0 MaiorIgual 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 -8 1 0 0 0 -7 1 0 0 1 -6 1 0 1 0 -5 1 0 1 1 -4 1 1 0 0 -3 1 1 0 1 -2 1 1 1 0 -1 1 1 1 1 Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 → !A3.A2.!A1.A0 → !A3.A2.A1.!A0 → !A3.A2.A1.A0 MaiorIgual = !A3.A2.!A1.A0 + !A3.A2.A1.!A0 + !A3.A2.A1.A0 A3 A2 A1 A0 MaiorIgual 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 1 7 0 1 1 1 1 -8 1 0 0 0 0 -7 1 0 0 1 0 -6 1 0 1 0 0 -5 1 0 1 1 0 -4 1 1 0 0 0 -3 1 1 0 1 0 -2 1 1 1 0 0 -1 1 1 1 1 0 Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 MaiorIgual = !A3.A2.!A1.A0 + !A3.A2.A1.!A0 + !A3.A2.A1.A0 Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 MaiorIgual = !A3.A2.!A1.A0 + !A3.A2.A1.!A0 + !A3.A2.A1.A0 MaiorIgual = !A3.A2.(!A1.A0 + A1.!A0 + A1.A0) (Distributividade) MaiorIgual = !A3.A2.(!A1.A0 + A1.(!A0 + A0)) (Distributividade) MaiorIgual = !A3.A2.(!A1.A0 + A1.(1)) (OR: X + !X = 1) MaiorIgual = !A3.A2.(!A1.A0 + A1) (AND: X . 1 = X) MaiorIgual = !A3.A2.((A0 + A1).(!A1 + A1)) (Distributividade) MaiorIgual = !A3.A2.((A0 + A1).(1)) (OR: X + !X = 1) MaiorIgual = !A3.A2.(A0 + A1) (AND: X . 1 = X) Álgebra booleana Projeto de circuitos Detector de número signed (complemento de 2) ≥ 5 MaiorIgual = !A3.A2.(A0 + A1) Álgebra booleana Projeto de circuitos Detecção de maioria O sistema tem 4 entradas (v1, v2, v3, v4) Maioria ← 1 quando a maioria das entradas é igual a 1 Maioria v1 v2 v3 v4 Álgebra booleana Projeto de circuitos Detecção de maioria v1 v2 v3 v4 Maioria 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 Álgebra booleana Projeto de circuitos Detecção de maioria v1 v2 v3 v4 Maioria 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Maioria = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4 → !v1.v2.v3.v4 → v1.!v2.v3.v4 → v1.v2.!v3.v4 → v1.v2.v3.!v4 → v1.v2.v3.v4 Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4 Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4 Maioria = v3.v4.(!v1.v2 + v1.!v2 + v1.v2) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (distributividade) Maioria = v3.v4.(!v1.v2 + v1.(!v2 + v2)) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (distributividade) Maioria = v3.v4.(!v1.v2 + v1.(1)) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (OR: X + !X = 1) Maioria = v3.v4.(!v1.v2 + v1) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (AND: X.1 = X) Maioria = v3.v4.((v1+ !v1).(v1 + v2)) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (distributividade) Maioria = v3.v4.((1).(v1 + v2)) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (OR: X + !X = 1) Maioria = v3.v4.(v1 + v2) + v1.v2.!v3.v4 + v1.v2.v3.!v4 (AND: X.1 = X) Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = v3.v4.(v1 + v2) + v1.v2.!v3.v4 + v1.v2.v3.!v4 Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 (distributividade) Maioria = v1.v3.v4 + v2.v4.(v3 + v1.!v3) + v1.v2.v3.!v4 (distributividade) Maioria = v1.v3.v4 + v2.v4.((v3 + v1).(v3 + !v3)) + v1.v2.v3.!v4 (distributividade) Maioria = v1.v3.v4 + v2.v4.((v3 + v1).(1)) + v1.v2.v3.!v4 (OR: X + !X = 1) Maioria = v1.v3.v4 + v2.v4.(v3 + v1) + v1.v2.v3.!v4 (AND: X.1 = X) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.v4 + v1.v2.v3.!v4 (distributividade) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.(v4 + v3.!v4) (distributividade) Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.(v4 + v3.!v4) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.((v4 + v3).(v4 + !v4)) (distributividade) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.((v4 + v3).(1)) (OR: X + !X = 1) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.(v4 + v3) (AND: X.1 = X) Maioria = v1.v3.v4 + v2.v3.v4 + v1.v2.v4 + v1.v2.v3 (distributividade) Maioria = v3.v4.(v1 + v2) + v1.v2.(v4 + v3) (distributividade) Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = v3.v4.(v1 + v2) + v1.v2.(v4 + v3) Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = v3.v4.(v1 + v2) + v1.v2.(v4 + v3) 7404 x 1 7421 x 3 7408 x 1 Circuitos Integrados (CIs) Total: 5 CIs R$ 2,00 em média cada CI Custo: R$ 10,00 Álgebra booleana Projeto de circuitos Detecção de maioria Maioria = v3.v4.(v1 + v2) + v1.v2.(v4 + v3) 7408 x 1 7411 x 1 Circuitos Integrados (CIs) Total: 2 CIs R$ 2,00 em média cada CI Custo: R$ 4,00 Álgebra booleana Portas lógicas além das básicas OR, AND e inversor NAND (Not AND) NOR (Not OR) XOR (Exclusive OR) XNOR (Exclusive NOR) Álgebra booleana Porta lógica NAND (“NOT AND”) Combinação da porta lógica AND e um inversor A B S 0 0 0 0 1 0 1 0 0 1 1 1 Tabela verdade AND A B S 0 0 1 0 1 1 1 0 1 1 1 0 Tabela verdade NAND Indica inversão ≡ S = !(A.B) Se alguma entrada é igual a 0, a saída é 1 Álgebra booleana Porta lógica NAND (“NOT AND”) Qualquer circuito lógico pode ser implementado utilizando as portas lógicas OR, AND e inversor A partir de portas NAND pode-se obter portas OR, AND e inversor Universal Álgebra booleana Porta lógica NOR (“NOT OR”) Combinação da porta lógica OR e um inversor A B S 0 0 0 0 1 1 1 0 1 1 1 1 Tabela verdade OR A B S 0 0 1 0 1 0 1 0 0 1 1 0 Tabela verdade NOR Indica inversão ≡ S = !(A + B) Se alguma entrada é igual a 1, a saída é 0 Álgebra booleana Porta lógica NOR (“NOT OR”) Qualquer circuito lógico pode ser implementado utilizando as portas lógicas OR, AND e inversor A partir de portas NOR pode-se obter portas OR, AND e inversor Universal Álgebra booleana Porta lógica XOR (eXclusive OR) ou lógico exclusivo Símbolos: A B, A B C Definição A operação XOR sobre duas variáveis resulta 1 se elas tem valores diferentes. Caso contrário (iguais) resulta 0. 23 A B S 0 0 0 0 1 1 1 0 1 1 1 0 Tabela verdade Porta lógica S = A B Álgebra booleana Porta lógica XOR (eXclusive OR) ou lógico exclusivo Símbolos: A B, A B C Linguagens de programação (e.g. C, Java): ^ Definição A operação XOR resulta 1 se o número de entradas em 1 é ímpar. Caso contrário resulta 0. 24 Porta lógica S = A B C A B C S 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 XOR com mais de 2 entradas tem bug no logisim Álgebra booleana Porta lógica XOR (eXclusive OR) A B ≡ !A.B + A.!B = A B A B S 0 0 0 0 1 1 1 0 1 1 1 0 Tabela verdade XOR → !A.B → A.!B Álgebra booleana Porta lógica XOR (eXclusive OR) Detector de número de 1s impar em um número de 8 bits A: A7 A6 A5 A4 A3 A2 A1 A0 Impar1 ← 1 quando A tiver um número impar de 1s, senão 0 Tabela verdade: 28 = 256 linhas #1s impar Impar1 A 8 Impar1 = A7 A6 A5 A4 A3 A2 A1 A0 Álgebra booleana Porta lógica XNOR (eXclusive NOR) Combinação da porta lógica XOR e um inversor Função coincidência A B S 0 0 0 0 1 1 1 0 1 1 1 0 Tabela verdade XOR A B S 0 0 1 0 1 0 1 0 0 1 1 1 Tabela verdade XNOR Se as entradas são iguais, a saída é 1 S = !(A B) Álgebra booleana Porta lógica XNOR (eXclusive NOR) !(A B) ≡ !A.!B + A.B A B S 0 0 1 0 1 0 1 0 0 1 1 1 Tabela verdade XNOR → !A.!B → A.B Álgebra booleana Porta lógica XNOR (eXclusive NOR) Igualdade de 2 números de 2 bits A: A1 A0 B: B1 B0 Igual ← 1 quando A = B, senão 0 = Iguais A B 2 2 A = B se A0 = B0 e A1 = B1 Álgebra booleana Porta lógica XNOR (eXclusive NOR) Igualdade de 2 números de 2 bits A1 A0 B1 B0 Iguais 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1 1 1 1 1 Compara bit 0 Compara bit 1 A = B se A0 = B0 e A1 = B1 Iguais = A1 B1 . A0 B0 Álgebra booleana Porta lógica XNOR (eXclusive NOR) Igualdade de 2 números de 8 bits Tabela verdade de 216 = 65536 linhas 1 XNOR de duas entradas por bit Álgebra booleana Circuitos com mais de uma saída Tratar separadamente cada saída Um circuito para cada saída compartilhando as mesmas entradas Exemplo: circuito com duas saídas: F e G F = a.b + !c G = a.b + b.c a.b Otimização a.b F a b c G Álgebra booleana Circuitos com mais de uma saída Detecção de maioria e empate O sistema tem 4 entradas (v1, v2, v3, v4) M ← 1 quando a maioria das entradas é igual a 1 e ← 1 quando o número de entradas iguais a 1 e 0 é igual M v1 v2 v3 v4 e Álgebra booleana Circuitos com mais de uma saída Detecção de maioria e empate v1 v2 v3 v4 M 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Álgebra booleana Circuitos com mais de uma saída Detecção de maioria e empate v1 v2 v3 v4 M e 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 Álgebra booleana Circuitos com mais de uma saída Detecção de maioria e empate v1 v2 v3 v4 M e 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 1 1 1 0 1 1 0 1 1 1 0 1 0 1 1 1 1 1 0 e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + !v1.v2.v3.!v4 + v1.!v2.!v3.v4 + v1.!v2.v3.!v4 + v1.v2.!v3.!v4 M = !v1.v2.v3.v4 + v1.!v2.v3.v4 + v1.v2.!v3.v4 + v1.v2.v3.!v4 + v1.v2.v3.v4 !v1.v2.v3.v4 v1.!v2.v3.v4 v1.v2.!v3.v4 v1.v2.v3.!v4 v1.v2.v3.v4 !v1.!v2.v3.v4 !v1.v2.!v3.v4 !v1.v2.v3.!v4 v1.!v2.!v3.v4 v1.!v2.v3.!v4 v1.v2.!v3.!v4 Álgebra booleana Circuitos com mais de uma saída Detecção de maioria e empate e = !v1.!v2.v3.v4 + !v1.v2.!v3.v4 + !v1.v2.v3.!v4 + v1.!v2.!v3.v4 + v1.!v2.v3.!v4 + v1.v2.!v3.!v4 M = v2.v3.v4 + v1.v3.v4 + v1.v2.v4 + v1.v2.v3 Álgebra booleana Circuitos com mais de uma saída Logisim Álgebra booleana Circuitos com mais de uma saída Contador de 1s Circuito cuja saída apresenta em binário o número de entradas em 1 X ← número de bits iguais a 1 002 (0), 012 (1), 102 (2), 112 (3) Contador de 1s a b c X 2 Álgebra booleana Circuitos com mais de uma saída Contador de 1s Circuito cuja saída apresenta em binário o número de entradas em 1 a b c X1 X0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Álgebra booleana Circuitos com mais de uma saída Contador de 1s Circuito cuja saída apresenta em binário o número de entradas em 1 a b c X1 X0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 !a.b.c a.!b.c a.b.!c a.b.c !a.!b.c !a.b.!c a.!b.!c a.b.c X1 = !a.b.c + a.!b.c + a.b.!c + a.b.c → b.a + b.c + a.c X0 = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c Álgebra booleana Circuitos com mais de uma saída Contador de 1s Circuito cuja saída apresenta em binário o número de entradas em 1 X1 = !a.b.c + a.!b.c + a.b.!c + a.b.c → b.a + b.c + a.c X0 = !a.!b.c + !a.b.!c + a.!b.!c + a.b.c
Compartilhar