Tour pela interface

Uma janela, cinco regiões: a barra de ferramentas no topo, a árvore de arquivos à esquerda, o editor no centro, os terminais embaixo e a barra de status no rodapé. O painel da Aurora Intelligence, quando aberto, entra à direita.

Janela completa da AURORA com projeto aberto, editor, terminais e barra de status.

Figura 19 A janela com um projeto aberto. Esta captura serve de mapa para o restante do capítulo.

A barra de ferramentas

Os botões se agrupam por assunto, da esquerda para a direita. Um botão cinza está desabilitado porque falta um pré-requisito; o tooltip diz qual.

Projeto

Botões de alternar barra lateral, Novo Projeto e Abrir Projeto.

Novo Projeto cria um projeto do zero; Abrir Projeto abre um arquivo .spf existente. O primeiro ícone recolhe e restaura a árvore lateral.

Processador

Hub de Processadores, botão Compilar C± e engrenagem de configuração.

Hub de Processadores cria um processador novo. Compilar C± compila o arquivo .cmm em foco no editor; só habilita quando um .cmm está aberto e em foco. A engrenagem abre a configuração de simulação do processador ativo: frequência de clock, número de ciclos e exibição de arrays na onda.

Síntese

Botões Sintetizar Verilog e Abrir PRISM.

Sintetizar Verilog valida o projeto: elabora todos os fontes a partir do Top Level e gera a hierarquia de módulos. Abrir PRISM faz o mesmo e abre o diagrama do circuito. Os dois exigem um Top Level definido.

Ondas

Chaves de simulador e visualizador, botões de análise, execução rápida, cancelar, configuração de ondas e seletor de layout.

Da esquerda para a direita: as chaves de simulador (Icarus ou Verilator) e de visualizador (GTKWave ou Surfer); Analisar Verilog, que simula e abre a onda; Execução rápida, sem onda; Cancelar; a Configuração de ondas; o seletor de layout; e o Teste do processador sintetizado. As escolhas deste grupo estão explicadas em Formas de onda e Simulação do processador.

Ferramentas

Botões de Controle de Versão, Bibliotecas Python, Configurações e Assistente IA.

Controle de Versão abre o painel git (o badge mostra quantos arquivos mudaram); Bibliotecas Python gerencia pacotes para testbenches cocotb; Configurações abre as preferências; Assistente IA abre a Aurora Intelligence (atalho Ctrl+K).

A árvore de arquivos

Árvore lateral na visão Arquivos, com separadores por processador.

A árvore tem três visões, alternadas pelo botão no seu cabeçalho:

Arquivos

Os fontes do projeto agrupados por processador, mais os importados. É a visão de trabalho: aqui se define o Top Level e o Testbench Top pelo menu de contexto.

Pastas

O disco como ele é, com criar, renomear, mover, copiar e excluir, arrastar e soltar, e Ctrl+Z para desfazer.

Hierarquia

A árvore de instâncias do design, disponível depois de uma sintetização Verilog. Clicar em um módulo abre o fonte na linha da definição.

O cabeçalho da árvore ainda traz: novo arquivo, atualizar, busca nos arquivos (Ctrl+Shift+F), abrir a pasta no explorador, backup do projeto (gera um zip datado em Backup/) e fechar o projeto.

O editor

Editor com um arquivo C± aberto e realce de sintaxe.

O editor é o Monaco, o mesmo do VS Code, com realce para C±, assembly SAPHO, Verilog, SystemVerilog e Python. Clique simples na árvore abre o arquivo em modo prévia (aba em itálico, substituída pela próxima prévia); duplo clique fixa a aba.

Três botões flutuam no painel em foco: dividir o editor (até três painéis), pré-visualizar Markdown e HTML, e formatar o arquivo (Shift+Alt+F). Para Verilog, dois analisadores trabalham enquanto você digita: um sintático, que também formata, e um semântico, que elabora o projeto inteiro e aponta sinais não declarados e incompatibilidades de porta.

Selecionar um trecho de código faz aparecer uma estrela: é o acesso rápido à Aurora Intelligence sobre aquela seleção (explicar, corrigir, melhorar, comentar).

Os terminais

Área de terminais com as seis abas e mensagens agrupadas em cards.

Seis abas, uma por etapa: TCMM (compilação C±), TASM (montagem e geração do Verilog), TVERI (validação Verilog, hierarquia, PRISM), TWAVE (simulação e ondas), THTEST (teste do processador sintetizado) e TCMD, que é um PowerShell de verdade dentro da AURORA.

As mensagens chegam classificadas (erro, aviso, sucesso, dica) e podem ser filtradas pelos botões com contadores. Referências como arquivo.v:15 são links: o clique abre o arquivo naquela linha. O botão de exportar salva o conteúdo de todos os terminais em um .txt.

O TCMD merece um capítulo próprio de dicas em Controle de versão, Python e configurações; por ora, dois comandos: apython chama o Python embarcado da AURORA, e Use-Python aurora faz python significar o embarcado naquela sessão.

Terminal TCMD com o prompt da AURORA mostrando processador ativo, diretório e branch git.

A barra de status

Barra de status com processador ativo, top level, testbench e motor de simulação.

Da esquerda para a direita: Pronto ou Não Pronto (clicável quando não há projeto: abre o diálogo de abrir); o processador ativo; o andamento da compilação; o Top Level; o Testbench Top; o motor de simulação escolhido; a posição do cursor com o controle de zoom; e a conta GitHub, que abre o painel de controle de versão.

Paleta de comandos e busca

Ctrl+Shift+K (ou Ctrl+Shift+P) abre a paleta de comandos, com tudo o que os botões fazem, pesquisável pelo nome. Ctrl+Shift+F abre a busca em todos os arquivos do projeto, com opções de maiúsculas, palavra inteira e expressão regular.

Paleta de comandos aberta sobre o editor.

Com o mapa em mãos, o próximo capítulo explica como um projeto se organiza no disco: Organização de um projeto.