Merge pull request 'Removing mxpic_forge from dependency' (#2) from main into pengkun_main #3
+46
-4
@@ -40,10 +40,6 @@ The routing method selection logic was updated so perpendicular port-angle cases
|
||||
mxpic_router/mxpic_router/builder.py
|
||||
mxpic_router/tests/test_eda_router_contract.py
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## 2026-06-04
|
||||
|
||||
### Scope
|
||||
@@ -93,3 +89,49 @@ Contract tests were added and updated to cover automatic S-bend `Lstart` assignm
|
||||
mxpic_router/mxpic_router/builder.py
|
||||
mxpic_router/tests/test_eda_router_contract.py
|
||||
|
||||
|
||||
## 2026-06-05
|
||||
|
||||
### Scope
|
||||
|
||||
Backend S-bend grouping contract and `Lstart` ordering refinement in `mxpic_router`.
|
||||
|
||||
### Summary
|
||||
|
||||
Recent work focused on improving automatic S-bend spacing behavior for multi-port routing cases, especially MMI-to-port and resistor-array routing patterns.
|
||||
|
||||
### Completed Work
|
||||
|
||||
#### 1. Explicit Route Group Metadata Support
|
||||
|
||||
Backend support was added for explicit link grouping metadata from the layout YAML.
|
||||
|
||||
`LinkSpec` now records the parent bundle name and accepts optional route grouping fields such as `route_group`, `routeGroup`, `group`, `bundle_group`, and `bundleGroup`.
|
||||
|
||||
This prepares the backend for future frontend-provided bundle/group selection while preserving the existing geometry-based fallback behavior.
|
||||
|
||||
#### 2. S-Bend Stage Grouping Refinement
|
||||
|
||||
The S-bend grouping key was refined to avoid mixing routes from different routing stages within the same YAML bundle.
|
||||
|
||||
Automatic S-bend routes are now grouped by routing axis, direction, route stage/span, xsection, width, and radius unless an explicit route group is provided.
|
||||
|
||||
This prevents separate stages such as component-to-component routes and component-to-port routes from interfering with each other's `Lstart` ordering.
|
||||
|
||||
#### 3. Lstart Ordering Correction
|
||||
|
||||
The `Lstart` ordering logic was reviewed for resistor-array and MMI-to-port routing cases.
|
||||
|
||||
The sorting basis was corrected to use the source-side route coordinate for same-direction fan-out/fan-in routes, and S-bend axis detection was updated to prefer port direction over raw geometric span.
|
||||
|
||||
This fixes cases where routes with large vertical offset were incorrectly classified and assigned reversed `Lstart` values.
|
||||
|
||||
#### 4. Test Coverage Update
|
||||
|
||||
Contract tests were added and updated to cover explicit route group metadata parsing, route-stage separation, MMI-to-port two-output fan-out ordering, width-aware `Lstart` spacing, and preservation of earlier S-bend spacing behavior.
|
||||
|
||||
### Modified Files
|
||||
|
||||
mxpic_router/mxpic_router/eda_loader.py
|
||||
mxpic_router/mxpic_router/builder.py
|
||||
mxpic_router/tests/test_eda_router_contract.py
|
||||
|
||||
Reference in New Issue
Block a user