Apostila Digital 2011

87
ELETRÔNICA DIGITAL Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira Porto Alegre, 2010 Versão 1

Transcript of Apostila Digital 2011

Page 1: Apostila Digital 2011

ELETRÔNICA DIGITAL Eletrônica Digital Combinacional

Prof. Fernando Schuck de Oliveira Porto Alegre, 2010

Versão 1

Page 2: Apostila Digital 2011

I

LISTA DE FIGURAS

Figura 1.1: Onda senoidal....................................................................................................1 Figura 1.2: Sinal digital ........................................................................................................2 Figura 1.3: Exercício 1.1 ......................................................................................................2 Figura 3.1: Porta lógica OR a partir de transistores bipolares ...........................................11 Figura 3.2: Circuito representativo da operação OR..........................................................12 Figura 3.3: Símbolo de uma porta OR de duas entradas ..................................................12 Figura 3.4: Entradas lógicas variando no tempo................................................................13 Figura 3.5: Circuito representativo da operação AND .......................................................14 Figura 3.6: Símbolo de uma porta AND de duas entradas ................................................14 Figura 3.7: Formas de onda para o exercício 2 .................................................................15 Figura 3.8: Circuito representativo da operação NOT .......................................................15 Figura 3.9: Símbolo de um inversor...................................................................................16 Figura 3.10: Símbolo de uma porta NOR de duas entradas..............................................16 Figura 3.11: Porta NOR formada pela combinação de uma OR e um Inversor .................16 Figura 3.12: Símbolo de uma porta NAND de duas entradas............................................17 Figura 3.13: Porta NAND formada pela combinação de uma AND e um Inversor.............17 Figura 4.1: Circuito lógico ..................................................................................................18 Figura 4.2: Circuito lógico exercício resolvido 4.1..............................................................19 Figura 4.3: Circuito lógico exercício resolvido 4.2..............................................................19 Figura 4.4: Circuito lógico ..................................................................................................20 Figura 4.5: Circuito lógico exercício resolvido 4.3..............................................................20 Figura 4.6: Circuito lógico XOR .........................................................................................24 Figura 4.7: Símbolo de uma porta XOR.............................................................................24 Figura 4.8: Circuito lógico XNOR.......................................................................................25 Figura 4.9: Símbolo de uma porta XNOR ..........................................................................25 Figura 4.10: Função habilitar/desabilitar ............................................................................26 Figura 5.1: Inversor a partir de uma porta NAND (1) .........................................................31 Figura 5.2: Inversor a partir de uma porta NAND (2) .........................................................31 Figura 5.3: Inversor a partir de uma porta NOR (1) ...........................................................31 Figura 5.4: Inversor a partir de uma porta NOR (2) ...........................................................32 Figura 5.5: Porta NAND a partir de uma OR e dois inversores..........................................32 Figura 5.6: Porta AND a partir de uma NOR e dois inversores..........................................32 Figura 5.7: Porta NOR a partir de uma AND e dois inversores..........................................33 Figura 5.8: Porta OR a partir de uma NAND e dois inversores..........................................33 Figura 5.9: Circuito XOR utilizando apenas portas NAND (1)............................................33 Figura 5.10: Circuito XOR utilizando apenas portas NAND (2)..........................................34 Figura 6.1: Mapa-K para duas variáveis ............................................................................37 Figura 6.2: Mapa-K para três variáveis ..............................................................................38 Figura 6.3: Mapa-K para quatro variáveis..........................................................................39 Figura 6.4: Agrupamento de pares para mapa-K de 3 e 4 variáveis..................................40 Figura 6.5: Agrupamento de quartetos para mapa-K de 3 e 4 variáveis............................41 Figura 6.5: Agrupamento de octetos para mapa-K de 4 variáveis .....................................42 Figura 6.6: Mapa-K para o exercício resolvido 6.1 ............................................................44 Figura 6.7: Mapa-K para o exercício resolvido 6.2 ............................................................45 Figura 7.1: Níveis lógicos de entrada e as faixas de tensão para CIs TTL........................48 Figura 7.2: Níveis lógicos de entrada e as faixas de tensão para CIs CMOS....................48

Page 3: Apostila Digital 2011

II

Figura 7.3: Chave operando em lógica positiva.................................................................49 Figura 7.4: Chave operando em lógica negativa ...............................................................49 Figura 7.5: Os circuitos das figuras (a) e (b) geram a mesma saída .................................50 Figura 8.1: Diagrama de blocos para implementação de projetos.....................................51 Figura 8.2: Mapa-K para o exemplo 8.1.............................................................................52 Figura 8.3: Exemplo 8.1.....................................................................................................52 Figura 8.4: Exemplo 8.2.....................................................................................................53 Figura 8.5: Mapa-K para o exemplo 8.2.............................................................................53 Figura 8.6: Circuito exemplo 8.2 (1)...................................................................................54 Figura 8.7: Circuito exemplo 8.2 (2)...................................................................................54 Figura 8.8: Circuito exemplo 8.2 (3)...................................................................................54 Figura 8.9: Exemplo 8.3.....................................................................................................55 Figura 8.10: Mapa-K para o exemplo 8.3...........................................................................56 Figura 8.11: Circuito exemplo 8.3 ......................................................................................56 Figura 8.12: Circuito decodificador BCD para decimal ......................................................60 Figura 8.13: Display de 7-seg genérico .............................................................................61 Figura 8.14: Decodificador BCD para display 7-Seg .........................................................61 Figura 8.15: Circuito exercício resolvido 8.3 ......................................................................64 Figura 9.1: Representação de um número binário com sinal positivo ...............................65 Figura 9.2: Representação de um número binário com sinal negativo ..............................66 Figura 9.3: Representação de números com sinal na forma de complemento de 2 ..........67 Figura 9.4: Circulo numérico de quatro bits. ......................................................................73 Figura 10.1: Circuito para um somador completo ..............................................................75 Figura 10.2: Representação em bloco para um somador completo .................................75 Figura 10.3: Circuito para um meio somador.....................................................................76 Figura 10.4: Representação em bloco para um meio somador .........................................76 Figura 10.5: Somador completo a partir de meio somador................................................77 Figura 10.6: Processo típico de soma binária....................................................................77 Figura 10.7: Somador binário paralelo de cinco bits..........................................................78 Figura 10.8: Representação em bloco do CI 4008 ............................................................79 Figura 10.9: Conexão em cascata de dois 4008................................................................79 Figura 10.10: Distribuição de pinos do CI 4008 .................................................................79 Figura 10.11: CI 4008 como subtrator ...............................................................................81 Figura 10.12: Somador/subtrator paralelo (sistema de complemento de 2) ......................81

Page 4: Apostila Digital 2011

III

SUMÁRIO

1 INTRODUÇÃO 1

1.1 REPRESENTAÇÕES ANALÓGICAS 1 1.2 REPRESENTAÇÕES DIGITAIS 1

2 SISTEMAS DE NUMERAÇÃO 3

2.1 SISTEMA DECIMAL DE NUMERAÇÃO 3 2.2 SISTEMA BINÁRIO DE NUMERAÇÃO 4 2.3 SISTEMA HEXADECIMAL DE NUMERAÇÃO 5 2.4 CONVERSÃO DO SISTEMA BINÁRIO PARA O SISTEMA DECIMAL 6 2.5 CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA BINÁRIO 6 2.6 CONVERSÃO DO SISTEMA HEXADECIMAL PARA O SISTEMA DECIMAL 7 2.7 CONVERSÃO DO SISTEMA DECIMAL PARA O SISTEMA HEXADECIMAL 7 2.8 CONVERSÃO DO SISTEMA HEXADECIMAL PARA O SISTEMA BINÁRIO 8 2.9 CONVERSÃO DO SISTEMA BINÁRIO PARA O SISTEMA HEXADECIMAL 9 2.10 NIBBLES, BYTES E PALAVRAS 9

3 OPERAÇÕES LÓGICAS E PORTAS LÓGICAS 10

3.1 DEFINIÇÕES PRELIMINARES 10 3.1.1 Operações Lógicas 10 3.1.2 Portas Lógicas 10 3.1.3 Tabela Verdade 11 3.2 OPERAÇÃO OR E PORTA OR 11 3.2.1 Resumo da Operação OR 13 3.3 OPERAÇÃO AND E PORTA AND 13 3.3.1 Resumo da Operação AND 14 3.4 OPERAÇÃO NOT E INVERSOR 15 3.5 OPERAÇÃO NOR E PORTA NOR 16 3.6 OPERAÇÃO NAND E PORTA NAND 16

4 DESCRIÇÃO E ANÁLISE DE CIRCUITOS LÓGICOS 18

4.1 PRECEDÊNCIA DE OPERADOR 18 4.2 EXPRESSÕES BOOLEANAS OBTIDAS DE CIRCUITOS LÓGICOS 18 4.3 CIRCUITOS LÓGICOS OBTIDOS DE EXPRESSÕES BOOLEANAS 19 4.4 TABELAS VERDADE OBTIDAS DE EXPRESSÕES BOOLEANAS 20 4.5 EXPRESSÕES BOOLEANAS OBTIDAS DE TABELAS VERDADE 22 4.6 BLOCO LÓGICO XOR 23 4.7 BLOCO LÓGICO XNOR 24 4.8 CIRCUITOS PARA HABILITAR / DESABILITAR 25

Page 5: Apostila Digital 2011

IV

5 ÁLGEBRA DE BOOLE 27

5.1 POSTULADOS DA ÁLGEBRA DE BOOLE 27 5.1.1 Postulado da Complementação 27 5.1.2 Postulado da Adição 27 5.1.3 Postulado da Multiplicação 27 5.2 PROPRIEDADES DA ÁLGEBRA DE BOOLE 28 5.2.1 Propriedade Comutativa 28 5.2.2 Propriedade Associativa 28 5.2.3 Propriedade Distributiva 28 5.3 TEOREMAS DE DE MORGAN 29 5.3.1 Primeiro Teorema de De Morgan 29 5.3.2 Segundo Teorema de De Morgan 29 5.4 IDENTIDADES AUXILIARES 29 5.4.1 Identidade Auxiliar 1 29 5.4.2 Identidade Auxiliar 2 30 5.4.3 Identidade Auxiliar 3 30 5.4.4 Identidade Auxiliar 4 30 5.5 EQUIVALÊNCIA DE BLOCOS LÓGICOS 30 5.5.1 Inversor a Partir de Uma Porta NAND 31 5.5.2 Inversor a Partir de Uma Porta NOR 31 5.5.3 Portas NAND e AND a Partir de Portas OR e NOR e Inversores 32 5.5.4 Portas NOR e OR a Partir de Portas AND e NAND e Inversores 32

6 SIMPLIFICAÇÃO DE EXPRESSÕES BOOLEANAS 35

6.1 SIMPLIFICAÇÃO ALGÉBRICA 35 6.2 MAPA DE KARNAUGH 37 6.2.1 Mapa-K para 2 Variáveis 37 6.2.2 Mapa-K para 3 Variáveis 38 6.2.3 Mapa-K para 4 Variáveis 38 6.3 SIMPLIFICAÇÃO PELO MAPA DE KARNAUGH 39 6.3.1 Agrupamento de 2 Quadros (pares) 39 6.3.2 Agrupamento de 4 Quadros (quartetos) 41 6.3.3 Agrupamento de 8 Quadros (octetos) 42 6.3.4 Hierarquia de Agrupamentos 42 6.4 CONDIÇÕES DE IRRELEVÂNCIA (DON’T-CARE) 43 6.5 AGRUPAMENTO DE ZEROS 44

7 CARACTERÍSTICAS BÁSICAS DE CIS DIGITAIS 46

7.1 FAMÍLIA TTL 46 7.2 FAMÍLIA CMOS 47 7.3 ALIMENTAÇÃO E TERRA 47 7.4 FAIXAS DE TENSÃO PARA OS NÍVEIS LÓGICOS 47 7.5 ENTRADAS NÃO-CONECTADAS 48 7.6 LÓGICA POSITIVA E LÓGICA NEGATIVA 49

Page 6: Apostila Digital 2011

V

8 PROJETO DE CIRCUITOS COMBINACIONAIS 51

8.1 CÓDIGOS 56 8.1.1 Decimal Codificado em Binário 57 8.1.2 Código Gray 57 8.1.3 Relações entre as Representações Numéricas 58 8.2 DECODIFICADORES 59 8.3 DECODIFICADOR BCD PARA DISPLAY DE 7 SEGMENTOS 61 8.4 CODIFICADORES 64

9 OPERAÇÕES COM NÚMEROS BINÁRIOS 65

9.1 ADIÇÃO BINÁRIA 65 9.2 REPRESENTAÇÃO DE NÚMEROS COM SINAL 65 9.2.1 Números Binários na Forma de Complemento de 1 66 9.2.2 Números Binários na Forma de Complemento de 2 66 9.2.3 Representação de Números com Sinal Usando Complemento de 2 66 9.2.4 Negação 68 9.2.5 Caso Especial na Representação de Complemento de 2 68 9.3 ADIÇÃO NO SISTEMA DE COMPLEMENTO DE 2 70 9.4 SUBTRAÇÃO NO SISTEMA DE COMPLEMENTO DE 2 71 9.5 OVERFLOW ARITMÉTICO 72 9.5.1 Círculos de Números e Aritmética Binária 72

10 CIRCUITOS ARITMÉTICOS 74

10.1 PROJETO DE UM SOMADOR COMPLETO 74 10.1.1 Meio Somador 75 10.1.2 Somador Completo a Partir de Meio Somador 77 10.2 SOMADOR BINÁRIO PARALELO 77 10.3 SOMADOR PARALELO EM CIRCUITO INTEGRADO 78 10.4 USO DE SOMADORES PARALELOS NO SISTEMA DE COMPLEMENTO DE 2 80 10.4.1 Adição 80 10.4.2 Subtração 80 10.4.3 Adição e Subtração Combinadas 81

Page 7: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

1

1 INTRODUÇÃO

O termo digital é, hoje em dia, amplamente usado devido, em grande parte, pela larga utilização de circuitos eletrônicos digitais no nosso cotidiano. A exemplo disso, podemos citar os relógios digitais, telefones celulares, calculadoras digitais, transmissão digital de sinais entre outros. Mas o que vem a ser um circuito digital? Melhor ainda, do que trata a eletrônica digital? Que diferença há entre eletrônica digital e eletrônica analógica? Estas e outras perguntas serão respondidas ao longo do estudo do presente texto.

1.1 Representações Analógicas

No nosso dia-a-dia estamos sempre representando quantidades que são medidas, monitoradas, armazenadas, manipuladas, observadas ou utilizadas em algum sistema real. Existem duas formas de representação dos valores das quantidades: a representação analógica e a representação digital.

A representação analógica de quantidades se caracteriza pela continuidade, ou seja, por representar de forma proporcional e contínua a quantidade que está variando, por exemplo, o marcador de velocidades de um automóvel ou um termômetro de mercúrio. Nesses dois exemplos, a velocidade e a temperatura (quantidades físicas) estão sendo coletadas e representadas por indicadores mecânicos. Nos sistemas analógicos elétricos as quantidades físicas são associadas a uma corrente ou a uma tensão elétrica. Na figura 1.1 temos um exemplo de sinal analógico.

Figura 1.1: Onda senoidal

O que se observa na onda senoidal da figura 1.1 é que os valores de tensão variam

continuamente no transcorrer do tempo e é essa a característica principal de um sinal analógico.

1.2 Representações Digitais

Na representação digital as quantidades não variam de forma proporcional, mas de forma discreta. Um relógio digital apresenta a hora do dia através de dígitos decimais que representam as horas e os minutos. Como sabemos, o tempo varia de modo continuo, entretanto em um relógio digital ele varia em saltos de um por minuto. Podemos traçar um comparativo entre quantidade analógicas e digitais da seguinte forma:

Analógica → contínua

Page 8: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

2

Digital → discreta (passo a passo)

A leitura de uma quantidade analógica admite, muitas vezes, uma interpretação livre e a leitura de uma quantidade digital não, devida a sua natureza discreta. De certa forma, podemos dizer, usando uma expressão popular, que uma leitura digital é oito ou oitenta, na verdade, zero ou um, na lógica binária. Na leitura de uma quantidade analógica sempre arredondamos valores, na digital não há como fazer isso. Por exemplo, um termômetro de mercúrio mostra uma leitura de temperatura que se encontra ente 36,5 °C e 37°, desta forma a temperatura pode ser 36,6°C,ou 36,7°C, ou 36,8°C, ou 36,9°C, ou 37°C. Entretanto num termômetro com mostrador digital, ao mostrar a leitura 36,5°C ele esta afirmando que a temperatura é essa que está sendo exibida pelo mostrador, não admite falsas interpretações, pois sua precisão já foi definida na sua construção.

Um exemplo de sinal digital pode ser visto na figura 1.2.

Figura 1.2: Sinal digital

Observe na figura 1.2 que um sinal digital não tem valores negativos e passa de

zero para o limite superior sem passar por quaisquer outros valores de tensão, garantido que os valores variam de forma discreta (i.é. aos saltos).

Exercício 1.1: O sinal abaixo é um sinal digital ou um sinal analógico. Justifique sua resposta.

Figura 1.3: Exercício 1.1

Page 9: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

3

2 SISTEMAS DE NUMERAÇÃO

Para representar as quantidades físicas se utilizam números, entretanto estes números devem fazer algum sentido, pois um mesmo número pode representar quantidades (valores) diferentes caso seja utilizados em sistemas distintos. O que distingui um sistema do outro é a base numérica na qual ele foi construído. A base representa também o número de algarismos necessários para representar qualquer valor no sistema. Existem diversos sistemas numéricos, entres os quais destacamos, por serem de interesse em sistemas digitais, o sistema decimal, o sistema binário e o sistema hexadecimal.

2.1 Sistema Decimal de Numeração

O sistema decimal é natural para nós, pois é o que utilizamos diariamente. Ele é composto por dez algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 & 9. Como a base do sistema deve corresponder ao número de algarismos que o compõe, tem-se no sistema decimal a base 10. Os algarismos usados como dígitos de um número podem representar qualquer quantidade.

O sistema decimal é um sistema de valor posicional, ou seja, o valor de cada dígito depende da sua posição no número. Por exemplo, para representarmos o ano em que o homem pisou na lua usamos o número 1969. Sabemos que o dígito 1 representa 1 milhar, o dígito 9 representa 9 centenas, o dígito 6 representa 6 dezenas e o número 9 representa 9 unidades, respectivamente. Portanto cada dígito do exemplo tem um peso (valor posicional) e esses pesos são dados por potências de 10, pois estamos tratando de um sistema de base 10.

O sistema decimal tem a seguinte regra de formação, apresentada através dos exemplos abaixo:

Exemplo 2.1: Regra de formação do número 325

102 101 100 ⇐

Valores posicionais

� � �

3 2 5 ⇐

Dígitos

Na verdade temos o seguinte:

3 x 102 + 2 x 101 + 5 x 100 = 3 x 100 + 2 x 10 + 5 x 1

que resulta em :

3 0 0

+ 2 0

+ 5

3 2 5

Exemplo 2.2: Regra de formação do número 27,536

Page 10: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

4

101 100 10-1 10-2 10-3 ⇐

Valores posicionais

� � � � �

2 7 , 5 3 6 ⇐

Dígitos

Desta forma temos o seguinte:

2 x 101 + 7 x 100 + 5 x 10-1 + 3 x 10-2 + 6 x 10-3 = 2 x 10 + 7 x 1 + 5 x 0,1 + 3 x 0,01 + + 6 x 0,001

que resulta em:

2 0 , 0

+ 7 , 0

+ 0 , 5

+ 0 , 0 3

+ 0 , 0 0 6

2 7 , 5 3 6 No exemplo 2.1 o dígito 3 (o digito mais à esquerda do número) tem maior peso,

este dígito é denominado de dígito mais significativo (most significant digit – MSD). O dígito 5 (dígito mais à direita do número) é o de menor peso, sendo denominado de dígito menos significativo (least significant digit – LSD). No exemplo 2.2 o dígito 2 é o MSD e o dígito 6 é o LSD.

2.2 Sistema Binário de Numeração

Sistemas digitais trabalham apenas com dois estados: ligado ou desligado, portanto é interessante usar um sistema de numeração que possui apenas dois algarismos para representar as quantidades. O sistema decimal, como vimos, possui dez algarismos e isso implicaria em projetar um sistema digital com dez níveis de tensão, o que não é nada conveniente além de trazer grande complexidade ao sistema e uma baixa estabilidade. O sistema de numeração utilizado pelos sistemas digitais é o sistema binário composto apenas de dois algarismos: 0 & 1. O sistema binário também é um sistema de valor posicional o qual é dado por potências de base 2 que é a base deste sistema. Este sistema pode representar qualquer quantidade que possa ser representada no sistema decimal ou em qualquer outro sistema.

Vejamos a regra de formação de um número binário através dos exemplos abaixo:

Exemplo 2.3: Regra de formação do número 1101 (binário)

23 22 21 20 ⇐

Valores posicionais

� � � �

1 1 0 1 ⇐

Dígitos

Realizando a operação abaixo, na verdade estamos encontrando o correspondente decimal do número binário 1101:

1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 1 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 8 + 4 + 1 = 13

Page 11: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

5

O número 13 encontrado está na base 10, portanto é um número decimal.

Exemplo 2.4: Regra de formação do número 11 (binário)

21 20 ⇐

Valores posicionais

� �

1 1 ⇐

Dígitos

Assim temos a seguinte operação:

1 x 21 + 1 x 20 = 1 x 2 + 1 x 1 = 2 + 1 = 3 (decimal)

Para evitar-se confusões quando se trabalha com mais de um sistema numérico, utiliza-se como subscrito a base na qual o número está expresso, ou seja, ao se escrever número na forma 11110 significa, nesta convenção, que o número esta no sistema decimal, mas se escrever o número nesta outra forma 1112 significa que o número está expresso no sistema binário. Os dígitos binários (binary digit) são abreviados com o uso do termo bit. O bit mais à esquerda, por ter maior peso, é chamado de bit mais significativo (most significant bit – MSB) e o bit mais à direita é chamado de bit menos significativo (least significant bit – LSB).

No sistema binário usando-se N bits podemos contar 2N números. Por exemplo, com 3 bits podemos contar 23 = 8 contagens (ou casos), assim temos os números binários 0002, 0012, 0102, 0112, 1002, 1012, 1102, 1112. A última contagem sempre terá todos os bits em 1, resultando num número decimal igual a 2N – 1. Por exemplo, com 5 bits, a última contagem é 111112 = 2

4 – 1 = 3110. Todo o sistema digital opera diretamente numa lógica binária, pois assim são

necessários apenas dois níveis de tensão.

2.3 Sistema Hexadecimal de Numeração

O sistema hexadecimal de numeração, assim como os sistemas decimal e binário, também é um sistema de valor posicional, o qual é dado por potências de base 16, necessitando, então, este sistema 16 algarismos distintos para representa-lo. São eles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E & F. Os algarismos hexadecimais de 0 a 9 são correspondentes diretos dos algarismos decimais de 0 a 9, ou seja, representam a mesma quantidade. Para os algarismos A, B, C, D, E & F segue a tabela abaixo:

Hexadecimal Decimal

A � 10

B � 11

C � 12

D � 13

E � 14

F � 15

A regra de formação do sistema hexadecimal segue o mesmo procedimento dos

sistemas anteriores. Vejamos como funciona através dos exemplos abaixo:

Page 12: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

6

Exemplo 2.5: Regra de formação do número 12316

162 161 160 ⇐

Valores posicionais

� � �

1 2 3 ⇐

Dígitos

Assim temos a seguinte operação:

1 x 162 + 2 x 161 + 3 x 160 = 1 x 256 + 2 x 16 + 3 x 1 = 256 + 32 + 3 = 29110

Como observado, resolvendo a operação acima se chega ao equivalente decimal do número hexadecimal dado.

Exemplo 2.6: Regra de formação do número AF16

161 160 ⇐

Valores posicionais

� �

A F ⇐

Dígitos

Segue que:

A x 161 + F x 160 = 10 x 16 + 15 x 1 = 160 + 15 = 17510

Embora sistemas digitais trabalhem somente com números binários, o sistema hexadecimal é muito vantajoso no sentido de ser uma representação mais compacta em comparação com a binária. Para ilustrar a vantagem deste sistema imagine que você receba uma lista de mapeamento de memória com 64 posições de 16 bits e você tenha que conferir cada posição. Você prefere um número binário com 16 bits do tipo 1110111011111111 ou um número hexadecimal de 4 dígitos do tipo EEFF? Se você for sensato escolherá a segunda opção, visto que estará menos sujeito a cometer erros de leitura. É importante que se tenha em mente que sistemas digitais trabalham com binários, o uso do sistema hexadecimal é apenas uma conveniência.

2.4 Conversão do Sistema Binário para o Sistema Decimal

Para converter um número binário no seu equivalente decimal, basta seguir o procedimento explicado na seção 2.2. Veja abaixo um exemplo:

Exemplo 2.7: Converta o numero binário 110011 em decimal – 1100112 → decimal

1 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 32 + 16 + 2 + 1 = 5110

Portanto 1100112 = 5110

2.5 Conversão do Sistema Decimal para o Sistema Binário

Para converter um número decimal no seu equivalente binário o método mais conveniente é o método das divisões sucessivas. Este método consiste em efetuar sucessivas divisões pela base a ser convertida (2 caso do sistema binário) até o último

Page 13: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

7

quociente possível. O número binário obtido será composto pelo o último quociente, o MSB, e pelos restos sucessivos tomados na ordem inversa, sendo o primeiro resto o LSB. Veja os exemplos abaixo:

Exemplo 2.8: Converta o número decimal 47 em binário – 4710 → binário

47 2

1° resto – LSB � 1 23 2

2° resto � 1 11 2

3° resto � 1 5 2

4° resto � 1 2 2

5° resto � 0 1

último quociente – MSB

Portanto 4710 = 1011112.

Exemplo 2.9: Converta o número decimal 36 em binário – 3610 → binário

36 2

1° resto – LSB � 0 18 2

2° resto � 0 9 2

3° resto � 1 4 2

4° resto � 0 2 2

5° resto � 0 1

último quociente – MSB

Portanto 3610 = 1001002.

2.6 Conversão do Sistema Hexadecimal para o Sistema Decimal

Para a conversão de um número hexadecimal no seu equivalente decimal, basta seguir o procedimento explicado na seção 2.3. Veja o exemplo abaixo:

Exemplo 2.10: Converta o número hexadecimal 3F em decimal – 3F16 → decimal

3 x 161 + F x 160 = 3 x 16 + 15 x 1 = 6310

Portanto 3F16 = 6310.

2.7 Conversão do Sistema Decimal para o Sistema Hexadecimal

A conversão de um número decimal no seu correspondente hexadecimal, assim como na conversão para binário, também é utilizado o método das divisões sucessivas, porém a divisão é por 16 em vez de 2. Veja o exemplo abaixo:

Exemplo 2.11: Converta o número decimal 1000 em hexadecimal

Page 14: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

8

1000 16

1° resto – LSD � 8 62 16

2° resto � 14 3 último quociente – MSD

Portanto 100010 = 3E816, pois 1410 = E16.

2.8 Conversão do Sistema Hexadecimal para o Sistema Binário

A regra consiste em transformar cada dígito hexadecimal no equivalente binário de 4 bits. Para isso é interessante memorizar a tabela abaixo:

Decimal Binário Hexadecimal

0 0000 0

1 0001 1

2 0010 2

3 0011 3

4 0100 4

5 0101 5

6 0110 6

7 0111 7

8 1000 8

9 1001 9

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

Observe os exemplos abaixo:

Exemplo 2.12: Converta o número 9F2 hexadecimal em binário – 9F216 → binário

9 F 2

� � �

1001 1111 0010

Portanto 9F216 = 1001111100102.

Exemplo 2.13: Converta o número C13 hexadecimal em binário – C1316 → binário

C 1 3

� � �

1100 0001 0011

Page 15: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

9

Portanto C1316 = 1100000100112.

2.9 Conversão do Sistema Binário para o Sistema Hexadecimal

A conversão de um número binário em um hexadecimal é bastante simples, na verdade consiste em fazer o inverso do processo anterior, ou seja, basta dispor o número binário em grupos de quatro bits, da direita para a esquerda, convertendo cada grupo no dígito hexadecimal equivalente. Caso o último grupo apresente falta de bits, este deve ser completado com zeros à esquerda até formar um grupo de quatro bits. Observe os exemplos abaixo:

Exemplo 2.14: Converta o número binário 10011000 em hexadecimal

1001 1000

� �

9 8

Portanto 100110002 = 9816.

Exemplo 2.15: Converta o número binário 1110100110 em hexadecimal

0011 1010 0110

� � �

3 A 6

Portanto 11101001102 = 3A616. Note que foram acrescentados dois zeros à esquerda do grupo de bits mais à esquerda (bits grifados em negrito).

2.10 Nibbles, Bytes e Palavras

Como vimos nas conversões binário ↔ hexadecimal os números binários eram agrupados em grupos de quatro bits, esses grupos são denominados de nibbles. Como a maioria dos sistemas digitais manipula e armazena informações e dados binários em grupos de oito bits, foi dado um nome especial a estes grupos – o byte. Entretanto sistemas digitais mais sofisticados tem a capacidade de lidar com dados binários maiores. Enquanto alguns equipamentos digitais tem capacidade de lidar com apenas um byte de cada vez, outros lidam com um conjunto de oito bytes. Portanto a palavra (Word) do primeiro equipamento é de um byte e a do outro é de oito bytes. O tamanho de palavra pode ser definido como numero de bits da palavra binária, então para os equipamentos citados temos oito bits para o primeiro e sessenta e quatro bits para o segundo.

Page 16: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

10

3 OPERAÇÕES LÓGICAS E PORTAS LÓGICAS

Em lógica existem apenas duas condições possíveis para qualquer entrada ou saída: verdadeira ou falsa. Na verdade qualquer par de opostos serve para designar uma relação lógica: sim ou não, positivo ou negativo, preto ou branco, alto ou baixo, etc. Pelo fato do sistema binário de numeração apresentar apenas dois dígitos, 1 e 0, este sistema, por razões óbvias, é adotado para representar relações lógicas em circuitos digitais. Estes circuitos usam faixas de tensões predeterminadas para representar os estados binários. Para descrever as relações entre as saídas e as entradas de um circuito lógico utilizam-se as expressões lógicas. A expressões lógicas derivam-se do trabalho publicado em 1854 pelo matemático inglês George Boole (1815 – 1964) intitulado de Uma Investigação das Leis do Pensamento onde ele apresentou um sistema matemático de análise lógica conhecido como a Álgebra de Boole. Em 1938, o engenheiro americano Claude Elwood Shannon (1916 – 2001) utilizou as teorias da álgebra de Boole para solução de problemas de circuitos de telefonia com relés introduzindo assim a eletrônica digital no cenário tecnológico. Shannon é mundialmente conhecido como inventor, além da eletrônica digital, da teoria da informação, também chamada de teoria matemática da comunicação.

A eletrônica digital tem por base um pequeno grupo de circuitos conhecidos como portas lógicas, que utilizadas de maneira conveniente, podemos implementar as expressões geradas pela álgebra de Boole.

3.1 Definições Preliminares

3.1.1 Operações Lógicas

As operações lógicas derivam da álgebra de Boole, sendo as variáveis envolvidas denominadas de booleanas. Uma variável booleana é uma quantidade que pode ser, em diferentes momentos, igual a 0 ou 1. As variáveis booleanas são usadas para representar o nível de tensão presente em uma conexão de entrada ou saída de um circuito. Circuitos digitais da série TTL, tipicamente, utilizam para representar o valor booleano 0 uma faixa de tensão de 0 a 0,8V, enquanto o valor booleano 1 uma faixa de tensão de 2 a 5V.1

As variáveis booleanas não representam um número, mas o estado do nível de tensão de uma variável – nível lógico. A álgebra booleana é um modo de expressar a relação entre as entradas e saídas de um circuito lógico (circuito digital), sendo mais fácil de ser manipulada em comparação como a álgebra convencional, pois só existem dois valores possíveis para as variáveis – 0 ou 1. A álgebra booleana tem apenas três operações básicas, chamadas de operações lógicas: OR (OU), AND (E) e NOT (NÃO).

3.1.2 Portas Lógicas

Circuitos digitais, denominados de portas lógicas, são circuitos construídos a partir de diodos, transistores e resistores interconectados de modo que a saída seja o resultado de uma operação lógica realizada sobre as entradas. Portanto teremos portas lógicas para as operações OR, AND, NOT e ainda para outras derivadas.

1 Tensões entre 0,8V e 2V são indefinidas, ou seja, nem 0 nem 1.

Page 17: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

11

Figura 3.1: Porta lógica OR a partir de transistores bipolares

3.1.3 Tabela Verdade

A tabela verdade é um mapa onde se descreve as saídas de um circuito lógico em função dos níveis lógicos de entrada deste circuito lógico. Em resumo pode se dizer que a tabela verdade é o mapeamento das possíveis situações de entrada com seus respectivos resultados.

3.2 Operação OR e Porta OR

A operação OR é aquela que assume o valor 1 sempre que uma ou mais variáveis de entrada estiverem no nível lógico 1 e assume o valor 0 se, e somente se, todas as variáveis de entrada estiverem no nível lógico 0. A representação algébrica (expressão booleana) da operação OR para 2 variáveis é

S = A + B

Nessa expressão o sinal “+” não representa a adição convencional, ele representa a operação OR, onde se lê S é igual a A OR B. Num primeiro momento parecerá estranho que para o caso de A = B = 1 a soma A + B será igual a 1, mas como veremos mais adiante essa operação trata-se de uma soma booleana derivada do postulado da adição da álgebra de Boole. Um exemplo dessa operação seria a de acionar a lâmpada interna de um automóvel: a lâmpada deve acender se a porta do automóvel for aberta OU (OR) se o interruptor interno for acionado, assim a variável A pode ser usada para representar a porta aberta e a variável B para representar o interruptor interno.

Para um melhor entendimento da operação OR é apresentado o circuito representativo na figura 3.2 seguido de algumas convenções.

Page 18: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

12

Convenções:

Chave aberta � Nível lógico 0

Chave fechada � Nível lógico 1

LED apagado � Nível lógico 0

LED aceso � Nível lógico 1

Figura 3.2: Circuito representativo da operação OR

Numa analise resumida do circuito acima se conclui que o LED acenderá quando

uma ou ambas as chaves estiverem fechadas, ou seja, quando uma ou ambas as chaves estiverem no nível lógico 1, conforme a convenção estabelecida.

Para definirmos melhor a operação OR, usamos a sua tabela verdade onde teremos todas as situações possíveis de entrada e os respectivos valores que assume a saída. Abaixo temos a tabela verdade da função OR para 2 variáveis (para mais de duas variáveis basta aumentar o número de linhas conforme a expressão 2N onde N é o número de variáveis de entrada).

A B S 0 0 0 0 1 1 1 0 1 1 1 1

O circuito que executa a tabela verdade da operação OR é a porta OR. A porta OR

é um circuito que tem duas ou mais entradas e cuja saída é igual a combinação dessas entradas por meio da operação OR. A figura 3.3 mostra o símbolo lógico para uma porta OR de duas entradas.

Figura 3.3: Símbolo de uma porta OR de duas entradas

As entradas de uma porta lógica podem ser formas de onda, ou seja, os níveis

lógicos variam com o tempo. Quando os níveis lógicos das entradas variam com o tempo, a saída também será uma forma de onda, constituída pela combinação dos níveis da entrada a cada instante, conforme exemplificado na figura 3.4.

Page 19: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

13

Figura 3.4: Entradas lógicas variando no tempo

Para análise de circuitos desse tipo é necessário tomar intervalos de tempo onde

hajam mudança nos estados lógicos das variáveis. No intervalo de tempo entre t0 e t1 as duas variáveis estão no nível lógico 0 portanto a saída permanece no nível lógico 0, entretanto no instante t1 a variável A passa para o nível lógico 1 enquanto que a variável B permanece em 0. Efetuando a operação OR neste instante obtém-se o nível lógico 1 para a saída. Este estado permanece até o instante t4 quando tanto a variável A, como a variável B, estão no nível 0. Entretanto no instante t5 a variável A passa para o nível lógico 1 e a variável B permanece no nível lógico 0, assim a saída assume o nível lógico 1 e assim permanece o restante do tempo mostrado.

3.2.1 Resumo da Operação OR

• A operação OR gera um resultado (saída) 1 sempre que quaisquer das entradas forem 1. Caso contrário, a saída é 0.

• Uma porta OR é um circuito lógico que realiza uma operação OR sobre as entradas do circuito.

• A expressão S = A + B é lida assim: “S é igual a A OR B”.

Exercício 3.1: Construa a tabela verdade da operação OR de 4 variáveis e desenhe sua porta lógica.

3.3 Operação AND e Porta AND

A operação AND é aquela que executa a multiplicação de duas ou mais variáveis booleanas. Uma operação AND somente vai gerar uma saída em nível lógico 1 se, e somente se, todas as variáveis de entrada estiverem em 1. Para qualquer outro caso em que uma das entradas for 0, a saída será 0. A expressão booleana da operação AND para duas variáveis é

S = A ⋅ B

Nessa expressão, o sinal (⋅⋅⋅⋅) representa a operação booleana AND e não a operação de multiplicação. Entretanto a operação AND sobre variáveis booleanas equivale à multiplicação convencional. A expressão acima é lida como: “S é igual a A AND B”. Para entendermos melhor a operação AND utilizaremos o circuito da figura 3.5.

Page 20: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

14

Convenções:

Chave aberta � Nível lógico 0

Chave fechada � Nível lógico 1

LED apagado � Nível lógico 0

LED aceso � Nível lógico 1

Figura 3.5: Circuito representativo da operação AND

Analisando rapidamente o circuito acima, verifica-se que o LED só ascenderá se

ambas as chaves estiverem fechadas, qualquer outra combinação resultará no LED apagado.

Abaixo é apresentada a tabela verdade da operação AND para 2 variáveis.

A B S 0 0 0 0 1 0 1 0 0 1 1 1

O circuito que executa a tabela verdade da operação AND é a porta AND. Este

circuito lógico executa a operação AND para duas ou mais entradas. A figura 3.6 mostra o símbolo lógico para uma porta AND de duas entradas.

Figura 3.6: Símbolo de uma porta AND de duas entradas

3.3.1 Resumo da Operação AND

• A operação AND é realizada da mesma maneira que a multiplicação convencional de 1s e 0s.

• Uma porta AND é um circuito lógico que realiza uma operação AND sobre as entradas do circuito.

• A saída de uma porta AND será 1 somente quando todas as entradas forem 1, para todos os outros casos, a saída será 0.

• A expressão S = A ⋅ B é lida como “S é igual a A AND B”.

Exercício 3.2: Determine a forma de onda de saída de uma porta AND de duas entradas cujas formas de onda estão na figura 3.7.

Page 21: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

15

Figura 3.7: Formas de onda para o exercício 2

3.4 Operação NOT e Inversor

A operação NOT é aquela que inverte completamente o estado de uma variável, ou seja, se uma variável A é igual a 1, após uma operação NOT esta variável será 0. A operação NOT é a única que pode ser realizada sobre apenas uma variável. A operação NOT é representada pela expressão abaixo.

AS =

A barra sobre o nome da variável representa a operação de inversão. Está expressão é lida como “S é igual a A negado”, ou “S é igual ao inverso de A”, ou “S é igual ao complemento de A”.

Uma outra forma para a expressão da operação NOT é a que em vez de usar uma barra sobre a variável, utiliza um apóstrofo (‘).

'AS =

Ambos são usados como indicadores de operação de inversão. O circuito representativo para operação NOT está apresentado na figura 3.8, sua

análise nos traz uma melhor compreensão sobre esta operação.

Convenções:

Chave aberta � Nível lógico 0

Chave fechada � Nível lógico 1

LED apagado � Nível lógico 0

LED aceso � Nível lógico 1

Figura 3.8: Circuito representativo da operação NOT

No circuito sempre que a chave for fechada (nível lógico 1) o LED se apagará (nível

lógico 0), isto é exatamente o que a operação NOT realiza sobre uma variável. O que antes era 0, após a operação passa a ser 1 e vice-versa.

A tabela verdade para a operação NOT está representada abaixo.

A S 0 1 1 0

O circuito lógico que realiza a operação NOT é o inversor, cujo seu símbolo está

representado na figura 3.9.

Page 22: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

16

Figura 3.9: Símbolo de um inversor

3.5 Operação NOR e Porta NOR

A operação NOR é a composição da operação OR com a operação NOT, ou seja, é a operação OR com a saída invertida. Para esta operação temos a seguinte expressão.

BAS +=

Abaixo temos a tabela verdade para a operação NOR.

A B S 0 0 1 0 1 0 1 0 0 1 1 0

Na figura 3.10 temos a porta lógica que executa a função NOR para 2 variáveis.

Figura 3.10: Símbolo de uma porta NOR de duas entradas

Podemos formar, a partir da definição da operação NOR, uma porta NOR utilizando

uma porta OR e um inversor conectado a sua saída conforme visto na figura 3.11.

Figura 3.11: Porta NOR formada pela combinação de uma OR e um Inversor

3.6 Operação NAND e Porta NAND

A operação NAND é a composição da operação AND com a operação NOT, ou seja, é a operação AND com a saída invertida. Para esta operação temos a seguinte expressão.

BAS ⋅=

A tabela para a função NAND é apresentada abaixo.

Page 23: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

17

A B S 0 0 1 0 1 1 1 0 1 1 1 0

Na figura 3.12 temos a porta lógica da operação NAND.

Figura 3.12: Símbolo de uma porta NAND de duas entradas

Por definição podemos formar uma porta NAND a partir de uma AND com um

inversor conectado a sua saída, conforme visto na figura 3.13.

Figura 3.13: Porta NAND formada pela combinação de uma AND e um Inversor

Exercício 3.3: Esquematize os circuitos representativos das funções NOR e NAND.

Page 24: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

18

4 DESCRIÇÃO E ANÁLISE DE CIRCUITOS LÓGICOS

Qualquer circuito lógico, independentemente de sua complexidade, pode ser descrito usando apenas as três operações booleanas básicas, pois as operações OR, AND e NOT são blocos fundamentais dos sistemas digitais. Entretanto fazemos uso, também, das operações NOR e NAND para descrever os circuitos digitais.

4.1 Precedência de Operador

A expressão que descreve um circuito pode apresentar todas as operações lógicas, então como interpretar uma expressão S = A ⋅ B + C? Podemos interpretar de duas formas: (1) Uma operação AND de A com a soma lógica B + C. (2) Uma operação OR de A ⋅ B com C. Para evitar esta confusão, sempre que tiver uma expressão contendo as operações AND e OR, a operação AND tem prioridade a menos que existam parênteses na expressão. Nas expressões NOR e NAND esta confusão desaparece naturalmente, pois a barra de negação coloca em evidência qual a operação deve ser realizada primeiro. Uma dica que sempre ajuda é a de colocar entre parênteses as operações AND, NAND e NOR.

4.2 Expressões Booleanas Obtidas de Circuitos Lógicos

Como todo circuito lógico executa uma expressão booleana, então a partir de um circuito podemos obter a expressão que ele executa. Tal procedimento é explicado através do circuito abaixo.

Figura 4.1: Circuito lógico

No circuito da figura 3.13 a saída S1 é o produto A ⋅ B pois se trata de uma porta

AND. Como S1 está ligada a uma das entradas de uma porta OR de duas entradas, pertencente à segunda parte do circuito, então a expressão de S (que é a última saída do circuito) será S = S1 + C. Substituindo a expressão de S1 nesta última, temos que a expressão booleana do circuito da figura 3.13 é

S = (A ⋅ B) + C

Exercício resolvido 4.1: Escreva a expressão booleana executada pelo circuito da figura 4.2.

Page 25: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

19

Figura 4.2: Circuito lógico exercício resolvido 4.1

Escrevendo as expressões para cada bloco básico temos:

S1 = A + B; S2 = C + D e S = S1 ⋅ S2

Substituindo as expressões de S1 e S2 em S, chegamos a expressão final deste circuito:

S = (A + B) ⋅ ( C + D)

Exercício resolvido 4.2: Escreva a expressão booleana executada pelo circuito da figura 4.3.

Figura 4.3: Circuito lógico exercício resolvido 4.2

Escrevendo as expressões para cada bloco lógico temos:

BAS1 ⋅= ; BAS2 ⋅= ; DCS3 += ; CSSS 214 ++= e 43 SSS ⋅=

Substituindo todas as expressões em S temos a expressão final

)DC(]C)BA()BA([S +⋅+⋅+⋅=

4.3 Circuitos Lógicos Obtidos de Expressões Booleanas

Page 26: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

20

A partir de qualquer expressão booleana é possível desenhar um circuito lógico que a executa.

O método consiste em: • Identificar o número de portas lógicas existentes na expressão; • Identificar as variáveis de entrada desta portas, respeitando a precedência de

operador ou os parênteses, colchetes e assim por diante; • Desenhar as portas lógicas e efetuar as ligações conforme a expressão. Para exemplificar este procedimento, vamos encontrar o circuito lógico que executa

a expressão

)DB(C)BA(S +⋅⋅+=

Na expressão identificamos duas portas OR de duas entradas e uma porta AND de três entradas: (1) Porta OR de expressão BAS1 += , (2) porta OR de expressão

DBS2 += e (3) porta AND de expressão 21 SCSS ⋅⋅= . Com base nestas informações podemos desenhar o circuito.

Figura 4.4: Circuito lógico

Exercício resolvido 4.3: Desenhe o circuito que executa a expressão booleana C)BA(CBAS ⋅++⋅⋅= .

Analisando está expressão, identifica-se quatro portas lógicas com as seguintes expressões: (1) porta AND CBAS1 ⋅⋅= ; (2) porta OR BAS2 += ; (3) porta AND

CSS 23 ⋅= e por fim (4) porta OR 31 SSS += . Desta forma o circuito é o da figura 4.5.

Figura 4.5: Circuito lógico exercício resolvido 4.3

4.4 Tabelas Verdade Obtidas de Expressões Booleanas

Page 27: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

21

A melhor maneira de analisar uma expressão booleana é através da sua tabela verdade, pois (1) permite analisar uma combinação de cada vez, (2) permite que se confira facilmente o trabalho e (3) quando o trabalho se encerra, dispõe-se de uma tabela que ajuda na verificação de erros na implementação do circuito lógico.

Para extrairmos a tabela verdade de uma expressão seguimos o seguinte procedimento:

• Montamos o quadro de possibilidades (o que depende do número de variáveis); • Montamos uma coluna para cada variável negada; • Montamos uma coluna para cada membro da expressão (portas lógicas); • Preenchemos estas colunas com seus resultados; • Montamos uma coluna para o resultado final; • Preenchemos esta coluna com os resultados finais. Para melhor entendermos o procedimento, vamos analisar a expressão

DBADACBAS ⋅⋅+⋅+⋅⋅= . Temos na expressão 4 variáveis, logo teremos 24 = 16 possibilidades de

combinação de entrada e ainda teremos as variáveis A, B e D negadas. Numa rápida inspeção verificamos que esta expressão está construída em cima de quatro portas lógicas: 2 portas AND de 3 entradas, 1 porta AND de 2 entradas e 1 porta OR de 3 entradas, logo teremos 4 colunas na nossa tabela para os membros da expressão.

A B C D A B D CBAx ⋅⋅⋅⋅⋅⋅⋅⋅==== DAy ⋅⋅⋅⋅==== DBAz ⋅⋅⋅⋅⋅⋅⋅⋅==== zyxS ++++++++====

0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 1 1 0 1 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 0 1 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0

Exercício resolvido 4.4: Levante a tabela verdade da expressão )CB()BA(S ⋅⋅+= .

Analisando a expressão verificamos que a expressão tem três variáveis necessitando, assim, nossa tabela de 23 = 8 possibilidades e verificamos ainda que está expressão está baseada em 1 porta lógica OR de 2 entradas, em 1 porta NAND de 2 entradas e em 1 porta AND de 2 entradas, de posse desses dados montamos a tabela abaixo.

Page 28: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

22

A B C BAx ++++==== CBy ⋅⋅⋅⋅==== yxS ⋅⋅⋅⋅====

0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0

Exercício 4.1: Levante a tabela verdade da expressão ])CB(D[]C)BA([S +⋅+⋅+= .

Exercício 4.2: Prove as identidades abaixo relacionadas:

a) BABA ⋅≠⋅ b) BABA +≠+ c) BABA +=⋅ d) BABA ⋅=+

4.5 Expressões Booleanas Obtidas de Tabelas Verdade

Em projetos práticos necessitamos representar situações através de tabelas verdade, ou seja, um projeto parte, primeiramente, da análise das situações de entradas controladas, por exemplo, por sensores de nível e a resposta final na saída, que pode ser, por exemplo, uma bomba de recalque acionada através de um circuito digital. De posse disso podemos implementar um circuito tendo por base a expressão booleana obtida da tabela verdade.

O procedimento para obtenção de uma expressão a partir de uma tabela leva em consideração apenas as saídas que estão em nível alto (nível lógico 1). Em cada saída de nível alto é montada uma expressão para operação AND contendo as variáveis que geram esta saída, sendo que as variáveis de entrada que estiverem em nível baixo (nível lógico 0) devem ser invertidas. Por exemplo, uma dada saída em nível alto é gerada pela combinação de três variáveis: A = 0, B = 1 e C = 0. A expressão gerada por estas

variáveis seria CBAS ⋅⋅= . Além disso, todas as expressões geradas pelas saídas de nível alto devem ser somadas formando assim a expressão booleana para que se possa construir o circuito lógico que gerará as saídas previstas pela tabela verdade.

Para demonstrar este procedimento, vamos obter a expressão da tabela verdade abaixo.

Page 29: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

23

A B S 0 0 0 0 1 1 1 0 1 1 1 1

Observando a tabela concluímos que três casos geram a saída igual a 1. Assim

temos os casos 01, 10 e 11, que geram a expressão booleana final

BABABAS ⋅+⋅+⋅= .

Verificamos que este método gera uma expressão através da soma de produtos, ainda é importante observar que este método não gera uma expressão simplificada (com menos termos), pois a tabela verdade usada como exemplo é a da operação OR e podemos constatar que a expressão obtida é bem mais complicada que a da operação OR. Entretanto existem técnicas que podem ser usados para simplificar uma expressão gerada por este método, as quais serão vistas mais adiante.

Exercício resolvido 4.5: Determine a expressão que executa a tabela abaixo.

A B C S 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1

Usando o procedimento descrito chegamos a expressão

CBACBACBACBAS ⋅⋅+⋅⋅+⋅⋅+⋅⋅= .

4.6 Bloco Lógico XOR

Este é mais uma porta lógica elementar (embora podemos considerar este bloco como um circuito combinacional), que tem a propriedade de gerar uma saída em nível alto sempre que as variáveis de entrada estiverem em níveis opostos. Assim podemos montar a tabela verdade para esta operação, também chamada de OU-Exclusivo (do inglês exclusive-OR).

Page 30: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

24

A B S 0 0 0 0 1 1 1 0 1 1 1 0

Da tabela obtemos a expressão característica:

BABAS ⋅+⋅=

A partir da expressão obtemos o circuito da figura 4.6.

Figura 4.6: Circuito lógico XOR

A expressão característica da operação XOR é

BAS ⊕=

Onde se lê “S é igual a A XOR B”. Por ser uma operação fundamental, também há um símbolo lógico que a

representa.

Figura 4.7: Símbolo de uma porta XOR

4.7 Bloco Lógico XNOR

O bloco XNOR opera de forma completamente oposta do bloco XOR. Esta porta lógica gera uma saída em nível alto somente quando as variáveis de entrada estiverem no mesmo nível lógico. Isto é resumido na sua tabela verdade, apresentada abaixo.

A B S 0 0 1 0 1 0 1 0 0 1 1 1

Page 31: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

25

Da tabela verdade vem a expressão:

BABAS ⋅+⋅=

A partir da expressão obtemos o circuito da figura 4.8.

Figura 4.8: Circuito lógico XNOR

A expressão característica da operação XNOR, também conhecida como

coincidência ou NOU-exclusivo (do inglês exclusive-NOR), é

S = A ü B

Onde se lê “S é igual a A XNOR B”. Símbolo lógico desta operação é apresentado na figura 4.9.

Figura 4.9: Símbolo de uma porta XNOR

As operações XOR e XNOR são complementares, ou seja:

S = A ü B = BA⊕

IMPORTANTE! As operações XOR e XNOR são definidas apenas para duas variáveis, diferentemente das outras operações que podem ter mais variáveis.

4.8 Circuitos para Habilitar / Desabilitar

As quatro portas básicas podem habilitar ou desabilitar a passagem de um sinal aplicado à entrada A, sob o controle de um nível lógico na entrada B, chamada de entrada de controle.

Na figura 4.10 é apresentado o resumo da portas lógicas básicas desempenhando as funções de habilitar/desabilitar.

Page 32: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

26

HABILITAR DESABILITAR

Figura 4.10: Função habilitar/desabilitar

Exercício resolvido 4.6: Projete um circuito lógico que permita a passagem de um sinal para a saída quando as entradas de controle B e C forem ambas em nível ALTO; caso contrário, a saída permanecerá em nível BAIXO.

Para resolver este problema devemos consultar as possibilidades de uso das portas lógicas na função habilitar/desabilitar apresentadas na figura 9.1 que permita a passagem de um sinal sem inversão quando os controles estiverem em nível ALTO e que, na condição desabilitada, a saída esteja em nível BAIXO. A porta que satisfaz estas condições é a porta AND, que neste caso deve ter três entradas – uma para o sinal de entrada e duas para o controle.

Exercício 4.3: Projete um circuito lógico que tenha duas entradas de controle e que permita a passagem de um sinal para saída apenas quando uma entrada, mas não ambas, for nível ALTO; caso contrário a saída permanecerá em nível ALTO.

Page 33: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

27

5 ÁLGEBRA DE BOOLE

Os fundamentos da Eletrônica Digital estão na Álgebra de Boole. É através desta álgebra que implantamos os circuitos digitais. No capítulo anterior foi estudado o método para se encontrar a expressão booleana a partir de uma tabela verdade, entretanto não se preocupou em simplifica-la, o que traria economia na implantação do circuito. Para efetuarmos a simplificação de uma expressão é necessário conhecer os teoremas, os postulados, as identidades e as propriedades da Álgebra de Boole.

5.1 Postulados da Álgebra de Boole

5.1.1 Postulado da Complementação

1°. Se 0A = � 1A =

2°. Se 1A = � 0A = Através deste postulado podemos estabelecer a seguinte identidade

AA =

O bloco lógico que executa o postulado da complementação é o inversor.

5.1.2 Postulado da Adição

Este postulado mostra como são as regras de adição dentro da Álgebra de Boole. 1°. 0 + 0 = 0 2°. 0 + 1 = 1 3°. 1 + 0 = 1 4°. 1 + 1 = 1 A partir deste postulado estabelecemos as seguintes identidades: 1. A0A =+ 2. 11A =+ 3. AAA =+ 4. 1AA =+ O bloco lógico que executa o postulado da adição é a porta OR.

5.1.3 Postulado da Multiplicação

Page 34: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

28

Este postulado determina as regras de multiplicação booleana. 1°. 0 ⋅ 0 = 0

2°. 0 ⋅ 1 = 0 3°. 1 ⋅ 0 = 0 4°. 1 ⋅ 1 = 1 Deste postulado derivam as seguintes identidades: 1. 00A =⋅ 2. A1A =⋅ 3. AAA =⋅

4. 0AA =⋅ O bloco lógico que executa o postulado da multiplicação é a porta AND.

5.2 Propriedades da Álgebra de Boole

As propriedades comutativa, associativa e distributiva da álgebra convencional também valem na Álgebra de Boole.

5.2.1 Propriedade Comutativa

A ordem em que aparecem as variáveis nas operações OR e AND não importa – o resultado é o mesmo.

Operação OR: ABBA +=+ Operação AND: ABBA ⋅=⋅

5.2.2 Propriedade Associativa

A propriedade associativa diz que podemos agrupar as variáveis em expressões AND ou OR do mo que desejarmos.

Operação OR: CBAC)BA()CB(A ++=++=++ Operação AND: CBAC)BA()CB(A ⋅⋅=⋅⋅=⋅⋅

5.2.3 Propriedade Distributiva

Page 35: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

29

A propriedade distributiva diz que uma expressão pode ser expandida multiplicando termo a termo, da mesma forma que a álgebra convencional. Desta forma podemos colocar em evidência termos comuns e assim fatorar uma expressão.

Propriedade distributiva a: CABA)CB(A ⋅+⋅=+⋅ Propriedade distributiva b: DBCBDACA)DC()BA( ⋅+⋅+⋅+⋅=+⋅+

5.3 Teoremas de De Morgan

5.3.1 Primeiro Teorema de De Morgan

O 1° teorema de De Morgan afirma que o complemento do produto é igual a soma dos complementos.

BA)BA( +=⋅

Este teorema pode ser estendido para mais de duas variáveis.

5.3.2 Segundo Teorema de De Morgan

O 2° teorema de De Morgan afirma que o complemento da soma é igual ao produto dos complementos.

)BA(BA +=⋅

Da mesma forma que o teorema anterior, este pode ser estendido para mais de duas variáveis.

5.4 Identidades Auxiliares

As identidades descritas a seguir não possuem equivalente na álgebra convencional.

5.4.1 Identidade Auxiliar 1

Essa identidade é expressa por

ABAA =⋅+

Podemos provar esta identidade de duas maneiras: (1) comparando valores em uma tabela verdade ou (2) através de álgebra. Vamos provar esta identidade através da álgebra.

Utilizando a propriedade distributiva temos:

A)B1(A =+⋅

Page 36: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

30

Do postulado da soma temos que 1 + B = 1, logo temos

ABAAA1A =⋅+∴=⋅

5.4.2 Identidade Auxiliar 2

Essa identidade é expressa por

BABAA +=⋅+

Vamos também provar esta propriedade através da álgebra.

)BAA(BAA ⋅+=⋅+ = � Identidade XX =

])BA(A[ ⋅⋅ = � 2° teorema de De Morgan

])BA(A[ +⋅ = � 1° teorema de De Morgan aplicado no parêntese

)BAAA( ⋅+⋅ = � Propriedade distributiva

)BA( ⋅ = � Identidade 0AA =⋅

BA + � 1° teorema de De Morgan

5.4.3 Identidade Auxiliar 3

Esta identidade é representada por

BABAA +=⋅+

A demonstração dessa propriedade é análoga a da identidade 2 e deixamos a cargo do leitor.

5.4.4 Identidade Auxiliar 4

Está é a ultima identidade a ser estudada e é expressa por

CBA)CA()BA( ⋅+=+⋅+

A prova desta identidade fica a cargo do leitor.

5.5 Equivalência de Blocos Lógicos

A otimização da utilização de circuitos integrados comerciais deve ser uma busca constante na concepção de sistemas digitais. O uso da equivalência de blocos lógicos proporciona a redução de circuitos integrados que desempenham apenas uma função lógica, ampliando sua capacidade ao utiliza-los para desempenhar outras funções lógicas apenas mudando algumas conexões ou associando-os a outros integrados de funções

Page 37: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

31

distintas. Este remanejo de circuitos integrados reflete-se num menor custo, tanto financeiro, como de corrente consumida pelo sistema. Os resultados apresentados a seguir são conseqüências diretas da Álgebra de Boole.

5.5.1 Inversor a Partir de Uma Porta NAND

A 1° possibilidade de se obter um inversor a partir de uma porta NAND é a de interligar as suas entradas, conforme mostra a figura 5.1.

Figura 5.1: Inversor a partir de uma porta NAND (1)

A 2° possibilidade é a de deixar um terminal para conexão e outro ligar a um nível

alto, conforme mostra a figura 5.2.

Figura 5.2: Inversor a partir de uma porta NAND (2)

5.5.2 Inversor a Partir de Uma Porta NOR

Da mesma forma que para a porta NAND, também existem duas possibilidades para se obter um inversor a partir de uma porta NOR.

A 1° possibilidade é obtida da mesma forma que para a porta NAND. Veja a figura

5.3.

Figura 5.3: Inversor a partir de uma porta NOR (1)

A 2° possibilidade é deixar um terminal livre para a entrada da variável e a outra

conectada a um nível baixo, conforme mostra a figura 5.4.

Page 38: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

32

Figura 5.4: Inversor a partir de uma porta NOR (2)

5.5.3 Portas NAND e AND a Partir de Portas OR e NOR e Inversores

As duas equivalências a seguir são conseqüências diretas do primeiro teorema de De Morgan.

Na figura 5.5 temos uma porta NAND obtida a partir de uma porta OR e dois inversores.

Figura 5.5: Porta NAND a partir de uma OR e dois inversores

A saída de uma porta NAND negada gera uma porta AND, então se no circuito da

figura 5.5 substituirmos a porta OR por uma NOR o resultado será um circuito equivalente ao de uma porta AND. Veja a figura 5.6

Figura 5.6: Porta AND a partir de uma NOR e dois inversores

Estas equivalências podem ser estendidas para portas com mais de 2 variáveis.

5.5.4 Portas NOR e OR a Partir de Portas AND e NAND e Inversores

A partir do segundo teorema de De Morgan, podemos gerar as equivalências a seguir.

Na figura 5.7 temos uma porta NOR gerada a partir de dois inversores e de uma porta AND.

Page 39: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

33

Figura 5.7: Porta NOR a partir de uma AND e dois inversores

Na figura 5.8 temos uma porta OR obtida a partir de uma NAND e 2 inversores.

Figura 5.8: Porta OR a partir de uma NAND e dois inversores

Estas equivalências podem ser estendidas para portas com mais de 2 variáveis.

Exercício resolvido 5.1: Desenhe o circuito XOR apenas como portas NAND.

Para resolver este exercício tem que tomar por base o circuito apresentado na figura 4.6 e redesenhar o circuito substituindo cada bloco lógico pelo equivalente composto apenas por portas NAND. Veja figura 5.9.

Figura 5.9: Circuito XOR utilizando apenas portas NAND (1)

O circuito da figura 5.9 pode ainda ser minimizado devido ao surgimento de inversores em série. A figura 5.10 mostra o circuito final com a simplificação feita.

Page 40: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

34

Figura 5.10: Circuito XOR utilizando apenas portas NAND (2)

Page 41: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

35

6 SIMPLIFICAÇÃO DE EXPRESSÕES BOOLEANAS

No capítulo 4 foi explicado o método para se extrair a expressão booleana a partir de uma tabela verdade. Como explicado, a expressão obtida é na forma de soma de produtos e não está na sua forma simplificada.

Neste capítulo serão abordadas duas técnicas usadas na simplificação de expressões booleanas: a simplificação algébrica e a simplificação pelo mapa de Karnaugh.

6.1 Simplificação Algébrica

Os postulados, identidades, propriedades e teoremas da álgebra de Boole podem ser usados diretamente na simplificação de expressões lógicas, mas nem sempre é óbvio qual teorema (etc) deve ser aplicado para obter o resultado mais simplificado. Além disso, não é fácil afirmar que uma expressão está na sua forma mais simplificada.

As simplificações algébricas são, muitas vezes, um processo de tentativa e erro e neste caso um axioma prático sempre válido é: tente alguma coisa!

Os exemplos a seguir ilustram a aplicação da álgebra de Boole na tentativa de simplificação de expressões booleanas.

Observação: Daqui em diante iremos suprimir o ponto que indica uma operação AND da mesma forma que fazemos na álgebra convencional para representar uma multiplicação.

Exemplo 6.1: Simplifique a expressão CBABAABCZ ++= .

Como no primeiro e no terceiro termo tem AC em comum, colocamos AC em evidência obtendo:

BA)BB(ACZ ++=

como 1BB =+

BAACZ +=

Exemplo 6.2: Simplifique a expressão ABCCBACBAS ++= .

No primeiro e no segundo termo temos em comum BA , colocando em evidência BA temos:

ABCBAS

ABC)1(BAS

ABC)CC(BAS

+=

+=

++=

Colocando em evidencia A, temos:

)BCB(AS +=

Aplicando o teorema YXXYX +=+ , temos:

Page 42: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

36

)CB(AS +=

Uma outra forma de simplificar esta expressão é adicionar mais um termo CBA o que nada altera a expressão original pois X + X = X. Assim temos:

ABCCBACBACBA +++

Colocando em evidência BA no primeiro e no segundo termo e AC no terceiro e no quarto termo temos:

)BB(AC)CC(BA +++

Obtemos assim:

ACBAS +=

Ou

)CB(AS +=

Exemplo 6.3: Simplifique a expressão BACAABCW ++= .

Colocando em evidência A temos:

)BCBC(AW ++=

Aplicando a identidade XX = temos:

)]BC(BC[AW ++=

Aplicando o segundo teorema de De Morgan temos:

)BCBC(AW +=

Aplicando o postulado 1XX =+ temos:

AW =

Nos exemplos anteriores as expressões já estavam na forma de soma de produtos (como aquelas obtidas de tabelas verdade), mas podem ocorrer expressões que não estejam nesta forma, por exemplo, as obtidas de circuitos lógicos prontos. Quando isso ocorrer é necessário aplicar as propriedades distributivas e associativas até obter a redução da expressão na forma de soma de produtos. Veja o exemplo abaixo.

Exemplo 6.4: Simplifique a expressão )RQ)(RQ(S ++= .

Aplicando a propriedade distributiva temos:

Page 43: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

37

RRRQRQQQS +++=

Como 0XX =⋅ , temos:

RQRQS +=

Ou ainda:

BAS ⊕= .

6.2 Mapa de Karnaugh

O mapa de Karnaugh (ou mapa-K) é um método gráfico usado para simplificar uma equação lógica ou para converter uma tabela verdade no seu circuito lógico correspondente, de uma forma simples e metódica.

O mapa-K, assim como uma tabela verdade, é um meio de mostrar a relação entre as entradas lógicas e a saída desejada. Portanto existem mapas para 2 variáveis, 3 variáveis e 4 variáveis1 (mapas para mais de 4 variáveis não serão estudados).

6.2.1 Mapa-K para 2 Variáveis

Para se usar um mapa-K a primeira coisa, a saber, é como monta-lo. Para ilustrar o procedimento da montagem de um mapa-K vamos montar uma tabela verdade de duas variáveis com saídas genéricas e preencher o mapa-K de duas variáveis com estas saídas.

A B S 0 0 S0

0 1 S1

1 0 S2

1 1 S3

Figura 6.1: Mapa-K para duas variáveis

Observe que cada linha da tabela verdade corresponde a um quadro do mapa-K

sendo estes preenchidos pelos valores das saídas correspondentes a essas linhas e que cada quadro corresponde à intersecção de duas variáveis distintas. Então quando temos

1 Devido à complexidade de mapas de Karnaugh com mais de 4 variáveis, estes não serão estudados no presente texto.

Page 44: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

38

na tabela verdade a condição A = 0 e B = 0, o valor da saída correspondente a está condição deve ser inserido no quadro onde há a intersecção das variáveis A e B .

6.2.2 Mapa-K para 3 Variáveis

Da mesma forma que foi feito na seção 6.2.1 vamos montar um mapa-K de três variáveis a partir de uma tabela verdade genérica.

A B C S 0 0 0 S0

0 0 1 S1

0 1 0 S2

0 1 1 S3

1 0 0 S4

1 0 1 S5

1 1 0 S6

1 1 1 S7

Figura 6.2: Mapa-K para três variáveis

Observe que as saídas da tabela verdade não são usadas na seqüência no

preenchimento dos quadros do mapa-K. Isso se deve ao fato de que para o mapa-K funcionar, a mudança de um quadro para o outro, apenas um bit deve variar. Então para respeitar esta condição devemos, após preenchermos o mapa-K com quarta linha da tabela verdade, pular para a sétima linha seguir a seqüência até a oitava linha e depois voltar para quinta e sexta linhas.

6.2.3 Mapa-K para 4 Variáveis

Vamos apresentar o mapa-K de quatro variáveis seguindo o mesmo procedimento descrito nas seções 6.2.1 e 6.2.2. Abaixo está apresentada uma tabela verdade de 4 variáveis e na figura 6.3 o mapa-K para quatro variáveis.

Page 45: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

39

A B C D S 0 0 0 0 S0

0 0 0 1 S1

0 0 1 0 S2

0 0 1 1 S3

0 1 0 0 S4

0 1 0 1 S5

0 1 1 0 S6

0 1 1 1 S7

1 0 0 0 S8

1 0 0 1 S9

1 0 1 0 S10

1 0 1 1 S11

1 1 0 0 S12

1 1 0 1 S13

1 1 1 0 S14

1 1 1 1 S15

Figura 6.3: Mapa-K para quatro variáveis

A seqüência de inserção das saídas no mapa-K de quatro variáveis também deve

respeitar a variação de apenas um bit de quadro para quadro.

6.3 Simplificação pelo Mapa de Karnaugh

A expressão para a saída de uma tabela verdade pode ser simplificada combinado-se adequadamente os quadros do mapa-K que contenham 1. O processo de combinação desses 1s é denominado de agrupamento.

6.3.1 Agrupamento de 2 Quadros (pares)

Agrupando-se um par de 1s adjacentes (verticalmente ou horizontalmente) em um mapa-K, elimina-se a variável que aparece nas formas complementada e não-complementada. Este procedimento é mostrado na figura 6.4(a-d).

Page 46: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

40

(a) (b)

(c) (d) Figura 6.4: Agrupamento de pares para mapa-K de 3 e 4 variáveis

Na figura 6.4(a) agrupando os únicos 1s do mapa-K se verifica que a única variável

que aparece na forma complementada e não-complementada é a A portanto a expressão

simplificada obtida é a operação AND que tem por entrada as variáveis B e C (pois há

intersecção dos quadros que elas pertencem), assim temos a expressão CBa = . No mapa-K da figura 6.4(b) eliminamos a variável C pelos mesmos motivos que eliminamos a variável A no mapa da figura 6.4(a), assim obtemos a expressão BAb = . No mapa-K da

figura 6.4(c) retiramos a expressão CBc = . Na figura 6.4(d) temos um mapa-K de 4 variáveis e agrupando os 1s adjacentes encontramos duas operações AND CBAd1 = e

DBAd2 = então faremos uma soma OR destas duas expressões e obtemos

DBACBAd += que é uma expressão na forma de soma de produtos. Sempre que um mapa-K gerar mais de um termo, devemos fazer uma soma OR entre eles.

Exercício 6.1: Encontre a expressão simplificada a partir da tabela abaixo.

A B S 0 0 1 0 1 1 1 0 0 1 1 0

Exercício 6.2: Encontre a expressão simplificada a partir da tabela abaixo.

Page 47: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

41

A B C S 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1

6.3.2 Agrupamento de 4 Quadros (quartetos)

No agrupamento de um quarteto de 1s adjacentes, eliminam-se duas variáveis que aparecem nas formas complementada ou não-complementada. O procedimento é descrito na figura 6.5(a-d).

(a) (b)

(c) (d) Figura 6.5: Agrupamento de quartetos para mapa-K de 3 e 4 variáveis

O agrupamento de 1s no mapa-K da figura 6.5(a) vai gerar a expressão Ca = ,

pois as variáveis A e B aparecem na sua forma complementada e não-complementada. No agrupamento do mapa-K da figura 6.5(b) obtemos a expressão ABb = . Para o mapa-K da figura 6.5(c), o agrupamento gera a expressão DAc = e para o mapa-K da figura

Page 48: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

42

6.5(d) a expressão obtida é DBd ⋅= . Veja que a expressão d admite uma simplificação

pelo 2° teorema de De Morgan gerando a expressão BAd += .

6.3.3 Agrupamento de 8 Quadros (octetos)

O agrupamento de oito quadros contendo 1s elimina três variáveis que aparecem na forma complementada e não-complementada.

(a) (b)

(c) (d) Figura 6.5: Agrupamento de octetos para mapa-K de 4 variáveis

No mapa-K da figura 6.6(a) as variáveis eliminadas são: A, C e D. Com isso

geramos a expressão Ba = . Para o mapa-K da figura 6.6(b) geramos a expressão Cb = , no da figura 6.6(c) temos a expressão Bc = e para o da figura 6.6(d) a expressão é

Dd = .

6.3.4 Hierarquia de Agrupamentos

O processo de simplificação deve usar o menor número de grupos para envolver todos os 1s, abaixo é proposto um roteiro de simplificação.

• Para duas variáveis

Page 49: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

43

1° Pares → Saída: uma variável 2° Termo isolado → Saída: operação AND de duas variáveis • Para três variáveis 1° Quartetos → Saída: uma variável 2° Pares → Saída: função AND de duas variáveis 3° Termo isolado → Saída: função AND de três variáveis • Para quatro variáveis 1° Octetos → Saída: uma variável 2° Quartetos → Saída: função AND de duas variáveis 3° Pares → Saída: função AND de três variáveis 4° Termo isolado → Saída: função AND de quatro variáveis

Exercício 6.3: Encontre a expressão simplificada através do mapa-K para as saídas da tabela abaixo.

A B S1 S2 S3

0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0 1 0

Exercício 6.4: Encontre a expressão simplificada através do mapa-K para as saídas da tabela abaixo.

A B C S1 S2

0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 0

6.4 Condições de Irrelevância (don’t-care)

É chamada de condição irrelevante (don’t-care) a situação de entrada onde a saída pode assumir, indiferentemente, 0 ou 1. Esta condição, representada por X na saída, decorre da impossibilidade prática do caso, ou seja, são condições de entrada que nunca ocorrerão, dessa forma é indiferente se a saída assume 0 ou 1 para esses casos. O valor X=1 ou X=0 a ser adotado no mapa-K deve ser aquele que possibilita o melhor agrupamento e conseqüentemente maior simplificação.

Convém ressaltar que, em uma tabela verdade, podemos ter várias condições irrelevantes que devem ser consideradas independentes.

Page 50: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

44

Exercício resolvido 6.1: Encontre a expressão simplificada a partir da tabela verdade abaixo.

A B C S

0 0 0 X

0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 0

Transpondo os resultados da tabela verdade para o mapa-K, temos:

Figura 6.6: Mapa-K para o exercício resolvido 6.1

Vemos pelo mapa-K que o melhor valor a ser dado à condição X é o 1, pois assim obtemos um quarteto em vez de dois pares quando X = 0, portanto encontramos a expressão AS = .

Exercício 6.5: Encontre a expressão simplificada a partir da tabela verdade abaixo.

A B C S

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

1 0 0 X

1 0 1 1 1 1 0 1 1 1 1 1

6.5 Agrupamento de Zeros

A diferença do agrupamento de 0s é que se obtém o resultado complementado em relação ao agrupamento de 1s. Todo os métodos descritos para o agrupamento de 1s podem ser utilizados na simplificação de expressões usando o agrupamento de 0s.

Page 51: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

45

Exercício resolvido 6.2: Encontre a expressão simplificada negada a partir da tabela verdade abaixo.

A B C S

0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1

Transpondo os resultados da tabela verdade para o mapa-k, obtemos:

Figura 6.7: Mapa-K para o exercício resolvido 6.2

A partir do agrupamento de 0s no mapa-k chegamos a expressão CAS = . Caso fosse agrupados 1s,a expressão seria CAS += . Verifique.

Exercício 6.6: Encontre, para a tabela abaixo, a expressão simplificada negada e não-negada. Verifique se as expressões são verdadeiras (sugestão: monte uma tabela verdade a partir das expressões).

A B C S

0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0

Page 52: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

46

7 CARACTERÍSTICAS BÁSICAS DE CIs DIGITAIS

Os CIs digitais podem ser classificados de acordo como o principal componente eletrônico usado nos seus circuitos. CIs bipolares tem como principal elemento de circuito, transistores bipolares (NPN e PNP); já os CIs unipolares são construídos tendo por base transistores unipolares de efeito de campo (MOSFETs canal P e canal N) como elemento principal.

Os CIs digitais são, muitas vezes, classificados, também, de acordo com a complexidade de seus circuitos, medida pelo número de portas lógicas equivalentes na sua construção. Existem atualmente seis níveis de complexidade, conforme mostra a tabela abaixo.

Complexidade Portas por CI

Integração em pequena escala (SSI) menos de 12

Integração em média escala (MSI) entre 12 e 99

Integração em grande escala (LSI) entre 100 e 9.99

Integração em escala muito grande (VLSI) entre 10.000 e 99.999

Integração em escala ultragrande (ULSI) entre 100.000 e 999.999

Integração em escala giga (GSI) 1.000.000 ou mais

7.1 Família TTL

A família TTL (lógica transistor – transistor) é a principal família de CIs digitais bipolares e teve como antecessoras as famílias ECL1, HTL, DTL, entre outras. A série 74 padrão (ou standart) foi a primeira série de CIs TTL. A família TTL foi a principal família de CIs nas categorias SSI e MSI, mas, gradualmente, vem sendo substituída pela família CMOS.

A família lógica TTL é composta por várias subfamílias ou séries. As principais diferenças entre as séries de CIs TTL tem a ver com suas características elétricas: dissipação de potência e velocidade de comutação. Não há diferença na disposição dos pinos ou na operação lógica realizada pelos circuitos internos. Abaixo temos uma tabela que relaciona o nome de cada uma das séries com o prefixo usado para identificar os diferentes CIs.

Série TTL Prefixo Exemplo de CI

TTL padrão 74 7404 (seis inversores)

TTL Schottky 74S 74S04 (seis inversores)

TTL Schottky de baixa potência 74LS 74LS04 (seis inversores)

TTL Schottky avançada 74AS 74AS04 (seis inversores)

TTL Schottky avançada de baixa potência 74ALS 74ALS04 (seis inversores)

1 Embora a família ECL não seja mais produzida em série comercial, ainda é utilizada para fins específicos como, por exemplo, memórias de alta velocidade.

Page 53: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

47

7.2 Família CMOS

Os CIs digitais de grande escala são fabricados, predominantemente, com tecnologia CMOS (complementar metal – óxido – semicondutor) devido à simplicidade e a forma compacta dos circuitos construídos com essa tecnologia. Um exemplo sobre a simplicidade de um circuito lógico CMOS pode ser feito através da comparação de um inversor TTL, composto por 4 resistores, 2 diodos e 4 transistores bipolares, com um inversor CMOS, composto apenas por 2 diodos e 2 transistores de efeito de campo, como se vê o inversor TTL supera em número de componentes o inversor CMOS.

Assim como a família TTL, a família CMOS também é composta por várias séries, conforme a tabela abaixo.

Série CMOS Prefixo Exemplo de CI

CMOS com porta de metal 40 4001 (4 portas NOR)

Porta de metal compatível pino a pino com TTL

74C 74C02 (4 portas NOR)

Porta de silício compatível pino a pino com TTL, alta velocidade

74HC 74HC02 (4 portas NOR)

Porta de silício, alta velocidade, compatível pino a pino e eletricamente com TTL

74HCT 74HCT02 (4 portas NOR)

CMOS de altíssimo desempenho, não é compatível pino a pino nem eletricamente com TTL

74AC 74AC02 (4 portas NOR)

CMOS de altíssimo desempenho, não é compatível pino a pino, mas é compatível eletricamente compatível com TTL

74ACT 74ACT02 (4 portas NOR)

A série 4000 é a mais antiga série CMOS e não é compatível nem pino a pino nem

eletricamente coma a família TTL. Já os CIs da série 74HCT são compatíveis tanto pino a pino como eletricamente com a família TTL, permitindo a conexão direta com dispositivos TTL sem que seja necessário nenhum tipo de circuito de interface.

7.3 Alimentação e Terra

Os CIs digitais dispõem de dois pinos para alimentação, um para alimentação CC (corrente contínua) e outro para o terra. Essas conexões são necessárias para o correto funcionamento do CI.

Para os CIs TTL temos o pino designado por VCC para a alimentação CC e o pino designado por GND para a conexão como o terra. A alimentação CC nos CIs CMOS é conectada ao pino designado por VDD e o terra ao pino VSS.

7.4 Faixas de Tensão para os Níveis Lógicos

Page 54: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

48

Os dispositivos TTL operam com uma tensão nominal de +5V (VCC = +5V). Para os dispositivos CMOS, a tensão de alimentação (VDD) pode estar situada numa faixa que vai +3V a +18V, embora +5V seja a tensão mais usada.

Os fabricantes de CIs indicam quais as faixas de tensão que garantem os níveis lógicos 1 e 0. Estas faixas podem ser visualizadas na figura 7.1 para circuitos TTL e para os circuitos CMOS na figura 7.2.

5,0V __

2,0V __

LÓGICO 1

0,8V __ Indeterminado

0V __ LÓGICO 0

VCC = 5V

Figura 7.1: Níveis lógicos de entrada e as faixas de tensão para CIs TTL

5,0V __

3,5V __ LÓGICO 1

1,5V __

Indeterminado

0V __ LÓGICO 0

VDD = 5V

Figura 7.2: Níveis lógicos de entrada e as faixas de tensão para CIs CMOS

7.5 Entradas Não-Conectadas

Os CIs TTL e CMOS exibem comportamentos diferentes quando suas entradas estão desconectadas do circuito (entradas flutuantes). Um CI TTL com uma entrada flutuante se comporta exatamente como se esta entrada estivesse em nível lógico 1, ou seja, o CI responde como se na entrada estivesse sendo aplicado um nível lógico alto, além disso, um circuito TTL é extremamente suscetível a sinais de ruídos que provavelmente afetarão de forma adversa o funcionamento do circuito. Se uma entrada de um circuito CMOS for deixada flutuante os resultados podem ser desastrosos. O CI pode se superaquecer e possivelmente se danificar. Por esta razão, todas as entradas de um CI CMOS devem ser conectadas a um nível lógico (alto ou baixo) ou à saída de outro CI. O nível lógico na saída de um CI CMOS com entrada flutuante é imprevisível, podendo oscilar como resultado do ruído captado pela entrada flutuante.

Page 55: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

49

7.6 Lógica Positiva e Lógica Negativa

As entradas dos circuitos lógicos são, muitas vezes, conectadas a uma diversidade de sensores e chaves, mas todas têm algo em comum: acoplam a suas saídas um nível alto ou um nível baixo quando acionados(as).

Quando um sensor (ou chave) ao ser acionado acoplar a sua saída um sinal em nível alto, dizemos que este trabalha em lógica positiva. Na figura 7.3 temos um exemplo de uma chave operando em lógica positiva.

Chave Acionada (estado ativo) →→→→ Nível Alto Chave Não-Acionada (estado inativo) →→→→ Nível Baixo

Figura 7.3: Chave operando em lógica positiva

Quando um sensor (ou chave) ao ser acionado acoplar a sua saída um sinal em

nível baixo, dizemos que este trabalha em lógica negativa. Na figura 7.4 temos um exemplo de uma chave operando em lógica negativa.

Chave Acionada (estado ativo) →→→→ Nível Baixo Chave Não-Acionada (estado inativo) →→→→ Nível Alto

Figura 7.4: Chave operando em lógica negativa

É importante observar nas figuras 7.3 e 7.4 que a saída dos circuitos estão num

nível alto ou baixo conforme o estado das chaves (nunca deixam a saída desacoplada), portanto são circuitos que satisfazem a condição fundamental dos CIs digitais: não deixar a entradas flutuando.

Uma observação também importante é que um circuito que foi projetado inicialmente para trabalhar em lógica negativa pode se tornar um circuito que trabalha em lógica positiva bastando para isso que se negue as entradas (através de inversores) e vice-versa. Isto está exemplificado na figura 7.5.

Page 56: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

50

(a) (b)

Figura 7.5: Os circuitos das figuras (a) e (b) geram a mesma saída

A lógica positiva é mais usual no projeto de circuitos digitais e apresenta a

vantagem de ser reconhecida de forma natural pelo mapa-K.

Page 57: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

51

8 PROJETO DE CIRCUITOS COMBINACIONAIS

O circuito combinacional é aquele em que a saída depende única e exclusivamente das combinações de entrada. As combinações de entrada e as saídas podem ser apresentadas de forma conveniente através da tabela verdade.

Os circuitos combinacionais podem ser utilizados para solucionar problemas em que precisamos de resposta a partir de certas condições de entrada. Para construirmos estes circuitos necessitamos de suas expressões características que podem ser obtidas a partir das tabelas verdades que representam as situações. Abaixo descrevemos o procedimento completo para o projeto de circuitos combinacionais.

1. Interprete o problema e construa tabela verdade para descrever o seu funcionamento1

2. Encontre a expressão simplificada a partir do mapa-K correspondente

3. Implemente o circuito para a expressão final

Na figura 8.1 é apresentado o diagrama de blocos que ilustra o procedimento descrito.

Figura 8.1: Diagrama de blocos para implementação de projetos

Os exemplos a seguir ilustram o procedimento completo do projeto.

Exemplo 8.1: Projete um circuito lógico com três entradas, A, B e C, cuja saída será nível ALTO apenas quando a maioria das entradas for nível ALTO.

1° Passo: construa a tabela verdade (vamos projetar para lógica positiva).

A B C S 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

2° Passo: encontre a expressão simplificada através do mapa-K

1 Defina neste momento se o projeto funcionará com lógica positiva ou lógica negativa.

Page 58: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

52

Figura 8.2: Mapa-K para o exemplo 8.1

A partir do mapa-K encontramos a expressão BCACABS ++= .

3° Passo: implemente o circuito.

Figura 8.3: Exemplo 8.1

Exemplo 8.2: Veja a figura 8.4. Em uma simples máquina copiadora, um sinal de parada, S, é gerado para interromper a operação da máquina e ativar um sinal luminoso sempre que uma das condições a seguir ocorrer: (1) a bandeja de alimentação de papel estiver vazia, ou (2) ou as duas microchaves sensoras de papel estiverem acionadas, indicando atolamento de papel. A presença de papel na bandeja de alimentação é indicada por um nível ALTO no sinal lógico P. Cada uma das microchaves produz sinais lógicos (Q e R) que vão para o nível ALTO sempre que um papel estiver passando sobre a chave, que é ativada. Projete um circuito lógico que gere uma saída em nível ALTO para as condições estabelecidas e implemente usando o CI CMOS 4011 que contém quatro portas NAND de duas entradas.

Page 59: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

53

Figura 8.4: Exemplo 8.2

Com base nos dados fornecidos no enunciado do problema e na figura 8.4, montamos a tabela verdade para o problema.

P Q R S 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1

Transpondo a tabela verdade para o mapa-k, temos:

Figura 8.5: Mapa-K para o exemplo 8.2

Page 60: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

54

A partir do mapa-K obtemos a expressão simplificada igual a QRPS += .

O primeiro circuito, obtido diretamente da expressão S, está exibido na figura 8.6.

Figura 8.6: Circuito exemplo 8.2 (1)

Como o problema sugere que o circuito seja implementado usando apenas as quatro portas NAND do CI 4011, necessitamos aplicar o procedimento descrito na seção 5.5 que trata de blocos lógicos equivalentes. O processo é descrito na figura 8.7.

Figura 8.7: Circuito exemplo 8.2 (2)

Como existem inversores em série, estes podem ser eliminados. Desta forma podemos implementar o circuito apenas com duas portas NAND. Na figura 8.8 temos o circuito definitivo considerando o CI 4011 e um LED ligado à saída.

Figura 8.8: Circuito exemplo 8.2 (3)

No circuito da figura 8.8 não foram usadas a portas C e D do CI 4011.

Exemplo 8.3: A figura 8.9 mostra um diagrama para um circuito de alarme de automóvel usado para detectar uma determinada condição indesejada. As três chaves são usadas para indicar, respectivamente, o estado da porta do motorista, o estado da ignição e o

Page 61: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

55

estado dos faróis. Projete um circuito lógico com essas três chaves como entrada, de forma que o alarme seja ativado sempre que ocorrer uma das seguintes condições:

• Os faróis estão acesos e a ignição está desligada.

• A porta está aberta e a ignição está ligada.

Figura 8.9: Exemplo 8.3

A partir das informações fornecidas pelo enunciado do problema e do esquema do circuito montamos a tabela verdade para esse projeto.

P I F S 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1

Transpondo a tabela verdade para o mapa-K, temos:

Page 62: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

56

Figura 8.10: Mapa-K para o exemplo 8.3

Através do mapa-K chegamos a expressão FIPFPIS ++= . Na figura 8.11 temos o circuito lógico para este projeto.

Figura 8.11: Circuito exemplo 8.3

Exercício 8.1: Projete um circuito lógico cuja saída seja nível ALTO apenas quando a maioria das entradas A, B e C for nível BAIXO.

Exercício 8.2: Projete um circuito que produza uma saída em nível ALTO só quando todas as três entradas estiverem no mesmo nível..

Exercício 8.3: Projete um circuito lógico cuja saída seja nível ALTO sempre que A e B forem nível ALTO, enquanto C e D estiverem em nível BAIXO ou ambas em nível ALTO.

8.1 Códigos

No campo da Eletrônica Digital existem vários códigos. Por exemplo, um número decimal pode ser representado por um número binário equivalente, sendo que os 0s e 1s do número binário podem ser entendidos como uma representação codificada do número decimal. Quando um número decimal é representado pelo seu número binário equivalente, dizemos que é uma codificação em binário puro.

Page 63: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

57

8.1.1 Decimal Codificado em Binário

Se cada dígito de um número decimal for representado pelo seu equivalente binário, o resultado será um código denominado decimal codificado em binário (BCD – binary-coded-decimal). Este é um código de quatro bits, pois o maior número decimal, 9, é representado por um número binário de quatro bits. Abaixo está a tabela que mostra relação entre os números decimais de 0 a 9 e seus respectivos códigos BCD.

BCD Decimal

A B C D

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 0 1 1

4 0 1 1 1

5 0 1 0 1

6 0 1 1 0

7 0 1 1 1

8 1 0 0 0

9 1 0 0 1

Exercício resolvido 8.1: Codifique em binário o número decimal 874.

Para convertermos o numero 87410 devemos escrever cada digito decimal no seu correspondente binário de 4 bits, conforme visto abaixo:

8 7 4 ⇐

decimal

� � �

1000 0111 0100 ⇐

BCD

Portanto o numero 87410 é, em BCD, 100001110100.

Exercício resolvido 8.2: Converta 0110100000111001 (BCD) em seu equivalente decimal.

Para encontrarmos o número decimal correspondente a um número em BCD, devemos separar o número BCD em grupos de 4 bits e converta cada grupo em decimal.

0110 1000 0011 1001 ⇐

decimal

� � � �

6 8 3 9 ⇐

BCD

Portanto o número BCD 0110100000111001 corresponde ao decimal 6839.

8.1.2 Código Gray

Page 64: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

58

O código Gray tem a propriedade de apenas um bit mudar entre dois números sucessivos na seqüência. Abaixo está a tabela que mostra relação entre os números decimais de 0 a 9 e seus respectivos códigos Gray.

Gray

Decimal G3 G2 G1 G0

0 0 0 0 0

1 0 0 0 1

2 0 0 1 1

3 0 0 1 0

4 0 1 1 0

5 0 1 1 1

6 0 1 0 1

7 0 1 0 0

8 1 1 0 0

9 1 1 0 1

10 1 1 1 1

11 1 1 1 0

12 1 0 1 0

13 1 0 1 1

14 1 0 0 1

15 1 0 0 0

Exercício 8.4: Converta o número binário 100 para o código gray.

Exercício 8.5: Idem exercício 8.4 para o número binário 111.

8.1.3 Relações entre as Representações Numéricas

A tabela abaixo mostra a representação dos números decimais de 0 a 15 nos sistemas binário e hexadecimal e nos códigos BCD e Gray.

Decimal Binário Hexadecinal BCD GRAY

0 0 0 0000 0000

1 1 1 0001 0001

2 10 2 0010 0011

3 11 3 0011 0010

4 100 4 0100 0110

5 101 5 0101 0111

6 110 6 0110 0101

7 111 7 0111 0100

8 1000 8 1000 1100

(Continua)

Page 65: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

59

(Continuação)

Decimal Binário Hexadecinal BCD GRAY

9 1001 9 1001 1101 10 1010 A 0001 0000 1111 11 1011 B 0001 0001 1110 12 1100 C 0001 0010 1010

13 1101 D 0001 0011 1011

14 1110 E 0001 0100 1001

15 1111 F 0001 0101 1000

8.2 Decodificadores

Chamamos de decodificador o circuito combinacional que torna possível a passagem de um código desconhecido para outro conhecido. Por exemplo, podemos ter um decodificador que passe o código BCD para o decimal. Na série 40 CMOS, temos o CI 4028 responsável por essa decodificação. Abaixo é apresentada a tabela verdade com as e expressões para um decodificador BCD para decimal.

A B C D S

0 0 0 0 Q0 ���� DCBA 0 0 0 1 Q1 ���� DCBA 0 0 1 0 Q2 ���� DCB 0 0 1 1 Q3 ���� CDB 0 1 0 0 Q4 ���� DCB 0 1 0 1 Q5 ���� DCB 0 1 1 0 Q6 ���� DBC 0 1 1 1 Q7 ���� BCD

1 0 0 0 Q8 ���� DA 1 0 0 1 Q9 ���� AD

O circuito construído a partir da tabela é exibido na figura 8.12.

Page 66: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

60

Figura 8.12: Circuito decodificador BCD para decimal

Page 67: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

61

Exercício 8.6: Projete um decodificador de três linhas para oito linhas.

8.3 Decodificador BCD para Display de 7 Segmentos

O display de 7 segmentos (7-seg) permite escrevermos números decimais de 0 a 9 e alguns outros símbolos. A figura 8.13 representa uma unidade display genérica juntamente com os algarismos de 0 a 9 representados quando os segmentos (nomeados de a a g) são ativados de forma conveniente.

Figura 8.13: Display de 7-seg genérico

O display a ser estudado nesse texto é o display que tem cada segmento composto

por um LED, chamado de display de LEDs. Existem dois tipos de display de LEDs: o de catodo comum e o de anodo comum.

O display tipo catodo comum é aquele que possui todos os catodos dos LEDs interligados, sendo necessário aplicar nível 1 ao anodo do respectivo segmento para que ele acenda. Já o de anodo comum possui todos os anodos interligados, sendo necessário aplicar nível 0 ao catodo do respectivo segmento. Na figura 8.14 temos o diagrama de blocos do decodificador BCD para display de 7 segmentos.

Figura 8.14: Decodificador BCD para display 7-Seg

A tabela verdade para o decodificador da figura 8.14, usando um display de catodo

comum, pode ser vista abaixo. Para acionar um display de anodo comum basta substituir os valores 1s por 0s em cada segmento.

Page 68: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

62

BCD Código 7-seg Caracteres Display

A B C D a b c d e f g

0

0 0 0 0 1 1 1 1 1 1 0

1

0 0 0 1 0 1 1 0 0 0 0

2

0 0 1 0 1 1 0 1 1 0 1

3

0 0 1 1 1 1 1 1 0 0 1

4

0 1 0 0 0 1 1 0 0 1 1

5

0 1 0 1 1 0 1 1 0 1 1

6

0 1 1 0 1 0 1 1 1 1 1

7

0 1 1 1 1 1 1 0 0 0 0

8

1 0 0 0 1 1 1 1 1 1 1

9

1 0 0 1 1 1 1 1 0 1 1

Exercício 8.7: Construa o circuito lógico para um decodificador BCD para 7-seg, cujo acionamento é realizado por lógica positiva.

Exercício resolvido 8.3: Construa um decodificador para escrever a seqüência F O C A S num display de 7-seg de catodo comum através de uma lógica positiva.

Para resolver este exercício é necessário saber quantas condições de entrada são necessárias para escrever os cinco caracteres. Com dois bits é possível escrever quatros casos (22 = 4), insuficientes para o nosso problema. Com três bits podemos escrever oito casos (24 = 8), mais que suficientes. Portanto nosso quadro de possibilidades será alimentado por três bits que irão gerar oito casos dos quais apenas cinco será usado, conforme a tabela abaixo.

Page 69: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

63

Display B C D a b c d e f g

0 0 0 1 0 0 0 1 1 1

0 0 1 1 1 1 1 1 1 0

0 1 0 1 0 0 1 1 1 0

0 1 1 1 1 1 0 1 1 1

1 0 0 1 0 1 1 0 1 1

- 1 0 1 X X X X X X X

- 1 1 0 X X X X X X X

- 1 1 1 X X X X X X X

Como o sexto, o sétimo e o oitavo caso não são de interesse, podemos preencher os segmentos com condições de irrelevância. Transpondo os valores desta tabela verdade para o mapa-K e o agrupando encontramos as seguintes expressões para cada

segmento: 1a = , Cb = , CAc += , CBACBCBAd ⊕+=++= , Ae = , 1f = ,

CBCBBCg ⊕=+= .

De posse das expressões podemos implementar o circuito lógico, visto na figura 8.15.

Page 70: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

64

Figura 8.15: Circuito exercício resolvido 8.3

Exercício 8.8: Projete o mesmo circuito do exercício resolvido 8.3, porém para lógica negativa e com display de anodo comum.

8.4 Codificadores

Chamamos de codificador o circuito combinacional que faz o inverso do decodificador, ou seja, torna possível a passagem de um código conhecido para um desconhecido.

Exercício 8.9: Projete um circuito combinacional que codifique o sistema decimal em um código binário puro.

Page 71: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

65

9 OPERAÇÕES COM NÚMEROS BINÁRIOS

Neste capítulo serão descritos os procedimentos para se efetuarem as operações de adição e subtração envolvendo números binários.

9.1 Adição Binária

A operação de adição de dois números binários é realizada da mesma forma que a realizada para dois números decimais. Na soma de dois dígitos binários, que estejam em qualquer posição, apenas quatro casos podem ocorrer, conforme visto abaixo:

0 + 0 = 0 1 + 0 = 1 1 + 1 = 10 = 0 + carry1 de 1 para próxima posição

1 + 1 + 1 = 11 = 1 + carry de 1 para próxima posição

O último caso ocorre quando dois bits de uma determinada posição estão em nível 1 e há um carry da posição anterior. Abaixo são apresentados alguns exemplos de adição de dois números binários (entre parênteses o decimal equivalente):

011 (3) 1001 (9) 110 (6)

+ 110 (6) + 1111 (15) + 111 (7) 1001 (9) 11000 (24) 1101 (13)

Em sistemas digitais não é necessário considerar a adição de mais de dois

números binários de uma só vez. Quando mais de dois números devem ser somados, o sistema soma os dois primeiros e ao resultado soma o terceiro número, e assim por diante.

9.2 Representação de Números com Sinal

Como sistemas digitais realizam operações tanto com números positivos quanto negativos é necessário representar, de alguma forma, o sinal do número (-/+). Para isso é definido o bit de sinal que é acrescentado à esquerda do número. A convenção adotada é que um 0 no bit de sinal representa um número positivo e um 1 no bit de sinal representa um número negativo. Isso está ilustrado na figura 9.1 e na figura 9.2

A6 A5 A4 A3 A2 A1 A0

0 1 1 0 1 0 0 = +5210

� Bit de sinal (+)

Figura 9.1: Representação de um número binário com sinal positivo

1 Carry é operação de transporte de um bit 1 para próxima posição à esquerda do número.

Page 72: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

66

A6 A5 A4 A3 A2 A1 A0

1 1 1 0 1 0 0 = -5210

� Bit de sinal (-)

Figura 9.2: Representação de um número binário com sinal negativo

Os números da figura 9.1 e da figura 9.2 são constituídos de um bit de sinal e seis bits de magnitude2. Esta representação de números com sinal é denominada sistema sinal-magnitude.

9.2.1 Números Binários na Forma de Complemento de 1

A obtenção do complemento de 1 de um número binário se dá pela troca de cada bit do número pelo seu complemento. Um exemplo desse processo é descrito abaixo:

1 0 1 1 0 1 número binário original � � � � � � 0 1 0 0 1 0 complementa-se cada bit para obter o complemento de 1

Dessa forma o complemento de 1 de 101101 é 010010.

9.2.2 Números Binários na Forma de Complemento de 2

O complemento de 2 de um número binário é obtido somando-se 1 ao bit menos significativo (LSB) do seu complemento de 1. O processo é descrito abaixo:

101101 número binário original 010010 complementa-se cada bit para obter o complemento de 1

+ 1 soma-se 1 para obter o complemento de 2 010011 complemento de 2 do número binário original

Desta forma o número 010011 é a representação em complemento de 2 do número

binário original 101101.

9.2.3 Representação de Números com Sinal Usando Complemento de 2

O sistema de complemento de 2 é mais utilizado por sistemas digitais para a representação de números com sinais porque a implementação do circuito é menos complexa que no sistema sinal-magnitude. O sistema de complemento de 2 para representação de números com sinal funciona da seguinte forma:

• Se o número for positivo, a magnitude é representada na forma binária direta e um

2 Os bits de magnitude correspondem ao equivalente binário direto do valor decimal representado.

Page 73: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

67

bit de sinal 0 é colocado em frente ao bit mais significativo (MSB), conforme visto na figura 9.3 (a).

• Se o número for negativo, a magnitude é representada na sua forma do complemento de 2 e um bit de sinal 1 é colocado em frente ao MSB, conforme visto na figura 9.3 (b).

O sistema de complemento de 2 é usado para representar números com sinal

porque, conforme será visto, nos permite realizar a operação de subtração efetuando, na verdade, uma adição. Isto é conveniente porque o sistema digital pode usar o mesmo circuito para a operação de soma e subtração.

A6 A5 A4 A3 A2 A1 A0

0 1 1 0 1 0 0 = +4510 (a)

� Binário Verdadeiro Bit de sinal (+) A6 A5 A4 A3 A2 A1 A0

0 1 1 0 1 0 0 = -4510 (b)

� Complemento de 2 Bit de sinal (-)

Figura 9.3: Representação de números com sinal na forma de complemento de 2

Exercício resolvido 9.1: Represente cada um dos seguintes números decimais com sinal como um número binário com sinal no sistema de complemento de 2. Use um total de 5 bits incluindo o bit de sinal.

(a) +13 (b) -9 (c) -2

(a) Como o número é positivo, a magnitude (13) é representada na forma direta, anexando um bit de sinal, conforme visto abaixo:

+13 = 01101 (em negrito o bit de sinal).

(b) Para determinar a representação para -9, escreve-se a representação para +9, incluindo o bit de sinal, assim segue-se calculando o complemento de 2 a fim de obter a representação para -9, conforme descrito abaixo:

+9 = 01001 número binário original, incluindo bit de sinal 10110 complemento de 1d de cada bit, incluindo bit de sinal

+ 1 soma-se 1 ao LSB -9 = 10111 representação de -9 em complemento de 2

(c) Comece escrevendo +2 usando 5 bits:

+2 = 00010 número binário original, incluindo bit de sinal 11101 complemento de 1 de cada bit, incluindo bit de sinal

+ 1 soma-se 1 ao LSB -2 = 11110 representação de -2 em complemento de 2

Page 74: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

68

9.2.4 Negação

Negação é a operação de conversão de um número positivo em seu equivalente negativo e vice-versa. Abaixo é descrito o procedimento de negação para o número decimal +9 no formato binário de oito bits:

Iniciar com 00001001 +9 Fazer o complemento de 2 (negação) 11110111 -9

Negar novamente 00001001 +9

A operação de negação altera o número para seu equivalente de sinal oposto.

Exercício resolvido 9.2: Cada um dos seguintes números é um número binário com sinal no sistema do complemento de 2. Determine o valor decimal em cada caso:

(a) 01100 (b) 11010 (c) 10001

(a) Como o bit de sinal é 0, o número binário é positivo. Desta forma os outros quatro bits restantes representam a magnitude direta do número. Portanto 11002 = 1210, assim o número decimal é +12.

(b) O bit de sinal neste caso é 1, indicando que o número binário é negativo, entretanto não podemos dizer qual sua magnitude sem antes fazer a negação para convertê-lo no seu equivalente positivo. Isto está descrito abaixo:

11010 número negativo original, incluindo bit de sinal 00101 complemento de 1 de cada bit, incluindo bit de sinal

+ 1 soma-se 1 ao LSB 00110 +6

Visto que o resultado da operação negação é 00110 = +6, o número original tem de ser equivalente a -6.

(c) Seguindo o mesmo procedimento realizado em (b):

10001 número negativo original, incluindo bit de sinal 01110 complemento de 1 de cada bit, incluindo bit de sinal

+ 1 soma-se 1 ao LSB 01111 +15

Desta forma, 10001 = -15.

9.2.5 Caso Especial na Representação de Complemento de 2

Sempre que um número com sinal tiver um 1 no bit de sinal e todos os bits de magnitude forem 0, seu equivalente decimal será -2N, em que N é o número de bits da magnitude. Por exemplo:

Page 75: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

69

1000 = -23 = -8

10000 = -24 = -16 100000 = -25 = -32

Por estes números estarem no limite negativo do intervalo de números que podem

ser representados com esses bits, ao se tomar o complemento de 2 (negação) se produz o mesmo valor do número inicial. Quando o sinal destes números especiais são estendidos3 o processo formal de negação funciona. A faixa completa de valores que pode ser representada no sistema de complemento de 2 com N bits de magnitude é

- 2N a + (2N - 1)

Existe um total de 2N+1 diferentes valores, incluindo o zero. Na tabela abaixo estão relacionados todos os números com sinal que podem ser representados com quatro bits usando o sistema de complemento de 2.

Valor Decimal Binário com Sinal Usando

Complemento de 2

+ 7 = 23 + 1 0111

+ 6 0110

+ 5 0101

+ 4 0100

+ 3 0011

+ 2 0010

+ 1 0001

0 0000

- 1 1111

- 2 1110

- 3 1101

- 4 1100

- 5 1011

- 6 1010

- 7 1001

- 8 = - 23 1000

Exercício resolvido 9.3: Qual é faixa de valores de números decimais (a) sem sinal e (b) com sinal que pode ser representada com um byte?

3 Quando um número positivo tem um número de bits de magnitude menor do qual deve ser representado num sistema digital, pode-se estender o bit de sinal, i.é., acrescentar zeros à esquerda do número até satisfazer a condição do sistema. O mesmo pode ser feito com um número negativo que esteja nas mesmas condições acima descritas, porém em vez de acrescentar zeros, são acrescentados uns a esquerda do número.

Page 76: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

70

(a) Como um byte corresponde a oito bits e o interesse é representar números sem sinal, todos estes oito bits são usados para representar a magnitude. Portanto a faixa de valores é

000000002 = 010

a

111111112 = 25510

Isso corresponde a um total de 28 = 256 valores diferentes.

(b) Como o interesse é representar números de oito bits com sinal, a disponibilidade é de sete bits para a magnitude do número, visto que o MSB é destinado a representar o bit de sinal. Desta forma tem-se como maior valor negativo

100000002 = -27 = -12810

e como maior valor positivo

011111112 = +27 - 1 = +12710

Visto que existem sete bits de magnitude (N = 7), então existem 2N+1 = 27+1 = 256 valores diferentes.

9.3 Adição no Sistema de Complemento de 2

Passamos agora a analisar as operações de adição e subtração realizadas por sistemas digitais que fazem uso da representação de complemento de 2 para números negativos. Para essa análise serão apresentados cinco casos. É importante observar que sobre o bit de sinal de cada número é realizada a mesma operação que é feita sobre os bits de magnitude.

Caso I: Dois números positivos. A adição de dois números positivos é feita diretamente. Considere a adição de +9 com +4:

+9 � 0 1001 (1ª parcela) +4 � 0 0100 (2ª parcela) 0 1101 (soma = +13) � Bits de sinal

Nas operações aritméticas realizadas no sistema de complemento de 2, as duas

quantidades numéricas que estão sendo operadas sempre devem ter o mesmo número de bits, assim como o resultado. Isto é observado no exemplo acima, observe também que os bits de sinal da 1ª parcela e da 2ª parcela são ambos 0, logo o bit de sinal da soma também é 0, indicando que o resultado é positivo.

Caso II: Um número positivo e um outro menor negativo. Considere a adição de +9 com -4. Lembre-se de que -4 deve ser representado na forma do complemento de 2. Assim, +4 (00100) têm de ser convertido para -4 (11011).

Page 77: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

71

+9 � 0 1001 (1ª parcela) -4 � 1 1100 (2ª parcela) 1 0 0101 (soma = +5)

Estouro! Bit desconsiderado � Bits de sinal

Como o número de bits na operação deve permanecer constante, o bit (carry) que extrapola a quantidade inicial sempre deve ser desconsiderado. Dessa forma sempre que a operação resultar na extrapolação do número de bits inicial (bits da parcelas), o carry gerado a partir do MSB sempre deve ser desconsiderado.

Caso III: Um número positivo e outro maior negativo. Considere a adição de -9 com +4:

-9 � 1 0111 (1ª parcela) +4 � 0 0100 (2ª parcela) 1 1011 � Bits de sinal

Neste caso a soma gerou um bit de sinal 1 que indica um número negativo. Para se

obter a magnitude da soma (aqui representada em complemento de 2) precisa-se fazer o processo de negação do número que resultou da soma usando apenas os bits de magnitude, ou seja, fazer o complemento de 2 do número binário 1011. Isto resulta em 0101 = 5, portanto o resultado da soma é -5.

Caso IV: Dois números negativos.

-9 � 1 0111 (1ª parcela) -4 � 1 1100 (2ª parcela) 1 1 0011

Estouro! Bit desconsiderado � Bits de sinal

Como no caso III, o resultado é um número negativo representado em complemento de 2, portanto o número resultante da operação 10011, então sobre seus bits de magnitude deve-se efetuar a negação, desta forma temos o resultado igual a -13.

Caso V: Números iguais e de sinais opostos.

-9 � 1 0111 (1ª parcela) +9 � 0 1001 (2ª parcela) 1 0 0000

Estouro! Bit desconsiderado � Bits de sinal

Evidentemente, o resultado é zero, conforme o esperado.

Exercício 1: Efetue a soma dos seguintes pares de números com sinal. Expresse a soma como um número binário com sinal e como um número decimal.

(a) 100111 + 111011 (b) 100111 + 011001

9.4 Subtração no Sistema de Complemento de 2

Page 78: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

72

A operação de subtração no sistema de complemento de 2, na verdade, já foi descrita nos casos apresentados na seção 9.3. Ao efetuar a subtração de um número binário (o subtraendo) de outro número binário (o minuendo), use os seguintes procedimentos:

• Faça a operação de negação do subtraendo. Isso mudará o subtraendo para o seu valor equivalente com sinal oposto.

• Adicione esse número obtido ao minuendo. O resultado dessa adição representa a diferença entre o subtraendo e o minuendo.

Qualquer operação de subtração torna-se, na realidade, uma operação de adição

quando é utilizado o sistema de complemento de 2. É importante ressaltar que em todas as operações aritméticas em complemento de 2, é necessário que os dois números tenham o mesmo número de bits em suas representações.

9.5 Overflow Aritmético

Nas operações aritméticas de adição e subtração em complemento de 2, os dois números envolvidos, bem como o resultado, devem ter o mesmo número de bits. Podem ocorrer casos, como os vistos na seção 9.3, em que um bit 1 extrapola a quantidade de bits necessários para a representação do resultado correto e nesses casos basta desconsiderar este bit, pois ele não interfere no bit de sinal. Entretanto existem casos em que a soma gera um overflow (transbordamento) na posição do bit de sinal, isso ocorre quando o resultado da soma precisa de um número maior de bits que as parcelas para representar a sua magnitude. Abaixo é apresentado um exemplo em que ocorre um overflow:

+9 � 1 1001 +8 � 0 1000 1 0001

sinal incorreto � magnitude incorreta

No exemplo a soma de dois números positivos está gerando um número negativo, que obviamente é incorreto. A resposta correta deveria ser +17, mas a magnitude 17 requer mais que quatro bits, portanto ocorreu um transbordamento na posição do bit de sinal.

9.5.1 Círculos de Números e Aritmética Binária

O conceito de aritmética com sinal e overflow é melhor entendido fazendo uso do circulo de números apresentado na figura 1.3. Observe que há duas formas de olhar para esse circulo. Ele pode ser pensado como um círculo de números sem sinal (como mostra o anel externo), com um valor mínimo de 0 e máximo de 15, ou como números com sinal na forma de complemento de 2 (como mostra o anel interno), com valor máximo de 7 e mínimo de -8. Para somar usando o círculo de números, basta começar no valor da primeira parcela e avançar o número de casas indicado na segunda parcela ao redor do círculo no sentido horário. Para a operação de subtração, começa-se no valor do

Page 79: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

73

minuendo e desloca-se, no sentido anti-horário, o número de casas indicadas no subtraendo.

Qualquer operação de subtração entre números de quatro bits de sinal oposto que produza um resultado maior do que 7 ou menor que -8 é um overflow do formato de quatro bits e produz uma resposta incorreta.

Figura 9.4: Circulo numérico de quatro bits.

Page 80: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

74

10 CIRCUITOS ARITMÉTICOS

A partir de agora serão estudados os circuitos responsáveis, dentro da eletrônica digital, por realizarem as operações aritméticas discutidas no capítulo anterior. Estes circuitos são denominados circuitos aritméticos.

10.1 Projeto de um Somador Completo

O circuito aritmético denominado somador completo (Full Adder – FA) é um circuito que realiza a soma de dois números binários de um bit. Entretanto um FA tem, além das entradas A e B destinadas aos valores das parcelas, uma outra entrada CIN (carry in) que corresponde a um bit 1 de transporte proveniente de uma posição anterior ao número que esta sendo somado, isto ocorre quando os FAs estão conectados em cascata conforme veremos mais adiante no estudo do somador binário paralelo. Um FA tem uma saída S que é o resultado da soma dos bits e uma saída COUT (carry out) que corresponde a um transporte de saída que é gerado quando somamos dois bits cheios. Para implementarmos o circuito de um FA construímos a tabela abaixo:

Entradas de bits da primeira parcela

Entradas de bits da segunda parcela

Entradas de bits do carry

Saída de bits da soma

Saída de bits do carry

A B CIN S COUT

0 0 0 0 0 0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

A partir da tabela, aplicando o método da soma de produtos, chegamos a

expressão para a saída S:

ININININ ABCCBACBACBAS +++=

Fazendo uso do método algébrico para simplificação de expressões booleanas chegamos a expressão:

[ ]INCBAS ⊕⊕= .

Agora é necessário encontrar a expressão booleana para a saída COUT, para isso usamos o mesmo método utilizado para encontrar a saída S:

ININININOUT ABCCABCBABCAC +++=

Simplificando esta expressão chegamos a:

Page 81: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

75

ININOUT BCACABC ++= .

A partir das expressões para S e COUT, podemos implementar o circuito de um somador completo, conforme visto abaixo na figura 10.1:

Figura 10.1: Circuito para um somador completo

Na figura 10.2 o somador completo está representado em bloco.

Figura 10.2: Representação em bloco para um somador completo

10.1.1 Meio Somador

Existem casos em que é necessário um circuito que some apenas dois bits de entrada, para gerar uma soma e um carry como saídas. Um circuito especial pode ser projetado para realizar a soma de dois bits, A e B, e gerar uma soma (S) e um carry

Page 82: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

76

(COUT). Este circuito recebe o nome de meio somador (Half Adder – HA). A operação deste circuito é similar à do FA, apenas com a exceção de não ter a entrada CIN. A operação de um HA pode ser descrita através da tabela abaixo:

Entradas de bits da primeira parcela

Entradas de bits da segunda parcela

Saída de bits da soma

Saída de bits do carry

A B S COUT

0 0 0 0 0 1 1 0

1 0 1 0

1 1 0 1

A partir da tabela encontramos a seguinte expressão para S:

BAS ⊕=

Para COUT a expressão obtida é:

BACOUT ⋅=

A partir das expressões acima implementamos o circuito para um meio somador. O circuito pode ser visto na figura 10.3 e a representação em bloco na figura 10.4.

Figura 10.3: Circuito para um meio somador

Figura 10.4: Representação em bloco para um meio somador

Page 83: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

77

10.1.2 Somador Completo a Partir de Meio Somador

A partir de dois meios somadores e uma porta OR é possível construir um somador completo. Um exemplo pode ser visto na figura 10.5.

Figura 10.5: Somador completo a partir de meio somador

Neste caso da construção de um somador completo a partir de meio somador, a

expressão para o COUT é da forma:

INOUT C)BA(ABC ⊕+= .

Exercício 10.1: Mostre passo-a-passo a obtenção da expressão para o COUT para um somador completo a partir de meio somador.

10.2 Somador Binário Paralelo

Em sistemas digitais estamos, muitas vezes, interessados em somar quantidades com mais de 1 bit (parcelas com mais de um bit), neste caso um único FA não é suficiente. Portanto é necessário interligar os FAs de maneira que se possa obter, por exemplo, a soma de dois numero de cinco bits.

Figura 10.6: Processo típico de soma binária

Page 84: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

78

A figura 10.6 nos fornece uma idéia de como interligar os FAs de maneira a se obter a soma de dois números de cinco bits, essa idéia é expressa na figura 10.7 onde mostra cinco FAs ligados em cascata formando um somador binário paralelo.

Figura 10.7: Somador binário paralelo de cinco bits

Embora a figura 10.7 represente um somador paralelo de cinco bits, podemos

estender a capacidade de bits de cada parcela aumentando o número de faz. Na figura as saídas (S0 a S4) representam o valor da soma onde S0 representa o LSB e S4 representa o MSB , entretanto quando se está somando números sem sinal, o último carry (no caso C5) pode ser considerado como o MSB, podendo, então, o somador efetuar operações que extrapolem o número de bits das parcelas. Em geral o carry inicial assume o valor 0, mas existem situações, que veremos mais adiante, em que o carry inicial não é 0, podendo assumir o valor 1.

10.3 Somador Paralelo em Circuito Integrado

Nesta seção será apresentado o circuito integrado 4008 que é um somador paralelo de quatro bits. Na figura 10.8 é apresentado o diagrama em bloco CI 4008. A ampliação do numero de bits pode ser realizada através da ligação em cascata de dois ou mais, conforme a necessidade, de CIs 4008. A conexão em cascata de dois CIs pode ser visualizada na figura 10.9 e a distribuição de pinos num encapsulamento dip16 na figura 10.10.

Page 85: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

79

Figura 10.8: Representação em bloco do CI 4008

Figura 10.9: Conexão em cascata de dois 4008

Figura 10.10: Distribuição de pinos do CI 4008

Page 86: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

80

Na figura 10.9 o FA mais a esquerda é chamado de somador de alta ordem e o da direita de somador de baixa ordem.

10.4 Uso de Somadores Paralelos no Sistema de Complemento de 2

Como vimos usando o sistema de complemento de 2, a operação de subtração entre dois números binários na realidade se torna uma operação de soma. Desta forma podemos usar circuitos somadores para realizar as operações de soma e subtração. Como foi visto no capítulo 9 a operação de adição (ou subtração) em números com sinal é realizada também sobre o bit de sinal, portanto o resultado da operação deve ter o mesmo número de bits das parcelas, ou seja, se cada parcela é composta por quatro bits, incluindo o bit de sinal, a resposta da operação deve também ter quatro bits, incluindo o bit de sinal.

10.4.1 Adição

A operação de adição é semelhante a vista na seção 10.3 com a diferença de não ser possível usar o último carry como MSB na soma de dois números positivos, pois o resultado da soma está limitada ao número de bits das parcelas, ou seja, a resposta não deve ser maior que 2N-1, onde N é o número de bits das parcelas, caso contrário ocorre um overflow. Um caso típico de transbordamento pode ser gerado quando, usando números com sinal, efetua-se a soma:

0111 + 0001 = 1000

Como sabemos, nesses números temos um bit de sinal e três bits de magnitude, portanto devemos ter como resultado da adição um número com quatro bits sendo um deles o que representa o sinal do resultado. Como se percebe o resultado da soma gerou um valor incorreto, pois o bit de sinal indica um número negativo como resposta e como sabemos a soma de dois números positivos não poder resultar em um número negativo.

É importante observar que o carry de entrada deve ser 0.

10.4.2 Subtração

Para se efetuar a operação de subtração, o subtraendo deve ser transformado em complemento de 2. Para relembrar, o complemento de 2 de um número se dá pela complementação de cada bit do número e a esse resultado soma se 12 ao LSB. Portanto se quisermos realizar a operação [A] – [B]1 no CI 4008 basta complementar os bits da entrada [B] e colocarmos o carry de entrada em nível alto. O circuito subtrator pode ser visto na figura 10.11.

1 Notação usual para registradores. Aqui usamos para representar o conjunto de bits da entrada de um somador paralelo.

Page 87: Apostila Digital 2011

Eletrônica Digital Combinacional Prof. Fernando Schuck de Oliveira

81

Figura 10.11: CI 4008 como subtrator

10.4.3 Adição e Subtração Combinadas

A partir de um CI somador é possível implementar um circuito que execute as operações de adição e subtração (subtração no sistema de complemento de 2) de dois números através de um sinal de controle ADD/SUB. Este circuito é mostrado na figura 10.12. Quando ADD/SUB for 1, o circuito somador/subtrator executará a operação de soma dos números [A] e [B], porém se ADD/SUB for 0, o circuito somador/subtrator realizará a operação [A] – [B].

Figura 10.12: Somador/subtrator paralelo (sistema de complemento de 2)