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

AURORA **AURORA**

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.

YANC **YANC**

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.

Processador SAPHO **O processador SAPHO**

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.

Arquivo C± **A linguagem C±**

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.