Sunteți pe pagina 1din 32

Sistemas Digitais I

LESI :: 2 ano

- lgebra de Boole
Antnio Joaquim Esteves
Joo Miguel Fernandes

www.di.uminho.pt/~aje Bibliografia: seces 3.1 e 4.1, DDPP, Wakerly


DEP. DE INFORMTICA ESCOLA DE ENGENHARIA UNIVERSIDADE DO MINHO

2. lgebra de Boole
- Sumrio Sinais binrios Sistemas combinacionais vs. sequenciais Portas lgicas lgebra da comutao (switching) Axiomas Teoremas Dualidade Representao normalizada Exemplos

2. lgebra de Boole
- Introduo O sucesso da tecnologia dos computadores baseia-se em 1 lugar na simplicidade com que se projectam circuitos digitais e na facilidade da sua produo. Os circuitos digitais so constitudos por unidades de processamento elementares, designadas por portas lgicas, e unidades de memria elementares, designadas por flip-flops. A simplicidade do projecto de circuitos digitais deve-se ao facto de as entradas e as sadas de cada porta lgica ou flip-flop assumir apenas 2 valores: 0 e 1. As alteraes no valor dos sinais so determinadas pelas leis da lgebra de Boole. A lgebra de Boole permite optimizar funes. No projecto de circuitos digitais pode usar-se tcnicas de optimizao de outras reas.

2. lgebra de Boole
- Sinais Binrios (1) A lgica digital esconde a realidade analgica, ao mapear uma gama infinita de valores reais em apenas 2 valores: 0 e 1. A um valor lgico, 0 ou 1, comum chamar-se um dgito binrio (bit). Com n bits, pode representar-se 2n entidades distintas. Quando um projectista lida com circuitos electrnicos, comum usar os termos BAIXO e ALTO, em vez de 0 e 1. Considerar que 0 BAIXO e 1 ALTO, corresponde a usar lgica positiva. A correspondncia oposta a esta, designada de lgica negativa.

2. lgebra de Boole
- Sinais Binrios (2) -

- Sistemas Combinacionais vs. Sequenciais Um sistema lgico combinacional aquele em que as sadas dependem apenas do valor actual das entradas. Um sistema combinacional pode ser descrito por uma tabela de verdade. Alm do valor actual das entradas, as sadas dum circuito lgico sequencial dependem tambm da sequncia de valores por que passaram as entradas memria. Um sistema sequencial pode ser descrito atravs duma tabela de estados. Um sistema combinacional pode conter qualquer nmero de portas lgicas mas no ciclos de realimentao (feedback loops). Um ciclo de realimentao um caminho dum circuito, que permite a um sinal de sada duma porta ser propagado de volta para a entrada dessa porta. Regra geral, os ciclos de realimentao introduzem um comportamento sequencial nos circuitos.

2. lgebra de Boole

2. lgebra de Boole
- Portas Lgicas (1) Com 3 tipos de porta elementares (AND, OR, NOT) consegue construir-se qualquer sistema digital combinacional formam um conjunto completo.

Os smbolos e as tabelas de verdade do AND e do OR podem ser generalizados para portas com qualquer nmero de entradas. A bolha na sada do inversor representa um comportamento invertido.

2. lgebra de Boole
- Portas Lgicas (2) Combinando numa nica porta, um NOT com uma funo AND ou OR, obtm-se 2 novas funes lgicas: NAND e NOR.

O smbolo e a tabela de verdade do NAND e do NOR tambm podem ser generalizados para portas com qualquer nmero de entradas.

2. lgebra de Boole
- lgebra da comutao Em 1854, G. Boole [1815-1865] introduziu o formalismo que ainda usamos para tratar a lgica de forma sistemtica lgebra de Boole. Em 1938, C. Shannon [1916-2001] utilizou esta lgebra para provar que as propriedades dos circuitos de comutao elctricos podem ser representados por uma lgebra de Boole com 2-valores lgebra da comutao. Usando esta lgebra, pode equacionar-se proposices (afirmaes) que sero verdadeiras ou falsas. Combinando-as, geram-se novas proposies e pode concluir-se se elas so verdadeiras ou falsas. Shannon usava uma varivel simblica (por ex. X) para representar a condio associada a um sinal lgico, em que ele assumia um de 2 valores possveis ( 0 ou 1).

2. lgebra de Boole
- Axiomas (1) Os axiomas (ou postulados) dum sistema matemtico so um conjunto mnimo de definies elementares, que se considera serem verdadeiras. O 1 par de axiomas incorpora a abstraco digital (X s pode assumir 2 valores): (A1) X=0 se X1 (A1) X=1 se X0 Este par de axiomas apenas difere na permuta dos smbolos 0 e 1. Este princpio aplica-se a todos os axiomas e est na origem da dualidade. O prximo par de axiomas incorpora a notao de funo inversor: (A2) Se X=0, ento X=1 (A2) Se X=1, ento X=0

A plica () denota a funo inversor.

2. lgebra de Boole
- Axiomas (2) Os ltimos 3 pares de axiomas enunciam a definio formal das operaes AND (multiplicao lgica) e OR (adio lgica): (A3) 00 = 0 (A3) 1+1 = 1 (A4) 11 = 1 (A4) 0+0 = 0 (A5) 01 = 10 = 0 (A5) 1+0 = 0+1 = 1

Por conveno, numa expresso lgica contendo multiplicao e adio, a multiplicao tem precedncia. A expresso XY+YZ equivalente a (XY) + (YZ). Os axiomas A1-A5 e A1-A5 definem de forma completa a lgebra Boole.

2. lgebra de Boole
- Teoremas (1) Os teoremas so declaraes, que se sabe serem verdadeiras, que permitem manipular expresses algbricas de modo a que a anlise seja mais simples e/ou a sntese dos circuitos correspondentes seja mais eficiente. Teoremas envolvendo apenas uma varivel: (T1) X+0 = X (T1) X1 = X (T2) X+1 = 1 (T2) X0 = 0 (T3) X+X = X (T3) XX = X (T4) (X) = X (T5) X+X = 1 (T5) XX = 0
(Identidades) (Elementos nulos) (Idempotncia) (Involuo) (Complementos)

Pode provar-se que estes teoremas so verdadeiros. Prova de T1: [X=0] 0+0=0 (verdade, segundo A4) [X=1] 1+0=1 (verdade, segundo A5)

2. lgebra de Boole
- Teoremas (2) Teoremas envolvendo 2 ou 3 variveis: (T6) X+Y = Y+X (T6) XY = YX (T7) (X+Y)+Z = X+(Y+Z) (T7) (XY)Z = X(YZ) (T8) XY+XZ = X(Y+Z) (T8) (X+Y)(X+Z) = X+YZ (T9) X+XY = X (T9) X(X+Y) = X (T10) XY+XY = X (T10) (X+Y)(X+Y) = X (T11) XY+XZ+YZ = XY+XZ (T11) (X+Y)(X+Z)(Y+Z) = (X+Y)(X+Z) T9 e T10 so usados para minimizar funes lgicas. Demonstrar T9: T1 T8 T2 T1
(Comutatividade) (Associatividade) (Distributividade) (Cobertura) (Combinao) (Consenso)

Ateno: o teorema T8 no verdadeiro com inteiros ou reais.

2. lgebra de Boole
- Teoremas (3) Vrios teoremas importantes so verdadeiros para um n arbitrrio de variveis
Teoremas envolvendo n variveis: (T12) X+X+ ... +X = X (T12) XX ... X = X (T13) (X1X2 ... Xn) = X1+X2+ ... +Xn (T13) (X1+X2+ ... +Xn) = X1X2 ... Xn (T14) [F(X1,X2,...,Xn,0,1,+,)] = F(X1,X2,...,Xn,1,0,,+)
Idempotncia generalizada Teoremas de DeMorgan T. de DeMorgan generalizado Teoremas da expanso de Shannon

(T15) F(X1,X2,...,Xn) = X1F(1,X2,...,Xn) + X1F(0,X2,...,Xn) (T15) F(X1,X2,...,Xn) = [X1+F(0,X2,...,Xn)] [X1+F(1,X2,...,Xn)]

2. lgebra de Boole
- Teoremas (4) Teorema de DeMorgan (T13 e T13) para n=2: (XY) = X+Y (X+Y) = XY O Teorema de DeMorgan estabelece um procedimento para complementar funes lgicas. Pode usar-se o teorema de DeMorgan para converter expresses AND-OR em expresses OR-AND. Augustus De Morgan [1806-1871]

Exemplo: Z = A B C + A B C + A B C + A B C Z = (A + B + C) (A + B + C) (A + B + C) (A + B + C)

2. lgebra de Boole
- Teoremas (5) -

Portas lgicas equivalentes segundo os teoremas de DeMorgan:

T13

T13

2. lgebra de Boole
- Teoremas (6) Como a lgebra de Boole s possui 2 valores, tambm se pode demonstrar a validade dos teoremas atravs de tabelas de verdade. Para isso, constri-se uma tabela de verdade para cada lado das equaes presentes num teorema. Para verificar a validade dum teorema, basta que ambos os lados das equaes produzam resultados idnticos em todas as combinaes de valores das variveis. Exemplo: provar os teoremas de DeMorgan [T13 e T13] para n=2: (X+Y) = XY (XY) = X+Y
X 0 0 1 1 Y 0 1 0 1 X 1 1 0 0 Y 1 0 1 0 X +Y 1 0 0 0 XY 1 0 0 0

X 0 0 1 1

Y 0 1 0 1

X 1 1 0 0

Y 1 0 1 0

XY X +Y 1 1 1 1 1 1 0 0

2. lgebra de Boole
- Dualidade (1) Os teoremas foram apresentados aos pares. A verso primria dum teorema pode ser obtida da verso secundria trocando 0 com 1 e com +. Princpio da dualidade: Qualquer teorema ou identidade da lgebra de Boole continua a ser verdadeiro quando se trocam todos os 0 com 1 e todos os com +. A dualidade importante porque duplica a utilidade de qualquer axioma/teorema da lgebra de Boole e da manipulao de funes lgicas. O dual duma expresso lgica a mesma expresso em que + e foram trocados: FD(X1,X2,...,Xn,0,1,+,,) = F(X1,X2,...,Xn,1,0,,+,). No se deve confundir a dualidade com os teoremas de DeMorgan [F(X1,X2,...,Xn,+,)] = F (X1,X2,...,Xn,,+) [F(X1,X2,...,Xn,+,)] = FD(X1,X2,...,Xn ,+,)

2. lgebra de Boole
- Dualidade (2) Funo elctrica Lgica positiva Lgica negativa
Aplicao prtica da expresso do dual

dual

dual

2. lgebra de Boole
- Dualidade (3) Lgica positiva

Lgica negativa

Ilustrao prtica de [F(X1,X2,...,Xn)] = FD(X1,X2,...,Xn)

2. lgebra de Boole
- Representao normalizada (1) A representao mais elementar duma funo lgica a tabela de verdade. A tabela de verdade indica qual a sada do circuito para cada combinao de entradas possvel. A tabela de verdade duma funo de n-variveis possui 2n linhas

Existem 28 funes lgicas de 3 variveis (23 = 8 linhas e {0,1}= 2 valores).

2. lgebra de Boole
- Representao normalizada (2) Como as tabelas de verdade apenas so viveis com poucas variveis, conveniente saber convert-las para expresses algbricas. Um literal uma varivel ou o complemento duma varivel. EX: X, Y, X Um termo de produto um literal ou um produto lgico de 2 ou mais literais. EX: Z , WXY , WXY A soma-de-produtos (SOP) uma soma lgica de termos de produto. EX: Z + WXY Um termo de soma um literal ou uma soma lgica de 2 ou mais literais. EX: Z , W+X+Y , W+X+Y O produto-de-somas (POS) um produto lgico de termos de soma. EX: Z (W+X+Y)

2. lgebra de Boole
- Representao normalizada (3) Um termo normal um termo de produto, ou de soma, em que cada varivel s aparece uma vez. Exemplos de termos no-normais: WXXZ , W+Y+Z+W Um mintermo de n-variveis um termo de produto normal com n literais. Exemplos com 4 variveis: WXYZ , WXYZ Um maxtermo de n-variveis um termo de soma normal com n literais. Exemplos com 4 variveis: W+X+Y+Z , W+X+Y+Z H uma correspondncia entre a tabela de verdade e os mintermos e maxtermos. Um mintermo um termo de produto que 1 numa linha da tabela de verdade. Um maxtermo um termo de soma que 0 numa linha da tabela de verdade.

2. lgebra de Boole
- Representao normalizada (4) Mintermos e maxtermos para uma funo de 3-variveis F(X,Y,Z)

2. lgebra de Boole
- Representao normalizada (5) Um mintermo de n-variveis pode ser representado por um inteiro com n-bits (o nmero do mintermo). No mintermo i, uma varivel surge complementada se o bit correspondente na representao binria de i for 0; seno, a varivel no-complementada Por exemplo, linha 5 (101) corresponde o mintermo XYZ No maxtermo i, uma varivel surge complementada se o bit correspondente na representao binria de i for 1; seno, a varivel no-complementada Por exemplo, linha 5 (101) corresponde o maxtermo X+Y+Z Para que a especificao dos mintermos e maxtermos faa sentido, preciso conhecer o nmero de variveis da funo e a sua ordem. (X,Y,Z nos exemplos)

2. lgebra de Boole
- Representao normalizada (6) A partir da correspondncia entre a tabela de verdade e os mintermos, pode derivar-se uma representao algbrica dessa funo lgica. A soma cannica duma funo lgica uma soma dos mintermos que correspondem a linhas da tabela de verdade para as quais a funo 1. Exemplo - a partir da tabela ao lado obtm-se: F = X,Y,Z m(0,3,4,6,7) = XYZ + XYZ + XYZ + XYZ + XYZ A notao X,Y,Z m(0,3,4,6,7) identifica 1 lista de mintermos e representa a soma dos mintermos 0, 3, 4, 6 e 7 envolvendo as variveis X, Y e Z. lista de mintermos tambm se pode dar o nome de on-set da funo lgica.

2. lgebra de Boole
- Representao normalizada (7) A partir da correspondncia entre a tabela de verdade e os maxtermos, pode derivar-se uma representao algbrica dessa funo lgica. O produto cannico duma funo lgica um produto dos maxtermos que correspondem a linhas da tabela de verdade para as quais a funo 0. Exemplo - a partir da tabela ao lado obtm-se: F = X,Y,Z M(1,2,5) = (X+Y+Z) (X+Y+Z) (X+Y+Z) A notao X,Y,Z M(1,2,5) identifica uma lista de maxtermos e representa o produto dos maxtermos 1, 2 e 5 envolvendo as variveis X, Y e Z. lista de maxtermos tambm se pode dar o nome de off-set da funo lgica.

2. lgebra de Boole
- Representao normalizada (8) -

fcil converter uma lista de mintermos numa lista de maxtermos. Para uma funo de n-variveis, os mintermos e maxtermos pertencem ao conjunto {0, 1, , 2n-1}. Uma lista de mintermos ou de maxtermos um sub-conjunto destes nmeros. Para mudar dum tipo de lista para o outro, utiliza-se o subconjunto de nmeros complementar. Exemplos:
A,B,C m(0,1,2,3) = A,B,C M(4,5,6,7) X,Y m(1) = X,Y M(0,2,3) W,X,Y,Z m(1,2,3,5,8,12,13) = W,X,Y,Z M(0,4,6,7,9,10,11,14,15)

2. lgebra de Boole
- Representao normalizada (9) -

Foram apresentadas 5 formas distintas de representar funes lgicas combinacionais:


A tabela de verdade A soma algbrica de mintermos (a soma cannica) A lista de mintermos, com notao O produto algbrico de maxtermos (o produto cannico) A lista de maxtermos, com notao

Qualquer destas representaes contm exactamente a mesma informao. A partir duma delas, pode derivar-se cada uma das outras 4 aplicando uma regra de converso simples.

2. lgebra de Boole
- Exemplos (1) -

1. Considere F = XY + XYZ + XYZ. Obtenha a expresso de F na forma produto de somas


F = (X.Y + X.Y.Z + X.Y.Z) = (X.Y)(X.Y.Z)(X.Y.Z) = (X+Y).(X+Y+Z).(X+Y+Z)

2. Escreva a funo G(X,Y,Z) = X + YZ como uma lista de mintermos


G = = = = = X + YZ X(Y+Y)(Z+Z) + YZ(X+X) XYZ + XYZ+ XYZ + XYZ+ XYZ + XYZ XYZ + XYZ + XYZ + XYZ+ XYZ [T5] [T3]

X,Y,Z m(3,4,5,6,7)

2. lgebra de Boole
- Exemplos (2) 3. Obtenha o produto de maxtermos para a funo H = XY + XZ
H = XY + XZ = (XY+X)(XY+Z) = (X+X).(Y+X).(X+Z).(Y+Z) = 1 .(X+Y).(X+Z).(Y+Z) [T8] e+A.B=(e+A).(e+B) [T8] e+A.B=(e+A).(e+B) [T5 ] X+X=1

Em cada soma da expresso anterior falta uma varivel:


X+Y = X+Y+ZZ = (X+Y+Z)(X+Y+Z) X+Z = X+Z+YY = (X+Y+Z)(X+Y+Z) Y+Z = Y+Z+XX = (X+Y+Z)(X+Y+Z) [T5] [T8] [T5] [T8] [T5] [T8]

Combinando estes termos:


H = (X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z)(X+Y+Z) = X,Y,Z M(2,3,4,6)

2. lgebra de Boole
- Exemplos (3) 4. Obtenha a lista de maxtermos para H = XY + XZ, usando a tabela de verdade X Y Z H A partir da tabela obtm-se: 0 0 0 1 0 0 1 1 H = X,Y,Z M(2,3,4,6) 0 1 0 0 H = X,Y,Z m(0,1,5,7) 0 1 1 0 1 0 0 0 Compare esta soluo com a que 1 0 1 1 se obteve no exemplo 3.
1 1 0 1 1 1 0 1

5. Obtenha uma expresso para J = XYZ + XYZ + XYZ + XYZ com um nmero reduzido de operadores
J = XYZ + XYZ + XYZ + XYZ + XYZ + XYZ = XY(Z+Z) + X(Y+Y)Z + (X+X)YZ = XY+XZ+YZ [T3] X+X=X [T5] X+X=1

S-ar putea să vă placă și