feat(sky130): add logical electrical pins for SPICE export - #234
Draft
das-dias wants to merge 5 commits into
Draft
feat(sky130): add logical electrical pins for SPICE export#234das-dias wants to merge 5 commits into
das-dias wants to merge 5 commits into
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
Contributor
Reviewer's GuideAdds logical electrical pins to sky130 PCells for SPICE export, introduces a shared electrical pin helper, wires it into key device and interconnect cells, adds a sky130A parasitic extraction techfile, and updates project tooling/dependencies and tests accordingly. Sequence diagram for electrical PCell creation with logical pinssequenceDiagram
actor User
participant sky130_wire_corner as sky130.pcells.waveguides.wire_corner
participant gdsfactory_components as gf.c
participant Component
participant _add_pins as sky130.pcells._common._add_pins
participant add_electric_pins as gdsfactory.add_pins.add_electric_pins
User->>sky130_wire_corner: wire_corner(cross_section, width, radius)
sky130_wire_corner->>gdsfactory_components: wire_corner(cross_section, width, port_names_electrical, port_types_electrical, radius)
gdsfactory_components-->>sky130_wire_corner: Component c
sky130_wire_corner->>_add_pins: _add_pins(c)
_add_pins->>add_electric_pins: add_electric_pins(c, pin_layer_map)
add_electric_pins->>Component: create_pin() for each electrical port group
add_electric_pins-->>_add_pins: Component with logical pins
_add_pins-->>sky130_wire_corner: Component c
sky130_wire_corner-->>User: Component with electrical ports and logical pins
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Register logical pins via add_electric_pins() for all PCells with electrical ports. Logical-only mode (no pin geometry) avoids XOR-diff test regressions. Adds gf-main optional dep and Makefile target. Closes doplaydo/pdks#45
das-dias
force-pushed
the
dev/add-logical-pins-skywater130
branch
from
July 28, 2026 20:39
eecdf0e to
48a560f
Compare
… per-metal label layers Replace upstream add_electric_pins with self-contained implementation supporting port_pin_mapping and pin_label_layer_map. Rename _add_pins to public add_pins. Add polylabel to test_xor.py SKIP_LAYERS.
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.
Closes doplaydo/pdks#45
Summary
add_electric_pins()call to all PCells with electrical portscomponent.create_pin()for each electrical port groupgf-mainoptional dependency group and Makefile target for CIWhy
SPICE netlist export requires every electrical port to be wrapped in a logical
pin. Without this, ports sharing a node are not recognized as connected.
Test plan
tests/test_electrical_pins.py— verifies logical pins registered, port_type correctSummary by Sourcery
Add logical electrical pins across sky130 electrical PCells and introduce parasitic extraction techfile support for SPICE export.
New Features:
Enhancements:
Tests: