A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ney Laert Vilar Calazans

Apresentações semelhantes


Apresentação em tema: "Ney Laert Vilar Calazans"— Transcrição da apresentação:

1 Ney Laert Vilar Calazans
LABORG Aula 10 - VHDL: Processos, Paralelismo e o Comando process (final) Ney Laert Vilar Calazans 11/maio/2009

2 Sumário Introdução TRABALHO A FAZER A ENTREGAR

3 Sumário Introdução TRABALHO A FAZER A ENTREGAR

4 Introdução Nas aulas anteriores deste trabalho, vimos:
Estudo geral de processos VHDL e do comoand process Exercícios iniciais de interpretação de comandos process Um exercício complexo, o cronômetro de basquete – Para efetivamente implementar este hardware de forma modular, é eficiente usar o modelo Bloco de Dados-Bloco de Controle visto em aula O objetivo desta última aula deste trabalho é justamente verificar que a implementação do cronômetro pelos alunos siga este formato.

5 Sumário Introdução TRABALHO A FAZER A ENTREGAR

6 TRABALHO A FAZER (1) Repete-se aqui a especificação inicial: Implemente o hardware para cronômetro de basquete: Jogos de basquete atuais são compostos de 4 tempos de 15 minutos cada. Assim, o cronômetro deve contar até 15 minutos e saber em que tempo o jogo se encontra O cronômetro deve poder ser parado e reiniciado a qualquer instante, e deve poder ser reinicializado para o instante 00 minutos, 00 segundos e 00 centésimos do primeiro tempo Como pode ser intuído no item anterior, são 4 as saídas do cronômetro: minutos, segundos, centésimos e tempo do jogo Em situações excepcionais, tais como erros de arbitragem, o cronômetro deve poder ser inicializado para um instante qualquer de um tempo qualquer, com precisão máxima a nível de segundos inteiros. Um sinal carga controla a inicialização A seguir apresenta-se um diagrama da interface externa do cronômetro

7 TRABALHO A FAZER (3) O Circuito Sincronizador de Entradas deve ser ignorado para o atual trabalho. Mas pensem: Para que ele serve? Atenção: Todas as ações do sistema devem ser síncronas com o sinal de relógio!!! Cristal de 10MHz Relógio Tempo Minutos Segundos Centésimos Carga C_Tempo Pensem! O clock da placa Nexys é de 25MHz, 50MHz ou 100MHz. Como gerar a partir de um destes o clock de 10MHz da especificação?? C_Minutos Sincronizador de Entradas C_Segundos Reinicializa Parar Prosseguir

8 TRABALHO A FAZER (3) Para implementar o cronômetro, inicia-se no Bloco de Dados Pode-se implementar o Bloco de Dados usando 5 contadores: 1 contador que conta ciclos de relógio e detecta quando se passou 1 centésimo de segundo 1 contador que conta centésimos de segundo e detecta quando se passou 1 segundo 1 contador que conta segundos e detecta quando se passou 1 minuto 1 contador que conta minutos e detecta quando se passou 15 minutos, ou seja quando terminou um tempo do jogo 1 contador que conta tempos O primeiro contador é interno ao sistema (não gera saídas diretamente), portanto pode contar em qualquer sentido Os demais ficam mais fáceis se contarem na ordem de geração das informações

9 TRABALHO A FAZER (4) Assim, os contadores de centésimos, segundos e minutos devem contar em ordem decrescente, enquanto o contador de tempos conta em ortdem crescente Centésimos conta 00, 99, 98, … 01, segundos conta 00, 59, 58,… 01, minutos conta 15, 14, … 0, e tempo conta 1, 2, 3, 4. Assim, o valor de contagem pode ser a própria saída do sistema Segundo o princípio de projeto síncrono, todos os contadores possuem o mesmo sinal de relógio. Assim, a detecção de quando um contador “vira” deve durar exatamente 1 ciclo de relógio e deve ser a habilitação (chip enable) do contador de ordem imediatamente superior. Assim, ao chegar no ultimo ciclo antes de virar, cada contador gera uma habilitação para o contador seguinte (centésimos para segundo, etc) Exceção é o contador de minutos, que ao vira pára automaticamente o cronômetro

10 TRABALHO A FAZER (5) O Bloco de Dados deve ser comandado por um Bloco de Controle O Bloco de Controle deve ser uma máquina de estados síncrona, controlada pelo mesmo relógio que o Bloco de Dados Cada um dos sinais de controle do cronômetro (carga, Reinicializa, Parar, Prosseguir) deve ser entrada primária da máquina de estados As saídas da máquina de estados devem comandar as ações do Bloco de Dados Analise as diferentes situações pelas quais passa o cronômetro para definir o número e a semântica dos estados do Bloco de Controle Para comandar o Bloco de Dados, defina sinais de controle com semântica adequada. Estas serão as saídas do Bloco de Dados.

11 Sumário Introdução Processos em VHDL TRABALHO A FAZER A ENTREGAR

12 A ENTREGAR Os quatro projetos Active-HDL da aula anterior e os dois projetos Active-HDL desta aula, com as implementações em processos, contendo Os fontes de cada implementação Os testbenches de cada implementação Formas de onda mostrando a funcionalidade da implementação Texto breve descrevendo a implementação de cada projeto (pode ser arquivo .txt acrescentado a cada projeto) Sugestão de como implementar o cronômetro de basquete na placa Nexys do laboratório, resolvendo todos os problemas de incompatibilidade entre a especificação do cronômetro e os recursos da placa (a nível de sinal de relógio, periféricos, etc.) . A implementação na placa é opcional.


Carregar ppt "Ney Laert Vilar Calazans"

Apresentações semelhantes


Anúncios Google