Você está na página 1de 82

SISTEMAS DIGITAIS

A anlise da lgica Digital precisa de considerar dois aspectos diferentes: o processo lgico, que a base terica dos computadores, calculadoras electrnicas, relgios digitais e restantes aparelhos electrnicos digitais, e o circuito electrnico, com o qual se constroem todos os aparelhos indicados. A tomada de decises o objectivo da lgica digital e o circuito electrnico quem realiza e executa o dito objectivo. Por natureza, o Homem est familiarizado com a lgica, j que a sua mente usa continuamente a lgica para a realizao de funes de tomada de deciso. Assim, podemos resolver problemas matemticos, tomar decises baseadas em factos acontecidos e modificar as nossas decises, em resultado de novas informaes, ou com o conhecimento adquirido previamente e armazenado na nossa memria. A nossa mente uma aproximao do que a electrnica digital realiza electronicamente, pelo menos quando os nossos aspectos emocionais e intuitivos esto completamente superados. Angulo (J. M.) Electrnica Digital Moderna Teoria e Prtica, Editorial Paraninfo Bilbau, 1991.

ndice
Introduo. Electrnica Digital Sistemas de Numerao Converses entre Sistemas Aritmtica em Binrio Operaes Lgicas Prioridades das Operaes Circuitos Lgicos Propriedades das Operaes Lgicas Operaes Derivadas Simplificao Analtica e Funes Representao Alternativa das Portas Lgicas Portas Universais Formas Cannicas Simplificao de Equaes pelo Mtodo de Karnaugh Cdigos BCD Cdigos No BCD Famlias Lgicas Circuitos Combinatrios Elementos Bsicos de Memria Circuitos Sequenciais 2 3 6 11 11 13 14 15 17 21 22 23 24 28 35 38 43 48 68 81

Sistemas Digitais

Introduo Electrnica Digital


A electrnica digital encontra-se em grande expanso, desde o aparecimento dos circuitos integrados: embora tenha aparecido antes, foi a capacidade de construir equipamentos cada vez menores e mais poderosos que permitiu o grande desenvolvimento da electrnica digital que, em muitas aplicaes, tem vindo a substituir outras tecnologias. Os circuitos digitais caracterizam-se pelo facto de as tenses tomarem um nmero finito de valores e variarem bruscamente, ao contrrio dos circuitos analgicos:

Sinal analgico Sinais digitais Os sinais analgicos tomam um nmero infinito de valores entre dois estados: variam de forma contnua, sendo um exemplo comum de sinal analgico, a tenso alternada sinusoidal; os sinais digitais s podem tomar um nmero finito de valores: variam de forma discreta. A maior parte dos fenmenos fsicos so analgicos: por exemplo, entre as 14h17 e as 14h29 existe uma infinidade de instantes, embora estejamos habituados a contar o tempo em minutos ou segundos. Nos relgios analgicos, o ponteiro roda de forma contnua e, nos digitais, os algarismos mudam bruscamente, a cada segundo. Existem circuitos que fazem a converso de sinais analgicos para digitais (Conversores Analgico Digital, ADC), por exemplo tomando valores de temperaturas a intervalos de tempo definidos, assim como de sinais digitais para analgicos (Conversores Digital Analgico, DAC). O segundo sinal digital representado acima, em que a tenso pode assumir dois estados definidos um sinal binrio, sendo os dois nveis de tenso designados estados ou nveis lgicos baixo e alto ou, simplesmente por 0 e 1, embora a tenso do nvel baixo no seja necessariamente de 0 V, nem a do nvel alto, de 1 V. Em circuitos de electrnica digital, o sinal de entrada pode ser, por exemplo, uma onda quadrada, de modo a levar os transstores a funcionar quer ao corte, quer saturao. A electrnica digital pode ser utilizada em: - Automatismos Industriais: comando de mquinas, automatizao de linhas de montagem, etc. - Aquisio, tratamento e comunicao de dados: processamento de salrios, controlo de trfego, informtica, etc. - Electrodomsticos, calculadoras, computadores, etc. Os dois estados binrios (alto e baixo) podem ser utilizados com diferentes significados, de acordo com as aplicaes em causa. Exemplos: Estado Significado Automatismos Lgica Aritmtica
Baixo Alto Baixo Alto Baixo Alto Contacto no actuado, sada desactivada Contacto actuado, sada activada Afirmao falsa Afirmao verdadeira Zero Um

p. 2

Sistemas Digitais

Sistemas de Numerao
Os circuitos digitais electrnicos no trabalham com o nosso sistema de numerao: ns estamos habituados ao sistema decimal porque temos dez dedos nas mos (da, o nome de dgitos, dado aos dez algarismos, de 0 a 9), mas nos circuitos digitais, que so binrios, existem dois estados possveis (sem tenso / com tenso) e, por isso, trabalham com o sistema de numerao binria, que utiliza dois algarismos, chamados bits (binary digits): 0 e 1. O sistema de numerao decimal tem origem, provavelmente, chinesa mas, ao longo da Histria, diferentes povos utilizaram outros sistemas de numerao (por exemplo, na Babilnia, o sexagesimal, de que so, ainda vestgios, as divises do tempo: um minuto tem 60 segundos). No Sistema Decimal, a posio relativa de cada algarismo d-lhe um peso especfico, ( um sistema ponderado1): um nmero pode ser formado por vrios algarismos e o valor de cada um depende da ordem em que aparece no nmero. Por exemplo, em 234, o 3 vale 30 (310, em que 10 o peso, devido posio do algarismo, na casa das dezenas). O nmero poderia ser escrito de outras formas: 2100 + 310 + 41 = 2 102 + 3 101 + 4 100. O peso de cada algarismo uma potncia de base 10, cujo expoente vai crescendo da direita para a esquerda, desde 0, no algarismo das unidades. Por isso, o sistema decimal pode ser chamado Sistema de Base Dez. Na contagem, em decimal, passa-se de um nmero, ao seguinte, aumentando de uma unidade o algarismo mais direita, excepto se este for o 9, porque no h nenhum algarismo maior. Nesse caso, o 9 passa a 0 e soma-se uma unidade ao algarismo imediatamente sua esquerda: ...238, 239, 240... No Sistema de Numerao Binrio ou Sistema de Base Dois, os nmeros so representados por sucesses (ou palavras) de bits e os pesos destes so potncias de 2. Em geral, para cada aplicao, define-se o nmero de bits a utilizar, (comprimento da palavra). Existem trs comprimentos mais importantes que do nomes especiais s respectivas palavras: Comprimento da palavra
4 8 16

Nome da palavra
Nibble ou Quarteto Byte ou Octeto Word ou Palavra

Numa palavra binria com um dado comprimento, designam-se: - O bit mais direita, o de menor peso, por LSB, (Least Significant Bit) - O bit mais esquerda, por MSB, (Most Significant Bit). semelhana do que se passa no sistema decimal, o valor de um nmero escrito em binrio corresponde a uma soma, por exemplo, 1101 significa:
1

Um exemplo de sistema de numerao, no ponderado, a numerao romana. Cada smbolo tem um dado valor que no depende da posio que ocupa na escrita do nmero. Ex: MDCXXIV = 1000 + 500 + 100 + 10 + 10 1 + 5.

p. 3

Sistemas Digitais

123 + 122 + 021 + 120 = 18 + 14 + 02 + 11 O nmero que se segue a 1101 1110, porque, como o ltimo algarismo 1 e o maior de que dispomos, passa a 0 e soma-se uma unidade ao que est sua esquerda que passa de 0 a 1. Note-se que, excepto para o peso do LSB, todos os outros pesos so pares. Assim, da mesma forma que se sabe que um nmero escrito em decimal mltiplo de 10, se acaba em zero, um nmero escrito em binrio par (mltiplo de 2), se termina em zero e mpar, se termina em um. Dado que um nmero no precisa de ser muito grande para, em binrio, ser escrito com muitos algarismos, para evitar erros, utilizam-se tambm, como auxiliares, os Sistemas Octal, (de Base 8) e Hexadecimal, (de Base 16). A vantagem destes sistemas que, para alm de precisarem de muito menos algarismos, muito fcil converter nmeros escritos em binrio para qualquer um deles e deste, para decimal. No Sistema Octal ou de Base Oito, utilizam-se os algarismos de 0 a 7. Por exemplo, o nmero octal 36 tem, em decimal, o valor: 381 + 680 = 38 + 61 = 24 + 6 = 30 No Sistema Hexadecimal ou de Base Dezasseis, utilizam-se, alm dos algarismos de 0 a 9, as letras maisculas de A a F que valem, respectivamente: 10, 11, 12, 13, 14 e 15. Por exemplo, o nmero 2D0, vale, em decimal: 2162 + 13161 + 0160 = 2256 + 1316 + 01 = 720 O seguinte Quadro mostra as equivalncias para os primeiros 17 nmeros, escritos nas bases 10, 2, 8 e 16: Base

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

2
0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111 10000

8
0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 20

16
0 1 2 3 4 5 6 7 8 9 A B C D E F 10

Como se pode ver e inferir da Tabela, a quantidade de nmeros binrios que se podem representar com n bits dada por 2n e o nmero mximo que se pode representar com os mesmos bits igual a 2n - 1: Por exemplo, com um

p. 4

Sistemas Digitais

Byte, (conjunto ou palavra de 8 bits), podem-se representar 28 = 256 nmeros diferentes, desde 0 a 28 - 1, ou seja, o maior nmero que se pode representar 28-1 = 255. Da mesma maneira, podem-se representar com n algarismos octais, 8n nmeros diferentes e com n algarismos hexadecimais, 16n. Por isso, para representar os primeiros 16 nmeros, tivemos que utilizar 2 algarismos octais porque com 1 s se poderiam representar 81 = 8 nmeros mas conseguimos representar os mesmos 16 nmeros com palavras de, apenas 1 algarismo hexadecimal. Em geral, - Quando estamos a tratar de nmeros escritos em diferentes bases, para se saber qual a base em que um nmero escrito, escreve-se a base em ndice; - O significado da escrita de um nmero na base B, com n dgitos, : an-1 an-2 a1 a0(B) = an-1Bn-1 + an-2Bn-2 + + a1 B1 + a0 B0 Para nmeros fraccionrios, a regra mantm-se. Por exemplo: 101,11(2) = 122 + 021 + 120 + 12-1 + 12-2 = 4+0+1+0,5+0,25 = 5,75(10)

p. 5

Sistemas Digitais

Converses entre Sistemas


1. Para se converter de qualquer base, para decimal, utiliza-se a frmula dada acima. Exemplos: 2348= 282 + 381 + 480 = 264 + 38 + 41 = 15610 F716 = 15161 + 7160 = 1516 + 71 = 24710 11012 = 123 + 122 + 021 + 120 = 18 + 14 + 02 + 11 = = 8 + 4 + 1 = 1310 Esta ltima passagem sugere o seguinte:

Na converso de Binrio para Decimal, se atribuirmos, aos bits, da direita para a esquerda, como pesos, as potncias de 2 (1, 2, 4, 8, ..., 2n-1) e, depois somarmos os pesos correspondentes aos uns, podemos obter mais rapidamente o valor em decimal.

2. Para se converter de decimal, para um sistema noutra base, divide-se, sucessivamente o nmero pelo valor da base, at se obter o quociente 0 e vose anotando os restos. Depois, estes so escritos pela ordem contrria que apareceram o dgito menos significativo do nmero no sistema pretendido o resto da primeira diviso. Exemplos: Converter: 58 para a base 8

5810 = 728 Converter: 69 para binrio

6910 = 10001012 Converter: 247 para a base 16

24710 = F716

p. 6

Sistemas Digitais

3. As converses de octal ou hexadecimal para binrio e vice-versa so mais simples porque as respectivas bases, 8 e 16, so potncias de 2, respectivamente 23 e 24. Por esta razo, um dgito octal equivalente a 3 bits e um dgito hexadecimal, a 4 (ou 1 nibble). Octal
0 1 2 3 4 5 6 7

Binrio
000 001 010 011 100 101 110 111

Hexadecimal
0 1 2 3 4 5 6 7 8 9 A B C D E F

Binrio
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Assim temos as seguintes regras:

- Para converter um nmero escrito em octal para binrio, podemos traduzir cada dgito, por 3 bits; - Para converter de hexadecimal para binrio, podemos traduzir cada dgito, por 4 bits; - Para converter de binrio, para octal ou para hexadecimal, divide-se o conjunto de bits, da direita para a esquerda, em grupos de 3 ou de 4, acrescentando zeros esquerda, se for necessrio, e converte-se cada grupo no dgito correspondente.

Exemplos: 1. Converso de 368 para binrio: 3 = 011; 6 = 110 368 = 0111102 2. Converso de B416 para binrio: B = 1011; 4 = 0100 B416 = 101101002 3. Vamos converter o nmero 1011100112, para: a) Octal 101110011 101 110 011 5638 b) Hexadecimal 101110011 0001 0111 0011 17316

p. 7

Sistemas Digitais

A converso, para binrio, de nmeros decimais muito grandes tornase mais prtica se passarmos o nmero da base 10, para a base 8 ou 16 e, depois, desta para binrio.

Exemplo: Vamos converter 7510 para binrio: Converso directa Decimal Binrio Dec. Octal Binrio

Verifica-se que 7510 = 10010112 e que, no segundo caso, efectumos menos quatro divises.

Aritmtica em Binrio
Dado que, no sistema binrio, existem apenas dois algarismos, muito simples decorar as tabuadas das operaes: Tabuada da Adio 0+0=0 1+0=1 1 + 1 = 10 Tabuada da Multiplicao 00=0 10=0 11=1 Tabuada da Subtraco 00=0 10=1 11=0 Tabuada da Diviso 0:1=0 1:1=1

As operaes so realizadas, utilizando os algoritmos conhecidos do Sistema decimal. Por exemplo, para uma adio: Lendo, a partir da coluna da direita: Um mais um zero e vai um um mais um mais um um e vai um um mais zero um e mais zero um zero mais um um um mais um zero e vai um.

p. 8

Sistemas Digitais

Cdigo de Complemento a Dois


Para representar, em binrio, nmeros negativos, o cdigo mais utilizado o cdigo de complemento a dois. Antes de vermos como feita a codificao, vamos definir: Complemento a B ou Complemento Verdadeiro de um nmero na Base B a diferena entre o nmero e a potncia de B imediatamente superior. Por exemplo, na base 10, o complemento a 10, ou complemento verdadeiro do nmero 38 dado por 100 - 38 = 62. Complemento Restrito de um nmero na Base B ou Complemento a B-1 a diferena entre o complemento verdadeiro e um. Pode ser obtido subtraindo o nmero, ao valor dado pela diferena entre a potncia de base B imediatamente superior ao nmero e 1. Assim, o cdigo de complemento a 10 pode ser obtido somando 1, ao cdigo de complemento a 9. Exemplo: Cdigo de complemento a 9 de 38: 99 38 = 61; cdigo de complemento a 10 de 38: 61 + 1 = 62. Este cdigo baseia-se no seguinte: A operao 8 3 = 5 poderia ser obtida, somando a 8, o complemento a 10 de 3 e desprezando o algarismo das dezenas do resultado: 8 + 7 = 15; 15 10 = 5. Com o cdigo de complemento a 2, passa-se o mesmo, mas em binrio. Nota:
Para trabalhar com este cdigo, deve fixar-se previamente o nmero de bits a utilizar.

Vejamos, a ttulo de exemplo como obter o cdigo do nmero negativo -3, com 4 bits: O cdigo binrio de 3 0011. O cdigo de complemento a 1 do nmero 3 : 1111 0011 = 1100. O nmero negativo -3, o complemento a 2 do cdigo de 3, que por sua vez dado pela soma de 1 ao cdigo de complemento a 1: 1100 + 1 = 1101. Assim, a operao 7 3 poderia ser codificada por: 0111 + 1101 = 1 0100, desprezando o bit mais esquerda, uma vez que estamos a trabalhar com nmeros representados a 4 bits. Obtemos assim 0100 que representa o nmero 4 (= 7 - 3). No exemplo acima, constata-se que o cdigo de complemento a 1 de um nmero igual ao seu cdigo binrio, trocando os 1s por 0s e os 0s por 1s: Cdigo de 3 0011 Cdigo de complemento a 1 de 3 1100

Para obter o respectivo cdigo de complemento a 2, basta somar 1. Uma vantagem imediata deste cdigo atribuir, ao bit mais significativo (MSB) da palavra, o significado de sinal: 0, para nmeros positivos e 1, para nmeros negativos.

p. 9

Sistemas Digitais

No cdigo de Complemento a dois, por exemplo com 4 bits, temos a seguinte correspondncia, com nmeros escritos em decimal: Compl. a 2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Decimal 0 1 2 3 4 5 6 7 -8 -7 -6 -5 -4 -3 -2 -1

claro que uma desvantagem desta representao que reduz para cerca de metade, o nmero mximo que se pode representar com um dado nmero de bits: O nmero de total o mesmo mas, agora divide-se em positivos e negativos. Por exemplo, com 4 bits, j vimos que se podem representar 16 nmeros diferentes, em binrio natural, os nmeros de 0 a 15 e, em complemento a dois, os nmeros -8 a 7.

p. 10

Sistemas Digitais

lgebra de Boole
Em meados do sculo XIX, George Boole desenvolveu uma teoria matemtica, baseada em variveis de 2 estados, com o objectivo de representar e tratar, de forma sistemtica, as leis da lgica. Essa teoria foi desenvolvida e tem sido aplicada, com o nome de lgebra de Boole, a todos os sistemas de automatizao, assim como aos sistemas digitais. A lgebra de Boole trabalha com: - Variveis Binrias, que podem assumir dois estados, por conveno, 0 e 1, que no representam necessariamente quantidades, podendo representar, por exemplo: nveis de tenso, (baixo / alto, respectivamente), afirmaes (falso e verdadeiro), contactos elctricos (no actuado / actuado) ou vlvulas pneumticas (aberto / fechado). - Operaes Lgicas. Com este tipo de variveis, podem ser definidas trs operaes lgicas: Produto Lgico, Soma Lgica e Negao Lgica. - Postulados - Princpios bsicos evidentes.

Operaes Lgicas
1. Produto Lgico (AND) Operao sobre duas ou mais variveis, cujo resultado 1, apenas quando todas as variveis valerem 1: basta que uma das entradas esteja a 0, para que a sada tambm o esteja. Exemplo: A lmpada acende (L = 1) se k1 for actuado (k1 = 1) e k2 for actuado (k2 = 1). Para alm do esquema de contactos2, as operaes lgicas podem ser representadas de vrias outras formas, entre as quais, as seguintes: - Representao Analtica, equao que traduz a operao: L = k1 k2 - l-se: L igual a k1 e k2. - Tabela de Verdade, em que se indicam todas as combinaes possveis dos estados das entradas e os correspondentes estados da sada: k2 k1 L 0 0 0 0 1 0 1 0 0 1 1 1 Nos circuitos lgicos, as operaes podem ser implementadas por Portas Lgicas. Para representar a porta AND, utilizam-se os seguintes smbolos:
2

Um contacto est no estado 0, quando no foi actuado, e no estado 1, depois de ter sido actuado. Note-se que um contacto normalmente aberto est a 0, quando aberto e a 1, depois de fechado; mas um contacto normalmente fechado est a 0, enquanto est fechado e a 1, quando est aberto, por ter sido actuado.

p. 11

Sistemas Digitais

Smbolo Americano

Smbolo IEEE / ANSI

Os traos esquerda representam as entradas e o trao direita, a sada. Diagrama temporal Se aplicarmos os sinais a e b, s entradas de uma porta AND, obtemos a sada S, que s est alta, durante os intervalos de tempo em que as duas entradas esto altas:

2. Soma Lgica (OR) Para que a sada esteja a 1, basta que uma das entradas o esteja: a sada s ser 0, se todas as entradas estiverem a 0. A lmpada acende se k1 for actuado ou k2 for actuado.

Representao Analtica L = k1 + k2 (l-se k1 ou k2) Tabela de Verdade: k2 0 0 1 1

Smbolo Americano

Smbolo IEEE / ANSI

k1 0 1 0 1

L 0 1 1 1

Diagrama Temporal: A sada fica a 1 quando, pelo menos uma das entradas est a 1:

3. Negao Lgica (NOT) Operao com uma entrada, cujo resultado a negao do seu valor lgico. A varivel de entrada pode ser representada por um contacto normalmente fechado: quando k no est actuado (k = 0 ~k = 1), a lmpada est acesa (L = 1); quando est actuado (k = 1 ~k = 0), abre e apaga a lmpada (L = 0). Representao Analtica L = ~k (l-se no k) L=k Smbolo Americano Smbolo IEEE / ANSI

p. 12

Sistemas Digitais

Dado que os valores lgicos, 0 e 1, so contrrios entre si (se a 0, ento a = 1 e, se a 1, ento a = 0), as representaes ao lado so equivalentes3: Tabela de Verdade: k 0 1 Diagrama Temporal: Quando a entrada est a 1, a sada fica a 0. L 1 0

Prioridades das Operaes


No clculo de expresses com vrias operaes lgicas, existem as seguintes regras de prioridade: 1 Negao 2 Produto 3 Soma Para efectuar as operaes, por outra ordem, utilizam-se parntesis.

Exemplo: os resultados dos seguintes pares de expresses so diferentes: a+bc (a+b)c

~ab

~(ab)

Para se criar a Tabela de Verdade de uma expresso lgica, h que ter em conta o seguinte: 1 O nmero de linhas da Tabela (nmero de combinaes possveis dos estados das variveis de entrada) igual a 2, elevado ao nmero de variveis; 2 As diferentes combinaes das entradas correspondem aos nmeros binrios de 0 a 2n 1; 3 Criar uma coluna, para cada varivel que aparea negada;
3 Nas duas representaes esquerda, pretende-se significar que as entradas so activas altas e as sadas, activas baixas; nas representaes direita, as entradas so activas baixas e as sadas so activas altas. Para que um dado circuito funcione de determinada forma, necessrio que se introduzam 1s nas entradas activas altas e 0s, nas entradas activas baixas.

p. 13

Sistemas Digitais

4 Para cada linha da tabela, determinar o valor da expresso, respeitando as prioridades das operaes. Exemplo: Tabela de Verdade da expresso S = (c + b) a - existem 3 variveis, logo o nmero de linhas da Tabela 23 = 8: c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1
b 1 1 0 0 1 1 0 0 c+b 1 1 0 0 1 1 1 1 S = (c + b) a 0 1 0 0 0 1 0 1

Circuitos Lgicos
Para desenhar o circuito lgico (ou Logigrama) de uma funo lgica, procede-se da seguinte forma: 1 Traam-se linhas, para cada uma das variveis de entrada; 2 Ligam-se s respectivas entradas, as portas referentes s diversas operaes, respeitando as regras de prioridade. Exemplo: Logigrama da expresso S = (c + b) a

Existem circuitos integrados com estas portas4: Circuito Integrado 7408 e 4081 7411 e 4073 7421 e 4082 7432 e 4071 74802 4075 4072 7404, 4009, 4049 e 4069 Constituio Portas de 2 entradas Portas de 3 entradas Portas de 4 entradas Portas de 2 entradas Portas de 4 entradas Portas de 3 entradas Portas de 4 entradas Portas

AND OR

NOT

4 3 2 4 3 3 2 6

Os circuitos com referncias que comeam por 74 so circuitos TTL e os que comeam por 40 so CMOS. TTL e CMOS so duas tecnologias de fabrico de circuitos integrados que sero analisadas, mais adiante.

p. 14

Sistemas Digitais

Propriedades das Operaes Lgicas


Das definies das diferentes operaes, resultam as seguintes propriedades: Comutativa a+b = b+a ab = ba Associativa a+b+c = (a+b)+c = a+(b+c) abc = (ab)c = a(bc) Distributiva a (b + c) = a b + a c a + b c = (a + b) (a + c) A Negao apresenta a propriedade de a negao dupla de uma expresso no alterar o seu estado lgico: Involuo a =a

Postulados
1. Elemento Neutro Tanto o produto lgico, como a soma lgica, tm elemento neutro (que no alteram o resultado), respectivamente, 1 e 0: a+0 = a a 1 = a 2. Elemento Absorvente Os elementos absorventes do produto e da soma (que tornam os resultados das operaes iguais a si prprios) so, respectivamente, 0 e 1: a+1 = 1 a 0 = 0 3. Complemento Para todo o elemento a, existe um e um s elemento, designado por complemento de a, representado por ~ a ou a , tal que so vlidas as igualdades: a + a =1 a a = 0 4. Idempotncia Numa operao, em que as entradas so iguais, a sada igual a elas: a+a=a aa=a Observe-se que todas as expresses enunciadas so simtricas duas a duas, de onde resulta o seguinte princpio: Princpio da Dualidade: Toda a expresso verdadeira continua a s-lo, se trocarmos entre si as somas por produtos, os produtos por somas, os 0s por 1s e os 1s por 0s. Teoremas so vlidas as seguintes leis: Absoro a+ab=a a + a b = a + b a + a b = a + b Leis de Morgan a b = a + b a (a + b) = a a (a + b) = a b a (a + b) = a b a + b = a b

Em lgebra de Boole, as igualdades podem ser demonstradas de duas formas:

p. 15

Sistemas Digitais

- Analiticamente, com base em afirmaes equivalentes verdadeiras; - Por meio de Tabelas de Verdade, mostrando que a expresso vlida para todas as combinaes das entradas. Como exemplos, vamos demonstrar os seguintes teoremas: a) a + a b = a + b Demonstrao analtica: a + a b = (a + a ) (a + b) (a + a ) (a + b) = 1 (a + b) 1(a+b) = (a+b)1 (a+b)1 = a+b b) a + b = a b Demonstrao por Tabela de Verdade: a 0 0 1 1 b 0 1 0 1 a 1 1 0 0 b 1 0 1 0 a+b 0 1 1 1 a+b 1 0 0 0 a b 1 0 0 0
Propriedade distributiva da soma em relao ao produto Propriedade do complemento Propriedade comutativa do produto Elemento neutro do produto

Verifica-se que as duas ltimas colunas so iguais, o que demonstra a igualdade. Exerccios 1. Escreva a equao de S, referente ao seguinte logigrama:

2. Dada a funo: S = C B + C B A 2.1. Construa a Tabela de Verdade de S 2.2. Desenhe o respectivo diagrama lgico

p. 16

Sistemas Digitais

Operaes Derivadas
Qualquer logigrama pode ser criado utilizando somente as portas AND, OR e NOT mas, a partir destas operaes, podem ser formadas outras, como as seguintes, que simplificam o trabalho: 4. Produto Lgico Negado (NAND) A sada 0, quando todas as entradas esto a 1. K um rel que abre o contacto, quando a bobina percorrida por corrente, o que permite negar a operao que activa a respectiva bobina. Representao Analtica L = a b Tabela de Verdade: b 0 0 1 1 Diagrama temporal: A porta NAND uma porta com entradas activas altas e sada activa baixa: a sada fica activa (no estado baixo) quando todas as entradas esto activas (a 1), como se v no diagrama temporal: Observando a Tabela de Verdade, podemos expressar esta concluso, de outra maneira: Basta uma entrada estar a 0, para que a sada fique a 1, o que se traduz pelos seguintes smbolos equivalentes ao NAND, com entradas activas baixas e sada activa alta: Propriedades da Operao NAND a.0 = 1 a.1 = a a.b = b.a a.a = a
a a =1

Smbolo Americano

Smbolo IEEE / ANSI

a 0 1 0 1

L 1 1 1 0

p. 17

Sistemas Digitais

5. Soma Lgica Negada (NOR) A sada 0, quando, pelo menos, uma das entradas for 1. Basta actuar sobre a ou b, para que a sada fique a 0.

Representao Analtica L =a+b Tabela de Verdade:

Smbolo Americano

Smbolo IEEE / ANSI

b 0 0 1 1 Diagrama temporal

a 0 1 0 1

L 1 0 0 0

A porta NOR uma porta com entradas activas altas e sada activa baixa, em que basta uma das entradas estar activa (a 1), para que a sada fique activa (a 0): Observando a Tabela de Verdade, podemos expressar esta concluso, de outra maneira, considerando as entradas activas baixas e a sada activa alta: necessrio que todas as entradas estejam a 0 (activas), para que a sada fique a 1 (activa), o que se traduz pelos seguintes smbolos equivalentes: Propriedades da Operao NOR a +0 =a a +1 = 0 a +b = b+a a +a =a
a +a =0

6. Soma Exclusiva (EXOR) A sada 1, se um nmero mpar de entradas estiver a 1. Se uma, e s uma, das entradas for actuada, a sada fica a 1.

p. 18

Sistemas Digitais

Representao Analtica L = a b = a b +a b Tabela de Verdade:

Smbolo Americano

Smbolo IEEE / ANSI

b 0 0 1 1 Diagrama temporal

a 0 1 0 1

L 0 1 1 0

A porta EXOR uma porta com entradas e sada, activas altas, em um nmero mpar de entradas activas, faz activar a sada:

Propriedades de EXOR ab=b a a b c = (a b) c = a (b c) aa=0 a a =1

a 1 = a a0=a 7. Soma Exclusiva Negada (EXNOR) A sada 0, se um nmero mpar de entradas estiver a 1.

Se uma, e s uma, das entradas for actuada a sada fica a 0.

Representao Analtica L = a b = a b = (a + b) (a + b) Tabela de Verdade: b 0 0 1 1

Smbolo Americano

Smbolo IEEE / ANSI

a 0 1 0 1

L 1 0 0 1

p. 19

Sistemas Digitais

Propriedades de EXNOR a b = ba a a =1 a a = 0 a 0 = a a 1 = a

Diagrama Temporal:

Para estas portas, existem os circuitos integrados: Circuito Integrado NAND 4011 e 7400 4023 e 7410 4012 e 7420 4068 e 7430 74133 NOR 4001 e 7402 4025 e 7427 4002 e 7425 74260 4078 EXOR 4070 e 7486 EXNOR 4077 e 74266 4 3 2 1 1 4 3 2 2 1 4 4 Constituio Portas de 2 entradas Portas de 3 entradas Portas de 4 entradas Porta de 8 entradas Porta de 13 entradas Portas de 2 entradas Portas de 3 entradas Portas de 4 entradas Portas de 5 entradas Porta de 8 entradas Portas de 2 entradas Portas de 2 entradas

p. 20

Sistemas Digitais

Simplificao Analtica de Funes


Utilizando as propriedades das operaes, podemos simplificar as funes lgicas, o que permite criar circuitos que utilizem o menor nmero de portas possvel, portanto mais simples e mais econmicos. Vamos ver um exemplo que ilustra o mtodo. O objectivo reduzir tanto quanto possvel, o nmero de operaes envolvidas e, eventualmente, o nmero de variveis de entrada. Vejamos a seguinte funo: S = (c b a + c a) (b a + a)

Propriedade Aplicada (c b a + c a) (b a + a) = Comutativa do produto (c a b + c a) (b a + a) = Distributiva da soma em relao ao produto c a (b + 1) (b a + a) = Elemento absorvente da soma c a 1 (b a + a) = Elemento neutro do produto c a (b a + a) = c a (b + a) =
c a b + c a a = c a b + c a = c a (b + 1) = c a 1 =
c a

Absoro Distributiva
Idempotncia Distributiva Elemento absorvente da soma Elemento neutro do produto

A simplificao reduziu o nmero de variveis, de 3 para 2, assim como o nmero de operaes envolvidas. O circuito lgico correspondente equao simplificada :

p. 21

Sistemas Digitais

Representao Alternativa das Portas Lgicas


Pode ser til, utilizar as seguintes representaes alternativas das portas lgicas, baseadas nas leis de Morgan: 1. Porta AND
Para obter 1 na sada, necessrio ter todas as entradas a 1. Para obter 0 na sada, basta ter uma entrada a 1.

a b = a b = a + b

2. Porta OR
Para obter 1 na sada, basta uma entrada a 1. Para obter 0 na sada, necessrio ter todas as entradas a 0.

a + b = a + b = a b

3. Porta NOT
1 na entrada d 0 na sada; 0 na entrada d 1 na sada

4. Porta NAND
Para obter 0 na sada, necessrio que todas as entradas estejam a 1. Para obter 1, basta que uma das entradas esteja a 0.

a b = a + b

5. Porta NOR
Para obter 0 na sada, basta que uma das entradas esteja a 1. Para obter 1, necessrio que todas as entradas estejam a 0.

a + b = a b

Note-se que nos smbolos esquerda, todas as entradas so activas altas e que nos smbolos alternativos, todas as entradas so activas baixas. Isto til, se pretendermos tanto quanto possvel ligar sadas activas baixas a entradas activas baixas e sadas activas altas a entradas activas altas, de modo a explicitar melhor o funcionamento de um circuito. Por exemplo, os dois circuitos seguintes so equivalentes, mas no segundo, vemos facilmente que, para obter 1 em S, necessrio ter simultaneamente: c = 1, b = 0 e a = 0.

Outro exemplo: no primeiro dos seguintes circuitos, transforma-se a porta OR no seu equivalente e obtm-se o segundo circuito; como duas negaes seguidas se anulam, obtm-se o terceiro circuito. Neste, v-se facilmente que, para obter, na sada que activa baixa, S2 = 0, necessrio que: c=0eb=1ea=1

p. 22

Sistemas Digitais

Portas Universais
possvel implementar qualquer circuito utilizando exclusivamente portas NAND ou portas NOR: com um conjunto de cada uma delas podemos substituir qualquer das outras. Por isso, so designadas de Portas Universais. Vamos ver como se podem substituir as portas bsicas, por portas NAND uma vez que por portas NOR, o processo semelhante. 1. Porta NOT A operao NOT pode ser implementada por uma porta NAND com as duas entradas ligadas varivel a negar porque, pela propriedade da idempotncia, a = a.a ; tambm se pode ligar uma das entradas varivel e a outra, ao estado lgico 1, j que: a = a.1 . Assim, os trs circuitos seguintes so equivalentes:

2. Porta AND Utilizando a propriedade da involuo da negao, temos: a b = a b . Assim, a porta AND pode ser obtida por:

3. Porta OR Utilizando a propriedade da involuo da negao e uma das Leis de Morgan, temos: a + b = a + b = a b , o que permite desenhar o circuito equivalente:

Assim, temos as seguintes equivalncias: Operao NOT AND Portas NAND Portas NOR

OR

p. 23

Sistemas Digitais

Formas Cannicas
Uma equao diz-se que est na forma cannica quando, em cada um dos seus termos, somas ou produtos lgicos, entram todas as variveis de entrada. Existem duas formas cannicas: 1 Forma Cannica Soma de Produtos (Mintermos) a soma dos produtos de todas as variveis de entrada, que tornam verdadeira a sada de um circuito. Para se obter a equao na 1 forma cannica, a partir da Tabela de Verdade, faz-se o seguinte: - Cada linha em que a sada est a 1 d origem a um produto das variveis de entrada; - Nos produtos, as variveis de entrada a 0 aparecem negadas e as outras aparecem no negadas; - A sada igual soma de todos estes produtos. Vamos ver o seguinte exemplo:

A Tabela de Verdade a seguinte:

c
0 0 0 0 1 1 1 1

b
0 0 1 1 0 0 1 1

a
0 1 0 1 0 1 0 1

b
1 1 0 0 1 1 0 0

a
1 0 1 0 1 0 1 0

ba
0 1 0 0 0 1 0 0

c ba
0 0 0 0 0 0 1 0

S
0 1 0 0 0 1 1 0

Na primeira linha, em que S = 1, temos: c = 0, b = 0 e a = 1, logo, o respectivo produto : c ba As outras duas linhas correspondem aos produtos: c ba c ba Assim, a equao na 1 forma cannica : S = c ba + c ba + c ba

p. 24

Sistemas Digitais

Outra forma de representar uma equao na forma cannica como o somatrio dos nmeros decimais correspondentes s linhas da Tabela, em que a funo vale 1 (note-se que estes nmeros correspondem aos binrios formados pelos bits das variveis de entrada): Linha 0 1 2 3 4 5 6 7 Tendo em conta que: c ba c ba c ba c=0, b=0 e a=1 c=1, b=0 e a=1 c=1, b=1 e a=0 0012 = 1 1012 = 5 1102 = 6 c 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 S 0 1 0 0 0 1 1 0

A funo anterior pode ser representada por: S (c, b, a) = (1, 5, 6) necessrio explicitar a ordem das variveis, que no aparecem na equao. 2 Forma Cannica Produto de Somas (Maxtermos) o produto das somas de todas as variveis de entrada, que tornam verdadeira a sada de um circuito. Para se obter, procede-se da seguinte forma: - Tomam-se todas as linhas da Tabela de Verdade em que a sada vale 0; - Cada uma destas linhas d origem a uma soma das variveis de entrada; - Nas somas, as variveis que esto a 0, aparecem no negadas e as que esto a 1, aparecem negadas. A equao da sada do circuito anterior, na 2 forma cannica : S = (c + b + a) (c + b + a) (c + b + a ) (c + b + a) (c + b + a) semelhana do caso anterior, tendo em conta, c+b+a c+b+a c+b+a c+b+a c+b+a c=0, c=0, c=0, c=1, c=1, b=0 b=1 b=1 b=0 b=1 e e e e e a=0 a=0 a=1 a=0 a=1 0002 0102 0112 1002 1112 = = = = = 0 2 3 4 7

Podemos represent-la por: S (c, b, a) = (0, 2, 3, 4, 7)

p. 25

Sistemas Digitais

Porque que isto assim? Ser que estas duas equaes so equivalentes? Para responder a estas questes vamos fazer o seguinte: Escrevemos a equao de ~S, na primeira forma cannica, utilizando as linhas em que S = 0: S = c ba + c ba + c ba + c ba + c ba Se negarmos esta equao, de modo a obter uma expresso de S e aplicarmos as Leis de Morgan e a propriedade da involuo, temos: S = S = c ba + c ba + c ba + c ba + c ba S = c ba c ba c ba c ba c ba S = (c + b + a ) (c + b + a ) (c + b + a ) (c + b + a ) (c + b + a ) S = (c + b + a) (c + b + a) (c + b + a ) (c + b + a) (c + b + a ) A ltima equao a da 2 forma cannica, que j tnhamos obtido. Para se obterem as formas cannicas, a partir da equao de uma funo lgica, procede-se da seguinte forma: Numa soma de produtos, multiplica-se cada produto em que falta uma varivel, pela soma desta com o seu complemento (soma cujo resultado 1); o que permite passar 1 forma cannica; num produto de somas, soma-se a cada soma em que falte uma varivel o produto dela pelo seu complemento (o mesmo que somar 0, no alterando o resultado). Depois de aplicar a propriedade distributiva, eliminam-se os termos repetidos. Exemplos: a b + a c = = a b (c + c ) + a (b + b) c = = a bc + a bc + a bc + a bc = = a bc + a bc + a bc Aplicaes A partir da 1 forma cannica, obtm-se facilmente uma equao que permite desenhar um circuito, s com portas NAND e, a partir da 2, podemos desenh-lo, s com portas NOR. Como exemplo, consideremos a funo EXOR. A partir da Tabela de Verdade, obtemos as equaes das 1 e 2 formas cannicas: (a + b) (b + c) = = (a + b + c c ) (a a + b + c) = = (a + b + c) (a + b + c ) (a + b + c) (a + b + c) = = (a + b + c) (a + b + c ) (a + b + c)

a b = a b+ a b a b = (a + b) (a + b) Negando-as, duas vezes e aplicando as leis de Morgan, obtemos as equaes e os circuitos equivalentes:

p. 26

Sistemas Digitais

1 Forma Cannica NAND a b = a b + a b = a ba b

2 Forma Cannica NOR

a b = (a + b) (a + b) = a + b + a + b

Outra aplicao das formas cannicas, em particular da primeira (soma de produtos) a simplificao de equaes por um mtodo grfico, o que veremos, em seguida.

p. 27

Sistemas Digitais

Simplificao de Equaes pelo Mtodo de Karnaugh


O mtodo de Karnaugh um mtodo grfico de simplificao de equaes que se baseia na seguinte igualdade (propriedades distributiva, complemento da soma e elemento neutro do produto): a b + a b = a.(b + b) = a 1 = a Consiste em dispor a Tabela de Verdade da expresso em causa, de forma a que seja fcil agrupar combinaes em que aparea uma varivel somada ao seu complemento. Para isso, constri-se um rectngulo dividido em tantos quadrados, quantas as linhas da Tabela de Verdade, isto , para n variveis, so necessrios 2n quadrados. Em cada um dos quadrados figura o valor da funo, correspondente a uma combinao das variveis de entrada, de modo a que cada par de combinaes em que aparea uma varivel somada ao seu complemento, ocupe posies contguas. Vamos ver um exemplo simples, relativo a uma funo que apresenta a seguinte Tabela de Verdade: 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 0 1 0 1

Esta Tabela pode ser representada, com o seguinte aspecto, em que dentro dos quadrados, aparecem os valores de S: c=0 b=0 0 0 c=1 b=0 0 1 c=1 b=1 1 1 c=0 b=1 1 0

a=0 a=1 Ou com este outro:

Neste caso, cada barra, associada a uma varivel de entrada, abrange 4 quadrados, indicando que nessa zona, a varivel de entrada tem o valor 1, aparecendo no negada:

p. 28

Sistemas Digitais

Note-se que, em cada par de quadrados adjacentes, assim como nos quadrados dos cantos do rectngulo, apenas uma varivel muda o estado. Se agora associarmos os grupos de uns adjacentes, na horizontal ou na vertical, em grupos de 2, 4, ou, em geral, a potncia 2n, eliminamos uma, duas ou n variveis, respectivamente. No caso presente, podemos formar dois grupos de dois 1s, eliminando, em cada um deles, uma varivel:

Poderamos formar um terceiro grupo, c.b, mas no necessrio porque todos os 1s esto agrupados. Grupo Primeiro Segundo Quadrados ba c c ba c ba c ba Resultado ba ca Pode ser visualizado porque est na interseco das zonas b e ~a cea

Ficamos portanto com a equao simplificada de S: S = c a + ba No caso de aparecerem 1s que no possam ser agrupados, os produtos correspondentes no podem ser simplificados. Vimos Mapas de Karnaugh para 3 variveis de entrada. Vamos ver como podem ser para 2 e 4 variveis, uma vez que para mais de 4, este mtodo muito trabalhoso:

Podemos observar que, no primeiro caso, cada uma das barras abrange uma zona com dois quadrados, enquanto, no segundo, abrange uma zona com 8, permitindo eliminar 3 variveis. Nos mapas com 3 ou 4 variveis, quadrados com 1s, que estejam adjacentes aos limites dos rectngulos, sobre a mesma linha ou coluna podem ser agrupados. Exemplo: Vamos ver um caso com 2 exemplos disto, num mapa de 4 variveis (ou seja de 16 quadrados).

p. 29

Sistemas Digitais

Dada a seguinte Tabela de Verdade: d 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 c 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 a 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S 0 1 0 1 1 0 1 0 0 1 0 1 0 0 0 0

Podemos tirar a equao da 1 Forma cannica: S = d c ba + d c ba + dc ba + d c ba + d c ba + dc ba O que d o seguinte Mapa:

Nele existem dois grupos: um com dois 1s e outro com 4, correspondendo, respectivamente a: dc a Porque est na interseco das zonas, correspondentes a: a = 0, c = 1 e d = 0. Permite anular uma varivel (b), o que se v facilmente, porque um dos quadrados est na zona c e o outro na zona ~b. Porque est na interseco das zonas: a e ~c. Permite anular as variveis b e d, porque pertence simultaneamente s zonas b e ~b, assim como a d e ~d.

c a

Assim, a equao : dc a + c a Notem-se os seguintes pontos:

p. 30

Sistemas Digitais

1. Para uma equao com n variveis, precisamos de um rectngulo com 2n quadrados; 2. Se todos estivessem preenchidos com 1s, a equao seria S = 1, isto , qualquer que fosse o estado das variveis de entrada, a sada estaria sempre a um; 3. Fora esta hiptese, o nmero mximo de 1s adjacentes que se pode agrupar num grupo, de 2n-1, (metade dos quadrados) e corresponde a uma varivel, sendo as outras n-1, eliminadas; 4. Se conseguirmos grupos com 2n-2 1s, teremos 2 variveis por grupo (eliminando as outras n-2) e assim sucessivamente, at grupos com um, (20), 1, que correspondem a todas as n variveis em jogo; 5. As variveis que ficam de fora, no produto correspondente a um grupo, so aquelas que, num dado grupo, aparecem nos dois estados. Podemos ver isto, no exemplo anterior: - As variveis em jogo eram 4, a, b, c e d, pelo que os quadrados necessrios so 24 = 16. - O primeiro produto, correspondente ao grupo de dois (21) 1s, tem 3 das 4 variveis em jogo porque eliminmos a varivel b que, para um desses 1s, o da esquerda, vale 0 e para o outro, vale 1; - No segundo produto eliminmos as variveis b e d, porque tinha 22 1s, dois dos quais, os de cima, correspondiam a b=0, enquanto, para os de baixo, b=1; por outro lado, os dois 1s da esquerda correspondiam a b=0, enquanto os da direita, d=1. As figuras seguintes representam os mapas para 2, 3 e 4 variveis (a,b; a,b,c; a,b,c,d), com os nmeros de linha em binrio e em decimal, indicados dentro dos respectivos quadrados:

Num Mapa, podemos agrupar alguns 1s, mais do que uma vez. No seguinte mapa, h vrias hipteses de criar agrupamentos de 1s:

p. 31

Sistemas Digitais

Cada um destes agrupamentos d origem a uma equao equivalente mas, como o objectivo simplificar, o mais possvel a funo, convm saber qual dos agrupamentos corresponde soluo mais simples. Por um lado, quanto maior for o agrupamento possvel, mais variveis so eliminadas esta situao corresponde s figuras da direita. Por outro lado, observe-se que o 1 que corresponde linha 5 s pode ser agrupado de uma forma: em conjunto com o da linha 7. Chama-se Implicante Primo, o produto obtido pelo maior agrupamento possvel de quadrados. No exemplo, o caso do agrupamento de 4 1s. Se um quadrado s pode ser agrupado de uma forma, chama-se a esse agrupamento, Implicante Primo Essencial. o caso do agrupamento dos quadrados correspondentes s linhas 5 e 7. Assim, devemos comear por identificar e criar os agrupamentos que so implicantes primos essenciais; depois criar os agrupamentos que so implicantes primos e, finalmente, os que restarem. No caso do exemplo: 1 2

No havendo mais quadrados a agrupar, a equao correspondente a mais simples possvel: ac + b Se os 0s e 1s se distriburem em xadrez, no h possibilidade de fazer agrupamentos mas verifica-se facilmente que se trata de uma funo EXOR (se no quadrado correspondente a todas as variveis negadas, estiver um 0) ou EXNOR (se no mesmo quadrado estiver um 1): cba 000 001 010 011 100 101 110 111 R R=cba 0 1 1 0 1 0 0 1 S S=cba 1 0 0 1 0 1 1 0

p. 32

Sistemas Digitais

Exerccios 1. Marcar no seguinte mapa, as zonas correspondentes s expresses: DB CA


DC A

2. Indicar as expresses marcadas:

3. Dado o seguinte mapa da funo S:

3.1. Construa a Tabela de Verdade 3.2. Obtenha a expresso simplificada da funo S (A, B, C, D) Situaes de Don't Care So assim designadas situaes em que os valores da varivel de sada, para determinadas combinaes das entradas, no tm significado ou quando essas combinaes so impossveis de se dar, devido s condies do problema, embora sejam de considerar, do ponto de vista terico. Para essas combinaes no se pode ter a certeza de que a varivel de sada aparea com 0 ou com 1, isto , a varivel de sada funciona como uma indeterminao, embora tenha, de facto, um daqueles valores. O que se passa que no nos interessa, o valor que tiver, uma vez que as variveis de entrada nunca tero os valores que, combinados, dariam origem a essas sadas. Nos mapas de Karnaugh, podemos atribuir sada, para essas combinaes de entrada, o valor que nos permita uma maior simplificao. Para isso, escrevemos nos quadrados correspondentes, cruzes, a que podemos associar os valores 0 ou 1, conforme for mais conveniente. Vejamos o seguinte exemplo: Para a seguinte Tabela de Verdade, construmos 2 Mapas de Karnaugh, com diferentes agrupamentos. No primeiro, limitmo-nos a associar os uns presentes, o que corresponde a pressupor que para todas as situaes de Dont Care, a sada apresen-

p. 33

Sistemas Digitais

ta zeros; no segundo, escolhemos uma situao de Dont Care para a associarmos com os uns presentes e obtivemos uma equao mais simples: 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 1 1 0 ? ? ?

S = a b + a c = a (b + c)

S=a

p. 34

Sistemas Digitais

Cdigos BCD
Um cdigo um conjunto de sinais convencionais que permite representar uma informao. Os cdigos BCD (Binary Coded Decimal) so cdigos binrios que permitem representar os nmeros, algarismo a algarismo, utilizando um nibble para cada dgito. Os cdigos BCD so utilizados em aparelhos digitais de medida, em relgios e calculadoras electrnicas. Um nmero escrito num cdigo BCD , de facto, um nmero decimal, em que cada algarismo traduzido por uma sequncia de quatro bits. Por isso, no se deve confundir com um nmero binrio, em que cada 1 representa uma potncia de 2, de acordo com a sua situao na palavra: codificar um nmero decimal num cdigo binrio diferente de o converter do sistema decimal para o sistema binrio. Dado que s existem 10 algarismos e um nibble permite representar 16 coisas diferentes, existem vrios cdigos BCD. Vamos ver alguns exemplos. 1. BCD 8421 utiliza os 10 primeiros conjuntos de 4 bits. No nome, o 8421 indica os pesos dos diferentes bits: BCD 8421 Decimal 0000 0 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 8 1001 9 Para codificar um dado nmero, passa-se cada algarismo individualmente do sistema decimal para o sistema binrio. Exemplo: O cdigo de 235, em BCD 8421 : 001000110101 A descodificao faz-se da seguinte forma: divide-se o cdigo, em conjuntos de 4 bits e, para cada conjunto, somam-se os pesos dos 1 que aparecem. Exemplo: 010010010111 0100 8421 1001 0111 8421 8421 4 Somas 8+1 4+2+1 Resultado 497

2. Cdigo Aiken ou BCD 2421 Obtm-se utilizando as primeiras 5 combinaes de 4 bits, e as 5 ltimas: BCD 2421 Decimal BCD 2421 Decimal 0000 0 1011 5 0001 1 1100 6 0010 2 1101 7 0011 3 1110 8 0100 4 1111 9

p. 35

Sistemas Digitais

Este cdigo tem a particularidade de ser auto-complementar: O complemento a 9 de um dado nmero codificado em Aiken obtm-se trocando os zeros pelos uns e vice-versa. Exemplos: O cdigo Aiken de 360 0011 1100 0000. Ento, o cdigo do seu complemento a 9 (999 360 = 639) : 1100 0011 1111. Os cdigos de 235 e 764, que so complementares (235 + 764 = 999), so, respectivamente, 0010 0011 1011 e 1101 1100 0100. Para codificar um dado algarismo, k, faz-se o seguinte: - Se for menor ou igual a 4, utiliza-se o mesmo processo do cdigo BCD 8421; - No caso contrrio, codifica-se em BCD 8421, o seu complemento a 9, (9-k), e trocam-se os zeros pelos uns e vice-versa. Exemplos: Algarismo Complemento a 9 BCD8421 3 8 9-8 = 1 0001 5 9-5 = 4 0100 Assim, o cdigo de 385 0011 1110 1011. BCD 2421 0011 1110 1011

A descodificao faz-se por um processo semelhante ao do cdigo anterior. Exemplo: 010000111011 0100 2421 0011 1011 2421 2421 Exerccio Objectivo: Pretende-se um circuito que converta o cdigo BCD 2421 de um algarismo qualquer, no cdigo BCD 8421 do mesmo algarismo: 4 Somas 2+1 2+2+1 Resultado 435

Fases: 1. Tabela de Verdade Z 0 Y 0 X 0 W 0 D 0 C 0 B 0 A 0 .

p. 36

Sistemas Digitais

2. Mapas de Karnaugh das 4 variveis de sada 3. Simplificao das expresses: D = f (Z, Y, X, W), C = f (Z, Y, X, W), B = f (Z, Y, X, W) e A = f (Z, Y, X, W) 4. Desenho do circuito. 3. Cdigo de Excesso de Trs (XS-3) No utiliza nem as primeiras 3 combinaes de 4 bits, nem as ltimas 3: XS-3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Decimal 0 1 2 3 4 5 6 7 8 9

Para codificar um dado nmero, soma-se 3 a cada algarismo e converte-se em binrio. Para descodificar um nmero em BCD XS-3, passa-se cada um dos nibbles a decimal e subtrai-se 3, ao resultado. Exemplos: 1. Para descodificar 1101 1100 0011, escrito em BCD 2421, fazem-se as seguintes somas: 2+4+1 = 7, 2+4 = 6 e 2+1 = 3. O nmero 763. 2. Dado o cdigo de excesso de trs, 1010 0110, o primeiro algarismo corresponde a 8+2 = 10 10-3 = 7 e o segundo a 4+2 = 6 6-3 = 3 e o nmero correspondente 73.

p. 37

Sistemas Digitais

4. Outros Cdigos BCD Outros exemplos de cdigos BCD que se formam de forma semelhante aos anteriores so: BCD 7421, BCD 5421 e Excesso de 6. O seguinte quadro mostra os nibbles vlidos para cada um destes cdigos: Cdigo 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 8421 0 1 2 3 4 5 6 7 8 9 7421 0 1 2 3 4 5 6 7 8 9 Valor, em: 5421 2421 0 0 1 1 2 2 3 3 4 4 5 6 7 8 5 9 6 7 8 9 XS-3 0 1 2 3 4 5 6 7 8 9 XS-6 0 1 2 3 4 5 6 7 8 9

Os quatro primeiros so cdigos ponderados.

Cdigos No BCD
1. Cdigo Gray um cdigo no ponderado e, por isso, no conveniente para clculo mas utiliza-se quando h necessidade de evitar erros nas transies entre nmeros: nos cdigos anteriores, um nmero pode diferir em vrios bits do nmero seguinte e quando se lhe acrescenta uma unidade, pode haver erros devido a atraso na modificao de um bit. Para evitar isto, o cdigo Gray foi construdo de modo a que cada nmero difira do anterior em, apenas 1 bit. Vejamos o seguinte exemplo: O nmero 5 tem, em vrias codificaes, o cdigo 0101. Ao passar a 6, por exemplo num contador, passa a ser representado por 0110: os dois bits da direita tm de mudar de estado; vamos supor que, nesta mudana de estado, o ltimo se atrasa, o que levaria a passar pelas seguintes fases: 5 0101 0111 6 0110 Na fase intermdia, passou-se por um cdigo com significado, '7', o que pode levar a erros. O cdigo Gray utilizado, por exemplo, em conversores de sinais analgicos para digitais.

p. 38

Sistemas Digitais

Na tabela seguinte esto representados os ros: Binrio Decimal b 3b 2b 1b 0 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111

cdigos dos primeiros 16 nmeGray g 3g 2g 1g 0 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 1011 1001 1000

Para obter um circuito que transforme binrio em gray, podemos comear pelos Mapas de Karnaugh das variveis de sada:

As equaes e o circuito correspondentes so:


g 3 = b3 g 2 = b3 b2 + b3 b2 = b3 b2 g1 = b2 b1 + b2 b1 = b2 b1 g 0 = b1 b0 + b1 b0 = b1 b0 Assim, para codificar um nmero, em Gray: - Primeiro, converte-se o nmero em binrio - o cdigo Gray ter o mesmo nmero de bits e o seu bit mais esquerda igual ao MSB do binrio; - Depois, comeando pelo bit mais direita, cada um dos bits do cdigo Gray dado pelo EXOR entre o bit correspondente do binrio e o que se encontra sua esquerda: se os bits do nmero em binrio e do cdigo Gray forem, respectivamente: bnb2 b1 b0 e gn g2 g1 g0, os bits do cdigo Gray sero dados por: g 0 = b1 b0 g 1 = b2 b1 g 2 = b3 b2 g n = bn

p. 39

Sistemas Digitais

Exemplo: O nmero 12, em binrio : 1100. Formao dos bits, no Cdigo Gray: Bit mais direita 00=0 10=1 11=0 1

Bit mais esquerda Cdigo Gray obtido: 1010

Para fazer o contrrio, isto , para passar de Gray para binrio, temos: Tabela Gray g 3g 2g 1g 0 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Mapas: Decimal 0 1 3 2 7 6 4 5 15 14 12 13 8 9 11 10 Binrio b 3b 2b 1b 0 0000 0001 0011 0010 0111 0110 0100 0101 1111 1110 1100 1101 1000 1001 1011 1010

Equaes:
b3 = g 3 b2 = g 3 g 2 + g 3 g 2 b1 = g 3 g 2 g1 + g 3 g 2 g1 + g 3 g 2 g1 + g 3 g2 g1 = g3 g 2 g1 b0 = g 3 g 2 g1 g 0

p. 40

Sistemas Digitais

Circuito:

Vemos que, para descodificar um cdigo Gray, faz-se o seguinte: - O bit LSB do cdigo binrio dado pelo EXOR de todos os bits do cdigo Gray; - O bit seguinte dado pelo EXOR dos n-1 bits mais direita do cdigo Gray; - E assim sucessivamente, at ao MSB que igual, em ambos os cdigos. 2. Cdigo ASCII Existem vrios cdigos alfanumricos que permitem codificar, alm de algarismos, letras e outros smbolos grficos. Um exemplo de cdigo alfanumrico o chamado ASCII (sigla correspondente s palavras American Standard Code for Information Interchange), utilizado, por exemplo, em computadores. Permite codificar as letras maisculas e minsculas, assim como os algarismos e uma srie de smbolos. Cada um representado por 7 bits, na verso original que permitia codificar 128 smbolos ou por 8, nas verses ampliadas, o que permite ir at 256. Vamos ver alguns exemplos de cdigos de caracteres em ASCII, na verso de 1 Byte: Smbolo A a m 7 + ; Espao 3. Cdigo de Paridade Para se poderem tratar eventuais erros na transmisso de dados, utilizamse cdigos em que se acrescenta, no fim ou no princpio das palavras a transmitir, um ou vrios bits, atravs dos quais se podero detectar ou corrigir os erros. Um cdigo muito utilizado o de paridade e baseia-se no seguinte: acrescenta-se, ao final da palavra a transmitir, um bit que ser 0, se o nmero de uns da palavra for par ou 1, se for mpar. Uma vez recebida, a palavra entra num detector de paridade que d na sada uma indicao da existncia de erro: Cdigo ASCII 0100 0001 0110 0001 0110 1101 0011 0111 0010 1011 0011 1011 0010 0000

p. 41

Sistemas Digitais

Assim, o nmero de uns da palavra, a transmitir, j com o bit de paridade ser sempre par e se, ao ser recebida, tiver um nmero mpar de uns, o erro facilmente detectado. Por exemplo, para palavras originais de 3 bits temos, para o gerador de paridade: Bit a Palavra Acrescentar C B A P
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1

E para o Detector: C
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Palavra recebida B A
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

P
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Cd. Erro E
0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0

Tudo isto pode ser feito com portas EXOR:

Tambm existe um Cdigo de Imparidade em que o nmero total de uns que transmitido mpar.

p. 42

Sistemas Digitais

Famlias Lgicas
Em sistemas digitais utiliza-se informao binria, correspondente a dois nveis de tenso (alto e baixo) que podem aparecer entrada ou sada dos circuitos Os dois nveis de tenso so designados por: Nvel Lgico Alto (H, High) e Baixo (L, Low). Actualmente, em electrnica digital utilizam-se sobretudo circuitos integrados, existindo basicamente duas tecnologias (designadas por famlias), para o respectivo fabrico: a tecnologia TTL (de Transistor Transistor Logic) e a tecnologia CMOS (Complementary simetry Metal-Oxid Semicondutor). Os circuitos integrados so, actualmente, fabricados a vrias escalas de integrao:

-SSI, Small Scale Integration, uma a dez portas lgicas, correspondendo a cerca de 10 transstores, por pastilha ou chip de silcio; -MSI, Medium Scale Integration, entre dez e duzentas portas lgicas; -LSI, Large Scale Integration, com muitos milhares de transstores, em circuitos, como por exemplo, microprocessadores; -VLSI, Very Large Scale Integration, com vrias centenas de milhares de transstores.
Cada uma das famlias lgicas subdivide-se em sries e apresenta caractersticas diferentes, tais como:

-Tenso de Alimentao (Vcc), gama mais ou menos larga de valores de tenso, a que devem ser alimentados os C.Is. -Temperatura de Funcionamento, gama de temperaturas a que os circuitos devem funcionar -Fan-out, nmero mximo de entradas a que a sada de uma porta pode ser ligada -Nveis de Tenso de Entrada e Sada - intervalos de tenso correspondentes aos nveis alto e baixo, diferentes para as entradas e para as sadas dos circuitos: TTL CMOS VIHMax Limite Mximo do nvel Lgico Alto da Entrada 5V 5V Limite Mnimo do nvel Lgico Alto da Entrada VIHMin 2V 3,5 V Limite Mximo do nvel Lgico Baixo da Entrada VILMax 0,8 V 1,5 V Limite Mnimo do nvel Lgico Baixo da Entrada VILMin 0V 0V VOHMax Limite Mximo do nvel Lgico Alto da Sada 5V 5V VOHMin Limite Mnimo do nvel Lgico Alto da Sada 2,4 V 4,9 V VOLMax Limite Mximo do nvel Lgico Baixo da Sada 0,4 V 0,1 V VOLMin Limite Mnimo do nvel Lgico Baixo da Sada 0V 0V -Margens de Rudo dos dois estados lgicos, relacionadas com o parmetro anterior e que indicam as variaes de tenso permitidas, sem mudar de estado -Tempo de Propagao, tempo entre a alterao de uma entrada e a consequente alterao na sada -Potncia Dissipada, por porta ou por circuito
Chamam-se Margens de Rudo s diferenas:

p. 43

Sistemas Digitais

VNH = VOHMin VIHMin

VNL = VILMax e VOLMax

Note-se que, em ambas as tecnologias, o limite mnimo do estado alto da sada maior do que o limite mnimo do estado alto da entrada e que o limite mximo do estado baixo da sada menor que o da entrada. Tanto na sada como na entrada, entre o limite mximo do nvel baixo e o limite mnimo do nvel baixo, encontra-se uma zona indefinida: uma tenso nessa zona no interpretada como nem L nem H. A figura ao lado mostra todas estas grandezas: Comparando os valores acima indicados, vemos que os nveis lgicos so mais estreitos na tecnologia CMOS, o que implica que, tanto as zonas indefinidas, como as margens de rudo so maiores. A famlia CMOS que utiliza transstores MOSFET. Consome muito menos potncia do que a famlia anterior, pelo que tem fan outs da ordem de 50, mas tem, em geral, um funcionamento mais lento, devido a apresentar uma menor velocidade de propagao. Alm disso, por se tratar de uma tecnologia mais nova, apresenta uma menor variedade de circuitos. Vejamos algumas caractersticas das portas TTL: Os C.Is. da srie Standard desta famlia apresentam designaes no formato 74xx. A sua tenso de alimentao : Vcc entre 4,5 e 5 V A temperatura de funcionamento pode variar entre 0 C e 70 C. A porta bsica da famlia TTL a porta NAND: o C.I. 7400 constitudo por 4 portas NAND de duas entradas. Cada uma delas corresponde a um circuito com a seguinte constituio:

No circuito anterior, todos os transstores trabalham saturao, com IB

p. 44

Sistemas Digitais

elevado e VCE prximo de 0 V, ou ao corte, com VB < 0,7 V. Podemos subdividir este circuito em trs partes: - Mdulo de Entrada, constitudo pelos transstores T1a e T1b e pelos dodos Da e Db que impedem a presena de uma tenso negativa nos emissores dos transstores; - Transstor T2 com as resistncias RC e RE, que como veremos desempenha um papel fundamental, no circuito e - Mdulo de Sada, constitudo pelos transstores T3, T4, pelo dodo D e pela resistncia de R2. Vejamos, em primeiro lugar, o que se passa com T2, e quais as consequncias para o mdulo de sada: T2 saturao: A base de T3 fica tenso de, aproximadamente 0,7 V, imposta pela UBE de T4. Nesta situao, T3 fica ao corte e T4 fica saturao. A sada fica no estado lgico 0. T2 ao corte: A tenso na base de T3 5V e a tenso na base de T4, 0 V, porque no havendo corrente atravs de T2, no h quedas de tenso nas resistncias RC e RE. Agora, temos T3 saturao e T4 ao corte, pelo que a sada fica no estado lgico 1. Agora, podemos analisar, em funo dos estados das entradas, em que condies, que T2 fica saturao ou ao corte: As duas entradas (a, b) a 0: os dois transstores correspondentes, T1a e T1b, ficam saturao, devido corrente de base. Assim, nos seus colectores, ficam 0 V, pelo que T2 fica ao corte e, como vimos, S = 1. Uma das entradas a 1 e a outra a 0: O transstor correspondente entrada a 0 fica saturao e coloca 0 V os colectores de T1a e T1b, pelo que o outro fica com uma tenso VCE negativa, isto , fica ao corte. T2 fica ao corte, o que leva a S = 1. As duas entradas a 1: A tenso nos colectores de T1a e T1b a soma das tenses UBE de T4 e T2, isto , 1,4 V: ambos os transstores de entrada ficam com UE > UC, isto , ao corte. A tenso na base de T2 a tenso calculada de 1,4 V e leva T2 saturao, pondo a sada a 0. Finalmente, uma situao possvel: Uma entrada (ou ambas) desligada, isto , no ar: No existe corrente no transstor da entrada no ar, pelo que a tenso no colector de T2 imposta como nos casos anteriores: se ambas as entradas estiverem no ar, UC fica superior a 1,4 V, levando T2 saturao e S a 0; se uma delas estiver a 0, o respectivo transstor entra em saturao e coloca no colector de T2 uma tenso baixa que o leva ao corte, e S a 0. Podemos concluir que uma entrada no ar, funciona como se estivesse no estado lgico 1, concluso que vlida para todos os circuitos da famlia TTL.

p. 45

Sistemas Digitais

Este tipo de sada a mais comum e designa-se por Totem-Pole, mas existem portas com caractersticas especiais, chamadas portas com Sada em Colector Aberto, de que se apresenta a respectiva porta NAND de duas entradas: O smbolo que indica uma porta de colector aberto :

Neste caso, ao contrrio do que se passava na srie standard, possvel efectuar o seguinte tipo de ligao, designado por Wired -Logic:

Esta questo tem a ver com o seguinte: Como se viu, pode definir-se o fan-out de uma famlia lgica como o nmero mximo de entradas a que a sada de uma porta se pode ligar. O fan-out est relacionado com o valor mximo da corrente que a sada pode debitar no estado alto e com o valor de corrente que a entrada de uma porta puxa do exterior, para ficar no estado lgico 1, (fan-in). A relao entre os dois, de 10, isto podemos ligar at um mximo de 10 entradas a uma sada, como no exemplo da seguinte figura, em que sada do primeiro AND esto ligadas as entradas de duas outras portas:

Esta situao diferente do caso anterior, em que, se a sada de uma das portas est no estado lgico 1 e a da outra, no estado lgico 0, h uma corrente que sai da primeira e entra na segunda, podendo destruir o respectivo transstor. Esse perigo no existe nas portas de colector aberto, como vamos ver no seguinte exemplo: Para implementar a funo seguinte:

p. 46

Sistemas Digitais

Podemos, utilizando portas de sada em colector aberto, ligar entre si as sadas dos dois NANDs da esquerda:

Se a = 1, b = c = d = 0, como est indicado no circuito esquerda, a sada do NAND de cima, fica a 1 e a do de baixo, a 0.

Neste caso, h corrente na resistncia R e a sada fica no estado lgico 0, imposto pela segunda porta. Se ambas as sadas estivessem a 1, no haveria corrente na resistncia e S = 1. A ligao em paralelo das duas portas comporta-se como um AND. Alm da srie 74, Standard, existem outras, com pequenas variaes de caractersticas. Como exemplos, temos as seguintes, de que se apresentam as principais variaes: - Srie 54xx pode operara a temperaturas entre 55C e +125C - Sries 74L e 54L consomem menos potncia (o L significa Low)

p. 47

Sistemas Digitais

Circuitos Combinatrios
Designam-se por circuitos combinatrios, aqueles em que, a cada momento, a sada depende exclusivamente da combinao das entradas presentes nesse momento. Todos os circuitos que vimos at aqui so deste tipo. Um circuito combinatrio constitudo pela interligao de portas lgicas, apresentando, em geral, vrias entradas e, pelo menos, uma sada: Em geral, um circuito combinatrio tem um determinado fim, servindo para responder a um dado problema. O projecto de um circuito combinatrio passa pelas seguintes etapas: 1. Estudo do problema, com vista sua compreenso, em que se determinam as condies de funcionamento e quais as variveis, de entrada e de sada, em presena; 2. Depois de compreendido o problema e estabelecidas as variveis, possvel fazer a determinao das Tabelas de Verdade, relativas a cada uma das variveis de sada; 3. A partir das Tabelas de Verdade, podem ser retiradas as expresses das diferentes variveis, numa das duas formas cannicas possveis. 4. Tenta simplificar-se, o mais possvel, cada uma das expresses. 5. Com as expresses simplificadas, desenha-se o esquema do circuito lgico, supondo que as portas sero implementadas por circuitos integrados. 1. Descodificadores So circuitos combinatrios, em que entrada aparece um cdigo binrio e sada, um outro cdigo. Para isso, se a entrada tem n bits, a sada ter at 2n bits. Em geral, aparecem tambm algumas entradas de habilitao ou de Enable, de modo que a sada s far sentido, quando as entradas En estiverem activadas. Como exemplo, vamos projectar um circuito para descodificar BCD 2421 em binrio natural. O circuito deve ter 4 entradas de informao (DCBA), activas altas, mais uma de habilitao, activa baixa e 4 sadas:

Funciona quando a entrada enable, E, est a 0: com E = 0, quaisquer que sejam os valores das outras entradas, as sadas ficam a 0. Por outro lado, existem seis combinaes das quatro entradas que no so vlidas em BCD 2421, pelo que correspondem a situaes opcionais. Comeando pela Tabela de Verdade, temos:

p. 48

Sistemas Digitais

En 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

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

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

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

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

Dec 0 1 2 3 4 0 0 0 0 0 0 5 6 7 8 9 0 1 2 3 4 X X X X X X 5 6 7 8 9

S3 0 0 0 0 0 X X X X X X 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S2 0 0 0 0 1 X X X X X X 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S1 0 0 1 1 0 X X X X X X 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S0 0 1 0 1 0 X X X X X X 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

A Tabela de Verdade anterior, j sem a coluna sentada da seguinte forma: En D C B A S3 S2 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 0 0 1 0 1 X X 0 0 1 1 0 X X 0 0 1 1 1 X X 0 1 0 0 0 X X 0 1 0 0 1 X X 0 1 0 1 0 X X 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 1 1 0 1 X X X X 0 0

dos decimais, pode ser repreS1 S0 0 0 0 1 1 0 1 1 0 0 X X X X X X X X X X X X 0 1 1 0 1 1 0 0 0 1 0 0

p. 49

Sistemas Digitais

Os Mapas de Karnaugh que permitem simplificar as equaes das quatro variveis de sada so os seguintes: (Com En = 0):

Estes mapas permitem obter as equaes simplificadas das sadas:

S3 = En C B S2 = En (D C + C B) S1 = En (D B + D B) = En (D B) So = En A A partir destas, podemos desenhar o seguinte circuito lgico do descodificador:

Descodificadores em Circuitos Integrados O circuito integrado 7442 um descodificador que converte cdigos BCD 8421 em decimal. As quatro entradas so activas altas e as sadas so activas baixas:

A Tabela de Verdade a seguinte:

p. 50

Sistemas Digitais

D C 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1

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

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

0 0 1 1 1 1 1 1 1 1 1 X X X X X X

1 1 0 1 1 1 1 1 1 1 1 X X X X X X

2 1 1 0 1 1 1 1 1 1 1 X X X X X X

3 1 1 1 0 1 1 1 1 1 1 X X X X X X

4 1 1 1 1 0 1 1 1 1 1 X X X X X X

5 1 1 1 1 1 0 1 1 1 1 X X X X X X

6 1 1 1 1 1 1 0 1 1 1 X X X X X X

7 1 1 1 1 1 1 1 0 1 1 X X X X X X

8 1 1 1 1 1 1 1 1 0 1 X X X X X X

9 1 1 1 1 1 1 1 1 1 0 X X X X X X

A partir da Tabela de Verdade, podem ser construdos os Mapas de Karnaugh, em que se optou por fazer as associaes correspondentes s negaes das variveis de sada:

Assim, obtm-se as equaes e o circuito lgico:


0 = DCB A 0 = DCB A 1 = DCB A 1 = DCB A 2 = CBA 2 = CBA 3 = CB A 3 = CB A 4 = CBA 4 = CBA 5 = CB A 5 = CB A 6 = CB A 6 = CB A 7 = CBA 7 = CBA 8 = D A 8 = D A 9 = DA 9 = DA

p. 51

Sistemas Digitais

Outro descodificador muito utilizado o 7447. um descodificador de BCD para 7 segmentos que permite utilizar displays de 7 segmentos, para visualizar nmeros codificados em BCD 8421:

Os segmentos so 7 leds, identificados pelas letras de a, a g, que podem ser ligados de duas formas: existem dispositivos com o nodo comum ou o ctodo comum (ver figura seguinte). nodo Comum Ctodo Comum

O 7447 deve ser usado para comandar displays de nodo comum: tem sete sadas activas baixas que devem ser ligadas aos ctodos dos leds, colocando a 0 os ctodos dos dodos que devem acender, e a 1, os que devem permanecer apagados.

O descodificador tem as seguintes entradas: - Entradas activas altas de informao (D, C, B, A), para o cdigo BCD do algarismo; - Entradas de controlo (activas baixas): LT - Lamp Test RBI - Ripple Blanking Input - Entrada / sada de controlo (activa baixa): BI/RBO - Blanking input/ Ripple Blanking Output

p. 52

Sistemas Digitais

Funcionamento: LT = 1
RBI = BI = 1

Aparece no display o algarismo correspondente ao cdigo BCD presente nas entradas (de 0 a 9): o funcionamento normal. Aparece o algarismo correspondente ao cdigo BCD presente nas entradas, excepto no caso do zero, em que o display fica apagado Todos os leds acendem, o que permite testar o display.

LT = 1 RBI = 0 LT = 0 e BI = 1

As sadas devem ser ligadas ao display atravs de resistncias limitadoras da tenso, uma vez que os leds funcionam a tenses da ordem dos 2,5 V:

Existe, em circuito integrado (74138), um descodificador binrio octal, com trs entradas activas altas (C, B e A), mais trs de enable, sendo duas destas activas baixas e oito sadas activas baixas:

Os significados das indicaes do smbolo so os seguintes: Os nmeros 1, 2 e 4 so os pesos das entradas; As sadas so activas baixas, ficando activas (a 0) quando EN = 1, caso contrrio, ficam a 1; O & significa que a relao entre as entradas de enable um AND: EN= G1 G2A G2B Assim, para obter 0, por exemplo, em Y6, preciso que: G1 = 1, G2A = G2A = 0, C = B = 1, A = 0

p. 53

Sistemas Digitais

Existe tambm um circuito integrado (74139) com dois descodificadores de 2 para 4 bits, cujos diagrama de ligaes, smbolo IEEE e diagrama lgico de cada descodificador so:

Utilizao dos descodificadores para implementar funes Estes dois descodificadores podem ser utilizados para implementar funes com 3 e 2 variveis de entrada. As sadas destes descodificadores apresentam os produtos negados das diferentes combinaes das entradas, pelo que, basta neg-las e lig-las a uma porta OR, ou, em alternativa, lig-las a uma porta NAND, para obter a sada esperada. Como exemplo, vamos ver como obter a funo S = BA. Como h duas variveis de entrada, podemos utilizar o 74139. Da Tabela de Verdade da funo, tiramos a primeira forma cannica: B 0 0 1 1 A 0 1 0 1 S 1 0 0 1

S = BA + BA

Os termos correspondem s linhas 0 e 3: S (B,A)= (0,3). Vamos ligar a uma porta NAND, as duas sadas correspondentes do descodificador e activlo com 0, na entrada G (ligando-a massa):

p. 54

Sistemas Digitais

2. Codificadores Um codificador um circuito em que entra o sinal a ser codificado e saem os bits correspondentes ao respectivo cdigo: funciona ao contrrio do descodificador. Para n sadas, pode ter at 2n entradas. Como exemplo, vamos ver um codificador de decimal para BCD 8421. Tem 10 entradas correspondentes aos 10 algarismos e 4 sadas: A Tabela de Verdade a seguinte: Entrada Activa I0 I1 I2 I3 I4 I5 I6 I7 I8 I9 S3 0 0 0 0 0 0 0 0 1 1 S2 0 0 0 0 1 1 1 1 0 0 S1 0 0 1 1 0 0 1 1 0 0 S0 0 1 0 1 0 1 0 1 0 1

Dela se podem obter as equaes das sadas e o circuito correspondente: S3 S2 S1 S0 = = = = I8 I4 I2 I1 + + + + I9 I5 + I6 + I7 I3 + I6 + I7 I3 + I5 + I7 + I9

Note-se que: 1- A entrada I0 no utilizada em nenhuma porta; 2 Se duas ou mais entradas estiverem activas, a sada no faz sentido: por exemplo, quando I9 = I3 = 1, S = 1011. Para evitar este inconveniente, existem os codificadores de prioridade que funcionam do seguinte modo: se mais do que uma das entradas estiver activa, d-se prioridade entrada mais alta e, na sada, aparece o cdigo desta. No exemplo acima aplicado a um codificador de prioridade, teramos S = 1001, que o cdigo de 9. Num codificador de prioridade se, por exemplo, estiverem activas as entradas 4 e 7, dada prioridade ao 7 e a sada ser 0111; se 4 estivesse a 0, acon-

p. 55

Sistemas Digitais

teceria o mesmo, por isso todas as entradas de valor inferior a uma entrada activa constituem situaes opcionais. Como exemplo de um codificador de prioridade, existe o circuito integrado 74147:

O terminal NC no est ligado internamente, no tendo utilidade. O smbolo e tabela de verdade so os seguintes: 1 1 X X X X X X X X 0 2 1 X X X X X X X 0 1 3 1 X X X X X X 0 1 1 4 1 X X X X X 0 1 1 1 5 1 X X X X 0 1 1 1 1 6 1 X X X 0 1 1 1 1 1 7 1 X X 0 1 1 1 1 1 1 8 1 X 0 1 1 1 1 1 1 1 9 1 0 1 1 1 1 1 1 1 1 D 1 0 0 1 1 1 1 1 1 1 C 1 1 1 0 0 0 0 1 1 1 B 1 1 1 0 0 1 1 0 0 1 A 1 0 1 0 1 0 1 0 1 0

Tanto as entradas como as sadas so activas baixas. Pela tabela de verdade, podemos ver que, em cada linha, direita do 0 que activa uma entrada, esto 1s: as entradas de valor superior esto desactivadas; esquerda sinais de dont care. Assim, a sada correspondente corresponde entrada activada. Isto significa que desde que, por exemplo, a entrada 4 esteja activa, o complemento do seu cdigo aparece nas sadas (por serem activas baixas), qualquer que sejam os valores das entradas menores.

p. 56

Sistemas Digitais

3. Multiplexers Um Multiplexer um circuito combinatrio com N entradas e 1 sada, em que existe a possibilidade de, atravs de m sinais de controlo, fazer aparecer na sada, o estado presente em uma das entradas, como actua o comutador da figura, num circuito elctrico:

O nmero dos sinais de controlo depende do nmero n de entradas, de acordo com a frmula: 2m n. Vejamos o exemplo de um Multiplexer de 4 entradas, a, b, c e d e, portanto controlado por 2 sinais, x1 e x0:

O circuito funciona da seguinte forma: - Para ambas as entradas de controlo a 0, o primeiro AND fica com as duas primeiras entradas a 1 e a sua sada igual ao valor de a, enquanto todos os outros ANDs ficam bloqueados, (sadas a 0), com pelo menos uma das entradas a 0 assim, a sada do circuito fica igual entrada a; - Para qualquer outra combinao dos sinais de controlo, s um AND no fica bloqueado e conduz a respectiva varivel de entrada para a porta OR e para a sada. A Tabela de Verdade : x1 0 0 1 1 x0 0 1 0 1 S a b c d

Os Multiplexers podem seleccionar, em vez de um bit, um grupo de bits, ou seja colocar na sada, uma palavra de vrios bits. Vejamos o seguinte exemplo:

p. 57

Sistemas Digitais

O objectivo que, nas sadas, apaream os valores presentes num grupo de 3 entradas. Com x = 0, temos: A = A1, B = B1 e C = C1; com x = 1, temos nas sadas, os outros 3 bits. Um multiplexer pode ser construdo com base num descodificador que tenha o mesmo nmero de sadas que as entradas pretendidas para o multiplexer:

Implementao de Funes Para alm de direccionarem uma dada entrada, para a sada, os multiplexers permitem implementar qualquer funo. Por exemplo, vamos supor que queremos um circuito que responda de acordo com a seguinte Tabela de Verdade (S = A B): B 0 0 1 1 A 0 1 0 1 S 1 0 0 1

Se nos servirmos das variveis de controlo, (x1 e x0) como entradas, (B e A, respectivamente), podemos utilizar o multiplexer anterior, fazendo: b = c = 0 e a = d = 1. Ento o circuito responder de acordo com a Tabela de Verdade da funo, conforme a combinao presente nas entradas. O circuito fica:

p. 58

Sistemas Digitais

Se, por exemplo tivermos A = 1 e B = 0, nenhum dos ANDs fica com as trs entradas simultaneamente a 1 e a sada ser 0; para A = 0 e B = 0, o primeiro AND fica com as trs entradas a 1 e a sada ser 1, como desejvamos. Em circuitos integrados, existem vrios Multiplexers. Como exemplos, vamos ver os dois seguintes: O 74153 tem dois multiplexers de 4 entradas, portanto, com 2 linhas de seleco:

As entradas de controlo (A e B) so comuns aos dois multiplexers mas cada um tem uma entrada de enable activa baixa (~G). Para cada um dos multiplexers, a Tabela de Verdade : ~G 1 0 0 0 0 0 0 0 0 B X 0 0 0 0 1 1 1 1 A X 0 0 1 1 0 0 1 1 C0 X 0 1 X X X X X X C1 X X X 0 1 X X X X C2 X X X X X 0 1 X X C3 X X X X X X X 0 1 Y 0 0 1 0 1 0 1 0 1

No smbolo, podemos ver o seguinte: - O bloco de controlo comum a todo o integrado; - As variveis de controlo (das quais, a de maior peso B) permitem seleccionar uma, de entre as quatro linhas de entrada (de 0 a 3), do multiplexer que tem a entrada de enable activa, (a 0). Outro multiplexer em circuito integrado o 74151, que tem 8 entradas, mais uma de enable, activa baixa e apresenta duas sadas complementares. Ver figura na pgina seguinte:

p. 59

Sistemas Digitais

4. Demultiplexers Funcionam ao contrrio dos multiplexers, servindo para colocar numa das diversas sadas, o valor presente na entrada. Para escolher entre 2n sadas, so necessrias n variveis de seleco: Exemplo: para escolher uma de quatro sadas, para onde conduzir a entrada, podemos montar o seguinte circuito, com as duas variveis de seleco S1 e S 0:

Os descodificadores podem funcionar como demultiplexers, se utilizarmos as entradas como variveis de seleco e uma das entradas de enable, como entrada do demultiplexer. Por exemplo, o circuito anterior pode ser implementado com o integrado 74139:

p. 60

Sistemas Digitais

5. Comparadores So circuitos que comparam os valores de dois nmeros binrios, que utilizam palavras de n bits, (A = an ... a3 a2 a1 a0 e B = bn ... b3 b2 b1 b0) e, na sada, apresentam trs bits: xo (indica que A < B), yo (A = B) e zo (A > B). Uma palavra binria maior do que outra se tiver mais bits ou, no caso de comprimentos iguais, o primeiro 1, a contar da esquerda, aparecer num bit de maior peso do que na outra. Uma vez que cada bit de um nmero deve ser comparado com o bit de igual peso do outro e se trata de uma operao repetida n vezes, convm ter um circuito que compare dois bits. Assim os Comparadores podem ser implementados a partir de mdulos que comparem dois bits, um de cada palavra, os Comparadores de dois bits, como veremos, a seguir. Comparador de 2 bits O circuito ter cinco entradas: a e b (os bits a comparar) e xi, yi e zi, que informam da comparao anterior, entre bits de ordem superior e trs sadas: xo, yo e zo. O bit xi significa que a < b, em que a e b so os bits anteriormente comparados; o bit yi significa que a > b e o bit zi significa que a = b. Em cada caso, um destes bits igual a 1 e os outros dois so iguais a 0. Quando yi = 0, no necessrio fazer comparao, uma vez que o nmero maior j foi encontrado: as sadas xo, yo e zo ficam com os valores de xi, yi e zi. No caso de yi = 1, necessrio fazer a comparao porque os bits comparados antes so iguais. As sadas so: xo, yo e zo, com significados semelhantes. A Tabela de Verdade vir: xi 1 0 0 0 0 0 yi 0 0 1 1 1 1 zi 0 1 0 0 0 0 a X X 0 0 1 1 b X X 0 1 0 1 xo 1 0 0 1 0 0 yo 0 0 1 0 0 1 zo 0 1 0 0 1 0

Podemos estabelecer os seguintes mapas de Karnaugh e as respectivas equaes:

O circuito correspondente :

p. 61

Sistemas Digitais

Podemos representar este circuito por um bloco:

Comparadores de Vrios Bits O circuito anterior poder constituir um mdulo de outro que compara nmeros com n bits, como na seguinte figura, em que n = 4 e os nmeros so: A = 0100 e B = 0010.

p. 62

Sistemas Digitais

O circuito integrado 7485 um comparador de 4 bits, em que as entradas de dados so: A0, A1, A2 e A3, os bits correspondentes ao nmero A e B0, B1, B2 e B3, correspondentes a B. Tem ainda trs entradas e trs sadas, correspondentes a A<B, A=B e A>B, que permitem utiliz-los, como mdulos em cascata, para comparar palavras maiores. Tem um funcionamento semelhante ao explicado, com a diferena de que, neste caso, no mdulo ligado aos bits de menor peso, que se devem colocar: 0 nas entradas IA<B e IA>B, e 1 em IA=B. A Tabela de Verdade a seguinte:

Entradas a comparar
A 3 , B3 A3>B3 A3<B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A 2 , B2 x x A2>B2 A2<B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A 1 , B1 x x x x A1>B1 A1<B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A 0 , B0 x x x X x x A0>B0 A0<B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0

Entradas em cascata
IA>B x x x x x x x x 1 0 x 1 0 IA<B x x x x x x x x 0 1 x 1 0 IA=B x x x x x x x x 0 0 1 0 0 OA>B 1 0 1 0 1 0 1 0 1 0 0 0 1

Sadas
OA<B 0 1 0 1 0 1 0 1 0 1 0 0 1 OA=B 0 0 0 0 0 0 0 0 0 0 1 0 0

As ligaes indicadas na figura da pgina seguinte permitem comparar dois nmeros de 8 bits: A = 10110100 e B = 10011001.

p. 63

Sistemas Digitais

Neste caso, obtm-se, nas trs sadas do primeiro mdulo, ligado aos bits de menor peso: OA>B = 0, OA>B = 1 e OA=B = 0, porque 0100<1001. Estes valores entram no segundo mdulo e, de acordo com a Tabela de Verdade, como nem todas as entradas a comparar so iguais, a sada deste mdulo depende apenas das comparaes entre elas e as sadas so: OA>B = 1, OA=B = 0 e OA<B = 0 (1 linha). Se os nmeros fossem 10100100 e 10101001, teramos, na mesma no segundo mdulo, IA>B = 0, IA>B = 1 e IA=B = 0, dados pelas sadas do primeiro e a sada seria OA>B = 0, OA>B = 1 e OA=B = 0, como indicado na 10 linha da Tabela de Verdade.

p. 64

Sistemas Digitais

6. Somadores So circuitos que, como o nome indica, permitem efectuar adies. Vamos ver, primeiro, um circuito que permite adicionar dois bits; depois, veremos que, de facto, ainda no um Somador e veremos outro mais completo. Semi - Somador (Half Adder) O primeiro circuito que vamos estudar, permite adicionar dois bits, (as entradas a e b) e apresenta na sada, a soma, S e o Transporte, (ou Carry), T, que o que vai. A Tabela de Verdade a seguinte: a 0 0 1 1 b 0 1 0 1 T 0 0 0 1 S 0 1 1 0

Desta Tabela, fcil deduzir as equaes das sadas e, depois, o circuito lgico: T = a.b e S = ab

Este circuito no pode ser utilizado para somar dois nmeros porque, numa soma, preciso contar com o transporte da soma anterior. Mas pode fazer parte, como mdulo de um circuito mais completo, como veremos em seguida. Somador Completo (Full Adder) Um Somador um circuito com trs entradas, (os dois bits a somar, a e b e o bit de transporte de uma eventual soma anterior, t) e com duas sadas, S e T. A Tabela de Verdade a seguinte: a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 t 0 1 0 1 0 1 0 1 T 0 0 0 1 0 1 1 1 S 0 1 1 0 1 0 0 1

Desta Tabela, podemos tirar as equaes de T e de S e desenhar o respectivo circuito: T = a.b + a.t + b.t e S = abt

p. 65

Sistemas Digitais

Por outro lado, vejamos o seguinte: Para somar a = 1 com b = 0 e com um transporte da soma anterior, t = 1, podemos aplicar a propriedade associativa: (a+b)+t = (1+0)+1 = 1+1 = 10, isto : somamos o transporte ao bit S da soma de a com b e, neste caso, o transporte que aparece devido segunda adio; para somar os bits a = 1, b = 1 e t = 1, fazemos: (a+b)+t = (1+1)+1 = 10+1 = 11 e, neste caso, o transporte proveniente da primeira adio. Ento, podemos concluir que: - Temos de efectuar duas adies de dois bits, podendo utilizar, para isso, semisomadores; - O transporte tanto pode vir da primeira, como da segunda adio. Estas consideraes permitem desenhar o seguinte circuito, equivalente ao anterior:

Para somar dois nmeros com vrios bits, precisaramos de vrios Somadores destes, ligados, de acordo com a seguinte figura, desenhada para somar nmeros com 4 bits:

A ligao Terra da entrada de transporte do primeiro Somador para colocar a 0 o bit, uma vez que no se efectuou nenhuma soma anterior.

p. 66

Sistemas Digitais

O circuito integrado 74283 um somador completo de 4 bits, (ver pgina seguinte): Configurao Diagrama Lgico

Exemplo de Aplicao (Soma de A, com 5 bits e B, com 6 bits):

p. 67

Sistemas Digitais

Elementos Bsicos de Memria


Ao contrrio dos circuitos Combinatrios, nos circuitos Sequenciais, a sada depende, no s da combinao de estados presentes nas entradas, em cada instante, mas tambm do estado actual do circuito. Isto envolve uma funo de memria que, em geral, conseguida atravs de clulas de memria que em dados instantes guardam o estado das variveis e o apresentam entrada do circuito combinatrio, de modo que na sada deste, aparea o prximo estaddo:

Entende-se por Clula de Memria, um circuito com uma ou duas entradas, x, y, e duas sadas, Q, ~Q, que se comporta da seguinte maneira:

- ~Q o complemento de Q, isto , quando um est a '0', o outro est a '1' e vice-versa; - Se x = 1 e y = 0, Q fica a '1' (Set da memria); - Se x = 0 e y = 1, Q fica a '0' (Reset); - Se x = 0 e y = 0, Q fica com o valor que tinha antes; - Para x = 1 e y = 1, existem diferentes respostas possveis que definem o tipo de clula.
As clulas de memria apresentam dois estados estveis, para diferentes combinaes das entradas (Q = 0 ou Q = 1): so biestveis, podendo memorizar um bit. Podem ter ou no, uma entrada para sinal de relgio. O sinal de relgio permite sincronizar a actuao do biestvel com outros dispositivos, em circuitos complexos. Um sinal de relgio uma onda quadrada, em que se podem definir dois nveis e dois flancos: Por Nvel entende-se um estado lgico (0 ou 1) e o Flanco corresponde passagem entre dois estados lgicos, havendo, portanto dois tipos de flancos:

- Ascendente ou Positivo, quando o relgio passa de 0 para 1 ou - Descendente ou Negativo, quando passa de 1 para 0.

Nas clulas que veremos, em primeiro lugar, no existe entrada de relgio e as sadas podem mudar em qualquer instante, definido pela mudana das entradas. As clulas deste tipo costumam ser designadas por Latch ou Bscula.

p. 68

Sistemas Digitais

As clulas de memria com entrada de relgio costumam designar-se por flip-flops.

Latch RS

Vejamos o funcionamento deste circuito, relembrando que numa porta NOR, a sada 0 se, pelo menos uma das entradas for 1. Assim, supondo que, num dado instante, Q = 1 e Q = 0 : a) Se introduzirmos nas entradas R e S, dois zeros, - A porta NOR de cima fica com ambas as entradas a 0 e a sada : Q = 0 + 0 = 1 - A segunda porta NOR fica com uma entrada a 1 e a outra a 0 e Q = 1 + 0 = 0 b) Se introduzirmos 0 em R e 1 em S, - A primeira porta NOR fica com ambas as entradas a 0 e a sada :
Q =0+0 =1

- A segunda porta NOR fica com ambas as entradas a 1 e Q = 1 + 1 = 0 c) Se fizermos R = 1 e S = 0, o circuito passa por um estado intermdio, at chegar a um estado estvel:

d) R = 1 e S = 1

Dado que, por definio, as duas sadas devem ter estados complementares, esta uma situao proibida: Num SR, as entradas no devem ser colocadas simultaneamente a 1. Suponhamos, agora, que Q = 0 e Q = 1 e vamos repetir as entradas do exemplo anterior: a) R = 0 e S = 0

b) R = 0 e S = 1

p. 69

Sistemas Digitais

c) R = 1 e S = 0

d) R = 1 e S = 1

Temos de novo, uma situao proibida, em que Q = Q Podemos resumir tudo o que vimos na seguinte Tabela de Verdade, em que se parte do princpio que as sadas so sempre complementares (Qact significa o estado de Q, antes de as entradas mudarem e Qseg, o estado final de Q): Qact 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 S 0 1 0 1 0 1 0 1 Qseg 0 1 0 x 1 1 0 x

Se compararmos o estado final de Q com o seu estado anterior, para cada combinao de entradas, podemos resumir mais o comportamento deste circuito: R S Q
0 0 1 1 0 1 0 1 Fica igual 1 0 Estado proibido

Os nomes das entradas advm do ltimo quadro: R, quando 1, anula a sada ou faz Reset e S, a 1 coloca a sada a 1: faz Set.

Latch SR

p. 70

Sistemas Digitais

Observe-se, em primeiro lugar que a entrada ~S est ligada porta NAND cuja sada Q na clula anterior, era a entrada R que estava ligada a porta NOR, de onde saa Q. Relembremo-nos de que, numa porta NAND, basta que aparea um 0, para que a sada seja 1. Vamos ver o funcionamento deste circuito, supondo em primeiro lugar que Q = 1 e Q= 0: a) Se S = R = 1 , temos:

Os estados das sadas mantm-se. b) S = 1 e R = 0

A clula faz Reset, aps um estado intermdio instvel. c) S = 0 e R = 1

A clula faz Set. d) S = R = 0

As sadas ficam ambas a 1: estado proibido. Vamos agora ver o que se passa com Q = 0 e Q = 1 : a) Se S = R = 1 , temos:

b) S = 1 e R = 0

p. 71

Sistemas Digitais

c) S = 0 e R = 1

d) S = R = 0

Podemos, assim, estabelecer as duas Tabelas de Verdade seguintes: Qact 0 0 0 0 1 1 1 1


S 0 0 1 1 0 0 1 1

R 0 1 0 1 0 1 0 1

Qseg x 1 0 0 x 1 0 0

Em resumo:
S 0 0 1 1

R 0 1 0 1

Q Estado proibido 1 0 Mantm-se

Latch SR com Entrada de Enable


Nas clulas anteriores, as entradas so lidas constantemente e, no instante em que h uma alterao que crie condies de mudana nas sadas, estas mudam. Ao contrrio delas, na clula SR com enable E, as sadas s podem mudar se E = 1, uma vez que, enquanto E = 0, chegam dois uns, s portas NAND da direita, mantendo os estados das sadas, independentemente do que se passa com S e R:

Assim, a Tabela de Verdade : E 0 1 1 1 1 S x 0 0 1 1 R x 0 1 0 1


S 1 1 1 0 0

R 1 1 0 1 0

Q Mantm Mantm Reset Set Estado proibido

p. 72

Sistemas Digitais

Na figura seguinte, podemos ver, em diagramas temporais, a diferena de comportamento entre a clula SR e esta ltima, ao receberem as mesmas ondas nas entradas S e R:

Clula SR

Clula SR com Enable

Latch D

A clula de memria D obtida, a partir de uma SR, ligando a entrada D directamente a S e, atravs de uma porta NOT, a R. Assim, nunca acontece um estado proibido na entrada, como se pode ver na Tabela de Verdade: Q E D S R 0 x 1 1 No muda 1 0 1 0 0 1 1 0 1 1 O estado final da sada Q igual ao estado da entrada D, quando E = 1, ficando memorizado, enquanto E ficar a 0.

A figura seguinte mostra dois exemplos de circuitos integrados com bsculas:

p. 73

Sistemas Digitais

O primeiro tem 4 bsculas SR de entradas baixas, dois dos quais, tm duas entradas ~S, bastando que, com ~R activo (a 0), uma delas esteja activa, para colocar a sada Q, a 1; no existem sadas ~Q. O segundo tem 4 bsculas D com duas entradas Enable, sendo cada uma destas, comum a um par de bsculas.

Flip-flop D Edge-triggered (Activado por flanco)


Nas bsculas, os estados das entradas so lidos de forma contnua, alterando as sadas em qualquer instante. Como vimos, pode haver estados instveis, por exemplo, quando Q passa de 0 para 1, no latch SR. Por isso, as entradas no podem mudar simultaneamente: tem de haver um intervalo mnimo entre a alterao de uma entrada e a alterao da outra, de modo a que o estado intermdio seja ultrapassado. Por outro lado, no havendo sinal de relgio que sincronize as mudanas de estado, estas podem ocorrer a qualquer instante. Estas questes so ultrapassadas nos flip-flops. Um flip-flop uma clula de memria, accionada por um dos flancos do relgio. Funciona como se as entradas fossem lidas no instante anterior ao flanco activo do relgio, alterando as sadas, no instante do flanco e sendo indiferentes as alteraes que ocorram em todo o resto do ciclo. Em geral, os flip-flops aparecem com duas entradas independentes do sinal de relgio, chamadas assncronas ou foradas: - para se poder limpar a sada Q que toma um valor aleatrio, quando a clula activada, existe uma entrada Clear e - para a colocar a 1, uma entrada Preset. O smbolo do flip-flop D o seguinte:

Para colocar a 0 a sada Q, faz-se ~CLR = 0; para colocar a sada a 1, faz-se ~PRE = 0; com as entradas Clear e Preset a 1, o estado da entrada D lido antes do flanco ascendente do relgio e quando este se d, a sada fica igual entrada:

Em t1, quando se d o flanco ascendente do relgio, D est a 1 e Q passa a 1; em t2, como D estava a 0, a sada passa a 0; em t3, ~PRE passa a 0 e leva a

p. 74

Sistemas Digitais

sada a 1 e, em t4, quando ~CLR passa a 0, Q passa a 0; depois disso, a variao de D no tem consequncias, porque ~CLR = 0. ~PRE 0 1 0 1 1 1 ~CLR 1 0 0 1 1 1 CLK X X X

D X X X 1 0 X

Q 1 0

~Q 0 1 Instveis 1 0 0 1 No mudam

O integrado 7474 tem dois flip-flops deste tipo:

O circuito lgico de cada um o seguinte:

Flip-flop D Master-Slave (Mestre-escravo)


constitudo por duas bsculas D, ligadas da seguinte forma:

Quando o Clk est a 1, a primeira clula fica activa e o estado de D1 aparece na respectiva sada. Com Clk = 1, a segunda clula est inactiva. Quando Clk passa a 0, a primeira clula fica inactiva, mantendo o valor de Q1; o estado desta copiado para a sada da segunda:

p. 75

Sistemas Digitais

Note-se que a sada muda nos flancos descendentes do relgio, copiando o valor que a entrada tem, nas zonas assinaladas.

Flip-flop JK Master-Slave
O flip-flop JK funciona da seguinte maneira: nos flancos activos do relgio, - Com J=K=0, as sadas no mudam; - Com J=1 e K=0, faz Set (Q passa a 1); - Com J=0 e K=1, faz Reset (Q=0) e - Com J=K=1, troca o estado das sadas: se Q era 0 passa a 1 e viceversa. Pode ser construdo, a partir de dois latches SR, com um circuito combinatrio entrada, utilizando as seguintes ligaes:

Devido s portas AND, o estado da entrada J s chega a S1, quando Q=Q2=0 e K s chega a R1 quando Q=1. Enquanto Clk=1, a primeira clula (master) est activada e as respectiva sadas reflectem os estados das entradas; neste intervalo de tempo, a clula slave est desactivada; com Clk=0, a clula master fica desactivada e as suas sadas mantm-se, mas a clula slave est activada, pelo que as sadas podem mudar. Na figura seguinte, podemos verificar que: No instante 1, J passa a 1 e ~Q=1, pelo que S1 (que igual a J.~Q) passa a 1; quando o clock sobe, encontra S1=1 e R1=0 e Q1 passa a 1; No instante 2, o clock passa a 0 e, como S2=1 e R2=0, Q passa a 1, levando S1, a 0; No instante 3, K passa a 1 e, como Q=1, R1 (= K.Q) passa a 1; assim, quando o clock passa a 1, encontra S1=0 e R1=1 e a clula master faz Reset; No flanco descendente do instante 4, a clula slave encontra S2=0 e R2=1, pelo que Q passa a 0, levando R1 tambm a 0; Em 5, acontece o mesmo que em 1; Em 6, quando Clk passa a 0, encontra S2=1 e R2=0 e Q passa a 1, levando S1 a 0 e R1 a 1; Em 7, S2=0 e R2=1 e Q passa a 0, levando R1 a 0; Em 8, J passa a 1 e como Q=0, S1 passa a 1; Em 9, quando o flanco ascendente se d, como S1=1 e R1=0, a clula master faz set;

p. 76

Sistemas Digitais

Em 10, o flanco descendente encontra S2=1 e R2=0 e a clula slave faz reset; Em 11, K passa a 1 e como Q=1, leva R1 a 1; dado que Clk=1, Q1 passa a 0; Em 12, K passa a 0, sendo acompanhado por R1; Em 13, quando o clock passa a 0, encontra S2=0 e R2=1, pelo que Q passa a 0; quando, depois o relgio passa a 1, como S1=R1=0, Q1 mantm-se; Em 14, d-se novo flanco descendente e como S2=0 e R2=1, a sada mantm o estado.

No resumo de baixo, onde esto assinalados os momentos dos flancos descendentes, vemos que as sadas s mudam nestes instantes. Assim, Em 2, J=1 e K=0, Set; Em 4, J=0 e K=1, Reset; Em 6, J=K=1, as sadas trocam de estado; Em 7, J=0 e K=1, Reset; Em 10, J=1 e K=0, Set; Em 13, apesar de J=K=0, Q passa a 0, por causa do impulso em K, quando o clock estava a 1; Em 14, com J=K=0, as sadas mantm os seus estados. Devido ao que aconteceu em 13, podemos concluir que as entradas J e K no podem mudar, enquanto o relgio est a 1, altura em que o flip-flop est em condies de receber informao. O circuito integrado 7476 apresenta dois flip-flops JK Master-slave e tem o seguinte smbolo:

p. 77

Sistemas Digitais

O smbolo junto sada indica que estas s podem mudar no flanco descendente. Tabela de Verdade: ~PRE 0 1 0 1 1 1 1 ~CLR 1 0 0 1 1 1 1 CLK X X X J X X X 0 1 0 1 K X X X 0 0 1 1 Q ~Q 1 0 0 1 Instvel Mantm 1 0 0 1 Trocam

Os smbolos que aparecem na coluna do relgio indicam que s com Clk=1 que o flip-flop recebe a informao e as sadas s podem mudar nos flancos descendentes.

Flip-flop JK Edge-triggered
Permite a mudana das entradas em qualquer instante e pode ser construdo, a partir de um Flip-flop D, de acordo com o seguinte esquema:

Devido s portas AND, o estado da entrada J s chega a D, quando Q = 0 e a de ~K s chega quando Q = 1. O seu smbolo o seguinte:

p. 78

Sistemas Digitais

Antes do flanco positivo de Clk, (zonas assinaladas), as entradas so lidas e quando o flanco surge, as sadas mudam:

O circuito integrado 74109 apresenta dois flip-flops edge triggered, com entradas de Preset e de Clear:

Tabela de Verdade ~PRE 0 1 0 1 1 1 1 1 ~CLR 1 0 0 1 1 1 1 1 CLK X X X


J X X X 0 1 0 1 X

K X X X 0 0 1 1 X

Q ~Q 1 0 0 1 Instvel Mantm 1 0 0 1 Trocam Mantm

A partir da Tabela de Verdade seguinte, em que se pressupe o flanco activo do clock, podemos estabelecer as excitaes do Flip-flop: estados de J e de K que levam a cada uma das transies possveis: J 0 0 0 0 1 1 1 1 Vemos que: K 0 0 1 1 0 0 1 1 Qn 0 1 0 1 0 1 0 1 Qn+1 0 1 0 0 1 1 1 0 Qn 0 0 1 1 Qn+1 0 1 0 1 J 0 1 X X K X X 1 0

p. 79

Sistemas Digitais

- Nas transies em que no h mudana de estado, uma das entradas est a 0 quando se pretende que Q permanea a 0, tem de estar J a 0 (se estivesse a 1, Q ficaria a 1) e para Q permanecer a 1, tem de estar K a 0; - Nas transies em que Q muda de estado, uma das entradas tem de estar a 1: para se dar a transio de 0 para 1, J tem de estar a 1 e para a de 1 para 0, K tem de estar a 1. Assim temos o seguinte Diagrama de Estados: em que os quadrados representam os dois estados possveis do flip-flop, e os traos com seta, as transies entre dois estados; junto s setas so indicados os estados das variveis de entrada que levam s respectivas transies:

Flip-flop T
Ligando um flip-flop JK da seguinte forma, obtm-se um flip-flop T (Toggle) que se caracteriza por mudar de estado, nos flancos positivos do relgio, sempre que T = 1; com T = 0, as sadas mantm-se:

p. 80

Sistemas Digitais

Circuitos Sequenciais
Um elemento de memria tem dois estados possveis: Q = 1 e Q = 0. Como vimos, um circuito sequencial constitudo por dois blocos: um combinatrio e um de memria. Vamos ver alguns exemplos de circuitos sequenciais: 1 - Consideremos o seguinte circuito sequencial, com a entrada X e duas sadas Q2 e Q1:

Temos as seguintes equaes das entradas dos flip-flops: J2 = X Q1 K2 = X Q1 J1 = X Q2 K1 = X Q2

Como tem dois flip-flops, o circuito pode apresentar at quatro estados diferentes, referenciados pelos valores de Q2 e Q1: 00, 01, 10 e 11. Podemos estabelecer a seguinte Tabela, chamada Tabela de Transies:
Estado Actual Excitao dos flip-flops Estado seg.

X 0 0 0 0 1 1 1 1

Q2 0 0 1 1 0 0 1 1

Q1 0 1 0 1 0 1 0 1

J2 0 0 0 0 0 1 0 1

K2 0 0 0 0 1 0 1 0

J1 0 0 0 0 1 1 0 0

K1 0 0 0 0 0 0 1 1

Q2 0 0 1 1 0 1 0 1

Q1 0 1 0 1 1 1 0 0

A partir de cada um dos estados actuais possveis, o circuito transita para outro, de acordo com o estado da varivel de entrada, X: por exemplo com Q2=Q1=0, no caso de X=0, o estado mantm-se (1 linha da Tabela) e, no caso de X=1, passa para o estado Q2=0 e Q1=1, (5 linha). Podemos representar a evoluo entre os estados no seguinte diagrama:

p. 81

Sistemas Digitais

2. Consideremos, agora o seguinte circuito:

D1 = X Q2 + X Q1 A tabela de Transies, que d origem ao mesmo diagrama de estados do circuito anterior, :


Est. Act. Excitao Est. Seg.

As equaes de excitao dos flip-flops so:

D2 = X Q1 + X Q2

X 0 0 0 0 1 1 1 1

Q2 0 0 1 1 0 0 1 1

Q1 0 1 0 1 0 1 0 1

D2 0 0 1 1 0 1 0 1

D1 0 1 0 1 1 1 0 0

Q2 0 0 1 1 0 1 0 1

Q1 0 1 0 1 1 1 0 0

3. Finalmente, vejamos o seguinte circuito e respectivas equaes de excitao:

J2 = X K2 = X J1 = Q2 K1 = X Q2 Podemos estabelecer a seguinte Tabela de Transies e o diagrama de estados correspondente:


Est. Act. Excitaes Est. Seg.

X 0 0 0 0 1 1 1 1

Q2 0 0 1 1 0 0 1 1

Q1 0 1 0 1 0 1 0 1

J2 0 0 0 0 1 1 1 1

K2 0 0 0 0 1 1 1 1

J1 0 0 1 1 0 0 1 1

K1 1 1 0 0 0 0 1 1

Q2 0 0 1 1 1 1 0 0

Q1 0 0 1 1 0 1 1 0

p. 82

Você também pode gostar