Repository navigation
Add double_wide support and harden it with LibreLane 3 - #34
Merged
Merged
Conversation
…robustly under a TTY
…up: exit non-zero when a step fails
double_wide ships its own flake.nix pinning LibreLane 3.1.0.dev2, whose PDN generator (PDN_ENABLE_PINS) reaches the padframe-aligned power pins directly, so no bridging 'connection' macro or cf-cli-managed OpenLane 2 install is needed for this project type. - utils.py: add DOUBLE_WIDE_LIBRELANE_REV (pinned LibreLane 3 commit) and read_project_type() to detect the project type from .cf/project.json. - librelane_run.py: add double_wide_flake_dir/double_wide_nix_available to resolve and validate the project's own flake, build_double_wide_librelane_command to invoke 'nix develop <flake> --command librelane ...', and get_double_wide_valid_from_steps to introspect --from step names via the same mechanism. - main.py: add a self-contained _harden_double_wide() helper and dispatch to it from harden() right after config_file resolution (before the OpenLane-2 venv check, which double_wide has no use for). Handles --list-from-steps, --from validation, --tag resolution, --dry-run, GUI modes, and the same subprocess/signal-handling pattern as the existing OpenLane-2 path. --use-docker is explicitly rejected (double_wide has no Docker path). Every other project type (digital/analog/openframe/caravel) is completely unaffected and keeps using OpenLane 2/CI2511 via Nix or Docker as before. - tests/test_double_wide.py: cover the new dispatch (successful run, --list-from-steps, --use-docker rejection, missing flake.nix, missing nix) and confirm other project types still hit the OpenLane 2 venv path. Validated end-to-end: 'cf harden double_wide_openframe_project_wrapper' against the real dw_openframe_user_project (project.type=double_wide) completed with flow__errors__count=0, 0 DRC errors, and clean timing via this new code path (not a manual nix invocation).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branch double-wide-production-ready from the double-wide production-ready work. See chipfoundry/double-wide-env PR 1 for the full set.