9
1 Faculdade Pan Amazônica (FAPAN) / Faculdade Paraense de Ensino (FAPEN). Bacharelado em Ciência da Computação 3 o / 4 o semestres. Disciplina: Circuitos Digitais 2º semestre / 2014. Professor: Cleyton Muto. Aula 2: Funções e Portas Lógicas 1. Introdução A eletrônica digital emprega em seus sistemas um pequeno grupo de circuitos básicos padronizados conhecidos como portas lógicas. Através da utilização conveniente destas portas, é possível implementar todas as expressões geradas pela álgebra de Boole, que constituem a base dos projetos de sistemas digitais. Nesta unidade, serão tratados os principais blocos básicos: AND, OR, NOT, NAND, NOR, XOR, XNOR. Em circuitos lógicos digitais serão utilizados os bits 0 e 1 como valores das variáveis lógicas, em analogia à lógica matemática, que utiliza os valores falso e verdadeiro, respectivamente. 2. Função AND A função AND (em português, é a conjunção “E”) é a operação binária correspondente à conjunção lógica, que só resulta em verdadeiro (bit 1) na saída quando recebe ambas as entradas como verdadeiro também. Em outras palavras, 1 AND 1 = 1; em qualquer outra combinação de operandos na entrada, o resultado vale 0; por exemplo, 0 AND 0 = 0 , 0 AND 1 = 0 , 1 AND 0 = 0. A tabela verdade da função AND é representada abaixo: A B S 0 0 0 0 1 0 1 0 0 1 1 1 O símbolo algébrico da função AND é o ponto, tal que representa-se a “A AND B” como “A.B” O símbolo da porta lógica AND é visto na figura a seguir: onde S = A.B é o resultado da operação lógica AND entre A e B. 3. Função OR A função OR (em português, é a conjunção “OU”) é a operação binária correspondente à disjunção lógica, que só resulta em falso (bit 0) na saída quando recebe ambas as entradas como falso também. Em outras palavras, 0 OR 0 = 0; em qualquer outra combinação de operandos o resultado vale 1, por exemplo, 0 OR 1 = 1, 1 OR 0 = 1 , 1 OR 1 = 1. AND A B S

Aula 2 - Funções e Portas Lógicas

Embed Size (px)

DESCRIPTION

Circuitos Digitais

Citation preview

Page 1: Aula 2 - Funções e Portas Lógicas

1

Faculdade Pan Amazônica (FAPAN) / Faculdade Paraense de Ensino (FAPEN).

Bacharelado em Ciência da Computação – 3o / 4o semestres.

Disciplina: Circuitos Digitais – 2º semestre / 2014.

Professor: Cleyton Muto.

Aula 2: Funções e Portas Lógicas

1. Introdução

A eletrônica digital emprega em seus sistemas um pequeno grupo de circuitos básicos padronizados

conhecidos como portas lógicas. Através da utilização conveniente destas portas, é possível

implementar todas as expressões geradas pela álgebra de Boole, que constituem a base dos projetos

de sistemas digitais. Nesta unidade, serão tratados os principais blocos básicos: AND, OR, NOT,

NAND, NOR, XOR, XNOR.

Em circuitos lógicos digitais serão utilizados os bits 0 e 1 como valores das variáveis lógicas, em

analogia à lógica matemática, que utiliza os valores falso e verdadeiro, respectivamente.

2. Função AND

A função AND (em português, é a conjunção “E”) é a operação binária correspondente à conjunção

lógica, que só resulta em verdadeiro (bit 1) na saída quando recebe ambas as entradas como

verdadeiro também. Em outras palavras, 1 AND 1 = 1; em qualquer outra combinação de operandos

na entrada, o resultado vale 0; por exemplo, 0 AND 0 = 0 , 0 AND 1 = 0 , 1 AND 0 = 0.

A tabela verdade da função AND é representada abaixo:

A B S

0 0 0

0 1 0

1 0 0

1 1 1

O símbolo algébrico da função AND é o ponto, tal que representa-se a “A AND B” como “A.B”

O símbolo da porta lógica AND é visto na figura a seguir:

onde S = A.B é o resultado da operação lógica AND entre A e B.

3. Função OR

A função OR (em português, é a conjunção “OU”) é a operação binária correspondente à disjunção

lógica, que só resulta em falso (bit 0) na saída quando recebe ambas as entradas como falso também.

Em outras palavras, 0 OR 0 = 0; em qualquer outra combinação de operandos o resultado vale 1,

por exemplo, 0 OR 1 = 1, 1 OR 0 = 1 , 1 OR 1 = 1.

ANDA

BS

Page 2: Aula 2 - Funções e Portas Lógicas

2

A tabela verdade da função OR é representada abaixo:

A B S

0 0 0

0 1 1

1 0 1

1 1 1

O símbolo algébrico da função OR é o sinal de +, tal que representa-se a “A OR B” como “A + B”

O símbolo da porta lógica OR é visto na figura a seguir:

onde S = A + B é o resultado da operação lógica OR entre A e B.

Observação: o sinal de + da operação lógica OR é diferente do sinal de + da aritmética, pois em

circuitos lógicos digitais é possível escrever que 1 + 1 = 1, quando se tratar da função OR.

4. Função NOT

A função NOT (em português, é a negação “NÃO”) é a operação unária correspondente à negação

lógica, que inverte o valor lógico de uma variável. Em outras palavras, a negação de 1 vale 0, e

vice-versa, a negação de 0 vale 1.

A tabela verdade da função NOT é representada abaixo:

A S

0 1

1 0

O símbolo algébrico da função NOT é a barra horizontal superior, por exemplo, A̅

O símbolo da porta lógica NOT é visto na figura a seguir:

onde S = A̅ é o resultado da operação lógica NOT sobre A.

A

BSOR

NOTA S

Page 3: Aula 2 - Funções e Portas Lógicas

3

5. Propriedades algébricas das funções AND, OR e NOT:

Sejam 𝐴, 𝐵, 𝐶 cadeias de bits compostas somente por 0’s e 1’s.

𝐴𝑁𝐷 𝑂𝑅

𝐴. 𝐵 = 𝐵. 𝐴 𝐴 + 𝐵 = 𝐵 + 𝐴 propriedade comutativa

𝐴. (𝐵. 𝐶) = (𝐴. 𝐵). 𝐶 𝐴 + (𝐵 + 𝐶) = (𝐴 + 𝐵) + 𝐶 propriedade associativa

𝐴. 𝐴 = 𝐴 𝐴 + 𝐴 = 𝐴 propriedade reflexiva

𝐴. 1 = 𝐴 𝐴 + 0 = 𝐴 elemento neutro

𝐴. 0 = 0 𝐴 + 1 = 1 elemento agregador

𝐴. �̅� = 0 𝐴 + �̅� = 1 elemento oposto

𝐴. (𝐵 + 𝐶) = 𝐴. 𝐵 + 𝐴. 𝐶 propriedade distributiva

�̿� = 𝐴 dupla negação

Note que 0 e 1 desta tabela de propriedades representam cadeias de 0’s e 1’s, respectivamente,

cujos tamanhos são os mesmos das cadeias de bits 𝐴 com as quais são operadas. Por exemplo, se 𝐴

for uma cadeia de 8 bits, então na propriedade 𝐴 + 1 = 1, este “1” na verdade representa uma

cadeia de 8 bits 1’s.

5.1 Teorema de DeMorgan

O teorema de DeMorgan é uma propriedade válida tanto na lógica matemática (V ou F) quanto na

lógica digital (1 ou 0), entre dois operandos relacionados entre si por uma operação AND ou OR, tal

que sua equivalência é realizada em 3 etapas:

1o) negar cada operando uma vez: 𝐴 torna-se �̅�, 𝐵 torna-se �̅�, ou vice-versa, �̅� em 𝐴, �̅� em 𝐵.

2o) trocar o operador AND por OR ou vice-versa, trocar o operador OR por AND.

3o) negar toda a expressão; no caso da expressão já ser negada, então retirar a negação.

�̅� + �̅� = 𝐴. 𝐵̅̅ ̅̅ ̅ �̅� + �̅�̅̅ ̅̅ ̅̅ ̅̅ = 𝐴. 𝐵

�̅� + 𝐵 = 𝐴. �̅�̅̅ ̅̅ ̅ �̅� + 𝐵̅̅ ̅̅ ̅̅ ̅̅ = 𝐴. �̅�

𝐴 + �̅� = �̅�. 𝐵̅̅ ̅̅ ̅ 𝐴 + �̅�̅̅ ̅̅ ̅̅ ̅̅ = �̅�. 𝐵

𝐴 + 𝐵 = �̅�. �̅�̅̅ ̅̅ ̅ 𝐴 + 𝐵̅̅ ̅̅ ̅̅ ̅̅ = �̅�. �̅�

Como pode se perceber, o teorema é representado por 16 expressões organizadas em 8 pares.

Exercícios

- Desenhe o circuito que executa a expressão booleana 𝑆 = 𝐴. 𝐵. 𝐶 + (𝐴 + 𝐵). 𝐶

Page 4: Aula 2 - Funções e Portas Lógicas

4

- Escreva a expressão booleana executada pelo circuito abaixo:

- Desenhe o circuito que executa a expressão booleana 𝑆 = [(�̅� + 𝐵)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ + (𝐶̅. 𝐷)̅̅ ̅̅ ̅̅ ̅̅ ]. �̅�

- Escreva a expressão booleana executada pelo circuito abaixo:

6. Função NAND

A função NAND (em português, “NE”) é a operação binária correspondente à negação da

conjunção lógica, que só resulta em falso (bit 0) na saída, quando recebe ambas as entradas como

verdadeiro. Em outras palavras, 1 NAND 1 = 0; em qualquer outra combinação de operandos na

entrada, o resultado vale 1; por exemplo, 0 NAND 0 = 1 , 0 NAND 1 = 1 , 1 NAND 0 = 1.

A tabela verdade da função NAND é representada abaixo:

A B S

0 0 1

0 1 1

1 0 1

1 1 0

O símbolo algébrico da função NAND é o ponto, mas a expressão é “barrada”, isto é, 𝐴. 𝐵̅̅ ̅̅ ̅

A

B

C

D

S

A

B

C

D

S

Page 5: Aula 2 - Funções e Portas Lógicas

5

O símbolo da porta lógica NAND é visto na figura a seguir:

onde 𝑆 = 𝐴. 𝐵̅̅ ̅̅ ̅ é o resultado da operação lógica NAND entre A e B.

7. Função NOR

A função NOR (em português, “NOU”) é a operação binária correspondente à negação da

disjunção lógica, que só resulta em verdadeiro (bit 1) na saída, quando recebe ambas as entradas

como falso. Em outras palavras, 0 NOR 0 = 1; em qualquer outra combinação de operandos na

entrada, o resultado vale 0; por exemplo, 0 NOR 1 = 0 , 1 NOR 0 = 0 , 1 NOR 1 = 0.

A tabela verdade da função NOR é representada abaixo:

A B S

0 0 1

0 1 0

1 0 0

1 1 0

O símbolo algébrico da função NOR é o +, mas a expressão é “barrada”, isto é, 𝐴 + 𝐵̅̅ ̅̅ ̅̅ ̅̅

O símbolo da porta lógica NOR é visto na figura a seguir:

onde 𝑆 = 𝐴 + 𝐵̅̅ ̅̅ ̅̅ ̅̅ é o resultado da operação lógica NOR entre A e B.

Curiosidade: as portas lógicas NAND e NOR são consideradas “universais”, pois qualquer uma

delas quando utilizadas em combinação várias vezes, consegue reproduzir as portas lógicas

primitivas AND, OR, NOT. A prova deste fato fica como exercício.

Equivalência com NAND Equivalência com NOR

𝐴. 𝐵 = (𝐴. 𝐵̅̅ ̅̅ ̅). (𝐴. 𝐵̅̅ ̅̅ ̅)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ 𝐴. 𝐵 = (𝐴 + 𝐴̅̅ ̅̅ ̅̅ ̅̅ ) + (𝐵 + 𝐵̅̅ ̅̅ ̅̅ ̅̅ )̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅

𝐴 + 𝐵 = (𝐴. 𝐴̅̅ ̅̅ ̅). (𝐵. 𝐵̅̅ ̅̅ ̅)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ 𝐴 + 𝐵 = (𝐴 + 𝐵̅̅ ̅̅ ̅̅ ̅̅ ) + (𝐴 + 𝐵̅̅ ̅̅ ̅̅ ̅̅ )̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅

�̅� = 𝐴. 𝐴̅̅ ̅̅ ̅ �̅� = 𝐴 + 𝐴̅̅ ̅̅ ̅̅ ̅̅

NANDA

BS

A

BSNOR

Page 6: Aula 2 - Funções e Portas Lógicas

6

Exercícios:

- Qual é a expressão executada pelo circuito abaixo?

8. Tabelas-verdade de expressões booleanas

Para se extrair a tabela-verdade de um expressão, acompanhe o seguinte procedimento:

1o) montar o quadro de possibilidades.

2o) montar colunas para os vários membros da expressão.

3o) preencher estas colunas com os resultados.

4o) montar uma coluna para o resultado final.

5o) preencher esta coluna com o resultado final.

A conjunção (AND) possui precedência sobre a disjunção (OR). E a negação (NOT) possui

precedência sobre ambos.

Por exemplo, construir a tabela verdade da expressão 𝑆 = �̅� + 𝐵. 𝐶

𝐴 𝐵 𝐶 �̅� 𝐵. 𝐶 𝑆

0 0 0 1 0 1

0 0 1 1 0 1

0 1 0 1 0 1

0 1 1 1 1 1

1 0 0 0 0 0

1 0 1 0 0 0

1 1 0 0 0 0

1 1 1 0 1 1

A

B

C

D

S

Page 7: Aula 2 - Funções e Portas Lógicas

7

- Construir a tabela-verdade da expressão 𝑆 = 𝐴. �̅�. 𝐶 + 𝐴. �̅� + �̅�. 𝐵. 𝐷

𝐴 𝐵 𝐶 𝐷 𝐴. �̅�. 𝐶 𝐴. �̅� �̅�. 𝐵. 𝐷 𝑆

0 0 0 0 0 0 0 0

0 0 0 1 0 0 0 0

0 0 1 0 0 0 0 0

0 0 1 1 0 0 0 0

0 1 0 0 0 0 0 0

0 1 0 1 0 0 1 1

0 1 1 0 0 0 0 0

0 1 1 1 0 0 1 1

1 0 0 0 0 1 0 1

1 0 0 1 0 0 0 0

1 0 1 0 1 1 0 1

1 0 1 1 1 0 0 1

1 1 0 0 0 1 0 1

1 1 0 1 0 0 0 0

1 1 1 0 0 1 0 1

1 1 1 1 0 0 0 0

9. Função XOR

A função lógica XOR (em inglês, exclusive OR, ou em português “OU exclusivo”) é o resultado da

operação associada entre AND, OR, NOT, tal que sua expressões lógica equivale a:

𝐴⨁𝐵 = �̅�. 𝐵 + 𝐴. �̅�

A tabela verdade da função XOR é representada abaixo:

A B S

0 0 0

0 1 1

1 0 1

1 1 0

O símbolo algébrico da função XOR é o símbolo de + dentro de um círculo.

O símbolo da porta lógica XOR é visto na figura a seguir:

onde 𝑆 = 𝐴⨁𝐵 é o resultado da operação lógica XOR entre A e B.

- Exercício: construa a tabela verdade de �̅�. 𝐵 + 𝐴. �̅�, e comprove de fato que é a mesma tabela-

verdade da expressão 𝐴⨁𝐵

A

BSXOR

Page 8: Aula 2 - Funções e Portas Lógicas

8

O operador XOR é um dos operadores binários mais poderosos da programação, pois a partir dele é

possível fazer atividades interessantes como inversão rápida de bits e verificação de integridade.

Por exemplo, dada uma cadeia 𝐴 de 8 bits quaisquer, verifique o que acontece ao operá-la via XOR

com outra cadeia de mesmo tamanho 𝐵 composta somente por bits 1’s:

𝐴 1 1 0 1 1 0 0 1

𝐵 1 1 1 1 1 1 1 1

𝐴⨁𝐵 0 0 1 0 0 1 1 0

O resultado, neste caso, é que 𝐴⨁𝐵 = �̅�

Outro exemplo do XOR. Dadas 2 cadeias de bits aleatórias 𝐴 e 𝐵 de mesmo tamanho, tais que

quando operadas via XOR resultam em uma terceira cadeia 𝐶 de mesmo tamanho que 𝐴 e 𝐵:

𝐴⨁𝐵 = 𝐶

O operador XOR é plenamente inversível, o que quer dizer que, neste caso:

𝐴⨁𝐶 = 𝐵

𝐵⨁𝐶 = 𝐴

Este simples esquema compõe uma codificação de arquivos muito poderosa, conhecida no meio

criptográfico como cifra de Vernam, reconhecidamente o melhor algoritmo criptográfico existente

se não fosse o fato da cadeia 𝐴 ser o arquivo de dados, e o arquivo 𝐵 ser a chave de mesmo

tamanho do arquivo 𝐴, o que torna o esquema impraticável para grandes arquivos. O arquivo 𝐶

neste caso seria o arquivo criptografado que geraria 𝐴 de volta a partir da chave 𝐵.

10. Função XNOR

A função lógica XNOR (em inglês, exclusive NOR, ou em português “NOU exclusivo”) é a

negação da função lógica XNOR, e ao mesmo tempo o resultado da operação associada entre AND,

OR, NOT, tal que sua expressões lógica equivale a:

𝐴⨁𝐵̅̅ ̅̅ ̅̅ ̅ = �̅�. �̅� + 𝐴. 𝐵

A tabela verdade da função XNOR é representada abaixo:

A B S

0 0 1

0 1 0

1 0 0

1 1 1

O símbolo algébrico da função XNOR é o símbolo de + dentro de um círculo, cuja expressão é

“barrada”.

A função lógica XNOR também é conhecida como função de equivalência ou coincidência, por

somente resultar em verdadeiro (bit 1) quando os dois operandos A e B forem iguais (A == B).

Page 9: Aula 2 - Funções e Portas Lógicas

9

O símbolo da porta lógica XNOR é visto na figura a seguir:

onde 𝑆 = 𝐴⨁𝐵̅̅ ̅̅ ̅̅ ̅ é o resultado da operação lógica XNOR entre A e B.

- Exercício: construa a tabela verdade de �̅�. �̅� + 𝐴. 𝐵, e comprove de fato que é a mesma tabela-

verdade da expressão 𝐴⨁𝐵̅̅ ̅̅ ̅̅ ̅

A

BSXNOR