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

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

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

Apresentações semelhantes


Apresentação em tema: "Aula 10 - VHDL: Processos, Paralelismo e o Comando process (final) LABORG 11/maio/2009 Ney Laert Vilar Calazans."— Transcrição da apresentação:

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

2 2 César Marcon / Ney Calazans Sumário Introdução TRABALHO A FAZER A ENTREGAR

3 3 César Marcon / Ney Calazans Sumário Introdução TRABALHO A FAZER A ENTREGAR

4 4 César Marcon / Ney Calazans 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 5 César Marcon / Ney Calazans Sumário Introdução TRABALHO A FAZER A ENTREGAR

6 6 César Marcon / Ney Calazans TRABALHO A FAZER (1) 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 7 César Marcon / Ney Calazans TRABALHO A FAZER (3) Sincronizador de Entradas Relógio Cristal de 10MHz Tempo Minutos Segundos Centésimos C_Tempo C_Minutos C_Segundos Reinicializa Parar Prosseguir O Circuito Sincronizador de Entradas deve ser ignorado para o atual trabalho. Mas pensem: Para que ele serve? Carga Atenção: Todas as ações do sistema devem ser síncronas com o sinal de relógio!!! 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??

8 8 César Marcon / Ney Calazans TRABALHO A FAZER (3) 2.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 9 César Marcon / Ney Calazans 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 10 César Marcon / Ney Calazans TRABALHO A FAZER (5) 3.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 11 César Marcon / Ney Calazans Sumário Introdução Processos em VHDL TRABALHO A FAZER A ENTREGAR

12 12 César Marcon / Ney Calazans 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 1.Os fontes de cada implementação 2.Os testbenches de cada implementação 3.Formas de onda mostrando a funcionalidade da implementação 4.Texto breve descrevendo a implementação de cada projeto (pode ser arquivo.txt acrescentado a cada projeto) 5.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 "Aula 10 - VHDL: Processos, Paralelismo e o Comando process (final) LABORG 11/maio/2009 Ney Laert Vilar Calazans."

Apresentações semelhantes


Anúncios Google