Skip to content

v1.0.0 - Cache-Optimized ChipFlow Template

Latest

Choose a tag to compare

@robtaylor robtaylor released this 16 Oct 18:13
· 25 commits to main since this release

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