Diagnóstico: sintomas e causas

As falhas mais comuns de cada fluxo, com a causa e a correção. Regra geral que resolve metade dos casos: leia a primeira mensagem de erro, não a última, e clique no link de linha.

Botões desabilitados

Botão cinza

Falta

Compilar C±

um arquivo .cmm aberto e em foco no editor

Sintetizar Verilog, Abrir PRISM

um Top Level definido

Analisar Verilog, Configuração de ondas

um Testbench Top definido

Execução rápida

testbench definido, e Verilator selecionado ou testbench em Python

Teste do processador sintetizado

um processador ativo (o .cmm dele em foco)

engrenagem de configuração

idem

Projeto

O nome foi recusado

Nomes de projeto e de processador aceitam letras, números, hífen e sublinhado. Sem espaços e sem acentos.

Aviso de arquivos ausentes na árvore

O .spf lista arquivos que sumiram do disco (movidos ou apagados por fora). O botão do aviso remove as referências, com confirmação.

Compilação C±

O compilador aponta uma linha

O link abre o editor no ponto. Erros em cascata quase sempre derivam do primeiro.

Constante aproximada

A constante não cabe exata no formato de ponto flutuante escolhido. Informativo; se a precisão incomodar, aumente a mantissa (Ponto flutuante customizado).

O total de bits foi recusado

NUBITS deve ser igual a NBMANT + NBEXPO + 1. Vale no Hub e nas diretivas.

Arquivo em Hardware/ mas o terminal mostra erro

O arquivo é de uma compilação anterior. Vale o terminal.

Validação Verilog

Unknown module type: X

Um módulo instanciado não está em nenhum fonte do projeto. Se X é um processador, compile o C± dele antes; o .v gerado precisa existir.

Portas incompatíveis

A instância diverge da definição. O analisador semântico do editor aponta antes do botão.

Simulação e ondas

A simulação termina antes do resultado

Poucos ciclos. Engrenagem do processador, aumente o número de clocks.

A onda abre sem os sinais internos do processador

Comportamento esperado com o Verilator. Troque para o Icarus para ver o processador por dentro.

Sinal selecionado não aparece

A seleção de ondas referencia um sinal que não existe mais (código mudou). Reabra a Configuração de ondas e salve de novo; a AURORA remove as referências mortas.

O testbench não encontra os dados

input_N.txt ausente ou com linha inválida. Um inteiro por linha, sem vazios.

cocotb reprova os testes mas a onda abre

Comportamento intencional: a onda é a ferramenta de investigação da falha. O veredito de cada teste está no TWAVE.

cocotb não acha o módulo alvo

Falta a linha # aurora-toplevel: nome no .py, ou o nome não confere.

PRISM

Recusa por tamanho no modo interativo

O diagrama estático não tem limite; a simulação interativa é para designs pequenos.

Diagrama desatualizado

Recompile na própria janela do PRISM.

Quando nada explica

  • Ligue o modo verboso (Configurações, Terminal) e repita: os comandos completos de cada etapa aparecem no terminal.

  • Exporte o log (botão na área de terminais) e anexe ao relato pelo Relatar um problema da aba Sobre.