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 |
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 |
engrenagem de configuração |
idem |
Um caso à parte: se o clique abre o diálogo Componente não instalado, não falta pré-requisito de projeto — falta a ferramenta. Baixar agora resolve na hora, e o painel completo está em Controle de versão, Python, componentes e configurações.
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
.spflista 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 aproximadaA 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
NUBITSdeve ser igual aNBMANT + 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: XUm módulo instanciado não está em nenhum fonte do projeto. Se
Xé um processador, compile o C± dele antes; o.vgerado 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
Com o Verilator, os monitores de pilha e ULA entram por espelhos no testbench, mas o miolo mais profundo fica de fora; e um programa sem funções não tem pilha de instruções para monitorar. Para ver tudo, troque para o Icarus.
- A simulação aborta citando o arquivo de onda
O arquivo da rodada anterior está aberto em outro programa ou ficou somente-leitura, e a AURORA prefere abortar a mostrar uma onda velha como se fosse nova. Feche o visualizador (GTKWave/Surfer) e simule de novo.
$fopen devolveu 0ou “invalid file descriptor”O testbench abre um arquivo que não existe ou não pode ser escrito. A AURORA avisa antes de rodar quando o caminho de leitura não existe; confira os caminhos dos
$fopendo testbench.- 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.txtausente 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: nomeno.py, ou o nome não confere.
PRISM¶
- Grande demais para simular ao vivo
O módulo passa do limite de células do modo Simular. Abra um submódulo menor no esquemático e simule aquele; o diagrama estático não tem limite prático.
- O relógio não bate na simulação do PRISM
O modo só cria relógio para uma entrada de um bit chamada
clkouclockno módulo simulado. Sem ela, avance com Tick.- 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.
O Histórico de compilações (relógio na barra dos terminais, Ctrl+Shift+H) mostra o que cada clique fez e o estado do projeto na hora, o que ajuda a reconstruir o caminho até o erro.
Rode Verificar e consertar na aba Componentes: ele limpa os caches de compilação, confere os arquivos de cada componente e baixa de novo o que estiver incompleto ou quebrado — o conserto clássico para uma toolchain que o antivírus mordeu.
Use o Relatar um problema da barra lateral das Configurações: o relato já vai com o diagnóstico da instalação e o terminal recortado em volta dos erros, e a tela mostra tudo antes de enviar.