Releases: kevintseng/xylon-studio
v0.4.0 — CLI, Debug Assistant, Synthesis
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:32bAI 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 coverageexamples/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 (
*_stringsandbox methods,_extract_test_result,_parse_coverage_metrics) - Fixed Phase B LLM tests (AsyncMock for async
generate()) - Added
iteration_stalldetection 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.tomlwith-m integrationopt-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 = Falselint_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.cppRun 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:
48 files changed: +1640/-462
🤖 Reviewed and shipped with Claude Code
v0.3.0: Verification Pipeline with LLM Integration
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 executionWS /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
i18n, workspace, history, animated circuit background, X logo, UX/accessibility fixes, Remotion demo video.