98
Capítulo 3 Descrevendo © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1 Descrevendo Circuitos Lógicos © 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Capítulo 3

Descrevendo

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1

DescrevendoCircuitos Lógicos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1

Page 2: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Os temas abordados nesse capítulo são:

� Operações de tabela-verdade para AND, NAND, OR e NOR, e ocircuito (INVERSOR) NOT.� Expressão booleana para portas lógicas.� TeoremasdeDeMorganparasimplificarexpressõeslógicas.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 2 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 2

� TeoremasdeDeMorganparasimplificarexpressõeslógicas.� Porta Universal (NAND ou NOR) para implementar um circuitorepresentado por uma expressão booleana.� Conceitos de ativo – BAIXO e ativo – ALTO sinais lógicos.� Descrever e medir o atraso no tempo de propagação .� Diferenças entre um HDL e uma linguagem de programação decomputadores.

Page 3: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.1 Constantes e Variáveis Booleanas

� A álgebra booleana permite apenas dois valores: 0 e 1.– Lógica 0 pode ser:falso, desligado,baixo, não, interruptor

aberto.– Lógica 1 pode ser:verdadeira, ligado, alto, sim, interruptor

fechado.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 3 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 3

fechado.

� Três operações básicas:–– OROR, ANDAND e NOTNOT.

Page 4: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.1 Constantes e Variáveis Booleanas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 4 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 4

Page 5: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.2 Tabelas-verdade

� A tabela-verdade descreve a relação entre as entradas e as saídasde um circuito lógico.

� O númerodecolunascorrespondeaonúmerodeentradas.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 5 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 5

� O númerodecolunascorrespondeaonúmerodeentradas.

Uma tabela de duas entradas teria 22 = quatro linhas.

Uma tabela de três entradas teria 23 = oito linhas.

Page 6: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Exemplos de tabela-verdade com duas, três e quatro entradas.

3.2 Tabelas-verdade

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 6 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 6

Page 7: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.3 Operações OR (“OU”) com portas OR

� A expressão booleana para a operaçãoOR é:

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

O sinal+ não se aplica para soma, mas simparaoperaçõesOROR..

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 7 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 7

paraoperaçõesOROR..

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

1 + 1 = 1 1 + 1 = 1 não1 + 1 = 21 + 1 = 2

Na expressão booleanax = 1 + 1 + 1 = 1x = 1 + 1 + 1 = 1……X é verdade(1) quandoA é verdadeiro(1) OU B é verdadeiro(1)

OUOUC é verdadeiro(1).

Page 8: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.3 Operação OR com porta OR

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

Tabela-verdadesímbolode circuito para duasentradas da porta

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 8 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 8

Tabela-verdadesímbolode circuito para duasentradas da portaOR.

Page 9: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

A porta OR é um circuito com duas ou mais entradas, cuja saída éigual a combinação OR das entradas.

Tabela-verdade símbolo de circuito para três entradas da portaOR.

3.3 Operação OR com porta OR

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 9 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 9

OR.

Page 10: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.3 Operação OR com porta OR

Exemplo do uso de uma porta OR em um sistema de alarme.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 10 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 10

Page 11: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.4 Operação AND (“E”) com portas AND

� A operação AND é similar a multiplicação convencional.

X = A • B • C —— Leia“X é igual a A eB eC”.

O sinal + não se aplica para soma, mas simparaoperaçõesAND.AND.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 11 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 11

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

paraoperaçõesAND.AND.

Tabela-Verdade Simbolo da Porta

Page 12: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.4 Operação AND com porta AND

Tabela-verdade símbolo de circuito para três entradas e portaAND.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 12 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 12

Page 13: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.4 AND OR

O símbolo AND em um diagrama decircuito lógico diz que a saída seráALTO apenasquandotodasas entradas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 13 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 13

ALTO apenasquandotodasas entradasforem altas.

O símbolo OR será alto quandoalguma entrada for alta.

Page 14: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.5 Operação NOT

� A expressão booleana para a operação NOT:

“X equivale a NOT A”.

“X equivale ao inverso de A”.

— Leia:X = AA barra superior

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 14 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 14

“X equivale ao inverso de A”.

“X equivale ao complemento de A”.

A' = A

A barra superior representa a operação

NOT.

Outro indicador de inversão é o símbolo

principal ('). Tabela-verdade NOT

Page 15: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.5 Operação NOT

Um circuito NOT é comumente chamado de inversor.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 15 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 15

Esses circuitos sempre têm uma única entrada, e a lógica da saída é sempre oposta ao nível da lógica da entrada.

Page 16: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.5 Operação NOT

O INVERSOR inverte (complementa) o sinal da entrada, em todosos pontos, na forma de onda.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 16 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 16

Sempre que a entrada = 0 a saída = 1 e vice-versa.

Page 17: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.5 Operação NOT

Aplicação típica da portaNOT

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 17 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 17

O circuito fornece uma expressão que éverdadeira quando o botão não está pressionado.

Page 18: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Operações Booleanas

Regras resumidas paraOR, AND eNOT

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 18 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 18

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

Page 19: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.6 Descrevendo Circuitos Lógicos Algebricamente

� Se uma expressão contém ambas as portas –AND e OR – a operação AND irá acontecer anteriormente.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 19 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 19

� A menos que existam parêntesis na expressão.

Page 20: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.6 Descrevendo Circuitos Lógicos Algebricamente

� Sempre que um INVERSOR estiver presente, a saída éequivalente a entrada, com uma barra sobre ele.

EntradaA através de um inversor é igual aA.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 20

Page 21: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.6 Descrevendo Circuitos Lógicos Algebricamente

� Outros exemplos…

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 21

Page 22: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.6 Descrevendo Circuitos Lógicos Algebricamente

� Outros exemplos…

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 22

Page 23: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

Regras para avaliação de uma expressão booleana:- Executartodasasinversõesdetermosindividuais.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 23 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 23

- Executartodasasinversõesdetermosindividuais.- Realizar todas as operações dentro de parêntesis.- Realizar a operaçãoAND antes de uma operaçãoOR, a menos queos parêntesis indiquem o contrário.- Sempre que uma expressão tiver uma barra sobre ela, realizar asoperações no interior da expressão e depois inverter o resultado.

Page 24: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 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.

Ela permite analisar uma porta ou uma combinação lógica de umasóvez.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 24 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 24

sóvez.

Ela também permite verificar novamente seu trabalho.

Ao terminar, você tem um quadro de enorme benefício parasolucionar o circuito lógico.

Page 25: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 25 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 25

Page 26: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

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

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 26 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 26

O nó U foi preenchido como complemento de A.

Page 27: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� O próximo passo é preencher os valores para a coluna v.

3.7 Avaliando as Saídas dos Circuitos Lógicos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 27 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 27

v =AB —O nó v deve ser ALTO quando A (nó u) é ALTO e B é ALTO.

Page 28: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

� O terceiro passo é estimar os valores do nów, o produto lógico deBC.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 28 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 28

A coluna é ALTO sempre que B é ALTO e C é ALTO.

Page 29: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

� Logicamente, a etapa final é a combinação das colunas V e Wpara prever asaídax.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 29 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 29

Desde quex = v + w, a saídax será ALTO quandov OUOU w for ALTO.

g3

Page 30: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Slide 29

g3 Alterei todos "o saída" e "o entrada" (neste e nos outros slides) para "a saída" e "a entrada", conforme texto do próprio livro.geje; 20/07/2011

Page 31: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas dos Circuitos Lógicos

� Níveis lógicos de saída podem ser determinados diretamente apartirdeumdiagramadecircuito.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 30 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 30

partirdeumdiagramadecircuito.As saídas de cada porta são percebidas até que a saída final seja

encontrada.

� Os técnicos usam esse método com frequência.

Page 32: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.7 Avaliando as Saídas de Circuitos Lógicos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 31

Tabela de estado lógico emcada nó do circuito mostrado

Page 33: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.8 Implementando Circuitos a partir de Expressões Booleanas

� É importante saber desenhar um circuito lógico de uma expressãobooleana.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 32 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 32

booleana.

A expressão X = A . B . C poderia ser desenhada como trêsentradas de uma porta AND.

Um circuito definido por X = A + B usaria duas entradas de umaporta OR com um INVERSOR em uma das entradas.

Page 34: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.8 Implementando Circuitos a partir de Expressões Booleanas

Um circuito com saíday = AC + BC + ABCcontém três termos sobre os quais é aplicada a operação OR…

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 33 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 33

…e requer uma porta OR de três entradas.

Page 35: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.8 Implementando Circuitos a partir de Expressões Booleanas

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

� Uma porta AND com entradas adequadas pode ser usada paragerar cada um desses termos.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 34 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 34

Page 36: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.8 Implementando Circuitos a partir de Expressões Booleanas

Diagrama de circuito para implementarx = x = ((A + BA + B)) ((B + CB + C))..

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 35 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 35

Page 37: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.9 Portas NOR (“NÃO-OU”) e Portas NAND

� Combine operações básicasANDAND, OROR ee NOTNOT simplificando aescritadeexpressõesbooleanas.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 36 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 36

escritadeexpressõesbooleanas.

� As saídas das portasNANDNAND e NORNOR podem ser encontradas aodeterminar a saída de uma portaANDAND ouOROR ee invertêinvertê--lala..

As tabelas-verdade para portasNORNOR e NANDNAND mostram ocomplemento das tabelas-verdade para portasOROR eANDAND.

Page 38: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Um “ bubble ” de inversão é colocado na saídada portaOR, tornando a saída da expressão booleanax = A + B

3.9 Portas NOR e Portas NAND

� A porta NOR é uma porta OR invertida.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 37 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 37

Page 39: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.9 Portas NOR e Portas NAND

Saída de onda de uma portaNOR para entrada de onda.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 38 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 38

Page 40: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.9 Portas NOR e Portas NAND

� A portaNAND é uma portaAND invertida.

Um “bubble” de inversãoé colocadono output de porta AND,

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 39 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 39

Um “bubble” de inversãoé colocadono output de porta AND,tornando o output da expressão booleanax = AB

Page 41: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.9 Portas NOR e Portas NAND

Saída de onda de uma portaNAND para entrada de onda.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 40 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 40

Page 42: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

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

3.9 Portas NOR e Portas NAND

usandoapenas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 41 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 41

NOR e NAND.

Page 43: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

Os seguintes teoremas e leis podem representar uma expressão quecontémmaisdeumavariável.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 42 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 42

contémmaisdeumavariável.

O teorema (1) afirma que, se qualquer variável écombinada com 0 usando a operação AND, o resultado deve ser 0.

Page 44: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

O teorema (2) também fica evidente quando comparado com amultiplicaçãoordinária.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 43 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 43

multiplicaçãoordinária.

Page 45: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

Comprove o teorema (3) tentando caso a caso

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 44 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 44

SEx = 0, então 0 • 0 = 0.Sex = 1, então 1 • 1 = 1.Logo, x • x = x.

Page 46: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

O teorema (4) pode ser comprovado da mesma maneira.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 45 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 45

Page 47: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

O teorema (5) é simples, pois 0 acrescentado aalguma coisanãoafetaseuvalor, tantonaadiçãoregularquantonaoperaçãoOR.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 46 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 46

afetaseuvalor, tantonaadiçãoregularquantonaoperaçãoOR.

Page 48: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

O teorema (6) afirma que, se uma variávelécombinadacom1 usando-seaoperaçãoOR,o resultadoésempre1.

3.10 Teoremas Booleanos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 47 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 47

écombinadacom1 usando-seaoperaçãoOR,o resultadoésempre1.Valores de conferência: 0 + 1 = 1 e 1 + 1 = 1.

Page 49: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

O teorema (7) pode ser comprovado através da verificação paraambososvaloresdex: 0 + 0 = 0 e1 + 1 = 1.

3.10 Teoremas Booleanos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 48 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 48

ambososvaloresdex: 0 + 0 = 0 e1 + 1 = 1.

Page 50: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.10 Teoremas Booleanos

O teorema 8 pode ser provado similarmente.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 49 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 49

Page 51: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Leis comutativas

Teoremas multivariáveis

3.10 Teoremas Booleanos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 50

Leis distributivas

Leis associativas

Page 52: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Os teoremas (14) e (15) não possuem equivalentes na álgebracomum. Cada um deles pode ser provado ao tentar todos os casospossíveis parax ey.

Tabela de análise e fatoração para teorema (14)

Teoremas multivariáveis

3.10 Teoremas Booleanos

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 51

Page 53: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.11 Teoremas de DeMorgan

� Teoremas de DeMorgansão extremamente úteis na simplificação de expressões emque um produto ou a soma das variáveis é invertida.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 52 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 52

O teorema (17) diz que INVERSOR o produto E de duas variáveis é o mesmo queINVERSOR cada variável individualmente e, em seguida, operar com OR.

O teorema (16) diz que INVERSOR a soma OR de duas variáveis é o mesmo queINVERSOR cada variável individualmente. Com isso, operar com AND as variáveisinvertidas.

Cada um dos teoremas de DeMorgan pode ser facilmente comprovado por meio da verificação de todas as combinações possíveis de x e y.

Page 54: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Circuitos equivalentes decorrentes do teorema (16)

3.11 Teoremas de DeMorgan

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 53 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 53

Símbolo alternativo para afunção NORNOR.

Page 55: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Circuitos equivalentes decorrentes do teorema (17)

3.11 Teoremas de DeMorgan

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 54 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 54

Símbolo alternativo para a funçãoNAND.

Page 56: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.12 Universalidade das Portas NAND e NOR

� Portas NAND ou NOR podem ser usadas para criar as trêsexpressõeslógicasbásicas:

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 55 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 55

expressõeslógicasbásicas:

OR, AND e NOT.

� Proporciona flexibilidade e é muito útil no projeto de circuitológico.

Page 57: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.12 Universalidade das portas NAND e NOR

Como as combinações de NANDNANDs ou NORNORs são usadas para criar astrês funções lógicas.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 56 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 56

No entanto, é possível implementar qualquer expressão lógica usando apenas portas NAND e nenhum outro tipo de porta, como mostrado.

Page 58: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Como combinações de NANDs ou NORs são usadas para criar astrês funções lógicas.

3.12 Universalidade das portas NAND e NOR

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 57 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 57

Portas NOR podem ser organizadas para implementarcada uma das operações booleanas, como mostrado.

Page 59: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Um circuito lógico gera um sinalx, que será ALTO sempre que ascondiçõesA e B existirem simultaneamente, ou sempre que as condiçõesCeD existirem simultaneamente.

3.12 Universalidade das portas NAND e NOR

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 58 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 58

Cada um dos ICs TTL mostrados aqui vaicumprir a função. Cada IC é um quad, comquatro portas idênticas em um único chip

A expressão lógica seráx = AB + CD.

Page 60: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Possíveis implementações # 1:

3.12 Universalidade das Portas NAND e NOR

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 59 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 59

Page 61: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Possíveis implementações # 2:

3.12 Universalidade das Portas NAND e NOR

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 60 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 60

Page 62: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.13 Alternar Representações para Portas Lógicas

Para converter um símbolo-padrão em um suplente, siga os seguintespassos:

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 61 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 61

passos:

� inverta cada entrada e saída de símbolos-padrão;

� adicione uma bolha de inversão, onde não exista alguma;

� remova as bolhas, caso existam.

Page 63: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.13 Alternar Representações para Portas Lógicas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 62 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 62

Page 64: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Aspectos sobre as equivalências de símbolos lógicos:

As equivalências podem ser estendidas para portas com qualquer número deentradas.

Nenhum dos símbolos-padrão tem bolhas em suas entradas, e todos os símbolosalternativosostêm.

3.13 Alternar Representações para Portas Lógicas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 63 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 63

alternativosostêm.

Os símbolos Standard & suplente para cada porta representam o mesmo circuitofísico.

NAND e NOR são portas inversoras.

O padrão e os símbolos alternativos para cada um terão uma bolha sobre a entradaou a saída.

Portas AND e OR são portas não inversoras.

Os símbolos alternativos para cada um terá bolhas em ambas as entradas e as saídas.

Page 65: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.13 Alternar Representações para Portas Lógicas

� Ativa-em-ALTO – entrada ou saída não tem uma bolha de

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 64 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 64

� Ativa-em-ALTO – entrada ou saída não tem uma bolha deinversão.

� Ativa-em-BAIXO – entrada ou saída tem uma bolha de inversão.

Page 66: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Interpretação dos dois símbolos da portaNAND.

3.13 Alternar Representações para Portas Lógicas

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 65 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 65

Page 67: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.13 Alternar Representações para Portas Lógicas

Interpretação dos dois símbolos da portaOR.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 66 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 66

Page 68: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.14 Qual representação de Porta usar

O uso adequado dos símbolos de porta alternativos no diagrama decircuito pode fazer a operação do circuito muito mais clara.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 67 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 67

Circuitos originais usando símbolo NANDpadrão.

Representação equivalente em que a saídaZ éativa-em-ALTO.

Page 69: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.14 Qual representação de Porta usar

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 68 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 68

Representação equivalente em que a saídaZ é ativa-em-BAIXO.

Page 70: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Quando um sinal de lógica está no estado ativa (ALTO ouBAIXO), diz-sequeestáativa.

3.14 Qual representação de Porta usar

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 69 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 69

BAIXO), diz-sequeestáativa.

� Quando um sinal de lógica está no estado inativa (ALTO ouBAIXO) é dito ser inativa.

A barra sobre um sinal significa ativa em

BAIXO.RDRD

A ausência de uma barra significa ativa em

ALTO.

Page 71: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Um sinal de saída pode ter dois estados ativos, com uma funçãoimportante no estado ALTO e outra no estado BAIXO.

É costume rotular esses sinais para que ambos os estados ativosestejamaparentes.

3.14 Qual representação de Porta usar

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 70 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 70

estejamaparentes.

RD/WRQuando esse sinal está ALTO, realiza-se a operação ler (RD);

Quando é BAIXO, realiza-se a operação escrever(WR).

Um exemplo comum é o sinal de ler/escrever

Page 72: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Quando possível, escolha símbolos de porta, assim as saídas bolhasãoconectadasàsentradasbolha.

3.14 Qual representação de Porta usar

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 71 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 71

sãoconectadasàsentradasbolha.

As saídas não bolha ligadas às saídas não bolha.

g1

Page 73: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Slide 71

g1 Esta frase está estranha, provavelmente incorreta. Porém, não localizei esta informação no texto e não consegui revê-la.geje; 19/07/2011

Page 74: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

O circuito lógico mostrado ativa um alarme quando a saída Z forALTO.

3.14 Qual representação de Porta usar

Modifique o diagrama do circuito de modo que esserepresenteaoperaçãodocircuito maiseficazmente.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 72 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 72

O circuito agora tem saídas não bolhaligados às entradas não bolha daporta 2.

O símbolo de porta NOR deve ser alteradopara o símbolo alternativo com uma saídanão bolha (ativa-em-ALTO) para coincidircom o entrada de porta AND não bolha 2.

representeaoperaçãodocircuito maiseficazmente.

Page 75: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.15 Atraso de Propagação

� O atraso de propagação é o tempo que um sistema leva paraproduzir uma saída após receber uma entrada.

A velocidadede um circuito lógico estárelacionadaao atrasoda

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 73 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 73

A velocidadede um circuito lógico estárelacionadaao atrasodapropagação.

� Na implementação de circuitos lógicos existe uma folha de dadosque indica o valor do atraso da propagação. Usada para assegurarque o circuito possa operar com rapidez suficiente para aaplicação.

Page 76: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3-17 Linguagem de Descrição versusLinguagem de Programação

� HDL – Linguagem de Descrição de Hardware. Permite quelinguagens rigidamente definidas representem circuitos lógicos.

AHDL – Altera Linguagem de Descrição de Hardware.Desenvolvidopor Altera paraconfigurardispositivosdelógica

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 74 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 74

Desenvolvidopor Altera paraconfigurardispositivosdelógicaprogramável Altera (PLDs).

Não se destina a ser utilizado como uma linguagem universalpara descrever qualquer circuito lógico.

� VHDL – Linguagem de Descrição de Hardware de VelocidadeMuito Alta. Desenvolvido pelo Departamento de Defesa Norte-Americano (DoD), padronizado pelo IEEE e amplamente utilizadopara descrever projetos para dispositivos reais.

Page 77: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.17 Linguagem de Descrição versusLinguagem de Programação

� É importante distinguir entre as linguagens de descrição dehardware e as linguagens de programação. Em ambas, alinguagem é usada para programar um dispositivo.

� Os computadoresfuncionamseguindouma lista de tarefas,que

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 75 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 75

� Os computadoresfuncionamseguindouma lista de tarefas,quedevem ser realizadas em ordem sequencial. A velocidade deoperação é determinada pela rapidez do computador para executarcada instrução.

� Um circuito de lógica digital é limitado em velocidade apenaspela rapidez com que o circuito pode mudar as saídas em respostaa mudanças nas entradas. É possível monitorar todas as entradassimultaneamente e responder a quaisquer alterações.

Page 78: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Comparação entre a operação de um computador e um circuito delógica na execução da operação lógicay = AB.

3.17 Linguagem de DescriçãoversusLinguagem de Programação

Ay

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 76 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 76

O circuito lógico é uma porta AND. A saíday será ALTO apartir de 10 nanossegundos do momento em que A e B sãoALTO simultaneamente.

Dentro de aproximadamente 10 nanossegundos após umaentrada se tornar BAIXO, a saíday será BAIXO.

By

Page 79: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Comparação entre a operação de um computador e um circuito delógica na execução da operação lógicay = AB.

O computador deve executar um programa de instruções que tomadecisões.

3.17 Linguagem de DescriçãoversusLinguagem de Programação

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 77 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 77

decisões.

Cada forma no fluxogramarepresenta uma instrução.

Se cada uma leva 20 ns,estima-se que irá demorarde duas a três instruções (40- 60 ns) para responder àsmudanças nas entradas.

Page 80: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.18 Implementação de Circuitos Lógicos com PLDs

� Dispositivos lógicos programáveis (PLDs) podem serconfiguradosdeváriasmaneirasparaexecutarfunçõeslógicas.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 78 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 78

configuradosdeváriasmaneirasparaexecutarfunçõeslógicas.

Conexões internas são feitas eletronicamente para dispositivos deprogramação.

Page 81: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

PLDs são configurados eletronicamente. Seus circuitos internos sãoconectados eletronicamente para formar um circuito lógico.

Essa fiação programávelpode

3.18 Implementação de Circuitos Lógicos com PLDs

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 79 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 79

Essa fiação programávelpodeser pensada como milhares deconexões, conectadas (1) ounão (0).

Cada interseção de uma linha(fio horizontal) e coluna (fiovertical) é uma conexãoprogramável.

Page 82: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A linguagem de descrição de hardware define as conexões aseremfeitas.

3.18 Implementação de Circuitos Lógicos com PLDs

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 80 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 80

seremfeitas.

É carregada no dispositivo após a tradução por um compilador.

� A linguagem de alto-nível de descrição de hardware torna aprogramação de PLDs muito mais fácil, se comparada à álgebrabooleana, aos desenhos esquemáticos ou às tabelas-verdade.

Page 83: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.19 Formato e Sintaxe do HDL

� Linguagens interpretadas por computadores devem seguir regrasrígidasdesintaxe.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 81 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 81

rígidasdesintaxe.

A sintaxe refere-se a ordem dos elementos.

Page 84: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

No lado esquerdo do diagrama está o conjunto de entradas e à direitaestá o conjunto de saídas.

Ossímbolosnomeiodefinemo seufuncionamento.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 82 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 82

Ossímbolosnomeiodefinemo seufuncionamento.

Page 85: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� O formato se refere a uma definição de entradas, saídas e de comoas saídas respondem as entradas (operação)

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 83 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 83

Formato dos arquivos HDLs.

Page 86: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Em uma linguagem baseada em texto, deve-se dar um nome ao circuitodescrito.

A definição da operação está contida em um conjunto de afirmações que seguea definição de entrada / saída (I / O).

� As entradas & saídas (ports) devemrecebernomes definidos deacordocoma

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 84 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 84

� As entradas & saídas (ports) devemrecebernomes definidos deacordocomanatureza do sinal.

É o modo que define quando é entrada, saída ou ambas.

� O tipo refere-se ao número de bits e como esses bits são agrupados einterpretados.

� A entrada de um bit único só pode ter dois valores: 0 e 1.

� Um número binário de quatro bits pode ter qualquer um dos 16 valoresdiferentes (0000-1111).

Page 87: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave SUBDESIGN dá um nome ao bloco de circuito,que, nesse caso, é and_gate.

O nome do arquivo também deve ser and_gate.tdf.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 85 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 85

Em AHDL, a definição de entrada/ saída écolocada entre parêntesis.

Um único bit saída é declarado com o modo:saída;

Em AHDL, assume-se o tiposingle-bit amenos que a variável seja designada comovários bits.

Variáveis para as entradas são separadas porvírgulas e seguidas por: entrada;

Page 88: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave SUBDESIGN dá um nome ao bloco de circuito, que, nesse caso, é and_gate.

O nome do arquivo também deve ser and_gate.tdf.Declaraçõesque descrevema operaçãodo

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 86 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 86

Declaraçõesque descrevema operaçãodocircuito AHDL estão contidas na seçãológica entre as palavras-chave BEGIN eEND.

END deve ser seguido por um ponto evírgula (;).

A ordem em que são listados não fazdiferença.

Instruções entre BEGIN e END sãoavaliadas constantemente e ao mesmotempo.

Page 89: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

Esses são os operadores básicos booleanos.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 87 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 87

Page 90: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave ENTITY dá um nome ao bloco de circuito, que,neste caso, é and_gate.

Variáveis nomeadas pelo compilador devem ser minúsculas.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 88 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 88

A palavra-chave PORT diz aocompilador que estamos definindoentradas e saídas para esse bloco decircuito.

Page 91: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave ENTITY dá um nome ao bloco de circuito, que,nesse caso, é and_gate.

Variáveis nomeadas pelo compilador devem ser minúsculas.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 89 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 89

A descrição do BIT diz aocompilador que cada variávelna lista é um bit único.

Page 92: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave ENTITY dá um nome ao bloco de circuito, que,nesse caso, é and_gate.

Variáveis nomeadas pelo compilador devem ser minúsculas.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 90 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 90

A declaração ARCHITECTURE éusada para descrever ofuncionamento de tudo dentro dobloco.

Cada ENTITY deve ter ao menosuma ARCHITECTURE associadaa ela.

Page 93: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� A palavra-chave ENTITY dá um nome ao bloco de circuito, que,neste caso, é and_gate.

3.19 Formato e Sintaxe do HDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 91 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 91

Dentro do corpo (entre BEGINe END) está a descrição dofuncionamento do bloco.

Page 94: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.20 Sinais Intermediários

� Em muitos projetos, é necessário definir pontos de sinal "dentro" do circuito de blocos, chamados nós internos ou sinais locais.

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 92 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 92

São pontos do circuito que podem ser úteis como ponto de referência; não são entradas nem saídas.

Page 95: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Sinais locais AHDL:

Comentários são delimitados pelo caractere %.

3.20 Sinais Intermediários AHDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 93 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 93

Comentários são delimitados pelo caractere %.

Texto após dois traços é usado apenas para documentação.

A palavra-chave VARIABLE define sinal intermediária

A palavra-chave NODE designa a natureza da variável.

Page 96: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.20 Sinais Intermediários AHDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 94 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 94

Page 97: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

� Sinais locais VHDL:

Textoapósdoistraçoséusadoapenasparadocumentação.

3.20 Sinais Intermediários AHDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 95 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 95

Textoapósdoistraçoséusadoapenasparadocumentação.

A palavra-chave SIGNAL define sinal intermediário.

A palavra-chave BIT designa o tipo de sinal.

Page 98: Capítulo 3 Descrevendo Circuitos Lógicos · 2012. 3. 7. · 3.1 Constantes e Variáveis Booleanas A álgebra booleana permite apenas dois valores: 0 e 1. – Lógica 0 pode ser:

3.20 Sinais Intermediários AHDL

© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 96 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 96