Buscar

12 Projeto de Sistemas Digitais no Nível RT

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 21 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Universidade Federal de Santa Catarina
Centro Tecnológico
Departamento de Informática e Estatística
Curso de Graduação em Ciências da Computação
Aula 12-T
4. Projeto de Sistemas Digitais no Nível RT. Estudo de 
Caso. 
Sistemas DigitaisSistemas Digitais
INE 5406INE 5406
Prof. José Luís Güntzel
guntzel@inf.ufsc.br
www.inf.ufsc.br/~guntzel/ine5406/ine5406.html
slide 12T.2INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Necessita-se de um sistema digital (doravante chamado de “trava”) capaz de controlar 
o acesso a uma sala. O acesso à sala é liberado se a seqüência correta de três códigos 
(“chaves”) tiver sido digitada, da seguinte forma:
chave1 <enter>
chave2 <enter>
chave3 <enter>
Cada código corresponde a um número decimal de 3 dígitos que é digitado em um 
teclado. A cada código digitado o teclado gera o equivalente binário, enviando-o à entrada 
do sistema digital “trava”.
Se for digitada a seqüência correta, a trava irá acionar o mecanismo que libera a porta. 
Ao mesmo tempo, aparecerá no display a mensagem “porta liberada”. O processo de 
digitação só poderá reiniciar quando o mecanismo da portar indicar que a porta fechou.
Caso um dos três códigos não conferir, a porta não abre e o display exibe a mensagem 
“erro”. Após o acionamento da tecla de “reinício”, será possível recomeçar o processo de 
digitação da seqüência.
OBS: desconsiderar o hardware necessário para programar as três chaves. 
slide 12T.3INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 0 (Diagrama de Blocos Geral )
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
?
reinício
Display
msg
?
fechada
slide 12T.4INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Refinando a Especificação (1)
Cada código é composto por 3 dígitos decimais. Logo, os códigos estão entre “000” e 
“999”. Para representar o código “999” são necessários 10 bits. Logo, o sinal de 
entrada “código” terá um mínimo de 10 bits.
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
?
fechada
slide 12T.5INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Refinando a Especificação (2)
Iremos assumir que:
• O teclado somente libera um valor novo de “código” quando a tecla “enter” for 
acionada;
• Assim que a tecla “enter” é acionada o sinal “enter” fica estável no valor “1”
durante um ciclo de relógio completo. Simultaneamente, o valor de código fica 
também estável.
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
?
fechada
slide 12T.6INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
• Se o sinal de saída “msg” tiver apenas um bit, então somente duas mensagens 
estarão disponíveis. Porém, se imaginarmos que além das mensagens “erro” e 
“portal liberada” se desejar mostrar também a mensagem “digite código”, então 
o sinal “msg” deverá ter no mínimo dois bits.
Refinando a Especificação (3)
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.7INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 1 (captura do comportamento com FSMD)
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.8INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 1 (captura do comportamento com FSMD)
OBS: podemos supor que a porta 
possui um dispositivo que force seu 
fechamento de maneira suave, de 
modo que o tempo para ela fechar 
corresponda a diversos (talvez muitos) 
ciclos de relógio. Com isso garante-se 
que, ao entrar no estado “abre”, o sinal 
“libera” permanecerá ativado durante 
um ciclo de relógio, ao menos.
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.9INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 1 (captura do comportamento com FSMD)
Entradas: enter (1 bit), reinício 
(1 bit), código (10 bits), fechada 
(1 bit), reset e ck
Saídas: libera (1 bit), msg (2 
bits)
Variáveis internas ou locais: 
chave1, chave2, chave3 (cada 
uma com 10 bits)
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.10INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 2 (projeto do BO)
• Quais variáveis são usadas para 
armazenar dados?
Resp.: chave1, chave2, chave3
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.11INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 2 (projeto do BO)
• Quais operações são realizadas 
sobre dados (incluindo-se as 
condições)?
Resp.: apenas comparações, sendo uma 
comparação por vez.
Logo, necessita-se de um comparador e de 
um 3:1 multiplexador (ambos para números 
de 10 bits )
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechadamsg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.12INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 2 (projeto do BO)
Observação:
• Por questão de didática, não estão previstos os recursos para a programação dos valores 
de chave1, chave2 e chave3. Porém, as modificações necessárias no BO são triviais. 
(Quais são elas?…)
10
código
10
chave2
=
igual
chave1 chave3
1010
00 01 10
10
2sel_chave
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
err
o
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
slide 12T.13INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 3 (Esboçando o diagrama BO/BC)
10
2
sel_chave
igual
código
BC
(controle)
enter
ck
Reset
BO
(datapath)
ck
2
msg
reinício
fechada
libera
S.D.
trava
Mecanismo 
da porta
teclado
código
enter
CK
Reset
libera
10
reinício
Display
msg
2
fechada
slide 12T.14INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 3 (Um diagrama BO/BC mais detalhado…)
BC
(controle)
enter
ck
Reset
2
msg
reinício
fechada
libera
10
código
10
chave2
=
igual
chave1 chave3
1010
00 01 10
10
2
sel_chave
slide 12T.15INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 4 (Projeto do BC)
FSMD
FSM
Os testes “código = chaveX”
serão realizados testando-se o 
valor de “igual”. Para isso, a 
FSM deve garantir que:
Sel_chave = 00 em S0 
Sel_chave = 01 em S1 
Sel_chave = 10 em S2
Os testes “porta aberta” e 
“porta fechada” serão realizados
testando-se a variável “fechada”
Assumiremos que “msg”
assumirá os seguintes valores:
msg=00 nenhuma mensagem
msg=01 para “porta liberada”
msg=10 para “erro”
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter
slide 12T.16INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
FSMD
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enterPasso 4 (Derivando a FSM a 
partir do BO e da FSMD)
BC
(controle)
enter
ck
Reset
2
msg
reinício
fechada
libera
10
código
10
chave2
=
igual
chave1 chave3
1010
00 01 10
10
2
sel_chave
slide 12T.17INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
FSMD
libera porta
msg← “liberada”
Reset
enter & 
código = chave1
S2
S1
S0
abre
erro
enter & 
código = chave2
enter & 
código = chave3
porta 
aberta
porta
fechada
msg← “erro”
enter & 
código ≠ chave1
enter & 
código ≠ chave2
enter & 
código ≠ chave3
reinício
reinício
enter
enter
enter Reset
enter & igual
S2
S1
S0
abre
erro
enter & igual
enter & igual
fechada
fechada
reinício
reinício
enter
enter
enter
enter & igual
enter & igual
enter & igual
FSM
Passo 4 (Derivando a FSM a partir do BO e da FSMD)
slide 12T.18INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Reset
enter & igual
S2
S1
S0
abre
erro
enter & igual
enter & igual
fechada
fechada
reinício
reinício
enter
enter
enter
enter & igual
enter & igual
enter & igual
FSM
Passo 4 (Derivando a FSM a partir do BO e da FSMD)
BC
(controle)
enter
ck
Reset
2
msg
reinício
fechada
libera
10
código
10
chave2
=
igual
chave1 chave3
1010
00 01 10
10
2
sel_chave
Obs: nesta FSM, os sinais de saída foram 
omitidos.
slide 12T.19INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 4 (Projeto do BC)
FSM
Reset
enter & igual
S2
S1
S0
abre
erro
enter & igual
enter & igual
fechada
fechada
reinício
reinício
enter
enter
enter
enter & igual
enter & igual
enter & igual
Obs: nesta FSM, os sinais de 
saída foram omitidos.
slide 12T.20INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 4 (Projeto do BC)
S0X1XXabre
erro0XXXerro
S2XXX0S2
erroXX01S2
S3XX11S2
S0XXX0S0
erroXX01S0
X
X
1
0
X
1
igual
X
X
1
1
0
1
enter
X
0
X
X
X
X
fechada
S01erro
abreXabre
S2XS1
erroXS1
S1XS1
S1XS0
Próximo 
estadoreinício
Estado 
atual
Tabela de Transição de Estados
FSM
Reset
enter & igual
S2
S1
S0
abre
erro
enter & igual
enter & igual
fechada
fechada
reinício
reinício
enter
enter
enter
enter & igual
enter & igual
enter & igual
slide 12T.21INE/CTC/UFSC
Sistemas Digitais - semestre 2008/2
Prof. José Luís Güntzel
4. Projeto de Sistemas Digitais no Nível RT
Exemplo 2: trava digital com três “chaves”
Passo 4 (Projeto do BC)
101XXabre
10
00
00
00
msg
XX
10
01
00
sel_chave
0erro
0S2
0S1
0S0
liberaEstado
Tabela de Saídas
FSM Reset
enter & igual
S2
S1
S0
abre
erro
enter & igual
enter & igual
fechada
fechada
reinício
reinício
enter
enter
enter
enter & igual
enter & igual
enter & igual

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes