Prévia do material em texto
TUTORIAL INTRODUTÓRIO AO SOFTWARE MODELSIM PARA SIMULAÇÃO DE MÓDULOS VERILOG Luneque Silva Junior 2 1) Abra o software Modelsim. O ícone para o programa estará na pasta Altera caso tenha sido corretamente instalado no Windows. 3 2) Aparecerá a tela de inicialização do Modelsim. A versão Starter Edition é gratuita para fins educacionais. 4 3) A primeira tela do software apresenta a biblioteca de módulos (Verilog) e entidades (VHDL) fornecida pela Altera. Estamos interessados em desenvolver nossos próprios módulos, por isso tais recursos serão ignorados por enquanto. 5 4) Para iniciar a criação de módulos em Verilog, é necessário criar um novo projeto. 6 5) Na tela seguinte, deve-se especificar o nome e a localização do projeto que será criado. Neste exemplo, o nome do projeto será tutorial. Uma nova entrada na biblioteca de módulos também será criada com o nome padrão work. 7 6) Criado o projeto, uma nova aba aparecerá na tela inicial do software. O Modelsim perguntará o que deverá ser feito. Vamos acrescentar ao projeto arquivos Verilog. 8 7) O projeto é composto por quatro arquivos: um codificador de prioridade (encoder 8x3); um codificador hexadecimal para display de 7 segmentos; um arquivo englobando estes dois blocos (top level) e um arquivo de teste para configuração das entradas (testbench). 9 8) Caso os arquivos estejam em outras pastas, estas podem ser importadas para a pasta do projeto definida anteriormente. 10 9) Desta forma, todos os arquivos foram importados para o projeto. O status “?” indica que os arquivos não foram compilados. 11 10) Clicando nos nomes dos arquivos na aba do projeto, será aberta a tela do editor. Eventuais ajustes no código Verilog poderão ser realizados nesta tela. 12 11) Clicando com o botão direito nos arquivos da aba de projeto, selecionamos a opção compile all. Todos os arquivos serão compilados. Devido à precedência entre arquivos, talvez seja necessário compilar mais de uma vez. 13 12) O status verde indica que todos os arquivos foram compilados corretamente. Havendo problemas no código, o mesmo não será compilado, e uma mensagem em vermelho será exibida. 14 13) Passando da aba de projeto para a aba de biblioteca, vemos que os módulos compilados foram para a entrada work. É possível iniciar a simulação clicando com o botão direito sobre quaisquer destes módulos. 15 14) Uma nova aba, de simulação, será aberta. O módulo simulado (cisterna_blocos) é apresentado em uma estrutura de pastas, sendo composto por dois módulos internos. Na janela de objetos são mostrados os sinais internos e de entrada/saída do módulo simulado. Note que os componentes foram simulados, mas ainda não se encontram em execução. 16 15) Para verificar o funcionamento dos módulos, será necessário acrescentar os sinais de interesse em um diagrama de tempos por meio da opção add to wave. 17 16) Nesta situação, nenhum valor está sendo aplicado às entradas do módulo simulado. Um valor específico pode ser definido usando a opção force. 18 17) Neste exemplo, um único valor (00001111) será atribuído à entrada do módulo. Este valor é referente ao nível 4 da cisterna. 19 18) Clicando na opção run, o módulo será executado pelo tempo especificado (neste exemplo, 100ps). Este tempo é suficiente para termos na saída o valor associado à entrada. Este tipo de simulação verifica apenas 1 situação por vez. Para testar várias situações em sequência, é preciso criar um arquivo de testbench. 20 19) O testbench é um arquivo Verilog em que se instancia o módulo que se deseja testar. O testbench possui sinais internos (data_in e data_out) que serão usados para conectar as entradas e saídas do módulo. Diferentes valores são atribuídos ao sinal de entrada a cada 10 unidades de tempo (neste exemplo, 10 ps). 21 20) Simulando e executando o testbench, observa- se no diagrama de tempos (wave) que os sinais de entrada e saída variaram durante o período de execução por todos os níveis da cisterna, validando o funcionamento do projeto.