Formas de onda, GTKWave e Surfer

As formas de onda mostram como cada sinal muda ao longo do tempo simulado. Esta página explica como escolher sinais, gerar o arquivo de onda e reutilizar layouts no viewer selecionado sem confundir resultados de testbenches diferentes.

Gerar uma forma de onda

  1. Defina o Testbench Top.

  2. Escolha Icarus ou Verilator.

  3. Escolha o viewer de waveform, quando quiser alternar entre GTKWave e Surfer.

  4. Abra Configuração de Ondas.

  5. Selecione os sinais desejados.

  6. Clique em Analisar Verilog (forma de onda).

A AURORA executa a simulação e abre o resultado no viewer selecionado. GTKWave é o viewer externo padrão. Surfer é uma opção opt-in; se o executável do Surfer não estiver disponível, a AURORA volta para GTKWave e avisa o usuário. Se a compilação ou o testbench falhar, o visualizador pode não ser aberto; nesse caso, o terminal Wave deve ser analisado antes da configuração visual.

Escolher o viewer

Use GTKWave quando quiser o fluxo tradicional com janela externa e layouts .gtkw. Use Surfer quando quiser usar layouts .surf.ron ou scripts .sucl e o viewer estiver disponível na instalação.

Viewer

Layouts

Observação

GTKWave

.gtkw

Padrão externo para VCD/FST.

Surfer

.surf.ron e .sucl

Opção opt-in; pode usar mappings em %APPDATA%/surfer-project/surfer/config/mappings/.

O arquivo de onda real continua sendo .vcd ou .fst. Layouts apenas organizam sinais e visualização.

Selecionar sinais

Na Configuração de Ondas você pode:

  • Pesquisar por nome.

  • Navegar pela hierarquia.

  • Selecionar todos, nenhum ou o conjunto padrão.

  • Filtrar sinais relacionados aos processadores.

Configuração de ondas com hierarquia de módulos e sinais Verilog selecionáveis.

Expanda a hierarquia, marque somente os sinais necessários e confira a quantidade selecionada antes de salvar.

Atalhos:

Atalho

Ação

Ctrl+F

Focar a pesquisa.

Esc

Limpar a pesquisa; pressione novamente para fechar.

Selecione primeiro clock, reset, entradas, saídas e os poucos sinais internos necessários para responder à pergunta do teste. Um conjunto menor torna a leitura mais simples, reduz o tamanho do arquivo de onda e evita que detalhes sem relação ocultem o comportamento importante.

Depois da simulação, confira se os nomes exibidos no viewer pertencem à hierarquia esperada. Se o circuito foi renomeado ou reorganizado, seleções antigas podem deixar de corresponder ao RTL atual.

Testbench com $dumpfile e $dumpvars

Se o testbench já define o dump manualmente, a AURORA respeita essa configuração enquanto a Configuração de Ondas não tiver sido personalizada para esse testbench. Nesse caso, confirme se o nome do arquivo, o escopo passado a $dumpvars e os sinais gerados correspondem ao que deseja abrir. Uma configuração manual muito restrita pode produzir um arquivo válido, mas sem os sinais necessários para a análise.

Quando você salva uma seleção própria na Configuração de Ondas ou ativa um layout que dita sinais, a AURORA usa essa seleção como fonte do dump. Se houver $dumpfile ou $dumpvars manuais, eles são neutralizados apenas na cópia temporária usada para simular; o testbench original não é alterado.

Usar layouts de viewer

O seletor de layout acompanha o viewer ativo. Em GTKWave, ele trabalha com .gtkw. Em Surfer, ele trabalha com .surf.ron e .sucl.

O seletor permite:

  • Default: Gerar uma organização automática.

  • Add: Registrar um layout existente.

  • Remove: Remover a referência do seletor.

Use apenas layouts criados para o mesmo testbench e para uma hierarquia compatível. Um layout organiza nomes de sinais; ele não contém a simulação. Um layout de outro projeto pode apontar para sinais inexistentes mesmo quando o arquivo VCD ou FST foi gerado corretamente.

Se o viewer abrir sem sinais

Verifique:

  1. O testbench executou até o fim.

  2. O terminal Wave não informou erro.

  3. Existe dump de sinais.

  4. Os sinais selecionados ainda existem no RTL.

  5. O layout ativo pertence ao testbench atual.

Volte para Default e gere novamente para descartar um layout incompatível.

Se os sinais aparecerem, mas permanecerem sem mudança, verifique o clock, o reset, os estímulos e o intervalo de tempo mostrado. O problema pode estar no testbench ou no zoom da janela, e não na geração do arquivo.

Se o arquivo de onda não for encontrado

  • Confira o nome usado em $dumpfile.

  • Verifique se o testbench encerrou antes de produzir o arquivo.

  • Remova arquivos de onda antigos que possam causar ambiguidade.

  • Execute novamente e leia o terminal Wave.