Disciplinas
Fechadura de Cofre
Implemente o circuito de controle de uma fechadura de cofre. O cofre abrirá se, e somente se, o usuário acionar três chaves na sequência correta.
Entradas
| Entrada | Onde? |
|---|---|
clock |
LED[7] |
reset |
SWI[7] |
chave |
SWI[2:0] |
- O
resetdeve ser síncrono. - O
clockdeve ter frequência de 1 Hz. - A
chaveé o conjunto de três chaves que são usadas para destravar a fechadura do cofre.
Saídas
| Saída | Onde? |
|---|---|
iniciar |
LED[0] |
cofre_aberto |
LED[1] |
tentativas_erradas |
LED[3:2] |
- O
iniciarindica que o usuário já pode inserir uma sequência para tentar abrir o cofre. - O
cofre_abertoindica que o cofre está atualmente aberto. - O
tentativas_erradasindica o número de vezes que o usuário inseriu uma sequência incorreta.
Descrição
- Após o
reset, o cofre é fechado, a sequência (chave) da fechadura é inicializada para a sequência 0-1-2 e a contagem de tentativas erradas é zerada. - Exatamente 1 ciclo de clock depois do
reset, a saídainiciaré ativada e o usuário pode inserir uma sequência para tentar abrir o cofre. Para isso, nos 3 ciclos de clock seguintes, o usuário deve levantar uma das chaves (0, 1 ou 2) em cada ciclo. Ao término da inserção da sequência, todas as chaves devem ser levantadas. - Se o usuário acerta a sequência da fechadura, o cofre é aberto e a saída
iniciaré desativada. Se, no ciclo de clock seguinte, o usuário colocar todas chaves para 0 e inserir uma nova sequência nos 3 ciclos de clock a seguir (2-1-0, por exemplo), esta será a nova sequência da fechadura e o cofre será fechado automaticamente. - Se o usuário não desejar redefinir a sequência, o cofre será fechado no ciclo de clock seguinte. Após mais 1 ciclo de clock, a saída
iniciaré ativada novamente e tudo se repete. - Se o usuário não acertar a sequência, o cofre não abre e, após 2 ciclos de clock, a saída
iniciarserá ativada novamente. Após 2 tentativas erradas, a saídainiciarsó será ativada novamente quando o circuito sofrerreset.