Merge pull request 'Removing mxpic_forge from dependency' (#2) from main into pengkun_main #3
+41
@@ -0,0 +1,41 @@
|
|||||||
|
# Backend Routing Work Log - PENG KUN
|
||||||
|
|
||||||
|
|
||||||
|
## 2026-06-02
|
||||||
|
|
||||||
|
### Scope
|
||||||
|
|
||||||
|
Backend routing generation and GDS build consistency in `mxpic_router`.
|
||||||
|
|
||||||
|
### Summary
|
||||||
|
|
||||||
|
Recent work focused on improving routing correctness in `mxpic_router/mxpic_router/builder.py`, including route width investigation, rotation convention alignment, and perpendicular routing behavior correction.
|
||||||
|
|
||||||
|
### Completed Work
|
||||||
|
|
||||||
|
#### 1. Route Width Issue Investigation
|
||||||
|
|
||||||
|
A mismatch was identified between the route width configured in the EDA frontend and the width exported into the layout YAML/GDS build flow.
|
||||||
|
|
||||||
|
Backend tracing showed that the router consumed the width value from the YAML as expected, while the exported YAML still used the default width in several cases. The issue was isolated to the frontend serialization/export logic and reported to the frontend owner for correction.
|
||||||
|
|
||||||
|
#### 2. Frontend/Backend Rotation Convention Alignment
|
||||||
|
|
||||||
|
A rotation inconsistency was identified between the EDA canvas representation and the generated GDS layout.
|
||||||
|
|
||||||
|
For rotated devices such as resistors, the frontend display and backend placement used different rotation conventions, which caused incorrect component orientation or port direction in the final GDS.
|
||||||
|
|
||||||
|
The backend build logic was updated to convert EDA instance rotation into layout rotation during component placement and metadata pin registration, while preserving the original behavior for element-based ports and anchors.
|
||||||
|
|
||||||
|
#### 3. Perpendicular Routing Behavior Correction
|
||||||
|
|
||||||
|
A routing issue was identified for port pairs with a 90-degree or 270-degree angle difference.
|
||||||
|
|
||||||
|
The previous automatic route selection fell back to the generic `bend_p2p` method, which could generate a `bend - diagonal straight - bend` path.
|
||||||
|
|
||||||
|
The routing method selection logic was updated so perpendicular port-angle cases use `strt_bend_strt_p2p`, producing the expected `straight - bend - straight` routing style.
|
||||||
|
|
||||||
|
### Modified Files
|
||||||
|
|
||||||
|
mxpic_router/mxpic_router/builder.py
|
||||||
|
mxpic_router/tests/test_eda_router_contract.py
|
||||||
Reference in New Issue
Block a user