Você está na página 1de 7

CURSO DE ELETRNICA DIGITAL

LIO 5
COMBINANDO FUNES LGICAS

Nas duas lies anteriores estudamos as famlias lgicas CMOS e TTL, analisando suas caractersticas eltricas principais e a maneira como os componentes so fabricados atravs de alguns circuitos tpicos. Nesta lio continuaremos a estudar as funes lgicas, agora de uma forma mais completa. Analisaremos o que ocorre quando juntamos diversas funes lgicas, prevendo o que acontece com suas sadas. Os circuitos complexos, como os usados nos computadores, por exemplo, se aproveitam das operaes complicadas que muitas portas lgicas podem realizar em conjunto. Assim, de fundamental importncia para nosso estudo saber analisar estas funes.

Vimos, desta forma, que a tabela verdade para uma funo AND de duas entradas, como a representada na figura 1, pode ser dada por: A 0 0 1 1 B 0 1 0 1 S 0 0 0 1

0 1 1 1 1

1 0 0 1 1

1 0 1 0 1

= = = = =

3 4 5 6 7

Veja que nas colunas de entrada (A e B) para termos todas as combinaes possveis, fazemos o equivalente numerao binria de 0 a 3, j que: 0 0 1 1 0 1 0 1 = = = = 0 1 2 3

O conhecimento da contagem binria facilita bastante a elaborao de tabelas verdades, quando todas as combinaes possveis de nveis lgicos em 2, 3 ou 4 entradas devam ser estudadas. Assim, uma vez que o leitor conhea o comportamento das principais funes, sabendo o que ocorre na sada de cada uma quando temos determinadas entradas e sabendo elaborar tabelas verdades, fica fcil combinar funes e saber o que acontece em suas sadas. 5.2 - Lgica Combinacional Vamos partir de um exemplo simples de lgica combinacional usando tabelas verdades para saber o que ocorre na sua sada, com o circuito da figura 2. Este circuito faz uso de uma porta AND, um inversor e uma porta OR. O resultado desta configurao uma funo combinacional com trs entradas e uma sada.

5.1 - As tabelas verdade Os diversos sinais de entrada aplicados a uma funo lgica, com todas as suas combinaes possveis, e a sada correspondente podem ser colocados numa tabela. Nas colunas de entradas colocamos todas as combinaes possveis de nveis lgicos que as entradas podem assumir. Na coluna correspondente sada colocamos os valores que esta sada assume em funo dos nveis lgicos correspondentes na entrada.

Para uma tabela verdade feita para uma porta AND de 3 entradas teremos: 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

Neste caso, as combinaes de nveis lgicos na entrada correspondem numerao binria de 0 a 7 j que: 0 0 0 0 0 1 0 1 0 = = = 0 1 2

Figura 1 - Funes ou porta AND (E) de duas entradas.


SABER ELETRNICA ESPECIAL N 8 - 2002

Figura 2 - Circuito combinacional simples com trs entradas. 29

CURSO DE ELETRNICA DIGITAL


Para elaborar a tabela verdade para este circuito e assim determinarmos todas as sadas possveis em funo das entradas, devemos levar em conta que ele formado por duas etapas. Na primeira etapa temos a porta AND e o inversor, enquanto que na segunda etapa temos a porta OR. Isso significa que as sadas dos circuitos da primeira etapa, que chamaremos de S1 e S2 so a entrada da segunda etapa. Temos ento de levar em conta estas sadas na elaborao da tabela verdade que ter no seu topo as seguintes variveis: A B C S1 S2 S A,B e C so as entradas dos circuitos. S1 e S2 so pontos intermedirios do circuito que precisam ser analisados para a obteno de S, que a sada final do circuito. Comeamos por colocar em A, B e C todas as suas condies possveis, ou todas as combinaes de nveis lgicos que podem ser aplicadas ao 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 S1 S2 S Sabemos que a tabela verdade para o inversor : A 0 1 S 1 0 Resultando na seguinte tabela: 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 S1 1 1 1 1 0 0 0 0 S2 0 0 0 1 0 0 0 1 S 1 1 1 1 0 0 0 1

Ora, como em nosso caso A a entrada do inversor e S1 sua sada, podemos partir para a determinao de toda a coluna S1 simplesmente invertendo os valores de A, da seguinte forma: 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 S1 S2 S 1 1 1 1 0 0 0 0

Trata-se de uma funo bastante interessante que pode ser definida como a que fornece uma sada alta somente quando a entrada A estiver no nvel baixo, no importando as demais entradas ou ainda quando as trs entradas estiverem no nvel alto.

Para encontrar os valores da coluna S2 devemos observar que ela corresponde tabela verdade da funo AND onde as entradas so B e C e a sada S2. B 0 0 1 1 C 0 1 0 1 S2 0 0 0 1

Temos ento: 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 S1 1 1 1 1 0 0 0 0 S2 S 0 0 0 1 0 0 0 1

O passo seguinte colocar os valores possveis de S1, que corresponde sada do inversor.

Finalmente, levando em conta que S1 e S2 so entradas de uma porta OR de duas entradas cuja sada S, podemos elaborar a coluna final de sadas (S) S1 0 0 1 1 S2 0 1 0 1 S 0 1 1 1

Figura 3 - Duas formas de se obter a mesma funo. 30

5.3 - Como Projetar Um Circuito Combinacional O problema de saber o que acontece com a sada de um circuito formado por muitas funes lgicas quando suas entradas recebem diversas combinaes de sinais no o mais importante para o projetista de equipamentos digitais. Na verdade, muito mais importante que este procedimento justamente fazer o contrrio, ou seja, projetar um circuito que, em funo de determinados sinais de entrada, fornea exatamente na sada o que se deseja. O projeto de um circuito que tenha uma determinada funo envolve um procedimento de sntese em algumas etapas. Na primeira etapa deve ser definido o problema, estabelecendo-se exatamente qual a funo a ser executada, ou seja, quais as entradas e quais as sadas. Numa segunda etapa, coloca-se o problema numa tabela verdade ou ainda na forma de equaes lgicas. O procedimento que abordaremos neste curso ser basicamente o da obteno das funes a partir das tabelas verdade e das equaes lgicas. Finalmente, numa terceira etapa, obtemos o circuito que exercer as funes desejadas. Na terceira etapa, um ponto importante consiste na minimizao do circuito, j que na maioria dos casos
SABER ELETRNICA ESPECIAL N 8 - 2002

CURSO DE ELETRNICA DIGITAL


pode-se implementar a mesma funo de muitas formas diferentes como atesta o circuito simples apresentado na figura 3. Veja que podemos ter o mesmo circuito com quantidades de portas diferentes, na prtica devemos sempre levar este fato em conta. No apenas o nmero de portas que determinar a configurao final, mas sim, seu custo e a eventual utilizao em outras partes do circuito. Por exemplo, se o circuito j estiver usando dois inversores dos seis disponveis num circuito integrado e a nossa funo tiver uma soluo um pouco maior, mas que use estes inversores, ser interessante adot-la para aproveitar os inversores ociosos. A seguir daremos um exemplo de como obter os circuitos a partir de uma tabela verdade. a) Passo 1 - Determinao das equaes lgicas Lembramos que para as funes estudadas temos as seguintes representaes: Funo E (AND) Y=A.B Funo No E (NAND) ___ Y=A.B Funo OU (OR) Y=A+B Funo No OU (NOR) ____ Y=A+B Funo No (NOT) ou inversor __ Y=A Funo ou exclusivo (Exclusive OR) Y=A(+)B Isso nos permite escrever as equaes lgicas para cada uma das quatro tabelas da seguinte forma: _ _ S1 = A . B . C que corresponde a A=0, B=0 e C=1 _ S2 = A . B . C que corresponde a A=0, B=1 e A=0 _ _ S3 = A . B . C que corresponde a A=1, B=0 e C=0 S4 = A . B . C que corresponde a A=1, B=1 e C=1 Como a sada S a combinao das quatro funes temos: S = S1 + S2 + S3 + S4
Figura 4 - A funo A.B.C implementada.
SABER ELETRNICA ESPECIAL N 8 - 2002

Vamos tomar como exemplo a tabela verdade abaixo para determinar a funo lgica correspondente: A 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 C 0 0 0 0 1 1 1 1 Y 0 1 1 0 1 0 0 1 linha 1 2 3 4 5 6 7 8

Substituindo pelos valores encontrados teremos: __ _ _ _ S = A.B.C + A.B.C + A.B.C + A.B.C Esta ento a funo lgica que representa a tabela verdade que propusemos como parte inicial do problema e para a qual devemos encontrar um circuito equivalente. Passo 2 - Implementao dos Circuitos Combinacionais Conforme estudamos em lies anteriores, possvel usar as portas NAND e NOR como blocos lgicos universais a partir dos quais podemos elaborar qualquer outra funo ou mesmo funes mais complexas. Para exemplificar vamos analisar uma funo um pouco mais simples do que a obtida no passo anterior. Tomemos a expresso: _ _ _ S=A.B.C + A.B.C Podemos tentar implement-la usando portas NAND e eventualmenA B C S3 00 0 0 00 1 0 01 0 0 01 1 0 10 0 1 10 1 0 11 0 0 11 1 0 A B C S4 00 0 0 00 1 0 01 0 0 01 1 0 10 0 0 10 1 0 11 0 0 11 1 1

Indicamos a linha na ltima coluna de modo a facilitar as explicaes seguintes. Observamos que temos sadas no nvel 0 para as linhas 0, 3, 5 e 6, enquanto para as linhas 1, 2, 4 e 7 temos sadas 1. Isso quer dizer que teremos a funo OU para as linhas cuja sada 1 que podem ser encaradas como operaes OR com tabelas que teriam 1 na sada apenas nas linhas 1, 2, 4 e 7, conforme mostrado a seguir:
ABC 00 0 00 1 01 0 01 1 10 0 10 1 11 0 11 1 Y 0 1 1 0 1 0 0 1 A B C S1 00 0 0 00 0 1 01 0 0 01 1 0 10 0 0 10 1 0 11 0 0 11 1 0 A B C S2 00 0 0 00 1 0 01 0 1 01 1 0 10 0 0 10 1 0 11 0 0 11 1 0

te inversores, j que a barra sobre cada letra indica sua negativa, conforme estudamos. A operao (.) pode ser realizada utilizando-se uma porta NAND que ligada a um inversor nos fornece uma porta AND. Assim, conforme a figura 4, podemos implementar A.B.C usando uma porta NAND de 3 entradas e um inversor. Veja na figura 5 como a operao A.B.C pode ser implementada. A soma (+) pode ser implementada com uma porta OR ligada a dois inversores, figura 6.

Figura 5 - Implementao da funo A.B.C 31

CURSO DE ELETRNICA DIGITAL


Logo, quando temos uma expresso formada pela soma de produtos, podemos usar portas NAND sem a necessidade de inversores, bastando apenas lembrar duas propriedades: As combinaes de entrada podem ser aplicadas a portas NAND. As sadas das portas NAND podem ser aplicadas entrada de uma segunda porta NAND obtendo-se na sada a funo desejada. Vamos agora fazer uma tentativa de implementar uma funo usando portas NOR, o que ser escolhido quando tivermos um produto de somas. Tomemos como exemplo a funo: _ _ _ S = (A + B + C) . (A + B + C) As somas podem ser obtidas facilmente a partir de portas NOR com

Figura 6 - Obtendo a soma (+) de duas expresso lgicas.

Figura 8 - Circuito final para funo desejada.

Combinando os trs circuitos podemos chegar configurao final desejada, figura 7. Veja que a inverso da inverso usada no circuito anterior nos leva ao circuito original. Isso significa que podemos simplificar a configurao eliminando as duplas inverses em srie. Isso nos leva configurao final do circuito mostrada na figura 8.

Figura 9 - Implementando as funes soma com portas NOR e inversores.

Figura 7 - A funo S=ABC+ABC de forma que ainda pode ser minimizada.

Figura 10 - A implementao quase final da funo.

Figura 11 - A implementao final da funo. 32

as sada aplicadas a um inversor. A negao de NOR OR. O circuito equivalente para trs entradas mostrado na figura 9. O produto das duas somas obtido com dois inversores aplicando os sinais a uma outra porta OR, ou seja, a uma outra configurao NOR. Como nas duas linhas de sinais temos inversores em srie, e o inversor do inverso de um nvel lgico ele mesmo, podemos simplificar o circuito eliminando todos os inversores. Isso nos permite chegar configurao final que mostrada na .. Assim, se quisermos implementar uma funo que consiste num produto de somas, basta seguir dois procedimentos bsicos: Aplicar as entradas correspondentes a cada soma a uma porta OR que pode ser obtida associando-se uma porta NOR a uma inversor. Aplicar as sadas obtidas nas funes que devem ser multiplicadas a inversores que so ligados s entradas de uma porta OR final, tambm obtida com a associao de um inversor a uma porta NOR. Como os inversores em srie se anulam, eles podem ser eliminados e o circuito implementado utilizando-se apenas portas NOR. possvel resolver o problema de implementar circuitos combinacionais reduzindo as funes a produtos de somas ou ainda a soma de produtos,
SABER ELETRNICA ESPECIAL N 8 - 2002

CURSO DE ELETRNICA DIGITAL


sem nenhuma parte ociosa. 5.5 DIAGRAMAS DE KARNAUGH Um processo bastante interessante para representar uma tabela verdade e a partir dela obter uma simplificao dos circuitos utilizados para sua implementao o que faz uso dos chamados diagramas ou mapas de Karnaugh. O diagrama de Karnaugh consiste numa tabela retangular com nmero de quadros que corresponde a 2 elevado ao expoente N, onde N o nmero de variveis do circuito. Cada varivel lgica ocupa no grfico metade da sua extenso e seu complemento ocupa a outra metade. Na figura 13 temos o modo como so elaborados os diagramas de Karnaugh para 1, 2 e 3 variveis, com as expresses lgicas correspondentes a cada caso. Estas expresses so obtidas de uma forma muito semelhante usada no conhecido joguinho de batalha naval onde a posio de cada tiro dada por duas coordenadas, uma correspondente s linhas e outra s colunas. Na figura 15 mostramos, como exemplo, de que modo um diagrama de Karnaugh de 4 variveis pode ser obtido com a incluso dentro de cada quadro da expresso correspondente. No diagrama (b) da figura 14 os quadros foram preenchidos com os valores 0 e 1 correspondentes s entradas. Este diagrama chamado tambm de diagrama de Veitch. Uma observao importante em relao a esta representao por 0 e 1 que

Figura 12 - Dois tipos diferentes de portas so usados neste circuito.

Figura 13 - O mesmo circuito usando um nico tipo de porta.

casos em que podemos trabalhar com funes NAND ou NOR. Como as duas solues levam aos mesmos resultados, num projeto prtico interessante analisar as configuraes obtidas para um problema nos dois casos. Adota-se ento a soluo que utilizar menos circuitos ou que for mais conveniente, por exemplo, aproveitando portas ociosas de um circuito integrado j utilizado no mesmo projeto com outras finalidades. 5.4 - SIMPLIFICANDO E MINIMIZANDO Uma consequncia da possibilidade de construir funes complexas a partir de portas bsicas como OR e AND (OU e E) a otimizao de um projeto aproveitando poucos tipos de circuitos integrados bsicos. Assim, se tivermos uma funo que seja obtida utilizando-se portas AND e OR como a mostrada na figura 12, ela ter o inconveniente de precisar de dois tipos diferentes de circuitos integrados. Se quisermos esta funo com circuitos TTL, por exemplo, aproveitaremos trs das trs portas de trs entradas de um circuito 7411 e tambm precisaremos aproveitar uma das quatro portas OR de duas entradas de um circuito integrado 7432. Evidentemente, estaremos usando dois circuitos integrados, desperdiando 1/3 de um e 3/4 do outro. Podemos simplificar consideravelmente este circuito se usarmos apenas portas NAND com a configurao equivalente mostrada na figura 13. Este circuito, que apresenta a mesma funo do anterior, usa as trs portas de um circuito integrado 7410. Utilizamos apenas um circuito integrado que totalmente aproveitado,
SABER ELETRNICA ESPECIAL N 8 - 2002

cada quadro difere do adjacente em apenas um dgito. Dizemos que so adjacentes os termos que esto direita e esquerda de cada quadro e tambm os que esto acima e abaixo. Tambm so adjacentes os que estiverem na mesma fila, mas um na primeira coluna e outro na ltima. Na figura 16 temos um mapa com a identificao das adjacncias. Assim, o que fazemos plotar a tabela verdade da funo que desejamos implementar num mapa de Karnaugh com o que ser possvel identificar melhor as adjacncias e assim fazer as simplificaes. Para que o leitor entenda como funciona o mapa de Karnaugh numa simplificao de uma funo, vamos tomar como exemplo a funo que dada pela seguinte tabela verdade: A 0 0 1 1 B 0 1 0 1 S 1 1 0 1

Desejamos expressar esta tabela como a soma de produtos, o que significa que os valores adjacentes que

Figura 14 - Diagrama de Karnaugh para uma (a) duas (b) e trs (c) variveis. 33

CURSO DE ELETRNICA DIGITAL


devemos procurar na tabela so os 1. Se fssemos expressar esta funo como o produto de uma soma, os valores considerados seriam os 0 e o procedimento final seria o mesmo. Construmos ento o Diagrama de Karnaugh para esta tabela conforme a figura 17. A partir deste diagrama nosso prximo passo consiste em tentar fazer simplificaes que possam levar a circuitos mais simples na implementao. A idia agrupar os termos adjacentes iguais, havendo para isso diversas possibilidades que so apresentadas na figura 18. A primeira possibilidade mostrada em (a) nos leva a uma soma de trs produtos, cada qual obtido pela interseco da linha com a coluna em que est o 1 correspondente. Assim, o primeiro est na coluna que intercepta A-0 com B-0. Ora, o valor zero na indexao indica inverso, portanto, isso significa que o primeiro fator de nosso produto ser: __ A.B O segundo 1 a ser considerado est na coluna A=1 e B=0, portanto, temos A invertido e B sem inverso, o que nos leva ao segundo fator de nosso produto: _ A.B Finalmente, o terceiro 1 a ser considerado est na linha A=1 e B=1, o que significa um fator com A multi-

Figura 15 - Diagramas de Karnaugh (a) e Veitch.

plicado por B sem inverses ou: A.B Como devemos expressar a funo na forma de uma soma de produtos fazemos: __ _ S = A.B + A.B + A.B Para o segundo caso (b) temos uma simplificao maior, j que agrupamos os dois 1 da primeira linha de modo que podemos adotar para ele: _ A Para o outro valor 1 que est na

casa que corresponde interseco de A-1 com B-1 vale a soma (sem inverso): A+B A expresso final na forma de um produto de somas ser ento: _ S = A + B.A Da mesma forma chegamos simplificao (b) que permite a expresso mais simples, pois conseguimos juntar trs casas adjacentes. Raciocinando da mesma forma chegamos expresso: _ S=A+B O procedimento que vimos como exemplo envolveu uma funo simples com apenas duas variveis de entrada. No entanto, o mesmo procedimen-

Figura 16 - Adjacncias no mapa de Karnaugh para 4 variveis. 34

Figura 17 - A tabela verdade plotada no Mapa de Karnaugh.


SABER ELETRNICA ESPECIAL N 8 - 2002

CURSO DE ELETRNICA DIGITAL


to vlido para qualquer nmero de variveis. Os leitores interessados em aprofundar-se neste estudo devem procurar treinar os procedimentos indicados, trabalhando com funes cada vez mais complexas. a) Mapa de Karnaugh b) Diagrama de Veitch c) Tabela verdade d) Produto de somas 2. A tabela verdade abaixo, corresponde qual funo: ABS 001 011 101 110 a) AND (E) b) NAND (No-E) c) OR (OU) d) NOR (No-OU) 3. Qualquer circuito lgico pode ser implementado utilizando-se que funes bsicas? a) NAND e inversores b) NAND e NOR c) OR e Inversores d) AND e Inversores 4. Para implementar um circuito que corresponda a uma funo dada por uma soma de produtos usamos quais funes lgicas? a) Portas NAND b) Inversores c) Portas OR d) No possvel fazer isso 5. Se numa implementao lgica precisarmos usar inversores em srie, o que podemos fazer com eles? a) Lig-los portas AND b) Coloc-los em paralelo c) Inverter suas sadas d) Elimin-los

CONCLUSO O espao disponvel para nosso curso no permite um aprofundamento maior neste assunto e um certo treino se faz necessrio para o domnio das tcnicas envolvidas. Assim, para os leitores interessados no tema, sugerimos a procura de literatura complementar. Mostramos os procedimentos lgicos que permitem trabalhar com as funes de modo a chegar aos circuitos. Assim, uma tabela verdade que tenha qualquer combinao de entradas que nos leve a qualquer combinao de sada pode ser elaborada na prtica com funes bsicas (NOR e NAND) e isso no exige que se quebre a cabea. Conhecendo os procedimentos para resumir tudo em produto de somas e soma de produtos e tambm o uso dos mapas de Karnaugh para simplificao, obteremos configuraes simples que facilitam qualquer projeto.

QUESTIONRIO 1. Os valores combinados de todas as entradas e a sada correspondente podem ser colocados numa tabela denominada:

Figura 18 - Agrupamento possveis para termos adjacentes iguais.


Respostas: 1-C, 2-B, 3-B, 4-A, 5-D SABER ELETRNICA ESPECIAL N 8 - 2002

35

Você também pode gostar