(4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de...

38
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia Disciplina de Circuitos Digitais - ECA (4453A-02) Prof. Dr. Fabian Vargas 1 Índice 1. SISTEMAS NUMÉRICOS 1.1 Caracterização dos Sistemas Numéricos 1.2 Sistemas Numéricos em uma Base B Qualquer 1.2.1 Sistema de Numeração Decimal 1.2.2. Sistema de Numeração Binário 1.2.3 Sistema Octal 1.2.4 Sistema Hexadecimal 1.3 Conversão de Números Inteiros 1.3.1 Conversão de Binário em Decimal 1.3.2 Conversão de Decimal em Binário 1.3.3 Conversão de Octal em Binário 1.3.4 Conversão de Binário em Octal 1.3.5 Conversão de Octal em Decimal 1.3.6 Conversão Decimal para Octal 1.3.7 Conversão Hexa para Binário 1.3.8 Conversão Binária para Hexa 1.4 Conversão de Números Fracionários 1.4.1 Conversão de Números Binários Fracionários em Decimal 1.4.2 Conversão de Número Decimal Fracionário em Binário 2. PORTAS LÓGICAS E EXPRESSÕES BOOLEANAS BÁSICAS 2.1. Portas Lógicas 2.1.1. Porta OR 2.1.2. Porta AND 2.1.3. Porta NOT

Transcript of (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de...

Page 1: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

1

Índice

1. SISTEMAS NUMÉRICOS

1.1 Caracterização dos Sistemas Numéricos

1.2 Sistemas Numéricos em uma Base B Qualquer

1.2.1 Sistema de Numeração Decimal 1.2.2. Sistema de Numeração Binário 1.2.3 Sistema Octal 1.2.4 Sistema Hexadecimal

1.3 Conversão de Números Inteiros

1.3.1 Conversão de Binário em Decimal 1.3.2 Conversão de Decimal em Binário 1.3.3 Conversão de Octal em Binário 1.3.4 Conversão de Binário em Octal 1.3.5 Conversão de Octal em Decimal 1.3.6 Conversão Decimal para Octal 1.3.7 Conversão Hexa para Binário 1.3.8 Conversão Binária para Hexa

1.4 Conversão de Números Fracionários

1.4.1 Conversão de Números Binários Fracionários em Decimal 1.4.2 Conversão de Número Decimal Fracionário em Binário

2. PORTAS LÓGICAS E EXPRESSÕES BOOLEANAS

BÁSICAS

2.1. Portas Lógicas

2.1.1. Porta OR 2.1.2. Porta AND 2.1.3. Porta NOT

Page 2: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

2

2.1.4. Porta NOR 2.1.5. Porta NAND 2.1.6. Porta XOR 2.1.7. Porta XNOR

2.2. Diagramas de Tempo

2.3. Universalidade das Portas NAND E NOR

2.3.1. Universalidade das Portas NAND

2.3.2. Universalidade das Portas NOR

2.4. Expressões Booleanas

2.4.1. Equação Booleana a partir do Diagrama de Portas

Lógicas

2.5. Obtenção do Circuito a partir das Equações Booleanas

2.6. Obtenção das Expressões Booleanas a partir da Tabela Verdade

2.7. Obtenção da Tabela Verdade a partir de uma Descrição

3. ÁLGEBRA BOOLEANA

3.1. Leis

3.2. Regras

3.3. Teoremas de DeMorgan

4. CIRCUITOS COMBINACIONAIS

4.1. Introdução aos Circuitos Combinacionais 4.2. Unidade Lógica de 1 Bit 4.3. Somador Parcial / Somador Completo 4.4. Bit-Slice de uma ULA para 4 Operações 4.5. ULA de 32 Bits para 4 Operações 4.6. Somador Carry Lookahead

Page 3: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

3

1. SISTEMAS NUMÉRICOS

1.1. Caracterização dos Sistemas Numéricos

Todos nós, quando ouvimos pronunciar a palavra números,

automaticamente a associamos ao sistema decimal com o qual estamos

acostumados a operar. Este sistema está fundamentado em certas regras que são

base para qualquer outro. Vamos, portanto, estudar estas regras e aplicá-las aos

sistemas de numeração binária, octal e hexadecimal. Estes sistemas são

utilizados em computadores digitais, circuitos lógicos em geral e no

processamento de informações dos mais variados tipos.

1.2. Sistemas Numéricos em uma Base B Qualquer

1.2.1. Sistema de Numeração Decimal

Entre os sistemas numéricos existentes, o sistema decimal é o mais

utilizado. Os elementos são agrupados de dez em dez e, por essa razão, os

números podem ser expressos por intermédio de potência de dez e recebem o

nome de sistema de numeração decimal.

Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9

Base 10

Organização posicional:

486 = 400 + 80 + 6 = 4 x 100 + 8 x 10 + 6 x 1 = 4 x 102 + 8 x 101 + 6 x 100,

ou seja:

486 = 4 x 102 + 8 x 101 + 6 x 100

Note que aquele algarismo situado na extrema esquerda do número está

sendo multiplicado pela potência de dez maior, ou seja, é o dígito mais

significativo (most significant digit – MSD).

Analogamente, o que está situado na extrema direita será multiplicado

pela menor potência, ou seja, é o dígito menos significativo (least significant digit –

LSD).

Page 4: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

4

1.2.2. Sistema de Numeração Binário

Os atuais computadores processam suas operações em um sistema

diferente do decimal, o sistema binário.

O sistema binário corresponde a qualquer conjunto dual, como por

exemplo: não e sim; falso e verdadeiro; desligado e ligado; negativo e positivo

falso e verdadeiro, etc. Nos circuitos lógicos, 0 e 1 representam respectivamente

níveis de tensão baixa e alto ou estados de saturação e corte de transistores. Daí,

uma outra designação comum: L e H ( Low e High levels do inglês: baixo e alto

níveis de tensão).

Na seqüência binária, cada digito é chamado de BIT (Binary Digit).

Dígitos: 0 e 1

Base 2

Organização posicional:

10101 = 1x24 + 0x23 + 1x22 + 0x21 + 1x20

Números são expressos como somas de potências de 2 (a base do

sistema binário)

MSB (bit mais significativo): Bit mais a esquerda.

LSB (bit menos significativo): Bit mais a direita.

Agrupamento de dados:

4 bits: NIBBLE.

8 bits: BYTE.

1.2.3. Sistema Octal

É utilizado por ser um sistema que tem relação direta com o sistema

binário.

Para representação de um número no sistema octal, considera-se três

dígitos binários. Assim, o maior dígito que pode ser representado neste sistema é

111 ou em decimal 7.

Dígitos: 0, 1, 2, 3, 4, 5, 6 e 7

Base 8

Organização posicional:

108 = 1x81 + 0x80 = 8+0 = 810

Números são expressos como somas de potências de 8 (a base do

sistema octal)

Page 5: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

5

MSB (bit mais significativo): Bit mais a esquerda.

LSB (bit menos significativo): Bit mais a direita.

1.2.4. Sistema Hexadecimal

O sistema hexadecimal (hexa) foi criado com o mesmo propósito do

sistema octal, para minimizar a representação de um número binário que é o

utilizado em processamento. Tanto os números em hexa como em octal são os

meios de manipulação do homem, porém existirão sempre conversores internos à

máquina que os converta em binário, com o qual a máquina trabalha.

Analogamente, se considerarmos quatro dígitos ou bits binários, o maior

número que se pode ser expresso por esses quatro dígitos é 1111 ou em decimal

15, da mesma forma que 15 é o algarismo mais significativo do sistema

hexadecimal, portanto com a combinação de 4 bits ou dígitos binários pode-se ter

o algarismo hexadecimal correspondente.

Assim, com esse grupamento de 4 bits ou dígitos, podem-se definir 16

símbolos, 0 até 15.

Contudo, como não existem símbolos dentro do sistema arábico que

possam representar os números decimais entre 10 e 15 sem repetir os símbolos

anteriores, foram usados os símbolos A, B, C, D, E e F, portanto o sistema

hexadecimal será formato por 16 símbolos alfanuméricos.

Dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E e F.

Base: 16

Organização posicional:

1016 = 1x161 + 0x160 = 16+0 = 1610

MSB (bit mais significativo): Bit mais a esquerda.

LSB (bit menos significativo): Bit mais a direita.

1.3. Conversão de Números Inteiros

1.3.1. Conversão de Binário em Decimal

Exemplo: 101112 = 1 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 16 + 0 + 4 +

2 + 1 = 23

Page 6: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

6

Exemplo: 100101102 = 1 x 27 + 0 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 1 x 22 + 1

x 21 + 0 x 20 = 128 + 0 + 0 + 16 + 0 + 4 + 2 + 0 = 150

1.3.2. Conversão de Decimal em Binário

Na conversão decimal-binário pode ser utilizado o método dito das

divisões sucessivas, consiste m dividir sucessivamente o número por 2 até

obtermos o cociente 0 (zero). O resto dessa divisão colocado na ordem inversa

corresponde ao número binário, resultado da conversão de decimal em binário de

um certo número de dados.

Exemplo: 5410 542

54 |_2_

0 27 |_2_

1 13 |_2_

1 6 |_2_

0 3 |_2_

1 1 |_2_

1 0

5410 = 1101102

1.3.3. Conversão de Octal em Binário

A conversão de uma base em outra é bastante simples, uma vez que se

trata da operação inversa à já descrita, ou seja, basta converter individualmente

cada dígito octal em três binários.

Exemplo: 1378 = ?2

O número 1 equivale a 0012, o número 3 igual a 0112 e o número 7 vale

1112. Portanto:

1378 = 0010111112 ou seja 1378 = 10111112

Page 7: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

7

1.3.4. Conversão de Binário em Octal

É feita pela combinação de três dígitos binários, como vimos, podendo

assim ter todos os algarismos octais:

Exemplo: 110110112 = 11 011 011 = 3 3 3 8 110110112 = 3338

Exemplo: 10111012 = 1 011 101 = 1 3 5 8 10111012 = 1358

1.3.5. Conversão de Octal em Decimal

Esta conversão se passa primeiramente de octal para binário e

posteriormente para decimal, ou seja:

Exemplo: 178 = 001 1112 1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 = 8

+ 4 + 2 + 1 = 1510

1.3.6. Conversão Decimal para Octal

Esta conversão se passa primeiramente de decimal para binário e

posteriormente para octal, ou seja:

Exemplo: 2210 = 101102 10 110 = 268

1.3.7. Conversão Hexa para Binário

Basta converter cada dígito hexadecimal em seu similar binário, ou seja,

cada dígito em hexa equivale a um grupo de 4 bits.

Exemplo: B1516 = ?2

B 10112

1 00012

5 01012

Logo, B1516 = 1011.0001.01012

Page 8: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

8

1.3.8. Conversão Binária para Hexa

De maneira análoga, basta realizar o processo inverso de hexa para

binário.

Exemplo: 100110112 = ?16

10012 9 16

10112 B16

Portanto, 100110112 = 9B16

1.4. Conversão de Números Fracionários

1.4.1. Conversão de Números Binários Fracionários em

Decimal

A conversão segue o mesmo processo binário para decimal já visto,

utilizando a mesma expressão, inclusive os dígitos após a vírgula em que as

potências ficam com o expoente negativo.

Exemplo: 110,112 = 1 x 22 + 1 x 21 + 0 x 20 + 1 x 2-1 + 1 x 2-2 = 4 + 2 + 0 +

1x1/21 + 1x1/22 = 4 + 2 + 0 + 0,5 + 0,25 = 6,75

Portanto: 110,112 = 6,75

1.4.2. Conversão de Número Decimal Fracionário em

Binário

Neste tipo de conversão, o processo é dividido em duas etapas:

conversão da parte inteira (já estudada) e conversão da parte fracionária.

Exemplo: 6,6

6 = parte inteira

0,6 = parte fracionária

Page 9: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

9

A parte inteira do número é convertida conforme o processo já

demonstrado anteriormente, e obtemos o número 1102. A parte fracionária, 0,6, é

convertida da seguinte maneira:

Multiplica-se a parte fracionária (multiplicando) pela base “b”

(multiplicador), neste caso o 2, e separa-se a parte inteira do produto. O resultado

obtido da subtração da parte inteira do produto passa a ser o próximo

multiplicando. Faz-se sucessivamente esta operação até que consiga uma

precisão satisfatória. Lê-se os algarismos separados de cima para baixo.

Exemplo:

4,610 = ?2

0,6 x 2=1,2

menos a parte inteira (1 ) = 0,2

x 2 = 0,4

menos a parte inteira (0) = 0,4

x 2 = 0,8

menos a parte inteira (0) = 0,8

x 2 = 1,6

menos a parte inteira (1) = 0,6

x 2 = 1,2

menos a parte inteira (1) = 0,2

e assim por diante.

Lendo de cima para baixo teremos 10011, então 0,610=100112. Se

fizermos uma conferência, descobriremos que 0,100112 é igual a:

1x2-1 + 0x2-2 + 0x2-3 + 1x2-4 + 1x2-5 = ½ + 1/16 + 1/32 = 19/32 = 0,59375 ≈ 0,6.

Page 10: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

10

Portanto, como podemos perceber, teremos sempre diferenças de

precisão entre bases.

2. PORTAS LÓGICAS E EXPRESSÕES BOOLEANAS

BÁSICAS

2.1. PORTAS LÓGICAS

2.1.1. PORTA OR

Page 11: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

11

Aplicações com portas OR:

Dadas as entradas que variam no tempo, determine a saída da porta OR:

Page 12: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

12

2.1.2. PORTA AND

Dadas as entradas que variam no tempo, determine a saída da porta AND:

Page 13: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

13

2.1.3. PORTA NOT

2.1.4. PORTA NOR

Dadas as entradas que variam no tempo, determine a saída da porta OR:

Page 14: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

14

2.1.5. PORTA NAND

Determine a saída da porta NAND onde é dado as entradas que variam no tempo:

Page 15: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

15

2.1.6. PORTA XOR

Determine a saída da porta XOR onde é dado as entradas que variam no tempo:

Page 16: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

16

2.1.7. PORTA XNOR

Page 17: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

17

2.2. Diagramas de Tempo

Determine o diagrama de tempo dos seguintes circuitos lógicos:

Page 18: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

18

2.3. Universalidade das Portas NAND e NOR

2.3.1. Universalidade das Portas NAND

As portas NAND podem ser usadas para implementar qualquer função

booleana.

2.3.2. Universalidade das Portas NOR

As portas NOR podem ser usadas para implementar qualquer função

booleana.

Page 19: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

19

2.4. Expressões Booleanas

2.4.1. Equação Booleana a partir do Diagrama de Portas Lógicas

Page 20: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

20

2.5. Obtenção do Circuito a partir das Equações Booleanas

Exemplo 3:

Page 21: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

21

Exemplo 4:

Exemplo 5:

Exemplo 6:

Page 22: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

22

Exemplo 7:

Exemplo 8:

Exemplo 9:

Page 23: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

23

2.6. Obtenção das Expressões Booleanas a partir da Tabela

Verdade

Exemplo 1:

Exemplo 2:

Page 24: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

24

2.7. Obtenção da Tabela Verdade a partir de uma Descrição

Exemplo1:

Determinar a tabela verdade que implementa o problema abaixo.

Em uma sala há três pessoas (A,B,C) que podem votar Sim (1) ou Não

(0), sobre um determinado assunto. Implemente a lógica que seja capaz de

identificar as seguintes situações.

X - Indicar que a maioria votou Sim;

Y - Indicar que a maioria votou Não;

W - Indicar que houve unanimidade de Sim;

Z - Indicar que houve unanimidade de Não.

Solução:

Page 25: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

25

Exemplo2:

Em uma fábrica que produz uma determinada luminária (que possui quatro

lâmpadas denominadas de: A, B, C, D) o teste final de produção tem por objetivo

liberar as luminárias para os clientes (X = 1) ou devolver para o setor de

recuperação da produção (Y = 1) em função da detecção de pelo menos uma

lâmpada com defeito.

Notação: lâmpada sem defeito: 1; lâmpada com defeito: 0.

Implemente a função lógica que seja capaz de identificar as seguintes

situações (Implemente também a Tabela Verdade e o circuito lógico).

Solução:

X = A.B.C.D

Y = /A.B.C.D + A./B.C.D + A.B./C.D + A.B.C./D +

+ /A./B.C.D + /A.B./C.D + /A.B.C./D + A./B./C.D + A./B.C./D + A.B./C./D +

+ /A./B./C.D + /A.B./C./D + A./B./C./D +

+ /A./B./C./D

OBS: implemente também a Tabela Verdade e o circuito lógico...

Page 26: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

26

3. ÁLGEBRA BOOLEANA

3.1. Leis

Page 27: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

27

3.2. Regras

Page 28: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

28

3.3. Teoremas de DeMorgan

Page 29: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

29

Page 30: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

30

4. CIRCUITOS COMBINACIONAIS

4.1. Introdução aos Circuitos Combinacionais

De acordo com o comportamento temporal, podemos classificar os

circuitos eletrônicos digitais em dois grandes grupos: os circuitos combinacionais

e os circuitos seqüenciais. Os circuitos seqüenciais são mais complexos e

envolvem "elementos de memória" além de blocos combinacionais.

Conceito:

Um circuito combinacional consiste num arranjo de portas lógicas

conectadas, com um conjunto de saídas, tais que, em qualquer momento, os

valores nas saídas dependem apenas dos valores instantâneos das

entradas.

Em contraposição, em circuitos seqüências as saídas dependem,

além dos valores de suas entradas, do "estado" da máquina. O "estado" de

uma máquina seqüencial é definido como o conjunto de valores

armazenados nos elementos de memória desta. Por isso, circuitos

seqüenciais são chamados alternativamente, de "máquinas de estado".

Diagrama de blocos de um circuito combinacional:

O vetor de saída “S”, em qualquer momento, é dado por S = f (E), onde E

é o vetor de entradas.

A função lógica f (E) pode ser representada de várias maneiras, entre as

quais:

- Tabelas-Verdade

- Circuitos Lógicos (interconexões de portas lógicas)

- Equações Lógicas

- Mapas de Karnaugh

1.1.

n

Circui

to

Com

binacional

1.2. E

m

S

= f(E)

Page 31: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

31

Veremos agora alguns exemplos destas maneiras, bem como algumas

conversões entre formas:

Ex.: 1: Dadas as equações lógicas, monte o Diagrama de Blocos, a Tabela-

Verdade e o Circuito Lógico.

Solução:

a) Diagrama de Blocos para o circuito combinacional:

b) Tabela-Verdade: elaboramos a grade com todas as 8 combinações

possíveis das variáveis de entrada. A partir daí, preenchemos a tabela de saídas

calculando o valor através da equação. Se necessário, por questões de clareza,

podemos inserir colunas de resultados parciais como abaixo:

A B C AB X Y

0 0 0 1 0 0 0

0 0 1 1 0 1 1

0 1 0 0 0 0 0

0 1 1 0 0 0 0

1 0 0 0 0 0 1

1 0 1 0 0 0 1

1 1 0 0 1 1 1

1 1 1 0 1 1 1

c) Circuito Lógico: se fizermos a minimização da função, usando teoremas

ou Mapas de Karnaugh, obteremos o seguinte diagrama:

ABCBAX )(

ACCBAY

CABABX

CBAY

BA

Page 32: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

32

Ex.: 2: Dado o circuito lógico abaixo, encontrar as Equações Lógicas e a Tabela

Verdade envolvidas:

4.2. Unidade Lógica de 1 Bit

Fig. 1. Unidade Lógica de 1 bit para as operações "AND" e "OR".

32.11 EEES 4)32.1(2 EEEES 5).42.1(3 EEEES

Page 33: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

33

4.3. Somador Parcial / Somador Completo

O carry do estágio Ci pode ser expresso como:

Ci = Gi + Pi.Ci-1 [1]

Onde: Gi = Ai.Bi (generate signal) [2]

Pi = Ai + Bi (propagate signal) [3]

A soma Si é gerada por:

Si = Ci-1 Ai Bi = Ci-1 Pi [4]

A B Carry -in

Carry -out

Soma

Somador Completo (Full Adder)

A B

Carry -out

Soma

Somador Parcial (Half Adder) Fig. 2. Somador de 1 bit.

Page 34: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

34

Entradas Saídas

a b Vem-

um

Vai-um Soma

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

Tabela. 1. Tabela verdade do somador de 1 bit.

4.4. Bit-Slice de uma ULA para 4 Operações

Fig. 3. Unidade Lógica e Aritmética de 1 bit Fig. 4. ULA de 1 bit que SOMA,

e que realiza AND, OR e SOMA SUBTRAI. realiza as operações lógicas

"AND" e "OR".

Page 35: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

35

4.5. ULA de 32 Bits para 4 Operações

Finalmente, 32 destas ULAs de 1 bit (Fig. 4) podem ser conectadas para formar uma

ULA de 32 bits, conforme ilustrado na Fig. 5.

a0

b0

a1

b1

a2

b2

a31

b31

ALU0

ALU1

ALU2

ALU31

::

:

:

Resultado 0

Resultado 1

Resultado 2

Resultado 31

Vem-Um

Vem-Um

Vem-Um

Vem-Um

Vem-Um

Vai-Um

Vai-Um

Vai-Um

Vai-Um

OperaçãoInverte

Fig. 5. ULA de 32 bits.

O símbolo mais comumente utilizado para representar uma ULA na representação

em diagrama de blocos do sistema é mostrado na Fig. 6.

Page 36: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

36

Carry -out

Zero

Resultado

Overflow

a

ALU

Operação

3

b

Linhas de Controle da ULA

OperaçãoInv erte

00

01

10

10

0

0

0

1 subtrai

soma

OU

E

Função

Fig. 6. Símbolo para ULA (a linha "Operação" inclui as linhas "Inverte" e "Operação" da

Fig. 4).

4.6. Somador Carry Lookahead

O crescimento linear do delay com o tamanho da palavra de entrada

(conforme visto na Fig.5) pode ser melhorado através do cálculo dos carries de cada estágio

em paralelo. O carry do estágio Ci pode ser expresso como:

Ci = Gi + Pi.Ci-1

[1]

Onde:

Gi = Ai.Bi (generate signal) [2]

Pi = Ai + Bi (propagate signal). [3]

Expandindo [1], temos:

Ci = Gi + PiCi-1 + PiPi-1Gi-2 + ... + Pi ... P1C0

A soma Si é gerada por:

Si = Ci-1 Ai Bi = Ci-1 Pi

3

2

3

2

Page 37: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

37

A quantidade de portas lógicas necessárias para implementar este somador pode

claramente explodir exponencialmente. Como conseqüência, o número de estágios do

Lookahead é normalmente limitado a quatro. Para um somador de quatro estágios (quatro

bits), os termos apropriados são os seguintes:

C1 = G1 + P1.C0

C2 = G2 + P2G1 + P2P1C0

C3 = G3 + P3G2 + P3P2G1 + P3P2P1C0

C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0

Duas possíveis implementações para este somador Carry Lookahead podem ser

vistas na Fig. 7.

(

a)

Page 38: (4453A-02) Prof. Dr. Fabian Vargas - politecnica.pucrs.brCKT-DIG)-2017-02.pdf · A conversão de uma base em outra é bastante simples, uma vez que se trata da operação inversa

Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Engenharia

Disciplina de Circuitos Digitais - ECA (4453A-02)

Prof. Dr. Fabian Vargas

38

C1P1

C0

G1

C2

G2

P2

P3

C3

G3

A1

B1

P1

G1

A2

B2

P2

G2

A3

B3

P3

G3

A1

B1 S1

S2

S3

C0

A2

B2

C1

A3

B3

C2

Fig. 7. Duas versões de circuitos lógicos para implementação de um Somador

Carry Lookahead de 4 bits.

(

b)