O que é o SAPHO¶
SAPHO (Scalable-Architecture Processor for Hardware Optimization) é uma plataforma para criar processadores dedicados em FPGA. Você descreve um algoritmo em uma linguagem parecida com C, e a plataforma gera um processador em Verilog dimensionado para aquele algoritmo: com a largura de palavra que você escolheu e apenas os blocos de hardware que o programa realmente usa.
A plataforma também serve para o caminho inverso: escrever Verilog à mão, validar, simular e visualizar, tudo na mesma janela. É assim que este manual começa.
As peças¶
A IDE. O programa que você instala e abre. Nela vivem o editor, o gerenciador de projetos, os botões de compilação e simulação, os terminais e os visualizadores. É a única interface gráfica da plataforma.
A suíte de compiladores que trabalha por baixo. Traduz o programa C± no processador em Verilog, nas imagens de memória e no testbench. Você nunca a chama diretamente.
O circuito que o YANC emite: acumulador único, arquitetura Harvard, pipeline de três estágios. Só os blocos que o seu programa usa são sintetizados.
O dialeto de C no qual você escreve o algoritmo. Arquivos com extensão .cmm. A versão essencial está no capítulo A linguagem C± essencial; os recursos de pós-graduação, nos estudos avançados.
Em volta desse núcleo, a instalação traz as ferramentas de apoio, todas de código aberto: Icarus Verilog e Verilator para simulação, GTKWave e Surfer para formas de onda, Yosys para análise estrutural, PRISM para visualizar o circuito, cocotb para testes em Python.
O caminho completo¶
flowchart LR
V["Verilog escrito à mão"] --> RTL["Projeto RTL"]
CMM["Algoritmo C± (.cmm)"] --> YANC["YANC"]
YANC --> RTL
RTL --> SIM["Simulação<br>Icarus ou Verilator"]
SIM --> WAVE["Formas de onda<br>GTKWave ou Surfer"]
RTL --> PRISM["Diagrama RTL<br>PRISM"]
RTL --> FPGA["Síntese em FPGA<br>Quartus ou Vivado"]
A única etapa fora da AURORA é a última: levar o Verilog e as imagens de memória à ferramenta do fabricante do FPGA para a gravação física. A AURORA valida, simula e desenha o circuito, mas não gera bitstream.
Como este manual está organizado¶
O manual segue a ordem de uma disciplina: primeiro o fluxo Verilog puro (Parte II), depois a criação de processadores em C± (Parte III), depois os dois juntos no mesmo projeto (Parte IV). A Parte V reúne os estudos avançados, voltados à pós-graduação: ponto flutuante configurável, números complexos, notação de Dirac, FFT e a arquitetura interna do processador.
Ver também
A arquitetura e os resultados em FPGA estão no artigo da plataforma, SAPHO: An FPGA Customizable Implementation (IEEE, 2026). Mais leituras em Publicações.
Se esta é a sua primeira vez, siga em frente: Instalação.