improve visibility checker and add refiner
This commit is contained in:
parent
a8c876ae69
commit
6a28dcf312
11 changed files with 440 additions and 3 deletions
7
DOCS.md
7
DOCS.md
|
|
@ -19,6 +19,7 @@ The `AStarContext` stores the configuration and persistent state for the A* sear
|
|||
| `sbend_penalty` | `float` | 500.0 | Flat cost added for every S-bend. |
|
||||
| `bend_collision_type` | `str` | `"arc"` | Collision model for bends: `"arc"`, `"bbox"`, or `"clipped_bbox"`. |
|
||||
| `bend_clip_margin` | `float` | 10.0 | Extra space (µm) around the waveguide for clipped models. |
|
||||
| `visibility_guidance` | `str` | `"tangent_corner"` | Visibility-driven straight candidate mode: `"off"`, `"exact_corner"`, or `"tangent_corner"`. |
|
||||
|
||||
## 2. AStarMetrics
|
||||
|
||||
|
|
@ -86,6 +87,12 @@ If the router produces many small bends instead of a long straight line:
|
|||
2. Ensure `straight_lengths` includes larger values like `25.0` or `100.0`.
|
||||
3. Decrease `greedy_h_weight` closer to `1.0`.
|
||||
|
||||
### Visibility Guidance
|
||||
The router can bias straight stop points using static obstacle corners.
|
||||
- **`"tangent_corner"`**: Default. Proposes straight lengths that set up a clean tangent bend around nearby visible corners. This helps obstacle-dense layouts more than open space.
|
||||
- **`"exact_corner"`**: Only uses precomputed corner-to-corner visibility when the current search state already lands on an obstacle corner.
|
||||
- **`"off"`**: Disables visibility-derived straight candidates entirely.
|
||||
|
||||
### Handling Congestion
|
||||
In multi-net designs, if nets are overlapping:
|
||||
1. Increase `congestion_penalty` in `CostEvaluator`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue