|
PUCRS - Faculdade
de Informatica Circuitos Digitais, semestre
2004/1. Prof. Eduardo Augusto Bezerra
|
Trabalho Final
- Adivinhar
um
numero
sorteado.
| O
trabalho consiste na implementacao de um circuito para realizar o sorteio
de um numero, e para informar se o numero fornecido pelo usuario e' o
mesmo sorteado. Para gerar o numero devera' ser utilizado um circuito LFSR
(Linear Feedback Shift Register). Devem ser utilizadas chaves para
o fornecimento de uma semente para o LFSR, e chaves para a entrada do
usuario, ambos valores de 4 bits. O valor sorteado (gerado pelo LFSR), e o
valor fornecido devem ser apresentados em dois displays de 7-segmentos
disponiveis na plataforma de desenvolvimento. Projetar tambem um
comparador que acendera' um LED caso os dois valores sejam iguais. O
circuito devera' ser projetado de acordo com o diagrama de blocos
apresentado a seguir. O diagrama de blocos apresenta uma visao em alto
nivel do circuito a ser projetado. E' preciso incluir no projeto modulos
tais como os conversores binario para 7-segmentos, entre outros.

Funcionamento do circuito
|
Como pode ser observado na figura anterior, o funcionamento do circuito
e' bastante simples e direto:
- Uma semente de 4 bits e' fornecida para o gerador de sequencias
pseudo-aleatorias (LFSR) por intermedio da chave superior.
- O jogador informa um valor de 4 bits na chave inferior, sendo
apresentado no display inferior (0 a F).
- Diversos valores sao gerados e apresentados no display superior, na
velocidade do clock da placa. Isso impede o usuario de identificar os
valores sendo gerados.
- Ao ser pressionado o botao de parada, o valor gerado pelo LFSR
naquele instante e' apresentado no display.
- Caso os dois valores sejam iguais, o circuito comparador acende o
LED sinalizando o acerto.
- Para iniciar uma nova rodada, pressionar o botao de parada novamente
e repetir os passos anteriores a partir do 2. Nao e' necessario
fornecer uma nova semente.
Algumas dicas para auxiliar no projeto e implementacao do circuito:
- Utilizar a abordagem "dividir para conquistar", quebrando
o projeto em modulos menores. Nao implementar o circuito inteiro de
uma vez. Por exemplo, implementar o modulo comparador e testa-lo
fornecendo duas entradas e verificando se o LED acende para entradas
iguais. Implementar o LFSR e verificar se as sequencias geradas sao as
esperadas. Implementar o decodificador binario para 7-segmentos e
testa-lo na placa. Apos todos os modulos estarem funcionando,
junta-los para formar o circuito completo.
- Realizar diversas vezes o tutorial apresentado nas aulas dos dias
31/05 e 07/06 de forma a melhor entender todos os passos para a
prototipacao rapida de circuitos digitais utilizando a ferramenta
Quartus II e a plataforma de desenvolvimento da Altera.
- Ler a documentacao sobre LFSR: "What's
an LFSR" da Texas Instruments.
- Exemplo de um LFSR:

O trabalho e' individual e a apresentacao sera' realizada de
acordo com a ordem da lista de chamada. Os alunos
deverao preparar um relatorio contendo a descricao de tudo o que foi
implementado, com detalhes sobre o projeto do circuito, incluindo uma
maquina de estados listando todos os valores gerados pelo LFSR. O relatorio
devera' conter, tambem, um diagrama de blocos e o esquematico preparado no
Quartus II. O relatorio devera' ser entregue no momento da apresentacao.
Todos os arquivos de projeto, bem o relatorio, devem ser enviados por email para
eduardob@inf.pucrs.br ate' 30 minutos antes do inicio da aula do
dia da apresentacao (dia 21/06/2004 ate' as 7:30). Data da apresentação:
21/06/2004. (entregas encerradas - siga
esse link para as solucoes/relatorios dos alunos).
|