Fix core geometry snapping, A* target lookahead, and test configurations
This commit is contained in:
parent
24ca402f67
commit
d438c5b7c7
88 changed files with 1463 additions and 476 deletions
13
docs/plans/high_level_notes.md
Normal file
13
docs/plans/high_level_notes.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# High-Level Notes: Auto-Routing for Integrated Circuits
|
||||
|
||||
We're implementing auto-routing for photonic and RF integrated circuits. The problem space has the following features:
|
||||
|
||||
- **Single Layer:** All paths are on a single layer; multi-layer routing is not supported.
|
||||
- **No Crossings:** Crossings are to be avoided and are not supported by the router's automatic placement. The user must manually handle any required crossings.
|
||||
- **Large Bend Radii:** Bends use large radii ($R$), and are usually pre-generated (e.g. 90-degree cells).
|
||||
- **Proximity Sensitivity:** Paths are sensitive to proximity to other paths and obstacles (crosstalk/coupling).
|
||||
- **Manhattan Preference:** Manhattan pathing is sufficient for most cases; any-angle is rare.
|
||||
- **S-Bends:** S-bends are necessary for small lateral offsets ($O < 2R$).
|
||||
- **Hybrid Search:** A* state-lattice search is used for discrete component placement.
|
||||
- **Dilation:** A $Clearance/2$ dilation is applied to all obstacles and paths for efficient collision avoidance.
|
||||
- **Negotiated Congestion:** A multi-net "PathFinder" loop iteratively reroutes nets to resolve congestion.
|
||||
Loading…
Add table
Add a link
Reference in a new issue