Skip to content

Releases: ChipFlow/chipflow-template

v1.0.0 - Cache-Optimized ChipFlow Template

16 Oct 18:13

Choose a tag to compare

ChipFlow Template v1.0.0 - Cache Optimization Release

This release includes comprehensive cache warming in the Docker prebuild, significantly improving codespace startup and first build performance.

🚀 Performance Improvements

Cache Optimization (~1GB cached in prebuild)

All caches are pre-warmed during Docker build and copied to codespaces:

  • uv cache: 807MB (Python wheels - eliminates re-downloading packages)
  • yowasp-yosys: 126MB (pre-compiled WASM module - eliminates ~30s initialization delay)
  • zig: 79MB (compiled Zig toolchain - faster first builds)
  • PDM: 116KB (package metadata)

Impact on Codespace Experience

Before: First chipflow sim build triggers ~30 second yowasp-yosys compilation
After: yowasp-yosys cache hit - starts immediately

Before: pdm install downloads 800MB+ of Python packages
After: Uses cached wheels - significantly faster

Before: Zig toolchain compiles on first use
After: Zig cache hit - builds start faster

🎨 VS Code Configuration

  • Disabled GitHub Copilot by default
  • Increased terminal font size to 14 (better readability)
  • Disabled automatic port forwarding

📦 What's Included

New Files

  • .devcontainer/cache-warming/design.py - Minimal SoC for cache warming
  • .devcontainer/cache-warming/chipflow.toml - Configuration for cache warming

Modified Files

  • .devcontainer/Dockerfile - Added cache warming steps
  • .devcontainer/post-create.sh - Copies caches from Docker image to user home
  • .devcontainer/devcontainer.json - Updated VS Code settings

🔍 Technical Details

The Docker build now:

  1. Installs all Python dependencies with pdm install
  2. Runs yowasp-yosys --version to pre-compile WASM (18s)
  3. Builds a minimal design with chipflow sim build to warm Zig cache (3s)
  4. Copies all caches to /opt/chipflow-cache/

On codespace creation, post-create.sh copies caches from the Docker image to ~/.cache/.

📊 Build Time

Docker prebuild takes ~2 minutes total (including cache warming), resulting in significantly faster codespace startup for users.


🤖 Generated with Claude Code