Hardware Architecture & Toolchain

SAPHO

Scalable Architecture for Hardware Optimization

SAPHO is a scalable hardware architecture and integrated toolchain for processor creation, experimentation, and hardware–software co-design — designed to make custom processor development accessible from university classrooms to research labs.

Windows Linux Open Source MIT License Active Used in UFJF — DLP discipline

What SAPHO Includes

SAPHO provides an end-to-end environment for processor design: from writing high-level CMM code to compiling, simulating, and visualising the resulting hardware. It bundles four major components — YANC, POLARIS, YAWT, and PRISM — into a single cohesive installer.

The architecture is designed around a custom processor model that students and researchers can modify freely. SAPHO runs identically on Windows and Linux, and the entire compilation pipeline — from source to machine code — executes without any cloud dependency.

YANC toolchain
CMM compiler + assembly compiler — the compilation backbone
POLARIS IDE
Cross-platform graphical interface with Monaco Editor, Tauri + Rust
YAWT Wave Tracer
Signal timeline analysis and waveform inspection
PRISM RTL Viewer
Processor structure and datapath visualisation in RTL

The SAPHO Ecosystem

Supported Platforms
Windows 10 / 11 — 64-bit installer (.exe)
Linux x86_64 — binary tarball (.tar.gz)

From the Lab to the Classroom

SAPHO is being implemented as the core platform for the DLP (Dispositivos Lógicos Programáveis — Programmable Logic Devices) discipline at UFJF — Universidade Federal de Juiz de Fora. Every student enrolled in this course designs, compiles, and simulates custom processor architectures using SAPHO.

This means NIPSCERN is directly shaping the next generation of hardware engineers graduating from UFJF. SAPHO bridges the gap between theoretical computer architecture concepts and hands-on hardware design experience.

Impact

All students who take or will take the DLP discipline at UFJF work with our custom processor. NIPSCERN is forming a generation of engineers on our own platform, with our own tools, built in-house.

What Students Do with SAPHO

Write CMM Programs
Design custom processor instruction sets and write programs in the CMM high-level language using POLARIS IDE
Compile with YANC
Pass CMM source through cmmcomp and asmcomp, generating binary for their custom processor
Simulate & Analyse
Verify signal behaviour with YAWT Wave Tracer and visualise datapath structure in PRISM
Deploy to FPGA
Synthesise the processor design onto FPGA boards available in the NIPSCERN laboratory

Technical Architecture

SAPHO's design separates compilation, simulation, and visualisation into dedicated components, each independently usable yet tightly integrated through the POLARIS IDE.

YANC Compiler Suite
Written in C · Flex · Bison · GCC

YANC bridges the gap between high-level description and machine execution. It includes cmmcomp (CMM → assembly), asmcomp (assembly → binary/hex), and APP auxiliary tools.

POLARIS IDE
Tauri + Rust · Monaco Editor · API-driven

POLARIS is a lightweight native application built with Tauri and Rust. It embeds Monaco Editor (the engine behind VS Code) for code editing, and exposes a flexible API-driven system for integrating new tools and workflows.

YAWT Wave Tracer
Signal analysis & simulation output

YAWT provides interactive inspection of simulation outputs — showing signal timelines, register states, and data flows over clock cycles. Fully integrated into POLARIS, it allows live analysis without switching tools.

PRISM RTL Viewer
Processor structure visualisation

PRISM renders processor structure and datapaths as RTL diagrams, making it straightforward to understand and debug the hardware description. Students can visually trace how data moves through their processor design.

Download SAPHO

Download the latest SAPHO installer for Windows or Linux from the official GitHub Releases page. The installer bundles YANC, POLARIS, YAWT, and PRISM into a single setup.

GitHub Releases Source Code