LABORG Aula 8 VHDL Processos Paralelismo e o
LABORG Aula 8 - VHDL: Processos, Paralelismo e o Comando process (Continuação) César Augusto Missio Marcon Ney Laert Vilar Calazans 08/abril/2009
Sumário ØIntrodução ØTRABALHO A FAZER ØA ENTREGAR César Marcon / Ney Calazans 2
Sumário ØIntrodução ØTRABALHO A FAZER ØA ENTREGAR César Marcon / Ney Calazans 3
Introdução • Na aula anterior vimos: – VHDL pode ser vista como não uma, mas várias linguagens – modelagem/simulação/síntese e dentro de process/fora de process – Processos paralelos são naturais em VHDL – dentro e fora do comando process – Process – usado para hardware combinacional ou seqüencial, ou mistura de ambos – Variáveis ≠ sinais – sinais são fios, variáveis pode ou não ser implementadas com fios; sinais tem atribuição retardada até a próxima suspensão do processo, variáveis têm atribuição imediata – Expressões com sinais usam o valor do sinal antes da suspensão do processo (valor antigo, se ele foi mudado em comando anterior) – Exercícios iniciais de interpretação de comandos process César Marcon / Ney Calazans 4
Introdução • Nesta aula veremos: – Exercícios iniciais de projeto de comandos process César Marcon / Ney Calazans 5
Sumário üIntrodução ØTRABALHO A FAZER ØA ENTREGAR César Marcon / Ney Calazans 6
TRABALHO A FAZER (1) 1. Implemente uma ULA de 4 operações em VHDL usando um único comando process. Faça um testebench que mostre a operação correta das 4 operações sobre vários dados. Especificação da ULA: – 2 entradas A e B de 8 bits, 1 saída de 8 bits, 1 entrada de controle que use um tipo enumerado de 4 valores. As operações são A+B, A-B, A xor B e not B César Marcon / Ney Calazans 7
TRABALHO A FAZER (2) 1. Implemente o hardware para cronômetro de basquete. Especificação do cronômetro: – 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 (Dica: comece com uma entity VHDL a partir deste!!) César Marcon / Ney Calazans 8
TRABALHO A FAZER (2) 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 Cristal de 10 MHz sistema devem ser síncronas com o sinal de relógio!!! Relógio Sincronizador de Entradas Tempo Carga C_Tempo C_Minutos C_Segundos Reinicializa Parar Prosseguir César Marcon / Ney Calazans Minutos Segundos Centésimos Pensem! O clock da placa Nexys é de 25 MHz, 50 MHz ou 100 MHz. Como gerar a partir de um destes o clock de 10 MHz da especificação? ? 9
Sumário üIntrodução üProcessos em VHDL üTRABALHO A FAZER ØA ENTREGAR César Marcon / Ney Calazans 10
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. César Marcon / Ney Calazans 11
- Slides: 11