circuitos digitais portas lógicas e Álgebra...

41
Portas Lógicas e Álgebra Booleana CIRCUITOS DIGITAIS Prof. Denis Fantinato Prof. Rodrigo Moreira Bacurau Slides baseados nas aulas do Prof. Rodrigo Moreira Bacurau

Upload: vuonghanh

Post on 01-Jul-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

Portas Lógicas e Álgebra

Booleana

CIRCUITOS DIGITAIS

Prof. Denis FantinatoProf. Rodrigo Moreira Bacurau

Slides baseados nas aulas do Prof. Rodrigo Moreira Bacurau

Page 2: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

2

O que será visto nesta aula

▷ Tabelas Verdade

▷ Operações lógicas: OR, AND, NOT, NOR e NAND

▷ Descrevendo circuitos lógicos algebricamente

▷ Avaliando as saídas de circuitos lógicos

▷ Implementando circuitos lógicos a partir deexpressões booleanas

Page 3: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

3

Introdução

▷ Nesta aula estudaremos os principais conceitos de portaslógicas e operações booleanas.

▷ Mas antes disso é importante respondermos às seguintesquestões: “Para que serve a álgebra booleana e a eletrônicadigital”? Que tipo de problemas práticos aprenderemos aresolver nesse curso?

▷ A eletrônica digital permite construir circuitos com portaslógicas capazes de tomarem decisões lógicas predefinidas.

▷ Estudaremos inicialmente como descrever esses circuitos e,em seguida, como implementá-los.

Page 4: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

4

Introdução

▷ Em várias circunstâncias cotidianas podemos representarinformações de forma binária: um animal pode estar vivoou morto, uma luz acessa ou apagada, uma porta aberta oufechada, etc.

▷ Em 1854, o matemático George Boole escreveu “Umainvestigação das leis do pensamento”, em que descreveuum método como tomar decisões baseadas emcircunstâncias verdadeiras ou falsas.

▷ A principal utilidade da álgebra booleana é descrever arelação entre as saídas dos circuitos lógicos (as decisões) eas entradas (as circunstâncias).

Page 5: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

5

Tabelas-Verdade

▷ Vários problemas básicos envolvendo eletrônica digitalpodem ser representados como soluções para tabelassemelhantes à representada abaixo contendo entradas(condições) e saída (decisão):

Page 6: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

6

Tabelas-Verdade

▷ Exercício: Quantas linhas deve ter uma tabela querepresenta um circuito com cinco entradas?

Page 7: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

7

Portas Lógicas

▷ Blocos fundamentais a partir dos quais todos oscircuitos lógicos e sistemas digitais são construídos.

▷ A álgebra booleana é a ferramenta básica paraanálise e síntese de circuitos construídos a partir deportas lógicas (operações lógicas portas lógicas).

▷ Operações básicas: OR, AND e NOT.

Page 8: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

8

Operação OR (“OU”) com Portas OR

▷ A expressão booleana para a operação OR é:

▷ A operação OR é semelhante à adição, e quando A = 1 e B = 1,produz:

X = A + B — Leia “X equivale a A ou B”

O sinal + não se aplica para soma, mas simpara operações OR.

1 + 1 = 1 não 1 + 1 = 2

Na expressão booleana x = 1 + 1 + 1 = 1…

X é verdade (1) quando A é verdadeiro (1) OU B é verdadeiro (1) OU C é verdadeiro (1).

Page 9: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

9

Operação OR (“OU”) com Portas OR

▷ Uma porta OR é um circuito com uma ou mais entradas,cuja saída é igual à combinação OR das entradas.

▷ Tabela-verdade e símbolo de circuito da porta OR de duasentradas.

Page 10: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

10

Operação OR (“OU”) com Portas OR

▷ Uma porta OR é um circuito com uma ou mais entradas,cuja saída é igual à combinação OR das entradas.

▷ Tabela-verdade e símbolo de circuito da porta OR de trêsentradas.

Page 11: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

11

Operação OR (“OU”) com Portas OR

▷ Exemplo de forma de onda na saída de uma porta OR com 3entradas:

Page 12: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

12

Operação OR (“OU”) com Portas OR

▷ Exemplo do uso de uma porta OR em um sistema dealarme.

Page 13: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

13

Operação AND (“E”) com Portas AND

▷ A operação AND é similar a multiplicação convencional:

Tabela-Verdade Símbolo da Porta

X = A • B • C — Leia“X é igual a A e B e C”

O sinal • não se aplica para soma, mas simpara operações AND.

X é verdadeiro (1) quando A e B e C são verdadeiros (1).

Page 14: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

14

Operação AND (“E”) com Portas AND

▷ Aplicação porta AND – habilitar/desabilitar: Circuito paramedir a frequência de um sinal de clock.

▷ O número de pulsos que passam durante o intervalo de 1 sé igual a frequência da forma de onda A. Por exemplo, aFigura mostra seis pulsos em um segundo, quecorrespondem a uma frequência de 6 Hz.

Page 15: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

15

Operação AND (“E”) com Portas AND

▷ Aplicação porta AND: Sistema de alarme para cinto desegurança

Page 16: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

16

Resumo portas AND e OR

O símbolo AND em um diagrama decircuito lógico informa que a saídaserá ALTO apenas quando todas asentradas forem altas.

A saída de um circuito OR seráalta quando alguma entrada foralta.

Page 17: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

17

Operação NOT (“NÃO”) com Portas NOT

▷ Porta NOT (inversor):

Têm uma única entrada, e onível da saída é oposto ao nívelda entrada.

Tabela-Verdade

▷ Expressão booleana NOT:

▷ Leia: “x equivale a NOT A”

“x equivale ao inverso de A”

“x equivale ao complemento de A”

x = A

A' = A

A barra superior representa a operação NOT.

Outro indicador de inversão é o símbolo

principal (').

Page 18: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

18

Operação NOT (“NÃO”) com Portas NOT

▷ Exemplo de aplicação da porta NOT:

Page 19: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

19

Resumo operações OR, AND e NOT

▷ Essas três operações booleanas básicas podemdescrever qualquer circuito lógico.

Page 20: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

20

Porta NOR

▷ A porta NOR (NOT OR) é uma OR com a saída invertida:

▷ Um “bubble” de inversão é colocado na saídada porta OR, tornando a saída da expressão booleana x = A + B

Page 21: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

21

Porta NOR

▷ Exemplo de forma de onda na saída de uma porta NOR com2 entradas:

Page 22: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

22

Porta NAND

▷ A porta NAND (NOT AND) é uma AND com a saída invertida:

▷ Um “bubble” de inversão é colocado na saídada porta AND, tornando a saída da expressão booleana x = A B

Page 23: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

23

Descrevendo Circuitos Lógicos Algebricamente

▷ Se uma expressão contém ambas as portas – AND e OR – aoperação AND irá acontecer anteriormente:

▷ A menos que existam parêntesis na expressão:

Page 24: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

24

Descrevendo Circuitos Lógicos Algebricamente

▷ Circuitos com inversores:

Page 25: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

25

Descrevendo Circuitos Lógicos Algebricamente

▷ Exemplos de circuitos com portas NOT, AND e OR:

Page 26: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

26

Avaliando as Saídas dos Circuitos Lógicos

▷ Regras para avaliação de uma expressão booleana:

1. Executar todas as inversões de termos individuais.

2. Realizar todas as operações dentro de parêntesis.

3. Realizar a operação AND antes de uma operação OR, amenos que os parêntesis indiquem o contrário.

4. Sempre que uma expressão tiver uma barra sobre ela,realizar as operações no interior da expressão e depoisinverter o resultado.

▷ As regras são bastante parecidas com a das expressõesaritméticas.

Page 27: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

27

Avaliando as Saídas dos Circuitos Lógicos

▷ Exemplo: Dada a expressão booleana x = ABC(A+D),determine o nível lógico da saída (x) quando: A=0, B=1, C=1e D=1.

▷ x = ABC(A+D)

▷ x = 0∙1∙1∙(0+1)

▷ x = 1∙1∙1∙(0+1)

▷ x = 1∙1∙1∙(1)

▷ x = 1∙1∙1∙0

▷ x = 0

Page 28: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

28

Avaliando as Saídas dos Circuitos Lógicos

▷ A melhor maneira de analisar um circuito composto por váriasportas lógicas é usar uma tabela-verdade.

- Permite analisar uma porta ou uma combinação lógica deuma só vez.

- Permite conferir facilmente seu trabalho.

▷ O primeiro passo, após listar todas as combinações deentradas, é criar uma coluna na tabela-verdade para cada sinalintermediário (nó).

Page 29: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

29

Avaliando as Saídas dos Circuitos Lógicos

▷ Depois é só preencher as colunas da esquerda para a direitaaté que se tenha o sinal de saída:

Page 30: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

30

Implementando Circuitos a partir de Expressões

▷ Caminho inverso do que fizemos até agora.

▷ Exemplo: circuito que implementa a expressão: y=AC+BC+ABC

▷ Inicia-se pela operação OR:

▷ Cada entrada da porta OR é um termo do produto AND.

Page 31: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

31

Implementando Circuitos a partir de Expressões

▷ Exercício: Represente o circuito que implementa a expressãox = (A + B) (B + C).

Page 32: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

32

Implementando Circuitos a partir de Expressões

▷ Exercício: Represente o circuito que implementa a expressãox = (A + B) (B + C).

Page 33: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

33

Implementando Circuitos a partir de Expressões

▷ Circuito lógico com a expressão x = AB • (C + D)NOR e NAND.

Page 34: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

34

Exercícios

▷ 1 – (a) Desenvolva a tabela-verdade para uma porta AND de 3entradas.(b) Determine o número total de combinações de entradapossíveis para uma porta AND de 4 entradas.

▷ 2 – Em que situação a saída de uma porta OR é nível alto? Emque situação a saída de uma porta OR é nível baixo?

▷ 3 -Um circuito de inversores em cascata é mostrado na abaixo.Se um nível ALTO for aplicado no ponto A, determine os níveislógicos nos pontos de B até F.

Page 35: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

35

Exercícios

▷ 4 – Utilizando portas lógicas desenhe o esquema do circuitopara um alarme de detecção de intrusão. Considere que osistema será instalado em uma casa com duas janelas e umaporta, com um sensor em cada janela e na porta. Os sensoresdas janelas apresentam saída em nível alto quando a janelaestá aberta, e baixo quando a janela está fechada. O sensor daporta apresenta saída nível alto quando a porta está fechada,e baixo quando a porta está aberta. O alarme deve tocar se ointerruptor de ativação estiver acionado e uma das janelas ouporta for aberta.

Page 36: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

36

Exercícios

▷ 5 – Uma planta de fabricação usa dois tanques paraarmazenar certos produtos químicos líquidos necessários numprocesso de fabricação. Cada tanque tem um sensor quedetecta quando o nível do produto cai para 25% do nívelmáximo. Os sensores produzem um nível ALTO de 5 V quandoos tanques estão com mais que 1/4 da capacidade. Quando ovolume do produto no tanque cai para 1/4 do máximo, osensor gera um nível BAIXO de 0 V.

É necessário que um diodo emissor de luz (LED – light emittingdiode) cinza num painel indicador mostre quando ambos ostanques estão acima de 1/4 da capacidade.

Mostre como uma porta NAND pode ser usada paraimplementar essa função.

Page 37: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

37

Exercícios

▷ 6 – O supervisor do processo produtivo descrito no exercícioanterior solicitou que fosse adicionado no sistema um LEDlaranja para indicar quando pelo menos um dos tanquesestiver abaixo de 1/4 da capacidade. Mostre como essasolicitação pode ser implementada.

▷ 7 - Descreva as diferenças funcionais entre uma porta NAND euma porta OR com as duas entradas negadas. Elas têm amesma tabela-verdade?

Page 38: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

38

Exercícios

▷ 8 – Como parte de um sistema de monitoramento funcionalde aeronaves, é necessário um circuito para indicar o estadodo trem de aterrissagem antes da aterrissagem. Um LED cinzaliga se os três trens de aterrissagem estiveremadequadamente estendidos quando a chave de redução develocidade for ativada em preparação para a aterrissagem.Um LED laranja liga se algum dos trens de aterrissagem nãofor adequadamente estendido antes da aterrissagem. Quandoo trem de aterrissagem está estendido, o seu sensor produzuma tensão de nível BAIXO. Quando o trem de aterrissagemestá retraído, o seu sensor produz uma tensão de nível ALTO.Implemente um circuito que atenda a esse requisito.

Page 39: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

39

Exercícios

▷ 9 – Cada uma das entradas de uma porta NAND de 2 entradasrecebe pulso. Um pulso vai para nível ALTO em t = 0 e retornapara nível BAIXO em t = 1 ms. O outro pulso vai para nívelALTO em t = 0,8 ms e retorna para nível BAIXO em t = 3 ms. Opulso de saída pode ser descrito como:

(a) Ele vai para nível BAIXO em t = 0 e retorna para nível ALTOem t = 3 ms.

(b) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelALTO em t = 3 ms.

(c) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelALTO em t = 1 ms.

(d) Ele vai para nível BAIXO em t = 0,8 ms e retorna para nívelBAIXO em t = 1 ms.

Page 40: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

40

Exercícios

▷ Exercícios recomendados do Tocci 11ª Ed.

▷ 3.4

▷ 3.5

▷ 3.7

▷ 3.9

▷ 3.10

▷ 3.12

▷ 3.16

▷ 3.21

Page 41: CIRCUITOS DIGITAIS Portas Lógicas e Álgebra Booleanaprofessor.ufabc.edu.br/~denis.fantinato/teaching/Circuitos_Digitais-Aula03.pdf · 3 Introdução Nesta aula estudaremos os principais

41

Referências

▷ FLOYD, Thomas. Sistemas digitais: fundamentos eaplicações. 9ª edição. Porto Alegre, RS: Bookman,2007.

▷ TOCCI, R. J.; WIDMER, N. S.; MOSS, G. L. Sistemasdigitais: princípios e aplicações. 11ª edição. SãoPaulo, SP: Pearson/Prentice Hall, 2011.