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:
- Installs all Python dependencies with
pdm install - Runs
yowasp-yosys --versionto pre-compile WASM (18s) - Builds a minimal design with
chipflow sim buildto warm Zig cache (3s) - 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