Apostila de Sistemas Logicos e Digitais

Embed Size (px)

Citation preview

UNIVERSIDADE DE FORTALEZA

APOSTILA DE SISTEMAS LGICOS E DIGITAIS

MONITORES:

RUDDY PAZ PERSIVO CUNHA VICTOR HUGO CARLOS RENATO

ORIENTADOR: LCIO GUIMARES

FORTALEZA 2006.2

INTRODUO

Compilando alguns conceitos, definies e exemplos do livro ELEMENTOS DA ELETRNICA DIGITAL, 6 edio, dos autores Ivan V. Idoeta e Francisco Gabriel Capuano, esta apostila tem por intuito facilitar o estudo da disciplina SISTEMAS LGICOS E DIGITAIS e, sem querer substituir a referida obra, tenta condensar os ensinamentos ali transmitidos de modo a, aproveitando-se de sua didtica simples e objetiva, dos exemplos resolvidos e dos exerccios propostos no final dos tpicos, permitir uma viso abrangente de todo o trabalho dos citados autores. E se a leitura da apostila no dispensa a utilizao do livro para um reforo do aprendizado, ela, porm, permite que se tenha, em poucas pginas, uma viso sistmica da disciplinam o que facilita sua compreenso.

NDICE

CAPTULO 01 SISTEMA DE NUMERAO 1.1 Sistema Binrio de Numerao.................................................................................... 01 1.1.1 Converso do Sistema Binrio para o Sistema Decimal................................. 01 1.1.2 Convero do Sistema Decimal para o Sistema Binrio................................. 02 1.1.3 Converso de Nmeros Binrios Fracionrios em Decimais.......................... 02 1.1.4 Converso de Nmeros Decimais Fracionrios em Binrios.......................... 02 1.2 Sistema Octal............................................................................................................... 03 1.2.1 Converso do Sistema Octal para Sistema Decimal........................................... 04 1.2.2 Converso do Sistema Decimal para Sistema Octal...................................... 04 1.2.3 Converso do Sistema Octal para o Sistema Binrio..................................... 04 1.2.4 Converso do Sistema Binrio para o Sistema Octal..................................... 05 1.3 Sistema de Numerao Hexadecimal.......................................................................... 05 1.3.1 Converso do Sistema Hexadecimal para o Sistema Decimal....................... 06 1.3.2 Converso do Sistema Decimal para o Sistema Hexadecimal....................... 06 1.3.3 Converso do Sistema Hexadecimal para o Sistema Binrio......................... 07 1.3.4 Converso do Sistema Binrio oara o Sistema Hexadecimal......................... 07 1.4 Operaes Aritmticas no Sistema Binrio.................................................................. 09 1.4.1 Adio no Sistema Binrio.............................................................................. 09 1.4.2 Subtrao no Sistema Binrio......................................................................... 10 1.4.3 Multiplicao no Sistema Binrio.................................................................... 10 1.4.4 Diviso do Sistema Binrio............................................................................. 11 1.4.5 Complemento 2............................................................................................... 12 1.4.5.1 Utilizao do Complemento 2 em Operaes Aritmticas................ 15 CAPTULO 02 FUNES E PORTAS LGICAS.............................................................. 15 2.1 Funes Lgicas AND, OR, NOT, NAND e NOR......................................................... 15 2.1.1 Funo AND.................................................................................................... 16 2.1.2 Funo OR...................................................................................................... 16 2.1.3 Funo NOT.................................................................................................... 17 2.1.4 Funo NAND................................................................................................. 17 2.1.5 Funo NOR................................................................................................... 18 2.2 Expresses Booleanas Obtidas de Circuitos Lgicos...................................................19 2.3 Circuitos Obtidos de Expresses Booleanas................................................................ 20 2.4 Tabelas Verdade Obtidas de Expresses Booleanas.................................................. 21 2.5 Expresses Booleanas Obtidas de Tabelas Verdade.................................................. 22 2.6 Blocos Lgicos OU EXCLUSIVO e COINCIDNCIA.................................................... 24 2.6.1 Bloco OU EXCLUSIVO................................................................................... 24 2.6.2 Bloco COINCIDNCIA.................................................................................... 25

CAPTULO 03 LGEBRA DE BOOLE E MAPA DE VEICTH-KARNAUGH...................... 26 3.1 Variveis e Expresses na lgebra de Boole............................................................... 26 3.2 Simplificao de Expresses Booleanas...................................................................... 27 3.3 Simplificao de Expresses Booleanas atravs dos Diagramas de Veicth-Karnaugh........................................................................................................................ 29 3.3.1 Diagrama de Veicth-Karnaugh para 2 variveis.............................................. 29 3.3.2 Diagrama de Veicth-Katnaugh para 3 variveis.............................................. 33 3.3.3 Diagrama de Veicth-Katnaugh para 4 variveis.............................................. 37 3.3.4 Diagramao com Condies Irrelevantes..................................................... 43 3.3.5 Casos que No Admitem Simplificao.......................................................... 45 3.3.6 Outra Forma de Apresentao do Diagrama de Veicth-Karnaugh................. 47 CAPTULO 04 CIRCUITOS ARITMTICOS...................................................................... 48 4.1 Meio Somador.............................................................................................................. 48 4.2 Somador Completo...................................................................................................... 49 4.3 Meio Subtrator.............................................................................................................. 51 4.4 Subtrator Completo...................................................................................................... 52 4.5 Somador/Subtrator Completo....................................................................................... 54 CAPTULO 05 CIRCUITOS COMBINACIONAIS(PROJETO)........................................... 57 5.1 Projetos de Circuitos Combinacionais.......................................................................... 57 5.1.1 Circuitos com 2 variveis................................................................................ 57 5.1.2 Circuitos com 3 variveis................................................................................ 60 5.1.3 Circuitos com 4 variveis................................................................................ 63 BIBLIOGRAFIA..................................................................................................................... 66

1 - SISTEMA DE NUMERAOExistem vrios sistemas nmericos, dentre os quais se destacam: o sistema decimal, o binrio, o octal e o hexadecimal.

1.1 Sistema Binrio de NumeraoNo sistema binrio de numerao, existem apenas 2 algarismos: o algarismo 0 (zero) e o algarismo 1 (um) No sistema decimal, ns no possumos o algarismo dez e representamos a quantidade de uma dezena 1 seguido do algarismo 0. No sistema binrio, agimos da mesma forma. Para representamos a quantidade dois, utilizamos o algarismo 1 seguido do algarismo 0. O algarismo 1 significar que temos um grupo de dois elementos e o 0 um grupo de nenhuma unidade, representando o nmero dois.DECIMAL 0 1 2 3 4 5 6 7 8 9

BINRIO 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Cada dgito do sistema binrio recebe a denominao de bit(binary digit) Um conjunto de 8 bits denominado de byte.

1.1.1 Converso do Sistema Binrio para o Sistema Decimal Do binrio para o decimal basta multiplicar o(s) digito(s) binrio(s) por dois elevado ao expoente de posio e depois soma-los. Ex.: (1101)2 1 1 0 1 1 x 2 + 1 x 2 + 0 x 2 + 1 x 2 8 + 4 + 0 + 1 = 13 Note que a posio do expoente do 2, comea do bit menos significativo. Exerccios: 1. Converta para o sistema decimal: a.(11001)2 b.(01101)2 c.(11010)2 d.(11011)2 e.(00111)2 f.(10001)2 01

1.1.2 Converso do Sistema Decimal para o Sistema Binrio Do decimal para o binrio basta dividir o nmero por 2 e quando no der mais para dividir, pega o nmero do ltimo quociente, ltimo resto at o primeiro resto. Ex.: 5910 59 |_2___ 1 29 |_2____ 1 14 |_2_____ 0 7 |_2______ 1 3 |_2_____ 1 1

Resposta: (111011)2

Perceba que o nmero binrio comea do meu ultimo quociente e termina no meu primeiro resto. Exerccios: 1. Converta para o sistema binrio: a) 12010 b) 55910 c) 8510 d) 89610 e) 26510 f) 6710

1.1.3 Converso de Nmeros Binrios Fracionrios em Decimais At agora s estudamos nmeros inteiros. Agora vamos estudar com fracionrios. A converso de fracionrios binrios para decimais simples, basta imaginar que a vrgula o ponto neutro e a direita dela, a posio 0 depois a 1 e assim em diante, e a esquerda, a posio -1 depois a -2 e assim sucessivamente. Para clarearmos est idia, vejamos o exemplo: Ex.: (101,11)2 1 0 1 , 1 1 -1 1 x 2 + 0 x 2 + 1 x 2 , 1 x 2 + 1 x 2-2 4 + 0 + 1 , (0.5) + (0.25) Exerccios: 1. Converta o nmero binrio (1101,01)2 em decimal. 2. Converta o nmero binrio (111,111)2 em decimal. 1.1.4 Converso de Nmeros Decimais Fracionrios em Binrios A converso de decimal fracionrio para binrio basta dividir a parte inteira por 2, at quando for possvel, e pegar o ltimo quociente, o ltimo resto, at o primeiro resto, como j vimos. A parte fracionria multiplicamos por 2 e o nmero depois da vrgula coloca no resto do nmero binrio. Vejamos o exemplo para melhor enterdermos:

= 5,75

02

Ex.: Converta o nmero 23,8510 para binrio com 8 casas fracionrias. 23 |_2____ 1 11 |_2____ 1 5 |_2____ 1 2 |_2____ 0 1 0,85 x 2 1,70 0,70 0,40 x 2 x 2 1,40 0,80 0,80 0,60 x 2 x 2 1,60 1,20 0,20 0,40 x 2 x 2 0,40 0,80 0,80 x 2 1,60

Resposta: (10111,11011001)2 Note que parte fracionria, multiplicamos por 2 e quando o resultado igual a 1,_ _ retiramos o 1 o colocamos no nmero binrio e quando vamos multiplicar novamente fazemos agora com 0,_ _. Exerccios: 1. Converta o nmero 31,79 em binrio com 5 casas fracionrias. 2. Converta o nmero 57,25 em binrio.

1.2 Sistema Octal de NumeraoO sistema octal de numerao um sistema de base 8 no qual existem 8 algarismos assim enumerados: 0,1,2,3,4,5, e 7. Atualmente o sistema octal pouco utilizado, tratando-se apenas um sistema nmerico intermedirio dos sistemas binrio e hexadecimal. A tabela abaixo mostra a sequncia de numerao do sistema octal at a quantidade dezesseis.DECIMAL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 OCTAL 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20

03

1.2.1 Converso do Sistema Octal para Sistema Decimal A converso do sistema octal para o decimal, basta multiplicar cada algarismo por oito elevado ao expoente de sua posio. Ex.: 1448 1 4 4 1 x 8 + 4 x 8 + 4 x 8 = 10010 Perceba que mto parecido com a forma de converso binria para o decimal. 1.2.2 Converso do Sistema Decimal para Sistema Octal O processo parecido com a converso do sistema decimal para o binrio, s que nesse caso dividimos o nmero por 8. Ex.:6410 64 |_8___ 0 8 |_8___ 0 1 Exerccios: 1. Converta o nmero 8510 em octal. 2. Converta o nmero 27810 em octal. 3. Converta o nmero 81910 em octal. 1.2.3 Converso do Sistema Octal para o Sistema Binrio Transforma cada dgito em seu correspondente binrio de 3 dgitos. O nmero 518 servir como exemplo. Ex.: 518 5 1 101 001 Resposta: (101001)2 Exerccios: 1. Converta os seguintes nmeros octais em binrios. a) 478 b) 2568 c) 15328

Resposta: 1008

04

1.2.4 Converso do Sistema Binrio para o Sistema Octal Agrupa-se de 3 em 3 bits os nmeros binrios da direita para a esquerda. Veja o exemplo: Ex.: 110018 011 3 001 1 Resposta: 318 Exerccios: 1. Converta os seguintes nmeros binrios para o sistema octal. a) 1111008 b) 11118 c) 101010108

1.3 Sistema de Numerao HexadecimalO Sistema hexadecimal possui 16 algarismo, sendo a sua base igual a 16. Os algarismos so assim enumerados: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Note que a letra A representa o algarismo A, que por sua vez representa a quantidade dez. A letra B representa o algarismo B, que reprenta a quantidade onze, e assim continua at a letra F, que representa quinze. A tabela abaixo mostra a sequncia de numerao do sistema hexadecimal at a quantidade vinte.DECIMAL 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 HEXADECIMAL 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 13 14

05

Esse sistema muito utilizado na rea dos microprocessadores e tambm no mapeamento de memrias em sistemas digitais, tratando-se de um sistema nmerico importante, sendo aplicado em projetos de software e hardware. 1.3.1 Converso do Sistema Hexadecimal para o Sistema Decimal O processo semelhante de outros sistemas, somente neste caso, a base 16. Vamos utilizar o nmero 5E16 como exemplo. Ex.: (5E)16 5 E 5 x 16 + E x 16 = O nmero E16 = 1410 substituindo: 5 E 5 x 16 + 14 x 16 => 80 + 14 = (94)10 Exerccios: 1. Converta para decimal: a) (B17)16 b) (345)16 c) (2CA9)16 1.3.2 Converso do Sistema Decimal para o Sistema Hexadecimal A converso feita apartir de sucessivas divises pela base 16 at quando for possvel, depois pegamos o ltimo quociente, ltimo resto at o primeiro resto. Vamos transforma o nmero 78910 para hexadecimal, para exemplificar. Ex.: 78910 789 |_16____ 5 49 |_16____ 1 3 Exerccios: 1. Converta para o sistema hexadecimal: a) (129)10 b) (415)10 c) (4002)10

Resposta: (315)16

06

1.3.2 Converso do Sistema Hexadecimal para o Sistema Binrio A converso semelhante ao do sistema octal para o binrio, somente que, neste caso necessita-se de 4 bits para reprensentar cada algarismo hexadecimal, pois 24 = 16, na qual 16 a base do sistema hexadecimal. O nmero B1616 para o sistema binrio: Ex.: (B16)16 B igual a 11 no sistema decimal e 11 em binrio 1011. 1 0001. 6 0110 . B 1 6 1011 0001 0110 Resposta: B1616 = (101100010110)2

Agora se o nmero fosse fracionrio, como faramos a converso? Vamos usar o nmero C25,A216 como exemplo. Ex.: (C25,A4)16 A parte inteira: C 1100. 2 0010. 5 0101. A parte fracionria A igual 1010. 4 igual 0100. Resposta: (110000100101,10100100)2

Note que o sistema hexadecimal simplifica muito os nmeros binrios. Exerccios: 1. Converta para o sistema binrio: a) (2FA)16 b) (1BC)16 c) (A21)16 1.3.3 Converso do Sistema Binrio para o Sistema Hexadecimal Semelhante converso do sistema binrio para o octal, a diferena que agrupamos de 4 em 4 bits da direita para a esquerda. Ex.: (10001010)2 1000 = 816 1010 = A16 1000 1010 8 A = (8A)16

07

Quando no der para agrupar em 4 em 4 bits, colocamos zero a esquerda do nmero. Veja o exemplo: Ex.: (110010)2 11 0100 Perceba que possumos um grupo de 4 bits e outro de 2, quando um caso deste ocorrer, colocamos zero a esquerda at formar um grupo de 4 bits. 0011 0100 0011 = 316 0100 = 416 Ento o nmero (110010)2 em hexadecimal (36)16. Para converter nmeros binrios fracionrios para o sistema hexadecimal, basta imaginar que a vrgula o ponto de partida e que apartir dela que agrupamos de 4 em 4 bits. Veja o exemplo: Ex.: (11111,1)2 0001 1111 , 1000 0001 = 116 1111 = F16 1000 = 816 Ento o nmero (11111,1)2 em hexadecimal (1F,8)16. Perceba que quando no conseguimos agrupar de 4 em 4 bits, a esquerda da vrgula colocamos zero no incio do nmero e a direita da vrgula colocamos zero no fim do nmero. Exerccios: 1. Converta para o sistema hexadecimal a) (1010110)2 b) (111110100001)2 c) (10001,101011)2

08

1.4 Operaes Aritmticas no Sistema BinrioOperaes aritmticas em binrio muito importante pois estas sero utilizados em circuitos aritmticos, que ser visto posteriormente. 1.4.1 Adio no Sistema Binrio Devemos somar da mesma forma que no sistema decimal, lembrando que no sistema binrio, possu somente 2 algarismos. 0 +0 0 0 + 1 1 1 + 0 1 1 +1 10

Note que 1 + 1 = 102, j que no sistema binrio 102 igual a 2 no sistema decimal. Pela regra de transporte para a prxima coluna, 1 + 1 = 0 e vai um para a prxima coluna. Este tranporte chamado carry. Para exemplificar somaremos os nmeros (11)2 e (10)2.1

+

3 ====> 11 2 ====> + 10 5 ====> 101

Perceba que quando somamos (1 + 1) o resultado zero e vai um para a prxima coluna. Vamos usar outro exemplo, agora os nmeros sero (101)2 e (1101)2.1 111

+

7 ====> 111 13 ====> + 1101 20 ====> 10100

Na adio de binrio, aconselhvel a soma ser feita em 2 e 2 bits. Veja o caso da coluna 3, onde est 1 + 1 + 1. Primeiramente somamos (1 + 1) na qual o valor zero e vai um, depois de levarmos o 1 para a prxima coluna somamos agora o (0 + 1) na qual a resposta 1. Veja o passo-a-passo logo abaixo da operao feita na terceira coluna. 1. Soma-se 1 + 1 = 0 e vai um. 2. Soma agora o 1 restante com o resultado anterior, ou seja, 0 + 1 = 1. Exerccios: 1. Efetue as operaes no sistema binrio: a) (11101)2 + (1010)2 b) (1011)2 + (1111)2 c) (1010)2 + (1010)2

09

1.4.2 Subtrao no Sistema Binrio De forma semelhante a uma subtrao no sistema decimal, mas somente com dois algarismos. 0 - 0 0 0 - 1 1 1 - 0 1 1 - 1 0

Note que 0 - 1 = 12, porm vai um para a prxima coluna, subtraindo do minuendo. Usaremos os nmeros (11)2 e (10)2 como exemplo. 3 ====> 2 ====> 1 ====> 11 10 01

Vamos agora a outro exemplo, os nmeros agora so (1101)2 e (111)2. 8 ====> 1000 - 7 ====> - 111 ___ 1 11 1 ====> 0001 Veja que agora o 1 vai para debaixo do nmero, agora no mais em cima. Exerccios: 1. Efetue as operaes no sistema binrio. a) (10101)2 (1000)2 b) (1111)2 (111)2 c) (11000)2 (101)2

1.4.3 Multiplicao no Sistema Binrio Da mesma forma que a multiplicao do sistema decimal. Veja: 0x0=0 0x1=0 Ex.: (1111)2 x (100)2 15 =====> 1111 x 4 =====> x 100 0000 0000 1111 60 ====> 111100 1x0=0 1x1=1

10

Exerccios: 1. Efetue as multiplicaes no sistema binrio. a) (1000)2 x (10)2 b) (111)2 x (111)2 c) (10100)2 x (101)2 1.4.4 Diviso no Sistema Binrio A diviso a mais complexa das operaes aritmticas binrias, pois abrange operaes de multiplicao e de subtrao. Por isso devemos lhe dar uma maior ateno. A diviso feita da seguinte forma: Vamos usar como exemplo a diviso de (110001)2 por (111)2. 1. Inicialmente, o processo igual ao da diviso decimal: verifica-se se o dividendo maior ou igual ao divisor e, caso no seja, coloca-se tantos zeros no quociente (e o mesmo nmero direita do dividendo), at que o dividendo se torne maior ou igual ao divisor. 2. O prximo passo subtrair o dividendo pelo divisor pelo nmero de casas deste, caso seja maior o divisor, avana uma casa a direita, veja o exemplo criado abaixo. Ex.: 110001 |_111____ 111 1 Note que deveramos colocar 111 no incio do dividendo, mas perceba que 110 menor que 111, por isso avanamos mais uma casa. E iremos subtrair 111 de 1100. Ex.: 110001 |_111____ - 111 1 0101 Agora pegamos um dgito e descemos at o resto no nosso exemplo ficar 1010, e como maior que o divisor, colocamos um no quociente e subtraimos 1010 por 111. Ex.: 110001 |_111____ - 111 11 01010 - 111 11 Descemos agora o ltimo digito do dividendo at o resto e subtraimos pelo divisor. Ex.: 110001 |_111____ - 111 111 01010 - 111 111 - 111 000 Resposta: (111)2

11

Vamos agora a um outro exemplo para esclarecer melhor a diviso, vamos dividir (10100)2 por (100)2. Ex.: 10100 |_100___ -100 1 001 Veja que (101)2 maior que (100)2 por isso subtramos no incio do dividendo. O prximo passo descer o prximo dgito do dividendo at o resto. Ex.: 10100 |_100___ -100 10 0010 Como o resto menor que o divisor colocamos um zero no quociente e depois descemos o prximo dgito do dividendo at o resto. Ex.: 10100 |_100___ -100 101 00100 -100 000 Resposta: (101)2 Exerccios: 1. Faa as divises no sistema binrio. a) (11001)2 por (101)2 b) (100100)2 por (111)2 com 8 casas fracionrias c) (1111)2 por (11)2 1.4.5 Complemento 2 Representam-se positivos e negativos pelos sinais + e - respectivamente, mas na prtica, em hardware dos sistemas digitais que realizam operaes aritmticas, tudo deve ser codificado em 0 ou 1. Um maneira de denominar se um nmero positivo ou negativo acrescentando 0 ou 1 esquerda do MSB (algarismo mais significativo). Se o nmero for positivo coloca-se 0 se no coloca 1. Vamos exemplificar usando o complemento 2 do nmero (54)10. Ex.: O nmero binrio de 5410 (110110)2 Ento o + 5410 = (0110110)2 Para um nmero se tornar positivo basta achar o seu binrio correspondente e acrescentar um zero antes do MSB.

12

Agora, para achar seu negativo, tem que fazer os seguintes passos: 1. Achar o positivo do nmero. 2. Inverter bit a bit. 3. Somar mais um.

Veja o exemplo a seguir usando o nmero (54)10 1. Sabemos que o positivo do nmero (0110110)2 2. Depois invertermos bit a bit. 0 1 1 0 1 0 0 1 1 0 1 0 0 1

3. Agora somamos o nmero invertido bit a bit com 1. + 7 ====> 13 ====> 20 ====> 1001001 + dddd 1 1001010

Ento o 5410 (1001010)2 Note que comea com 1 indicando que negativo. Para o nmero negativo voltar para o que era, simples, basta inverter o nmero bit a bit e somar com 1. Peguemos o 54 para voltar a 54. - 54 = 1 0 0 1 0 1 0 + 13 ====> 20 ====> 0110101 + dddd 1 0 1 1 0 1 1 0 ====> (54)10

Exerccios: 1. Ache o complemento 2 dos nmeros a seguir. a) (5)10 b) (27)10 c) (369)10

13

1.4.5.1 Utilizao do Complemento 2 em operaes Aritmticas Quando fazemos operaes do tipo (3 - 5) o mesmo que somar o primeiro nmero ao negativo do outro (3 + (-5)), neste caso achamos o complemento 2 de 5. Veja o exemplo:1 1

+ 5 = 0101 1010 + 1 1011 ====> - 5

- 3 ====> (+)

011

- 5 ====> 1 0 1 1 -2 1110

Veja que (3 - 5 = - 2), e (- 2) em complemento -2 (110)2, ento porque apareceu esse 1 a mais? Do mesmo modo que 0 a esquerda no interfere num nmero positivo. Ex.: (0001)2 = 12 1 a esquerda tambm no interfere num nmero negativo. Ex.: (1110)2 = (110)2 Exerccios: 1. Faa as seguintes operaes em binrio. a) 810 1010 b) 510 910 c) A516 B816

14

2 - FUNES E PORTAS LGICASEm 1854, o matemtico George Boole(1815-1864), apresentou um sistema matemtico de anlise lgica conhecido como lgebra de Boole. No incio da era eletrnica, todos os tipos de problemas eram resolvidos por sistemas analgicos. Somente em 1938, o engenheiro americano Claude Elwood Shannon utilizou as teorias da lgebra de Boole para a soluo de problemas de circuitos de telefonia. Esse ramo da eletrnica emprega um pequeno grupo de circuitos bsicos padronizados conhecidos como portas lgicas. Atravs da utilizao conveniente destas portas, podemos implementar todas as expresses geradas pela lgebra de Boole.

2.1 Funes Lgicas AND, OR, NOT, NAND e NOREstudaremos a seguir as principais funes lgicas que derivam da lgebra de Boole, sendo as variveis e expresses envolvidas denominadas de booleanas. Temos apenas dois estados distintos nas funes lgicas o estado 0 e o 1. O estado 0 representar, por exemplo: luz apagada, som desligado, alarme desativado, etc. O estado 1 representar ento: luz acesa, som ligado, alarme ativado, etc. Perceba ento, que se representarmos por 0 uma situao, representamos por 1 a situao contrria. Saiba que cada varivel booleana da funo lgica pode assumir somente 2 situaes diferentes 0 e 1. 2.1.1 Funo AND A porta AND aquela que executa a multiplicao de 2 ou mais vriaveis booleanas. Sua representao algbrica para 2 vriaveis S = AB, onde l se S = A e B. - Tabela verdade de uma funo AND Chamamos tabela verdade um mapa onde colocamos todas as possveis situaes com seus respectivos resultados. Na tabela encontramos o modo como a funo de comporta. Veja a seguir uma tabela verdade de uma funo AND para 2 vriaveis de entrada.A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

Tabela verdade de 2 vriaveis numa porta AND.

- Porta AND A porta AND um circuito que executa a funo AND, sendo representada na prtica, atravs do smbolo abaixo.U1C

15

Sabendo que a porta AND, executa a tabela verdade da funo AND, ou seja, somente teremos sada 1, quando todas as entradas estiverem em 1. J sabemos descrever a funo AND para 2 vriaveis de entrada. Agora iremos ampliar este conceito para qualquer nmero de entradas. Para exemplificar, mostraremos uma porta AND de 3 vriaveis de entrada, e sua tabela verdade.

U11A

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

S 0 0 0 0 0 0 0 1

Tabela verdade de 3 vriaveis numa porta AND.

Notamos que a tabela verdade mostra as 8 possveis combinaes das vriaveis de entrada e seus respectivos resultados na sada. O nmero de situaes possveis igual a 2N, onde N o nmero de entradas. No exemplo: N=3 e 2 = 8. 2.1.2 Funo OR A funo OR assume valor 1 quando uma ou mais vriaveis de entrada forem iguais a 1 e assume valor 0 quando nenhuma vriavel assumir valor 1. Sua representao algbrica para 2 vriaveis de entrada S = A + B, onde se l S = A ou B. - Tabela verdade da funo OR Nesta tabela verdade, teremos todas as possveis situaes de uma funo OR com 2 vriaveis de entrada.A 0 0 1 1 B 0 1 0 1 S 0 1 1 1

- Porta OR a porta que executa a funo OR. A representao da porta OR atravs do smbolo abaixo. U11A

16

2.1.3 Funo NOT A funo NOT aquela que inverte a vriavel de entrada, ou seja, se a vriavel de entrada 0 a sada ser 1, e se a entrada estiver em 1 a sada vai para 0. Sua representao algbrica da seguinte maneira: S = A ou S = A', l-se A barra ou NO A. - Tabela verdade da funo NOT A tabela abaixo mostra os possveis casos da funo NOT.A 0 1 S 1 0

- Porta NOT O inversor o bloco lgico que executa a funo NOT.

U2D

2.1.4 Funo NAND J estudamos as trs portas lgicas primitivas que foram a AND, OR e NOT. A partir de agora estudaremos funes relacionando estas trs funes primitivas. Essa funo como o prprio nome NO AND diz: a juno das funes lgicas AND com a NOT, ou seja, teremos a funo AND invertida. representada da seguinte forma: S = A.B, onde a barra indica que A.B est invertida. - Tabela verdade da funo NAND Veja a tabela verdade abaixo da funo NAND com duas variveis de entrada.A 0 0 1 1 B 0 1 0 1 S 1 1 1 0

Perceba que a tabela exatamente o contrrio da AND. - Porta NAND A sua representao simblica vista logo abaixo.U1@

17

Repare que a porta NAND uma porta AND com um inversor na sua sada.U1A U2C

7400N

7406N

2.1.5 Funo NOR Semelhante funo NAND, a funo NOR a juno das funes NOT com a NOR, ou seja, a funo NOR a inverso da funo OR. representada da seguinte maneira: S = A + B, onde a barra indica a inverso da soma booleana A + B. - Tabela verdade da funo NORA 0 0 1 1 B 0 1 0 1 S 1 0 0 0

Note que a tabela verdade da funo NOR representar a funo OR invertida. - Porta NOR A porta NOR o bloco lgico que executa a funo NOR. Sua representao simblica :

U1@

De maneira semelhante, podemos formar uma porta OR utilizando um inversor na sua sada. U2D

U1B

7432N

7406N

18

2.2 Expresses Booleanas Obtidas de Circuitos LgicosTodo circuito lgico executa uma expresso booleana e, por mais complexo que seja, formado pela interligao das portas lgicas bsicas. Podemos obter a expresso booleana que executada por um circuito lgico qualquer. Para mostrar o procedimento, vamos obter a expresso que o circuito do exemplo abaixo executa. A B CU2A U1A

7432N

7408N

Para facilitar, vamos dividir o circuito em 2 partes:

U2AS1

U1AS2

7432N

7408N

Na sada S1, teremos a soma A + B, pois sendo este bloco uma por OR, sua expresso de sada ser: S1 = A + B. Como S1 injetada em uma das entradas da porta AND pertencente segunda parte do circuito e na outra entrada est a vrialvel C, a expresso de sada ser: S = S1C. Para determinamos a expresso final, substitumo o S1 por (A + B) na expresso final. S = (A + B)C que a expresso que o circuito executa.

U2AA+B

U1A

(A + B).C

7432N

7408N

Exerccios: 1. Escreva a expresso booleana dos circuitos abaixo: a)U2A U1A

7432N U3A

7408N 7432N

19

b)U1A

7408N U4B U6

7404N U5A

OR3

7408N

c)U1 U4 U7 AND2 U6 OR3 NAND2 U5

NOT U2

NOT U3

AND2

NOT U9

OR2

2.3 Circuitos Obtidos de Expresses BooleanasJ vimos que podemos obter uma expresso booleana atravs que um circuito lgico executa. Podemos tambm desenhar um circuito atravs de uma expresso booleana qualquer. A forma para a soluo consiste em identificar as portas lgicas na expresso e desenh-las com as respectivas ligaes, a partir das variveis de entrada. O circuito S= (A + B).C.(B + D) servir como exemplo. Solucionaremos respeitando a hierarquia das funes da aritmtica elementar, ou seja, iniciaremos a soluo primeiramente pelos parnteses. Para o primeiro parntese, temos a soma booleana A + B, logo, o circuito ser uma porta OR. Para o segundo temos a soma booleana B + D, logo, o circuito ser uma porta OR. Temos ento, at a, os seguintes circuitos:(A + B) = S1 A B U3A 7432N S1

(C + D) = S2 C D U2A 7432N20

S2

Logo em seguida, temos uma multiplicao booleana dos dois parnteses, juntamente com a vrialvel C, sendo o circuito que executa esta multiplicao uma porta AND:U2 S1 C S2 AND3 S

Substituindo as sadas S1 e S2, obtemos o circuito completo.

A B

U2

OR2 C U3 D OR2

U9

AND3

Exerccios: 1. Desenhe o circuito das expresses booleanas abaixo: a) ABC + (A + B)C b) [(A + B) + (C.D)]D c)[(A.B) + (C.D)].E + A.(A.D.E. + C.D.E)

2.4 Tabelas Verdade Obtidas de Expresses BooleanasUma maneira de se fazer o estudo de uma funo booleana a utilizao da tabela verdade. Para extrairmos a tabela verdade de uma expresso, acompanhamos o seguinte procedimento: 1 Montamos o quadro de possibilidades. 2 Montamos colunas para cada membro da expresso. 3 Preenchemos estas colunas com seus resultados. 4 Montamos uma coluna para o resultado final. 5 Preenchemos esta coluna com os resultados finais. Para esclarecer este processo, vamos utilizar a expresso S = AB.C + A.D + A.B.D Temos na expresso 4 variveis: A, B, C e D, logo, teremos 24 possibilidades de sada. Veja a seguir, a tabela verdade da expresso com 4 variveis, colunas auxiliares para cada membro da expresso e uma coluna para a sada. 21

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

1 Membro AB'C 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0

2 Membro AD' 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0

3 Membro A'BD 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0

S 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 0

Note que primeiramente fazemos a tabela verdade de cada expresso e como esto ligadas numa porta OR fazemos a soma booleana, no que ser o resultado final. Exerccios: 1. Monte a tabela verdade de cada expresso booleana a) (A + B) + ACD + (B + D)C. b) [(B + C)A] + [D + (A + C)] c) (A + B)(BC)

2.5

Expresses Booleanas Obtidas de Tabelas Verdade

Para obter expresses e circuitos a partir de tabelas verdade, usamos duas formas, as dos Mintermos(Soma de Produtos) e a dos Maxtermos(Produto de Somas). Usaremos a tabela abaixo como exemplo.A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 0 1 1 1 0 1 0

- Mintermos Tambm chamado de Soma de Produtos pois so Portas AND ligadas a uma porta OR. Neste caso para obter o circuito lgico, pegamos as sadas com nvel lgico 1 e cada varivel de entrada ser tratada da seguinte forma, se for de nvel lgico 0, ser barrada X' e caso seja de nvel lgico 1 ser X. Veja o passo-a-passo para obter o circuito da tabela verdade usando o mtodo dos Mintermos. 22

1 Passo: Pegar as combinaes de entradas com sada 1. No nosso exemplo so ABC, ABC, AB.C e ABC. Note que as entradas que esto em zero, colocamos um inversor. 2 Passo: Unimos todas as entradas numa porta OR. O circuito lgico obtido da tabela verdade a partir dos Mintermos ser:A B C

U6 NOT

U1 NOT

U2 NOT

U3

AND3 U4 U8 AND3 U5 OR4 S

AND3 U7

AND3

- Maxtermos Tambm chamado de Produto de Somas pois so Portas OR ligadas a uma porta AND. Neste caso para obter o circuito lgico, pegamos as sadas com nvel lgico 0 e cada varivel de entrada ser tratada da seguinte forma, se for de nvel lgico 1, ser barrada X' e caso seja de nvel lgico 0 ser X. Veja o passo-a-passo para obter o circuito da tabela verdade usando o mtodo dos Maxtermos 1 Passo: Pegar as combinaes de entradas com sada 0. No nosso exemplo so (A + B + C), (A + B + C), (A + B + C) e (A + B + C). Note que as entradas que esto em um, colocamos um inversor.

2 Passo: Unimos todas as entradas numa porta AND. O circuito lgico obtido da tabela verdade a partir dos Mintermos ser:

23

A U3 NOT

B U1 NOT

C U2 NOT

U4

OR3 U5 U8 S OR3 U6 AND4

OR3 U7

OR3

Exerccios: 1. Determine a expresso que executa a tabela e desenhe o circuito lgico, pelos mtodos dos Mintermos e Maxtermos.A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 0 0 1 0 1 0 1

2.6

Blocos Lgicos OU EXCLUSIVO e COINCIDNCIA

Estudaremos agora, os blocos OU Exclusivo e Coincidncia so muito importantes na rea de Eletrnica Digital, pois juntamente com as outras portas lgicas formam outros circuitos elementares dentro dos sistemas digitais. 2.6.1 Bloco OU EXCLUSIVO A funo que ele executa, consiste em fornecer 1 quando as variveis de entrada forem diferentes. Veja logo abaixo sua tabela verdade.A 0 0 1 1 B 0 1 0 1 S 0 1 1 0

Da tabela sua expresso caracterstica:

24

S = A.B + A.B A notao algbrica que representa a funo XOR (OU Exclusivo) S = A onde se l A OU Exclusivo B, sendo S = A B = A.B + A.B. O circuito XOR ser reprensentado pelo circuito a seguir: B, pode

A B

V@

S

Uma importante observao que, ao contrrio de outros blocos lgicos bsicos, o circuito XOR s pde ter 2 variveis de entrada, fato esse devido a sua definio bsica. 2.6.2 Bloco COINCIDNCIA A funo que ele executa, como seu prprio nome diz, a de fornecer 1 sada quando houver uma coincidncia nos valores das variveis de entrada.A 0 0 1 1 B 0 1 0 1 S 1 0 0 1

Sua expresso : S = A.B + AB A notao algbrica que representa a funo Coincidncia S = A B, onde se l A Coincidncia B, sendo S = A B = A.B + AB. O smbolo do circuito Coincidncia visto logo abaixo:

U3A

Se compararmos as tabelas verdades dos blocos XOR e Coincidncia, iremos concluir que estes so complementares, ou seja, teremos a sada de uma invertida em relao a sada do outro. Assim sendo, podemos escrever: A B=(A B)

O bloco Coincidncia tambm denominado de NXOR. Da mesma forma que a XOR, a NXOR defenido apenas para 2 variveis de entrada.

25

3 LGEBRA DE BOOLE E MAPA DE VEITCH-KARNAUGHEstudamos at aqui circuitos lgicos sem nos preocuparmos com simplificaes. Porm, na prtica, estes circuitos podem admitir simplificaes. Teremos agora um breve estudo sobre a lgebra de Boole, pois ser atravs de suas propriedades, teoremas fundamentais e identidades que efetuamos as simplificaes.

3.1 Variveis e Expresses na lgebra de BooleComo j vimos nos captulos anteriores, as variveis booleanas so representadas atravs de letras, podendo assumir somente dois valores: 0 ou 1. Denominamos expresso booleana sentena matemtica composta de termos cujas variveis so booleanas, da mesma forma, podendo assumir como resultado final 0 ou 1. *** TEOREMAS *** 1. A . A = 0 2. A . A = A 3. A + A = 1 4. A + A = A 5. A + A.B = A 6. A + A.B = A + B 7. A.B + A.C + B.C = A.B + A.C 8. A + B + C + ... + N = A.B.C ... N 9. A . B . C ... N = A + B + C + ... + N 10. A + 0 = A 11. A + 1 = 1 12. A . 0 = 0 13. A . 1 = A 14. (A + B).(A + C) = A + B.C 15. A + B = B + A 16. A.B = B.A 17. A = A 18. A + (B + C) = (A + B) + C = A + B + C 19. A . (B.C) = (A.B) . C = A.B.C 20. (A + B) . (A + C) = A + B.C 26

3.2 Simplificao de Expresses BooleanasUsando os teoremas da lgebra de Boole, podemos simplificar expresses e conseqentemente circuitos. Para efetuarmos estas configuraes, existem, basicamente, dois processos. O primeiro deles a simplificao atravs da lgebra de Boole, o segundo a vinculao dos mapas de Veitch-Karnaugh, como veremos logo adiante. Para estudar, vamos utilizar, por exemplo, a expresso: S = A.B.C + A.C + A.B Primeiramente, colocamos em evidncia a varivel A S = A.(B.C + C + B) Atravs do teorema 6, fazemos a simplificao de B.C + C. S = A.(B + C + B) Agora usamos o teorema 3, onde B + B = 1. S = A.(1 + C) O teorema 11 ser usado agora em 1 + C = 1. S = A.1 Para finalizar usamos o teorema 13, onde A.1 = A. Como no temos mais o que simplificar, a sada final : S=A Esta expresso mostra a importncia e a conseqente minimizao do circuito, pois os resultados so idnticos aos valores assumidos pela varivel A, assim sendo, todo o circuito pode ser substitudo por um nico fio ligado varivel Como um outro exemplo, vamos simplificar a expresso: S = (A B).[B(A + C)+ D(A + B + C)]

Primeiramente, simplificamos o parntese, usando o teorema 8, o teorema de Morgan. S = (A B).[B(A + C)+ D(A.B.C)] as variveis do colchete, usando a propriedade

Agora multiplicamos distributiva. S = (A

B).[A.B + B.C + A.B.C.D]

Colocamos em evidncia a varivel A de dentro do colchete. S = (A B).[A.(B + B.C.D) + B.C]

O teorema 6 ser usado no parntese dentro do colchete. Veja que em (B + B.C.D) podemos fazer com que C.D o B do teorema, e a o B o A. Ficando assim:

teorema 6: Nosso exemplo:

A + AB = A + B B + B.C.D = B + C.D

Ento nossa expresso ficar assim: S = (A B).[A.(B + C.D) + B.C]

Mais uma vez a propriedade distributiva: S = (A B).[A.B + A.C.D + B.C] B) por A.B + A.B. Tambm

Faremos agora a substituio da expresso (A usaremos o teorema 8, o teorema de Morgan. S = (A.B + A.B).[(A.B).(ACD).(BC)]

Novamente usando o teorema de Morgan, s que agora usando o teorema 9. S = (A.B + A.B).[(A + B).(A + C + D).(B + C)] Usando a propriedade distributiva: S = (A.B + A.B).[(A + A.C + A.D + A.B + B.C+ B.D).(B + C)] Colocamos em evidncia a varivel A: S = (A.B + A.B).{ [A.(1 + C + D + B) + B.C + B.D].(B + C) } Lembrando o teorema 11 e logo em seguida o teorema 13. S = (A.B + A.B).[(A + B.C + B.D)(B + C)] A propriedade distributiva ser usada agora: S = (A.B + A.B).[A.B + A.C + B.B.C + B.C.C + B.B.D + B.C.D] Usando os teoremas 2 e 1, ficar assim nossa expresso: S = (A.B + A.B).[A.B + A.C + B.C + B.0 + B.D + B.C.D] Colocando em evidncia a varivel B.D e usando o teorema 12, ficar assim: S = (A.B + A.B).[A.B + A.C + B.C + 0 + B.D.(1 + C)] Usando agora os teoremas 11 e 13. S = (A.B + A.B).[A.B + A.C + B.C + B.D] O teorema 7 ser usado na expresso (A.B + A.C + B.C). S = (A.B + A.B).[A.C + B.C + B.D]

28

Agora faremos a propriedade distributiva: S = A.A.B.C + A.B.B.C + A.B.B.D + A.A.B.C + A.B.B.C + A.B.B.D Nossa expresso final fica assim: S = A.B.C + A.B.C + A.B.D Exerccios: 1. Simplifique as expresses abaixo: a. S = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C b. S = [(B + C + D).(A + B + C) + C] + A.B.C + B.(A + C)

3.3 Simplificao de Expresses Booleanas atravs dos Diagramas de Veitch-KarnaughAt aqui vimos a simplificao de expresses mediante a utilizao dos teoremas e propriedades da lgebra de Boole. Nestes tens, vamos tratar da simplificao de expresses por meio dos diagramas de Veitch-Karnaugh. Estes mapas ou diagramas permitem a simplificao de maneira mais rpida dos casos extrados de tabela verdade, obtida de situao qualquer. Sero estudados os diagramas para 2,3 e 4 variveis. 3.3.1 Diagrama de Veitch-Karnaugh para 2 variveis A figura abaixo mostra um diagrama de Veitch-Karnaugh para 2 variveis: B A A B

No mapa, encontraremos todas as possibilidades assumidas entre as variveis A e B. Logo abaixo so mostradas todas as regies do mapa. B A A (a) B A A (b) B B A A (c) B B A A (d) B B

29

(a) regio onde A = 1. (b) regio onde A = 0 (A = 1). (c) regio onde B = 1. (d) regio onde B = 0 (B = 1). Com 2 variveis, podemos obter 4 possibilidades:

A 0 0 1 1

B 0 1 0 1

- - - caso 0 - - - caso 1 - - - caso 2 - - - caso 3

No caso 0, temos: A = 0 e B = 0. A regio do diagrama que mostra esta condio a interseco das regies onde A = 0 e B = 0. B A A B Esta regio tambm pode ser chamada de regio A.B.

No caso 1, temos: A = 0 e B = 1. A regio do diagrama que mostra esta condio a da interseco das regies onde A = 0 (A = 1) e B = 1. B A A B Esta regio tambm pode ser chamada de regio A.B.

No caso 2, temos a interseco da regio onde A = 1 e B = 0 (B = 1). Fazendo esta interseco, temos: B A A B Esta regio tambm pode ser chamada de regio A.B.

30

No caso 3, temos a interseco da regio onde A = 1 e B = 1. Fazendo esta interseco, temos: B A A B Esta regio tambm pode ser chamada de regio A.B.

Podemos distribuir, ento, as 4 possibilidades neste diagrama, da seguinte forma: B A B

Caso 0 Caso 1 A.B A.B 00 01 Caso 2 Caso 3 A.B A.B 10 11

A

Logo, notamos que cada linha da tabela verdade possui sua regio prpria no diagrama de Veitch-Karnaugh. Essas regies so, portanto, os locais onde devem ser colocados os valores que a expresso assume nas diferentes possibilidades. Para entendermos melhor o significado destes conceitos vamos utilizar o exemplo: 1 A tabela verdade mostra o estudo de uma funo de 2 variveis. Vamos colocar seus resultados no Diagrama de Veitch-Karnaugh.

A 0 0 1 1

B 0 1 0 1

S 0 1 1 1

- - - caso 0 - - - caso 1 - - - caso 2 - - - caso 3

Utilizando o mtodo desenvolvido no captulo 2, obtemos a expresso caracterstica da funo: S = A.B + A.B + A.B Passando para o mapa os casos da tabela verdade, conforme o esquema de colocao visto anteriormente: B A A 0 1 B 1 1 31

Uma vez entendida a colocao dos valores assumidos pela expresso em cada caso no diagrama de Veitch-Karnaugh, vamos verificar como podemos efetuar as simplificaes. Para obtermos a expresso simplificada do diagrama, utilizamos o seguinte mtodo: Tentamos agrupar as regies onde S igual a 1, no menor nmero possvel de agrupamentos. As regies onde S 1, que no puderem ser agrupadas, sero consideradas isoladamente. Para um diagrama de 2 variveis, os agrupamentos possveis so os seguintes: a) Quadra:

Conjunto de 4 regies, onde S igual a 1. No diagrama de 2 variveis, o agrupamento mximo, proveniente de uma tabela onde todos os casos valem 1. Assim sendo, a expresso final simplificada obtida S = 1.A. B A A 1 1 B 1 Quadra : S = 1 1

b)

Pares:

Conjunto de 2 regies onde S 1, que tem um lado em comum, ou seja, so vizinhos. As figuras abaixo mostram exemplos de 2 pares agrupados e suas respectivas expresses, dentre os 4 possveis em 2 variveis. B A A 0 1 B 0 Par : S = A 1

B A A 0 1

B 1 Pares : S = A + B 1

Notamos que nenhum 1 ficou de fora dos agrupamentos, e ainda que o mesmo 1 pode pertencer a mais de um agrupamento.

32

c)

Termos isoladas:

Regies onde S 1, sem vizinhana para grupamentos. So os prprios casos de entrada, sem simplificao. Logo abaixo duas figuras exemplificam 2 termos isolados, sem possibilidade de agrupamento. B A A 0 1 B 1 S = A.B + A.B 0

3.3.2 Diagrama de Veitch-Karnaugh para 3 variveis O diagrama de Veitch-Karnaugh para 3 variveis: B A A C C C B

No mapa, encontramos todas as possibilidades assumidas entre as variveis A, B e C: A figura abaixo mostra as regies deste mapa. B A A C C (a) B A A C C (d) (a) regio na qual A = 1. (b) regio na qual A = 1 (A = 0). (c) regio na qual B = 1. (d) regio na qual B = 1 (B = 0). 33 C B A A C C (e) C C B A A C C (b) B B A A C C (f) C C B B A A C C (c) B B C B B

(e) regio na qual C = 1. (f) regio na qual C = 1 (C = 0).

Neste diagrama, tambm temos uma regio para cada caso da tabela verdade. A tabela e a figura abaixo mostram os casos para 3 variveis e as respectivas localizaes no mapa.Caso 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1

B A Caso 0 0 0 0 A B C Caso 4 1 0 0 A B C C Caso 1 0 0 1 A B C Caso 5 1 0 1 A B C C Caso 3 0 1 1 A B C Caso 7 1 1 1 A B C

B Caso 2 0 1 0 A B C Caso 6 1 1 0 A B C C

A

Para melhor compreenso, vamos, como exemplo, transpor para o diagrama a sada expresso: S = A.B.C + A.B.C + A.B.C + A.B.C + A.B.C Tabela verdade extrada da expresso:A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 0 1 1 1 0 1 0

Transpondo a tabela para o diagrama, temos: B A Caso 0 1 Caso 4 1 C Caso 1 0 Caso 5 0 C Caso 3 1 Caso 7 0 B Caso 2 1 Caso 6 1 C

A

Para efetuarmos a simplificao, seguimos o mesmo processo visto anteriormente, somente que, os agrupamentos possveis so os seguintes:

34

a)

Oitava: Agrupamento mximo, onde todas as localidades valem 1. B A 1 A 1 C 1 1 C 1 1 B 1 1 C Oitava : S = 1

b)

Quadra:

Quadras so agrupamentos de 4 regies, onde S igual a 1, adjacentes ou seqncia. Vamos agora formar algumas quadras possveis num diagrama de 3 variveis, a ttulo de exemplo: B A 1 A 0 C 1 0 C (a) 1 0 B 1 0 C A 1 A 1 C B 1 1 C (b) 0 0 B 0 0 C A 1 A 1 C B 0 0 C (c) 0 0 B 1 1 C

(a) Quadra A. c) Pares:

(b) Quadra B.

(c) Quadra C.

A figura abaixo apresenta, como exemplo, 2 pares entre os 12 possveis em um diagrama de 3 variveis: B A 1 A 0 C 0 1 C 0 1 B 1 0 C => Par A.C (est localizado na interseco das regies A e C)

Par A.C (est localizado na interseco das regies A e C) d) Termos isolados:

Vejamos alguns exemplos de termos isolados, que, como j dissemos, so os casos de entrada sem simplificao. Termo A.B.C B B => Termo A.B.C 1 0 1 A 0 A 0 C 0 C 1 0 C => Termo A.B.C 35

Para o exemplo, agrupamos primeiramente uma quadra e, logo aps, um par. B A A 1 1 C 0 0 C 1 0 B 1 1 C => Par A.B => Quadra C

Notamos que esse par no depende de C, pois est localizado tanto em C como em C, resultando sua expresso independente de C, ou seja, o termo A.B. O passo final somarmos as expresses referentes aos agrupamentos. A expresso final minimizada ser: S = A.B + C. Como outro exemplo, vamos minimizar o circuito que executa a tabela abaixo:

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

S 0 1 0 1 1 1 1 0

Transpondo para o diagrama, temos: B A A 0 1 C 1 1 C 1 0 B 0 1 C

Efetuando os agrupamentos, notamos que obtemos apenas 3 pares: B A A 0 1 C 1 1 C 1 0 B 0 1 C => Par A.C => Pares: A.C e A.B

A expresso minimizada ser: S = A.C + A.B + A.C

36

Poderamos tambm ter agrupado de outra maneira: B A A 0 1 C 1 1 C 1 0 B 0 1 C

A expresso gerada, seria, ento: S = A.C + A.C + B.C Estas duas expresses, aparentemente diferentes, possuem o mesmo comportamento em cada possibilidade, fato este comprovado, levantando-se as respectivas tabelas verdade. 3.3.3 Diagrama de Veitch-Karnaugh para 4 variveis O diagrama para 4 variveis visto logo abaixo: C A B A B D D D C B

Abaixo so mostradas as regies assumidas pelas variveis A, B, C e D neste mapa. C A B A B D D D D D D A B C B A B C C B

(a) Regio onde A = 1.

(b) Regio onde A = 1(A = 0).

37

C A

C B A B

C

C B B

A B D D D

A B D D D

(c) Regio onde B = 1. C A B A B D D D C B

(d) Regio onde B = 1(B = 0). C A B A B D D D (f) Regio onde C = 1(C = 0). C B A B B A B B D D D C B C B

(e) Regio onde C = 1. C A C

A D D D

(g) Regio onde D = 1.

(h) Regio onde D = 1(D = 0).

Neste tipo de diagrama, tambm temos uma regio para cada caso da tabela verdade, como podemos verificar no diagrama completo:

38

Casos 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

C

C

Caso 0 Caso 1 Caso 3 Caso 2 ABCDABCD ABCD ABCD B A 0 0 0 00 0 0 1 0 0 1 1 0 0 1 0 Caso 4 Caso 5 Caso 7 Caso 6 ABCDABCD ABCD A BCD 01 0 0 0 1 0 1 0 1 1 1 0 1 1 0 B Caso 12 Caso 13 Caso 15 Caso 14 ABCDABCD ABCD ABCD 11 0 0 1 1 0 1 1 1 1 1 1 1 1 0 A Caso 8 Caso 9 Caso 11 Caso 10 ABCDABCD ABCD ABCD B 10 0 0 1 0 0 1 1 0 1 1 1 0 1 0 D D D

Vamos analisar a colocao de uma das possibilidades, visto que as outras so anlogas. Tomemos, como exemplo, o caso 8: A B C D => 1 0 0 0 A = 1, B = 0 (B = 1), C = 0 (C = 1) e D = 0 (D = 1) Da interseco dessas regies, obtemos a regio A B C D, que a referente ao caso 8: C A B A B D D D C B

Para esclarecermos melhor a colocao do diagrama e analisarmos outros casos, vamos transpor para o mesmo a tabela abaixo:

39

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1

Transpondo a tabela para o diagrama, temos: C 0 A 0 1 A 1 D 1 D 1 0 D B 1 1 1 1 0 B 0 1 1 C 1 B

Para efetuarmos a simplificao, seguimos o mesmo processo para os diagramas de 3 variveis, somente que neste caso, o principal agrupamento ser a oitava. Devemos ressaltar aqui, que no diagrama, os lados extremos opostos se comunicam, ou seja, podemos formar oitavas, quadras e pares com os termos localizados nos lados extremos opostos. Vamos, como exemplo, verificar alguns desses casos no diagrama: a) Exemplos de Pares: C 1 A 1 1 B A 1 D D Par B.C.D D 40 B C B => Par A.B.D

b) Exemplos de Quadras: C 1 A 1 1 A 1 D D Quadra B.D c) Exemplos de Oitavas: C 1 A 1 1 A 1 D D 1 D B 1 B 1 => Oitava D A 1 D 1 D 1 1 D => Oitava B Convm observar que, neste mapa, as oitavas representam as prprias regies A, A, B, B, C, C, D e D e que o agrupamento mximo (mapa totalmente preenchido com 1) constitui-se uma hexa, ou seja, agrupamento com 16 regies valendo 1. Aps essa ressalva, vamos minimizar a expresso do nosso exemplo. Inicialmente, agrupamos as oitavas, em seguida as quadras, a seguir os pares e, por ltimo, os termos isolados, se existirem. Expresses dos agrupamentos: C 0 A Q u a d r a 0 1 A 1 D 1 D 1 0 D Oitava 41 B 1 1 1 1 0 B 0 1 1 C 1 B Oitava: D Quadra: A.C Par: A.B.C Par B B C 1 B A 1 C 1 1 C 1 B 1 D B 1 B => Quadra B.D 1 A 1 D D 1 D => Quadra B.D B B 1 C B A 1 C C 1 B

Somando as expresses, teremos a expresso final minimizada: S = D + A.C + A.B.C Como outro exemplo, vamos minimizar o circuito que executa a tabela verdade abaixo:A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S 0 1 0 1 1 1 1 1 0 0 1 0 0 0 0 1

Transpondo a tabela verdade para o diagrama, temos: C 0 A 1 0 A 0 D 0 D 0 1 D B 1 0 1 1 1 B 0 1 1 C 0 B

No diagrama, temos: 2 quadras, 1 par e 1 termo isolado. C 0 A 1 0 A 0 D 0 D 0 1 D B 1 0 1 1 1 B 0 1 1 C 0 B Quadra A.B Par B.C.D Termo isolado A.B.C.D Quadra A.D

A expresso minimizada de S ser a soma de todos esses agrupamentos: S = A.B.C.D + B.C.D + A.B + A.D 42

Exerccios: 1. Atravs das expresses abaixo, ache a tabela verdade e simplifique via mapa de Veitch-Karnaugh: a. S = A.B + A.B + A.B b. S = A.B.C + B.C + A.C c. S = A + B.C + A.B d. S = A.B.C + B.D + A.C + A B

3.3.4 Diagramao com Condies Irrelevantes Chamamos de condio irrelevante (x) a situao de entrada onde a sada pode assumir 0 ou 1 indiferentemente. Esta condio ocorre principalmente pela impossibilidade prtica do caso de entrada acontecer, sendo utilizada em vrias situaes nos captulos posteriores. Para sua utilizao em diagramas de Veitch-Harnaugh, devemos, para cada condio irrelevante, adotar 0 ou 1, dos dois, aquele que possibilitar melhor agrupamento e conseqentemente maior simplificao. Para esclarecer este processo, vamos utilizar a tabela abaixo:A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S X 1 1 1 0 0 0 0

Transpondo esta tabela para o diagrama, temos: B A A X 0 C 1 0 C 1 0 B 1 0 C

O smbolo (x) indica que neste caso a sada pode assumir 0 ou 1, indiferentemente, pois, ou indica, possibilita qualquer dos 2 valores na sada. Para fins de simplificao, devemos adotar x = 1, pois assim sendo, agrupamos uma quadra, ao invs de 2 pares (no caso de x = 0), representando uma maior simplificao da expresso de sada: S = A. Convm ressaltar que, em uma tabela verdade, podemos ter varias condies irrelevantes que devem ser independentemente, conforme agrupamento em que se encontram. Para exemplificar, vamos simplificar a expresso extrada da tabela abaixo. 43

A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S X 0 1 X 1 0 1 1 0 1 X 0 0 X 0 X

Passando para o diagrama de 4 variveis: C X A 1 0 A 0 D 1 D 0 X D B 0 X 1 X 1 B 0 0 X C 1 B

O prximo passo agrupar as regies que valem 1, utilizando a condio irrelevante (x) para completar o agrupamento. Convm lembrar que, para maior simplificao, devemos ter um nmero mnimo de agrupamentos, cada um deles, porm, com o maior nmero de blocos possveis. Assim sendo, temos: Quadra A.D X A 1 0 A Par A.C.D 0 D 1 D 0 X D B 0 X 1 X 1 B 0 C 0 X C 1 Quadra A.C B

Notamos que as condies irrelevantes pertencentes aos agrupamentos receberam valor 1, enquanto as deixadas de fora, valor 0. A expresso simplificada ser composta por 2 quadras e um par, sendo esta: S = A.C + A.D + A.C.D. Exerccios: 1. Determine a expresso simplificada: a.A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 1 X 0 1 X 1 X X

44

b.A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S 1 X 1 0 1 1 1 0 1 0 X 1 X 1 X 0

3.3.5 Casos que no Admitem Simplificao Vamos, neste tpico, efetuar uma anlise das expresses representativas das funes XOR e NXOR, no que se refere s suas colocaes nos diagramas de VeitchKarnaugh. A figura abaixo mostra a colocao destas expresses nos diagramas, no caso de 2 variveis, B A A 0 1 (a) (a) S = A B = A.B + A.B B 1 0 A A B 1 0 (b) B 0 1

(b) S = A B = A.B + A.B Pela figura, notamos que as expresses encontram-se na forma de mxima simplificao, no havendo outra possibilidade, pois em cada diagrama temos 2 termos isolados que so as prprias expresses entrada. No caso de utilizarmos 3 vriaveis, as expresses so, respectivamente, S = A B C e S = A B C. Para levantarmos suas tabelas verdades, devemos tomar as variveis de 2 em 2, ou seja, efetuar primeiro as operaes entre 2 das variveis e com o resultado obtido efetuar a operao com a terceira varivel. Esse processo se deve ao fato de as portas XOR e NXOR no serem vlidas para mais de 2 variveis de entrada, podendo ser aplicado, tomando primeiramente 2 quaisquer das 3 variveis da expresso, indiferentemente. As tabelas abaixo mostram os resultados das operaes S = A B C e S = A B C, em todas sa possibilidades.

45

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

(A

B) 0 1 1 0 1 0 0 1

C

A

(B 0 1 1 0 1 0 0 1

C)

(A

C) 0 1 1 0 1 0 0 1

B

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

(A

B) 0 1 1 0 1 0 0 1

C

A

(B 0 1 1 0 1 0 0 1

C)

(A

C) 0 1 1 0 1 0 0 1

B

Passando a coluna S (iguais em todos os casos) para o diagrama, temos: B A A 0 1 C 1 0 C 0 1 B 1 0 C

Da mesma forma, temos apenas termos isolados, no havendo possibilidade de simplificao. Extraindo a expresso da tabela inicial ou do diagrama, temos: S = A.B.C + A.B.C + A.B.C + A.B.C Evidenciando A e A, temos: S = A.(B.C + B.C) + A.(B.C + B.C) Substituindo-se os parnteses respectivamente por: B S = A.(B C) + A.(B C) C, reescrevemos: C) C e B C, temos:

Como B C = B S = A.(B

C) + A.(B

Chamado (B

C) de X, temos: X 46

S = A.X + A.X = A

Substituindo X, temos: S=A B C

Inicialmente, se tivssemos evidenciando outras variveis, teramos outras ordens no resultado, de conformidade com as tabelas levantandas. Ainda, se tivssemos substitudo B C por (B C), obteramos S = A B C, que analogamente, conforme as tabelas equivalente a S = A B C. Se estendermos o estudo para mais variveis, obteremos: Para 4 variveis: S = A Para 5 variveis: S = A B B C C D D = A B C D

E = A B C D E

De posse de resultados, conclumos que para um nmero par de variveis, temos a funo XOR como sendo complemento da NXOR e para um nmero mpar de variveis temos a funo XOR como sendo igual a NXOR. 3.3.6 Outra Forma de Apresentao do Diagrama de Veitch-Karnaugh Ao invs de representarmos o diagrama dividindo-o em regies, como visto at aqui, podemos reprent-lo de uma forma anloga, conforme a figura abaixo: B 0 A 0 1 (a) (a) 2 variveis. (b) 3 variveis. (c) 4 variveis. Pela figura, podemos notar que os diagramas so semelhantes, possundo apenas a identificao das regies pelo valor assumido pela varivel (exemplo: A = 0 => regio A, A = 1 => regio A). Tanto a colocao dos casos, bem como os agrupamentos obtidos se fazem de maneira anloga, levando aos mesmos resultados 1 A BC 0 1 (b) 00 01 11 10 CD AB 00 00 01 11 10 (c) 01 11 10

47

4 CIRCUITOS ARITMTICOSDentro do conjunto de circuitos combinacionais aplicados para finalidade especfica nos sistemas digitais, destacam-se os circuitos aritmticos. So utilizados, principalmente, para construir a ULA (Unidade Lgica Aritmtica) dos microprocessadores e, ainda, encontrados disponveis em circuitos integrados comerciais. 4.1 Meio Somador Antes de iniciarmos o assunto, vamos relembrar alguns tpicos importantes da soma de 2 nmeros binrios:1

+

0 0 0

+

0 1 1

+

1 0 1

+

1 1 10

transporte

Aps essa breve introduo, vamos montar uma tabela verdade da soma de 2 nmeros binrios de 1 algarismo:A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 C 0 0 0 1

C => Carry Out (0 + 0 = 0 => C = 0) (0 + 1 = 1 => C = 0) (1 + 0 = 1 => C = 0) (1 + 1 = 0 => C = 1)

Representando cada nmero por 1 bit, podemos ento, montar um circuito que possui como entradas A e B, e como sada, a soma dos algarismos (S) e o respectivo carry out(C). As expresses caractersticas do circuito, extradas da tabela so: S=A C = A.B O circuito e a representao em bloco visto abaixo: B

(circuito)

(representao em bloco)

Este circuito Meio Somador tambm conhecido como Half Adder, sendo a sada de transporte denominada carry out, ambos os termos derivados do ingls.

48

4.2 Somador Completo O Meio Somador possibilita efetuar a soma de nmeros binrios com 1 algarismo. Para se fazer a soma de nmeros binrios de mais algarismos, esse circuito torna-se insuficiente, pois no possibilita a introduo do transporte de entrada proveniente da coluna anterior. Para melhor compreenso, vamos analisar o caso da soma: 10012 + 1012. Assim sendo, temos:1 1 1

+ 1

1 0 0

1 1 1

1 1 0

0 0 0

A coluna 1 tem como resultado o carry out igual a 0. A coluna 2 tem como resultado 0 e um carry out igual a 1. A coluna 3 tem um carry in igual a 1 (carry out da coluna anterior), possui resultado 1 e carry out igual a 1. A coluna 4 tem carry in igual a 1, resultado igual a 0 e carry out 1. A coluna 5 possui apenas um carry in (carry out da coluna 4) e, obviamente, seu resultado ser igual a 1. Para fazermos a soma de 2 nmeros binrios de mais algarismos, basta somarmos coluna a coluna, levando em conta o carry in que nada mais que o carry out da coluna anterior. O Somador Completo um circuito para efetuar a soma completa de uma coluna, considerando o carry in. Vamos, agora, montar uma tabela verdade deste circuito.A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Ci 0 0 0 1 0 1 1 1

Ci => Carry in (0 + 0 + 0 = 0 e Ci = 0) (0 + 0 + 1 = 1 e Ci = 0) (0 + 1 + 0 = 1 e Ci = 0) (0 + 1 + 1 = 0 e Ci = 1) (1 + 0 + 0 = 1 e Ci = 0) (1 + 0 + 1 = 0 e Ci = 1) (1 + 1 + 0 = 0 e Ci = 1) (1 + 1 + 1 = 1 e Ci = 1)

Vamos, ento, escrever as expresses caractersticas, sem simplificao, de um Somador Completo: S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci Cout = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci Transpondo para o diagrama de Veitch-Karnaugh, temos: S: A A 49 0 1 Ci B 1 0 Ci 0 1 B 1 0 Ci

Conforme j estudado, podemos escrever: S=A Cout: B A 0 A 0 Ci 0 1 Ci 1 1 B 0 Cout = B.Ci + A.Ci + A.B 1 Ci B Ci

Vamos atravs das expresses, esquematizar o circuito Somador Completo:A B Cin EOR2 U1 EOR2 U4 U5 S

AND2 U2 U6

Cout

AND2 U3

OR3

AND2

Da mesma forma, o circuito apresentado em bloco visto abaixo: A B Ci Somador Completo Cout S

O circuito Somador Completo tambm conhecido como Full Adder, sendo a entrada de transporte denominada carry in, ambos os termos derivados do ingls.

50

Vamos, para exemplo de aplicao, montar um sistema em blocos que efetua a soma de 2 nmeros de 4 bits, conforme o esquema a seguir: X3 + Y3 Cout S3 X2 Y2 S2 X1 Y1 S1 X0 Y0 S0

Para efetuar a soma dos bits X0 e Y0 dos nmeros (1 coluna), vamos utilizar um Meio Somador, pois no existe carry in, mas para as outras colunas utilizaremos Somadores Completos, pois necessitaremos considerar os transportes provenientes das colunas anteriores. O sistema montado visto logo abaixo:

4.3 Meio Subtrator Antes de iniciarmos o assunto, vamos relembrar alguns pontos importantes da subtrao de nmeros binrios: 0 - 0 = 0 0 - 1 = 1 e vai um 1 - 0 = 1 1 - 1 = 0 Vamos montar a tabela verdade de uma subtrao de dois nmeros binrios de 1 algarismo:A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 Cout 0 1 0 0

0 0 1 1

-

0 1 0 1

= = = =

0 1 1 0

51

Representado cada nmero por 1 bit, podemos montar um circuito com as entradas A e B, e como sada, a subtrao (S) e o transporte de sada (Cout). As expresses caractersticas do circuito, extradas da tabela, so: S=A B

Cout = A.B O circuito a partir destas, visto abaixo:A U7

S

EOR2 U8 B NOT AND2 U9 Cout

Em bloco, o circuito recebe a reprentao abaixo: A Meio Somador B Cout S

Do ingls, o circuito recebe a denominao Half Subtractor. 4.4 Subtrator Completo O Meio Subtrator possibilita-nos efetuar a subtrao de nmeros binrios de 1 algarismo. Para se fazer uma subtrao com nmeros de mais algarismos, este circuito torna-se insuficiente, pois no possibilita a entrada de transporte (Carry in), proveniente da coluna anterior. Para compreendermos melhor, vamos analisar a subtrao: 11002 + 112. Assim sendo, temos: 1 + 1 0 11

01

0 1 1

1 0

A coluna 1 tem como resultado de sada 1 e apresenta um carry out igual a 1. A coluna 2 tem um carry in igual a 1 (carry out da coluna anterior), um resultado igual a 0 e Cout = 1. A coluna 3 tem: Ci = 1, resultado igual a 0 e Cout = 0. A coluna 4 tem: Ci = 0, resultado igual a 1 e Cout = 0. 52

Para fazermos a subtrao de nmeros binrios de mais algarismos, basta subtrairmos coluna a coluna, levando em conta o carry in, que nada mais que o carry out da coluna anterior. O Subtrator Completo um circuito que efetua a subtrao completa de uma coluna, ou seja, considera o carry in provenjiente da coluna anterior. Vamos, agora, montar a tabelka verdade deste circuito:A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Cout 0 1 1 1 0 0 0 1

As expresses caractersticas extradas da tabela so: S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci Cout = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci Vamos simplificar estas expresses: S: A A 0 1 Ci B 1 0 Ci B 0 1 B 1 0 Ci Ci Cout: A 0 A 0 B 1 0 1 1 B 1 0

(a) S = A

Ci Ci Ci (b) S = A.B + A.Ci + B.Ci

O circuito derivado das expresses visto abaixo:A B Cin U7 NOT U1 EOR2 EOR2 U6 U5 S

AND2 U2 U4 Cout OR3

AND2 U3

AND2

53

Em bloco, recebe a representao da figura abaixo: A Subtrator Completo B Cout S

A denominao derivada do ingls Full Subtractor. Da mesma forma, podemos esquematizar um sistema subtrator para 2 nmeros de m bits (m = n + 1). A figura abaixo mostra um sistema subtrator genrico para 2 nmeros de m Bn bits. An B1 An-1 Bn-1 A1 B0 A0A B Cin A B Cin A B Cin A B

SUBTRATOR COMPLETO

SUBTRATOR COMPLETO

SUBTRATOR COMPLETO

SUBTRATOR COMPLETO

Cout

SSn

Cout

SSn-1

Cout

SS1

Cout

SS2

Neste sistema, o carry out do ltimo bloco torna-se desnecessria se o nmero An...A0 (minuendo) for maior ou igual a Bn...B0 (subtraendo), porm podera ser utilizada no caso contrrio para sinalizar que o resultado negativo, estando, ento, na notao do complemento 2. 4.5 Somador/Subtrator Completo Podemos esquematizar um circuito que efetue as duas operaes. Para isso, vamos introduzir uma outra entrada que permanecendo em nvel 0, faz o circuito efetuar uma soma completa, e permanecendo em nvel 1, faz efetuar uma subtrao completa. Vamos, agora, montar a tabela verdade do circuito, sendo M a varivel de controle (M = 0 => soma e M = 1 => subtrao):M 0 0 0 0 0 0 0 0 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Cout 0 0 0 1 0 1 1 1 M 1 1 1 1 1 1 1 1 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Ci 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 Cout 0 1 1 1 0 0 0 1

Soma Completa (M = 0)

Subtrao Completa (M = 1)

54

Vamos simplificar as sadas S e Cout, atravs dos diagramas de Veitch-Karnaugh: C 0 A 1 1 A 0 D 1 D 0 1 D B 0 0 1 1 0 B 0 1 0 C 1 B

No diagrama, obtemos; S = A.B.Ci + A.B.Ci + A.B.Ci + A.B.Ci Fatorando a expresso, temos: S = A.(B.Ci + B.Ci) + A.(B.Ci + B.Ci) S = A.(B S = A.(B S=A Cout: C 0 A 0 0 A 0 D 1 D 1 1 D B 1 0 1 1 1 B 0 0 1 B Ci) + A.(B Ci) CI) + A.(B Ci C 0 B Ci)

Do diagrama, obtemos: Cout = B.Ci + M.A.B + M.A.Ci + M.A.B + M.A.Ci Fatorando a expresso, temos: Cout = B.Ci + B(M.A + M.A) + Ci.(M.A + M.A) Cout = B.Ci + B.(M Cout = B.Ci + (M A) + Ci.(M A).(B + Ci) A)

55

Vamos ento esquematizar o circuito:A B Cin M U5 U7 AND2 U2 U4 EOR2 U6 AND2 OR2 Cout U1 U3 EOR2 EOR2 S

OR2

A figura abaixo mostra a reprentao deste circuito Somador/Subtrator Completo em bloco: A B Ci Somador/ Subtrator Completo Cout M S

Exerccios: 1. Projete e mostre a simulao de um circuito somador onde A = 5 e B = 3. 2. Projete um circuito Somador/Subtrator para realizar A B onde A = +2 e B = -5. Mostre a simulao.

56

5 CIRCUITOS COMBINACIONAIS (PROJETO)O circuito combinacional aquele em que a sada depende nica e exclusivamente das combinaes entre as variveis de entrada. Podemos utilizar um circuito lgico combinacional para solucionar problemas em que necessitamos de uma resposta, quando acontecerem determinadas situaes, representadas pelas variveis de entrada. A figura abaixo ilustra a seqncia do processo, onde, a partir da situao, obtemos a atbela verdade verdade e a partir desta, atravs das tecnicas j conhecidas, a expresso simplificada e o circuito final.

SITUAO

TABELA VERDADE

EXPRESSO SIMPLIFICADA

CIRCUITO

5.1 Projetos de Circuitos Combinacionais Nos itens subseqentes, mostraremos como obter um circuito para resolver um problema utilizando a Eletrnica Digital a partir de uma situao prtica. A figura abaixo mostra o esquema geral de um ciruito combinacional composto pelas variveis de entrada, o circuito propriamente dito e sua(s) sada(s). A B C Z . . . CIRCUITO LGICO . . . S0 S1 S2 SN

Notamos que o circuito lgico pode assumir diversas variveis de entrada e uma ou mais sadas conforme o caso do projeto. A seguir, estudaremos, a ttulo de exemplo, casos de 2, 3 e 4 variveis. 5.1.1 Circuitos com 2 Variveis

SEMFORO 2 SEMFORO 1 RUA A PREFERENCIAL SEMFORO 2

SEMFORO 1

57

A figura acima representa o cruzamento das A e B. Neste cruzamento, queremos instalar um sistema automtico para os semforos, com as seguintes caractersticas: 1 Quando houver carros transitando somente na Rua B, o semforo 2 dever permanecer verde para que estes automveis possam trafegar livremente. 2 Quando houver carros transitando somente ba rua A, o semforo 1 dever permanecer verde pelo mesmo motivo. 3 Quando houver carros transitando nas duas ruas, deveremos abrir o semforo para a Rua A, pois a preferencial. Para solucionarmos este problema, podemos utilizar um circuito lgico. Para montarmos este circuito lgico, necessitamos de sua expresso. Vamos, agora, analisando a situao, obter sua tabela verdade. Primeiramente, vamos estabelecer regras: a. Existncia de carro na rua A: b. No existncia de carro na rua A: c. Existncia de carro na rua B: d. No existncia de carro na rua B: e. Verde do sinal 1 aceso: f. Verde do sinal 2 aceso: A = 1. A = 0 ou A = 1. B = 1. B = 0 ou B = 1. V1 = 1. V2 = 1.

g. Quando V1 = 1 => vermelho do semforo 1 apagado: Vm1 = 0. verde do semforo 2 apagado V2 = 0. e vermelho do semforo 2 aceso: Vm2 = 1. h. Quando V2 = 1 => V1 = 0, Vm2 = 0 e Vm1 = 1. Vamos montar a tabela verdade:Situao 0 1 2 3 A 0 0 1 1 B 0 1 0 1 V1 Vm1 V2 Vm2

A situao 0 (A = 0 e B = 0) representa a ausncia de veculos em ambas as ruas. Se no temos carros, tanto faz qual sinal est aberto. Vamos adotar, por exemplo, que o verde do sinal 2 permanea aceso. Neste caso, preenchemos a tabela verdade da seguinte maneira:Situao 0 A 0 B 0 V1 0 Vm1 1 V2 1 Vm2 0

(V2 = 1 => V1 = 0, Vm1 = 1 e Vm2 = 0)

58

A situao 1 (A = 0 e B = 1) representa de veculo na Rua B e ausncia de veculo na Rua A, logo, devemos acender o sinal verde para a Rua B (V2 = 1). Temos ento:Situao 1 A 0 B 1 V1 0 Vm1 1 V2 1 Vm2 0

(V2 = 1 => V1 = 0, Vm1 = 1 e Vm2 = 0) A situao 2 (A = 1 e B = 0) representa de veculo na Rua A e ausncia de veculo na Rua B, logo, devemos acender o sinal verde para a Rua B (V1 = 1). Temos ento:Situao 2 A 1 B 0 V1 1 Vm1 0 V2 0 Vm2 1

(V1 = 1 => V2 = 0, Vm2 = 1 e Vm1 = 0) A situao 3 (A = 1 e B = 1) representa a presena de veculos em ambas as ruas, logo, devemos acender o sinal verde para a Rua A, pois esta a preferencial. Temos ento:Situao 3 A 1 B 1 V1 1 Vm1 0 V2 0 Vm2 1

(V1 = 1 => Vm1 = 0, V2 = 0 e Vm2 = 1 ) A tabela totalmente preenchida vista a seguir:Situao 0 1 2 3 A 0 0 1 1 B 0 1 0 1 V1 0 0 1 1 Vm1 1 1 0 0 V2 1 1 0 0 Vm2 0 0 1 1

Vamos transpor a tabela para diagramas de Veitch-Karnaugh e agrupar para obtermos as expresses simplificadas das sadas V1 , V2, Vm1 e Vm2 : B A A 0 1 B 0 1 (a)V1 B A 1 B 1 0 A A A B 1 B 1 0 (b)Vm1 B 0 1 B 0 1

A 0

A 0

(c)V2 59

(d)Vm2

Pela tabela ou pelos diagramas, notamos que as expresses simplificadas so: V1 = Vm2 = A e V2 e Vm1 = A. O circuito, a partir destas expresses, visto abaixo:A V1 Vm2 V2 Vm1

Analisando as expresses obtidas, conclumos que a presena de carros na via preferencial (A = 1) acarreta o acendimento do verde do semforo 1 e o vermelho do 2 (V1 = Vm2 = 1) e, ainda, devido a ao do inversor do circuito, o apagamento do verde do semforo 2 e vermelho do sinal 1 (V2 = Vm1 = 0). Da mesma forma, a ausncia de carros nesta via (A = 0), causa a condio contrria (V1 = Vm2 =0 e V2 = Vm1 = 1), que possibilita a abertura da via secundria, sendo a varivel B (indicadora dos veculos na Rua B) eliminada das expresses pelo processo de simplificao, pois torna-se desnecessria em funo das situaes consideradas no projeto. 5.1.2 Circuitos com 3 Variveis Deseja-se ulilizar um amplificador para ligar trs aparelhos: uma vitrola, um mp3 player e um rdio AM. Vamos elaborar um circuito lgico que nos permitir ligar os aparelhos, obedecendo as seguintes prioridades: 1 prioridade: mp3 player 2 prioridade: vitrola 3 prioridade: rdio AM Isto significa que quando no ligarmos nem o mp3 player, nem a vitrola, o rdio AM, se ligado, ser conectado ao amplificador. Se ligarmos a vitrola, automaticamente o circuito conect-lo- entrada do amplificador, pois possui prioridade sobre o rdio AM. Se, ento, ligarmos o mp3 player, este ser conectado ao amplificador, pois representa a 1 prioridade. A partir disto, podemos montar o diagrama de blocos com as respectivas ligaes:

Mp3 Player A SA CH 1

Vitrola B SB CH 2

Rdio AM C SC CH 3

Amplificador

60

Neste projeto, o circuito lgico receber as informaes das variveis de entrada A, B e C, representando os aparelhos, e atravs das sadas SA, SB e SC comutar as chaves CH1, CH2 e CH3 para fazer a conexo conforme a situao requerida. Convenes utilizadas => Variveis de entrada (A, B e C): aparelho desligado = 0 e ligado = 1. => Sadas (SA, SB e SC): S = 0 => chave aberta e S = 1 => chave fechada.Situao 0 1 2 3 4 5 6 7 A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 SA SB SC

Para preenchermos a tabela, vamos analisar todas as oito situaes possveis:SA SB X SC X

Caso 0 Os 3 esto desligados, logo, condio irrelevante, pois no importa qual chave deve ser ligada. Caso 1 Est ligado apenas o AM, logo somente SC assume valor 1. Caso 2 Est ligado apenas a vitrola, logo somen te SB assume valor 1. Caso 3 Esto ligados o AM e a vitrola. A vitrola tem prioridade sobre o AM, logo somen te SB assume valor 1. Caso 4 Est ligado apenas o mp3 player, logo somente o SA assume valor 1. caso 5 Esto ligados o mp3 player e o AM. O mp3 player a 1 prioridade, logo somen te SA assume valor 1. caso 6 anlogo ao caso 5. caso 7 anlogo ao caso 5 ou 6

=>

X

=> => =>

0

0

1

0

1

0

0

1

0

=> =>

1

0

0

11

00

00

=> =>

1

0

0

Feita a anlise de cada situao, podemos preencher a tabela verdade: 61

Situao 0 1 2 3 4 5 6 7

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

SA X 0 0 0 1 1 1 1

SB X 0 1 1 0 0 0 0

SC X 1 0 0 0 0 0 0

Transpondo para os diagramas, temos: B A X A 1 (a) C B A X A 0 (b) C B A X A 0 1 0 C 0 0 0 0 C B 0 0 C => SC = A.B 1 0 0 1 C B 1 0 C => SB = A.B 0 1 B 0 1 C => SA = A

(c) C

O circuito, obtido a partir das expresses, visto abaixo:A B

U3 NOT

U4 NOT SA

U1

SB

AND2 U2

SC

AND2

62

Analisando as expresses obtidas, conclumos que o mp3 player ser conectado ao amplificador (SA = 1 => CH1 fechada), quando for ligado (A = 1), independentemente dos outros aparelhos, pois SA = A; que a vitrola ser conectado (SB = 1 => CH2 fechada) quando ligado (B = 1) e quando o mp3 player no o for (A = 0), pois sua expresso SB = A.B e que o rdio AM apenas ser conectado (SC = 1 => CH3 fechada), quando os outros dois no o estiverem (A = 0 e B = 0), pois SC = A.B. Um outro ponto importante a ser observado que pelo fato de termos considerado a condio irrelevante do terceiro diagrama como 1 para maior simplificao, a varivel C foi eliminada da expresso, bastando apenas os outros estarem desligados para que a conexo do rdio AM seja feita, sendo evidente que seu funcionamento prtico, em termos de adio, fique vinculado a sua ligao. 5.1.3 Circuitos com 4 Variveis Vamos supor agora, que uma empresa queira implantar um sistema de prioridade nos seus intercomunicadores, da seguinte maneira: Presidente: Vice-Presidente: Engenharia: Chefe de seo: 1 prioridade 2 prioridade 3 prioridade 4 prioridade

Esquematicamente, temos:CHEFE DE SEO

PRES. ASA CH 1

V. PRES.

ENG. CSC CH 3

BSB CH 2

DSD CH 4

INTER. CENTRAL Primeiramente, vamos estabelecer as variveis de entrada e sada do circuito lgica e as convenes do projeto: Variveis de entrada: => intercomunicador do presidente: A => intercomunicador do vice-presidente: B => intercomunicador da engenharia: C => intercomunicador do chefe de seo: D Convees utilizadas: => presena de chamada: 1 63

=> ausncia de chamada: 0 Sadas: SA, SB, SC e SD Convees utilizadas: => efetivao de chamada: 1 => no efetivao de chamada: 0 Estabelecidas as convenes, montamos a tabela verdade:A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 SA 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 SB 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 SC 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 SD 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0no efetua chamada efetua chamada do chefe da seo Efetua chamada da engenharia Efetua chamada da engenharia, pois prioritria; Efetua chamada do vice-presidente Efetua chamada da engenharia, pois prioritrio Efetua chamada do presidente

Efetua chamada do presidente, pois a 1 prioridade.

Logo aps, obtemos as expresses de sada simplificadas atravs dos diagramas de Veitch-Karnaugh: C A 0 0 A 1 1 0 0 1 1 D 0 0 1 1 C 0 0 1 1 D B B B A 0 0 0 0 0 0 0 0 D B A 0 1 C 0 1 0 1 C 0 B 1 B

D (a) SA = A C A 0 0 0 0 0 0 0 0

D D (b) SB = A.B C C 1 0 0 0 0 0 0 0 0 0 0 0

C 1 0 0 0 1 B 0 B 0 0 D B A

0 B 0 B 0 0 D B

A

A

64

D D (c) SC = A.B.C

D D (d) Sd = A.B.C.D

Por ltimo, obtemos o circuito, que visto na figura a seguir:A B C D

U3 NOT

U4 NOT

U5 NOT

SA U1

SB

AND2 U2 SC AND3 U6 SD

AND4

Da mesma forma que no exemplo com 3 variveis, a sada ser acionada (1) quando houver inteno de que tal situao ocorra (varivel respectiva = 1) e no haja acionamento dos anteriores por ordem de prioridade (variveis barradas = 0). Analogamente, podemos aplicar o mesmo processo para os outros tipos de sistuaes prticas que envolvam casos de prioridades, bem como, de mais variveis. Exerccios: 1. Projete um circuito de votao eletrnica para ser usado por trs diretores de uma companhia. Assumir que um voto SIM represente um nvel lgico 1 e um voto NO seja dado por um nvel lgico 0. No a voto preferencial, o sistema o da maioria. a. Encontre as expresses nas formas padres de mintermos e maxtermos. b. Desenhe o circuitos lgicos referentes as formas padres. 2. Um hotel tem 4 quartos (w,x,y,z) e 2 office-boys. Cada quarto capaz de solicitar servio de quarto e uma solicitao deve ser atendida por um dos office-boys. Infelizmente, os ocupantes dos quarto w e x se desgostaram com o primeiro office-boy e no aceitam seus servios. Projete um circuito de alarme simplificado quando uma solicitao no for atendida.

65

BIBLIOGRAFIA

IDOETA, Ivan V. e CAPUANO, Francisco Gabriel. Elementos da Eletrnica Digital. 6 ed. So Paulo: rica, 1987.

66