• Nenhum resultado encontrado

Circuitos Lógicos

N/A
N/A
Protected

Academic year: 2022

Share "Circuitos Lógicos"

Copied!
49
0
0

Texto

(1)

Poli –Dept. de Eng. Eletrônica e de Computação Universidade Federal do Rio de Janeiro

Circuitos Lógicos

Aula 21

cruz@gta.ufrj.br http://gta.ufrj.br/~cruz

(2)

Na última aula

■ Exercícios

(3)

Hoje

■ Exercícios de lógica sequencial

(4)

Projeto de circuitos

sequenciais

(5)

Circuitos sequenciais

■ Unidade de memória armazena estado atual

■ Lógica de próximo estado define qual o próximo estado e carrega na memória

□ Estado atual

□ Variáveis de entrada

■ Lógica de saída define as saídas do circuito

□ Estado atual

□ Variáveis de entrada (Máquina de Mealy)

(6)

Etapas de projeto

■ Definição de estados

□ Construção do diagrama de estados e tabela de transição de estados

□ Redução do número de estados

■ Escolha da codificação dos estados

■ Escolha do tipo de FF a ser usado

■ Projeto da lógica combinacional

□ Projeto dos circuitos de excitação

□ Projeto dos circuitos de saída

(7)

Problema proposto

(8)

Fechadura eletrônica

Uma fechadura eletrônica que possui uma senha interna gravada em memória, de 3 números decimais. Um mecanismo 𝑝 abre uma porta quando 𝑝 = 1 e mantém a porta trancada quando 𝑝 = 0. O usuário deve

utilizar um teclado numérico para inserir a senha e, ao final, apertar um botão a para abrir a porta. Assuma que a interface entre o teclado numérico e o seu circuito são os bits 𝒃(𝑏3, 𝑏2, 𝑏1, 𝑏0), do mais significativo para o menos significativo (representando um algarismo). Além disso, assuma que a senha armazenada em memória é composta de 4 decimais: 𝒙(𝑥3, 𝑥2, 𝑥1, 𝑥0), 𝐲 (𝑦3, 𝑦2, 𝑦1, 𝑦0), 𝒛 (𝑧3, 𝑧2, 𝑧1, 𝑧0), que devem ser digitados nessa ordem.

(9)

Fechadura eletrônica

■ Entradas?

■ Saídas?

■ Estados?

(10)

Entradas, saídas e estados

■ Entradas?

□ a

□ b0

□ b1

□ b2

□ b3

■ Saídas?

□ p

■ Estados?

□ Alguma coisa a ver com a quantidade de acertos

□ Transição tem a ver com botão apertado

E1

b0 b1 b2 b3

p a

(11)

Máquina de Mealy ou de Moore?

■ Saídas

□ São ligadas diretamente ao estado?

■ Entrada

□ Influencia apenas o estado ou influencia também a saída?

□ O que acontece quando o alguém acerta a senha e aperta p?

(12)

Diagrama de estados

(13)

Diagrama de estados

■ Vértices (bolinhas)

□ Representam um estado

■ Arestas (setinhas)

□ Representam troca de estado

■ Rótulos das arestas i/o

□ i representam entrada

▪ a b -> a, 𝑏3, 𝑏2, 𝑏1, 𝑏0 (botão de abertura e botão apertado no teclado numérico)

□ o representam saída

▪ 1 e 0 -> 𝑝 = 1 e 𝑝 = 0

(14)

Diagrama de estados

A b=x/0

B C D

E F G H

a=1/1 a=0/0

b=y/0 b=z/0

x/0

(15)

Tabela de transição de estados

Estado atual Próximo estado Tx1

A B 1

B C 0

C D 1

D E b0

E F b1

F G b2

G H b3

H A P

(16)

Simplificando a tabela

■ Dois estados são equivalentes se, para todas as entradas:

□ Possuem as mesmas saídas

□ Possuem o mesmo próximo estado

■ Dois estados X e Y equivalentes podem ser simplificados em apenas um estado

□ Elimina-se o estado Y

□ Configurações que possuam Y como próximo estado agora devem possuir X como próximo estado

Pode haver mais simplificações – ciclos escondem melhorias

(17)

Tabela de transição de estados

Estado atual Próximo estado Tx1

A B 1

B C 0

C D 1

D E b0

E F b1

F G b2

G H b3

H A P

Não há o que simplificar!

(18)

Decidindo quais FFs utilizar

■ Vamos utilizar FFs D

(19)

Número de FFs

■ Temos 17 estados

□ Quantos FFs são necessários?

■ 1 FF codifica até 2 estados

■ 2 FFs codificam até 4 estados

■ 3 FFs codificam até 8 estados

■ n FFs codificam até 2nestados

Para codificar n estados, são necessários log2(𝑛) FFs!

(20)

Número de FFs

■ Temos 17 estados

□ Quantos FFs são necessários?

■ 1 FF codifica até 2 estados

■ 2 FFs codificam até 4 estados

■ 3 FFs codificam até 8 estados

■ n FFs codificam até 2nestados

Para codificar n estados, são necessários log2(𝑛) FFs!

Teremos FF0, FF1, FF2

(21)

Atribuição de códigos aos estados

■ Não existe fórmula mágica

□ Solução ótima requer testar todas as opções

▪ Fazer o projeto até o fim com cada uma das n! possibilidades

■ Soluções práticas utilizam heurísticas

Estado

A B C D E

Código

000 001 010 011 100

(22)

Heurísticas de atribuição de estados

■ Estado inicial deve ser fácil de ser

“resetado”

■ Estados consecutivos devem ter apenas uma troca de bit

■ Estados “próximos” devem ter códigos “próximos”

Estado

A B C D E

Código

000 001 010 011 100

(23)

Heurísticas de atribuição de estados

■ Estado inicial deve ser fácil de ser “resetado”

■ Estados consecutivos devem ter apenas uma troca de bit

■ Estados “próximos” devem ter códigos “próximos”

(24)

Códigos dos estados

■ Código de Grey

Estado Q2 Q1 Q0

A 0 0 0

B 0 0 1

C 0 1 1

D 0 1 0

E 1 1 0

F 1 1 1

G 1 0 1

H 1 0 0

(25)

Tabelas de Excitação

Estado Q2 Q1 Q0 Próx.

Estado

Próx.

Q2

Próx.

Q1

Próx.

Q0 D2 D1 D0

A 0 0 0

B 0 0 1

C 0 1 1

D 0 1 0

E 1 1 0

F 1 1 1

G 1 0 1

H 1 0 0

(26)

Tabelas de Excitação

Estado Q2 Q1 Q0 Próx.

Estado

Próx.

Q2

Próx.

Q1

Próx.

Q0 D2 D1 D0

A 0 0 0 B 0 0 1 0 0 1

B 0 0 1 C 0 1 1 0 1 1

C 0 1 1 D 0 1 0 0 1 0

D 0 1 0 E 1 1 0 1 1 0

E 1 1 0 F 1 1 1 1 1 1

F 1 1 1 G 1 0 1 1 0 1

G 1 0 1 H 1 0 0 1 0 0

H 1 0 0 A 0 0 0 0 0 0

(27)

Excitação do FF D

■ Como funciona o FF D mesmo?

D Q Próx. Q

0 0

0 1

1 0

1 1

Imagem retirada da wikipedia

(28)

Nosso mapa de Karnaugh

■ Variáveis de entrada: Q0, Q1, Q2

■ Ordem das variáveis: Código de Gray

■ Necessário renumerar o mapa? 𝑄0 𝑄0 𝑄0

𝑄2 0 1 3 2

𝑄2 4 5 7 6

𝑄1 𝑄1

Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

(29)

Nosso mapa de Karnaugh

■ Variáveis de entrada: Q0, Q1, Q2

■ Ordem das variáveis: Código de Gray

■ Necessário renumerar o mapa? 𝑄0 𝑄0 𝑄0

𝑄2 A B C D

𝑄2 H G F E

𝑄1 𝑄1

Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

(30)

Excitação FF 0

𝐷0 = ?

Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A B C D

𝑄2 H G F E

𝑄1 𝑄1

(31)

Excitação FF 0

𝐷0 = ?

Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 1 B 1 C 0 D 0 𝑄2 H 0 G 0 F 1 E 1

𝑄1 𝑄1

(32)

Excitação FF 0

𝐷0 = 𝑄1 ∙ 𝑄2 + (𝑄1 ∙ 𝑄2)

Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 1 B 1 C 0 D 0 𝑄2 H 0 G 0 F 1 E 1

𝑄1 𝑄1

(33)

Excitação FF 0

𝐷0 = 𝑄1 ∙ 𝑄2 + 𝑄1 ∙ 𝑄2

= 𝑄1 ⊕𝑄2 Estado Q2 Q1 Q0 D0

A 0 0 0 1

B 0 0 1 1

C 0 1 1 0

D 0 1 0 0

E 1 1 0 1

F 1 1 1 1

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 1 B 1 C 0 D 0 𝑄2 H 0 G 0 F 1 E 1

𝑄1 𝑄1

(34)

Excitação FF 1

𝐷1 = ?

Estado Q2 Q1 Q0 D1

A 0 0 0 0

B 0 0 1 1

C 0 1 1 1

D 0 1 0 1

E 1 1 0 1

F 1 1 1 0

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A B C D

𝑄2 H G F E

𝑄1 𝑄1

(35)

Excitação FF 1

𝐷1 = ?

Estado Q2 Q1 Q0 D1

A 0 0 0 0

B 0 0 1 1

C 0 1 1 1

D 0 1 0 1

E 1 1 0 1

F 1 1 1 0

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 0 B 1 C 1 D 1 𝑄2 H 0 G 0 F 0 E 1

𝑄1 𝑄1

(36)

Excitação FF 1

𝐷1 = 𝑄0 ∙ 𝑄2 + 𝑄0 ∙ 𝑄1

Estado Q2 Q1 Q0 D1

A 0 0 0 0

B 0 0 1 1

C 0 1 1 1

D 0 1 0 1

E 1 1 0 1

F 1 1 1 0

G 1 0 1 0

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 0 B 1 C 1 D 1 𝑄2 H 0 G 0 F 0 E 1

𝑄1 𝑄1

(37)

Excitação FF 2

𝐷2 = ?

Estado Q2 Q1 Q0 D2

A 0 0 0 0

B 0 0 1 0

C 0 1 1 0

D 0 1 0 1

E 1 1 0 1

F 1 1 1 1

G 1 0 1 1

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A B C D

𝑄2 H G F E

𝑄1 𝑄1

(38)

Excitação FF 2

𝐷2 = ?

Estado Q2 Q1 Q0 D2

A 0 0 0 0

B 0 0 1 0

C 0 1 1 0

D 0 1 0 1

E 1 1 0 1

F 1 1 1 1

G 1 0 1 1

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 0 B 0 C 0 D 1 𝑄2 H 0 G 1 F 1 E 1

𝑄1 𝑄1

(39)

Excitação FF 2

𝐷2 = 𝑄0 ∙ 𝑄2 + 𝑄0 ∙ 𝑄1

Estado Q2 Q1 Q0 D2

A 0 0 0 0

B 0 0 1 0

C 0 1 1 0

D 0 1 0 1

E 1 1 0 1

F 1 1 1 1

G 1 0 1 1

H 1 0 0 0

𝑄0 𝑄0 𝑄0

𝑄2 A 0 B 0 C 0 D 1 𝑄2 H 0 G 1 F 1 E 1

𝑄1 𝑄1

(40)

Circuitos de excitação

(41)

Equações de excitação

𝐷0 = 𝑄1 ∙ 𝑄2 + 𝑄1 ∙ 𝑄2 = 𝑄1 ⊕𝑄2

𝐷1 = 𝑄0 ∙ 𝑄2 + 𝑄0 ∙ 𝑄1

𝐷2 = 𝑄0 ∙ 𝑄2 + 𝑄0 ∙ 𝑄1

(42)

Circuitos de excitação

(43)

Saída

(44)

Tx 1

■ Saída deve se comportar como um multiplexador

□ No estado A -> 1

□ No estado B -> 0

□ No estado C -> 1

□ No estado D -> b0

□ No estado E -> b1

□ No estado F -> b2

□ No estado G -> b3

□ No estado H -> P

É necessário gerar paridade!

Estado Q2 Q1 Q0 Tx1

A 0 0 0 1

B 0 0 1 0

C 0 1 1 1

D 0 1 0 b0

E 1 1 0 b1

F 1 1 1 b2

G 1 0 1 b3

H 1 0 0 P

(45)

Tx 1

𝑇𝑥1

= 𝐴 ∙ 1 + 𝐵 ∙ 0 + 𝐶 ∙ 1 + 𝐷 ∙ 𝑏0 + 𝐸 ∙ 𝑏1 + 𝐹 ∙ 𝑏2 + 𝐺 ∙ 𝑏3 + 𝐻 ∙ 𝑃

Estado Q2 Q1 Q0 Tx1

A 0 0 0 1

B 0 0 1 0

C 0 1 1 1

D 0 1 0 b0

E 1 1 0 b1

F 1 1 1 b2

G 1 0 1 b3

H 1 0 0 P

(46)

Tx 1

𝑇𝑥1

= 𝐴 + 𝐶 + 𝐷 ∙ 𝑏0 + 𝐸 ∙ 𝑏1 + 𝐹 ∙ 𝑏2 + 𝐺 ∙ 𝑏3 + 𝐻 ∙ 𝑃

Estado Q2 Q1 Q0 Tx1

A 0 0 0 1

B 0 0 1 0

C 0 1 1 1

D 0 1 0 b0

E 1 1 0 b1

F 1 1 1 b2

G 1 0 1 b3

H 1 0 0 P

(47)

Próxima aula

■ Pré-prova

□ Responderei perguntas pontuais

(48)

Créditos

Os ícones desta apresentação foram feitos por Freepic e retirados de www.flaticon.com

Nota de rodapé

(49)

www.gta.ufrj.br

Referências

Documentos relacionados

Após aprovação no processo seletivo interno da UFES e a divulgação dos resultados pela Pró-Reitoria de Pesquisa e Pós-graduação, o candidato deverá realizar a inscrição no

Fator de potência indutivo: motores de indução, indutores, etc. Fator de potência capacitivo: motores síncronos, banco de capacitores, etc. Números Complexos em Eletrônica –

• Obter circuito lógico equivalente ao original, com o menor número de portas

comparando números decimais; adição e subtração de números decimais; multiplicando e dividindo por 10, 100, 1000; multiplicação de números decimais; divisão de

Cláusula Sexta: Caberá a(o) Docente Orientador(a) e a Coordenação do Curso emitirem ao término da vigência da monitoria, declaração das atividades desenvolvidas,

O acesso a estes conteúdos, feitos de maneira visual pelos alunos videntes e de maneira textual (com o apoio de leitores de tela existentes) pelos deficientes visuais, garante

Circuitos digitais mais complexos, com capacidade de resolver problemas robustos. Processadores e como eles fazem o elo entre hardware

Um prédio possui um sistema de combate a incêndios contendo um sensor de fumaça (F), um sensor de calor (C) e um de pane elétrica (E).. Os jatos