Skip to content

Releases: kevintseng/xylon-studio

v0.4.0 — CLI, Debug Assistant, Synthesis

04 Apr 19:02

Choose a tag to compare

XylonStudio v0.4.0 shipped 2026-04-04. New features complete the v2 verification pipeline vision: CLI for scripting, AI Debug Assistant when tests fail, Yosys synthesis reports.

🎉 New Features

xylon CLI

Command-line pipeline runner for scripting and CI integration.

# Lint only
python -m agent.cli run examples/adder/adder_8bit.v

# Phase A: user testbench + synthesis
python -m agent.cli run design.v --testbench tb.cpp --synthesis

# Phase B: LLM-generated testbench
python -m agent.cli run design.v --llm ollama --model qwen2.5-coder:32b

AI Debug Assistant

When simulation fails, LLM analyzes the error and returns structured JSON with:

  • Error type (compilation / runtime / assertion / timeout)
  • Plain-language summary and root cause
  • Specific fix suggestions
  • Educational learning point

Runs automatically after simulation failures when LLM is configured.

Yosys Synthesis Step (optional)

Gate count and cell breakdown after verification. Enable with synthesis_enabled: true (API) or --synthesis (CLI).

Example outputs:

  • 16-bit barrel shifter → 237 gates
  • RISC-V RV32I ALU → 1485 gates

Iteration Stall Detection

Phase B iteration loop now stops early when coverage delta between iterations is < 1%, preventing wasted LLM calls.

Example Testbenches

Two new reference designs with verified testbenches:

  • examples/barrel_shifter/ — 16-bit barrel shifter, 36 tests, 80% line coverage
  • examples/risc-v-alu/ — RV32I ALU, 24 tests covering all 10 ops, 50% line coverage

🔴 Critical Bug Fix

API sync: The frontend was sending synthesis_enabled and lint_enabled toggles to the WebSocket, but the backend silently dropped them. The synthesis feature only worked via CLI. Now properly wired through both REST and WebSocket handlers.

🧪 Test Infrastructure (0 → 101 tests)

Before v0.4.0, pytest couldn't even collect the test suite due to import errors. This release:

  • Repaired test collection (3 import errors fixed)
  • Added 14 new tests (7 for debug_assist, 7 for CLI)
  • Migrated test helpers to match current API (*_string sandbox methods, _extract_test_result, _parse_coverage_metrics)
  • Fixed Phase B LLM tests (AsyncMock for async generate())
  • Added iteration_stall detection with test coverage
  • Added CoverageReport.compute_score() classmethod
  • Added PipelineResult.to_dict() for JSON serialization
  • Added run_lint_step_from_string() helper

Result: 98 unit tests + 3 integration tests, all passing.

🛠️ Tooling Added

  • ruff config in pyproject.toml (184 auto-fixes applied across codebase)
  • ESLint config for web (.eslintrc.json)
  • pytest config in pyproject.toml with -m integration opt-in for Docker tests
  • Modernized type hints (Optional[X]X | None, List[X]list[X])
  • Exception chaining (raise ... from e) across 14 sites
  • <img> → Next.js <Image> in landing page with proper dimensions

📦 Upgrade Notes

No breaking changes. Existing Phase A and Phase B workflows work unchanged.

New API fields (both default to current behavior):

  • synthesis_enabled: bool = False
  • lint_enabled: bool = True

New model methods:

  • CoverageReport.compute_score(line, toggle, branch, weights=None) (default weights: 0.4/0.3/0.3)
  • PipelineResult.to_dict() (JSON-safe serialization)

Run the CLI:

cd xylon
agent/venv/bin/python -m agent.cli run examples/adder/adder_8bit.v --testbench examples/adder/tb_adder_8bit.cpp

Run tests:

agent/venv/bin/pytest agent/                     # 98 unit tests
agent/venv/bin/pytest agent/ -m integration      # 3 Docker-based integration tests
agent/venv/bin/ruff check agent/                 # lint

📋 Full Changelog

PR #6 (5 commits + 1 fix): feat/v2.5-synthesis-debug-cli → main

  • 387bfd2 feat(pipeline): add Yosys synthesis step to verification pipeline
  • 2c68199 feat(pipeline): add Debug Assistant for simulation failure analysis
  • 6e42e71 feat(cli): add command-line pipeline runner
  • aae4700 feat(examples): add testbenches for barrel shifter and RISC-V ALU
  • b717b0f fix(v2.5): address comprehensive code review findings + test infrastructure
  • d73c873 fix: remove dead expressions left by ruff auto-fix

Post-merge:

  • 6f750d6 docs: update README for v2.5
  • 279fd48 chore: bump version to v0.4.0

48 files changed: +1640/-462


🤖 Reviewed and shipped with Claude Code

v0.3.0: Verification Pipeline with LLM Integration

04 Apr 13:55

Choose a tag to compare

What's New

XylonStudio v0.3.0 shifts from AI-driven chip design to AI-assisted chip verification. Paste your RTL, get a test plan, testbench, and coverage report.

Verification Pipeline

  • Sequential pipeline: lint → test plan (LLM) → testbench (LLM) → simulate → coverage
  • Coverage-driven iteration: auto-improves testbench until coverage target is met
  • Real Verilator execution in Docker containers (lint, compile, simulate, coverage)

LLM Integration (BYOLLM)

  • Pluggable LLM provider: Ollama, vLLM, or any OpenAI-compatible API
  • Users bring their own model and endpoint
  • Tested with qwen2.5-coder:32b

Pipeline UI

  • WebSocket endpoint for real-time step streaming
  • Per-step progress messages and elapsed timer
  • Education mode with step-by-step explanations (EN + zh-TW)

Example Designs

Design Type Tests Line Coverage
8-bit Adder Combinational 25 100%
8-bit Counter Sequential 10 100%
Traffic Light FSM FSM 9 79%

Landing Page

  • Live at xylonstud.io
  • Screenshots, feature comparison table, waitlist

API

  • POST /api/pipeline/run — REST pipeline execution
  • WS /api/pipeline/ws — Real-time WebSocket streaming

Full Changelog: https://github.com/kevintseng/xylon-studio/commits/v0.3.0

v0.2.0 — UI Overhaul + Demo

02 Apr 11:19
96640f1

Choose a tag to compare

i18n, workspace, history, animated circuit background, X logo, UX/accessibility fixes, Remotion demo video.