misc doc updates
This commit is contained in:
parent
ba76589ffb
commit
4714bed9a8
14 changed files with 65 additions and 28 deletions
30
README.md
30
README.md
|
|
@ -39,9 +39,19 @@ danger_map = DangerMap(bounds=(0, 0, 1000, 1000))
|
|||
danger_map.precompute([]) # Add polygons here for obstacles
|
||||
|
||||
# 2. Configure Router
|
||||
evaluator = CostEvaluator(engine, danger_map)
|
||||
router = AStarRouter(evaluator)
|
||||
pf = PathFinder(router, evaluator)
|
||||
evaluator = CostEvaluator(
|
||||
collision_engine=engine,
|
||||
danger_map=danger_map,
|
||||
greedy_h_weight=1.2
|
||||
)
|
||||
router = AStarRouter(
|
||||
cost_evaluator=evaluator,
|
||||
bend_penalty=10.0
|
||||
)
|
||||
pf = PathFinder(
|
||||
router=router,
|
||||
cost_evaluator=evaluator
|
||||
)
|
||||
|
||||
# 3. Define Netlist
|
||||
netlist = {
|
||||
|
|
@ -59,11 +69,11 @@ if results["net1"].is_valid:
|
|||
|
||||
Check the `examples/` directory for ready-to-run scripts demonstrating core features:
|
||||
|
||||
* **`examples/01_simple_route.py`**: Basic single-net routing with visualization.
|
||||
* **`examples/02_congestion_resolution.py`**: Multi-net routing resolving bottlenecks using Negotiated Congestion.
|
||||
* **`examples/03_locked_paths.py`**: Incremental workflow using `lock_net()` to route around previously fixed paths.
|
||||
* **`examples/04_sbends_and_radii.py`**: Complex paths using parametric S-bends and multiple bend radii.
|
||||
* **`examples/05_orientation_stress.py`**: Stress test for various port orientation combinations (U-turns, opposite directions).
|
||||
* **`examples/01_simple_route.py`**: Basic single-net routing with visualization. Generates `01_simple_route.png`.
|
||||
* **`examples/02_congestion_resolution.py`**: Multi-net routing resolving bottlenecks using Negotiated Congestion. Generates `02_congestion_resolution.png`.
|
||||
* **`examples/03_locked_paths.py`**: Incremental workflow using `lock_net()` to route around previously fixed paths. Generates `03_locked_paths.png`.
|
||||
* **`examples/04_sbends_and_radii.py`**: Complex paths using parametric S-bends and multiple bend radii. Generates `04_sbends_and_radii.png`.
|
||||
* **`examples/05_orientation_stress.py`**: Stress test for various port orientation combinations (U-turns, opposite directions). Generates `05_orientation_stress.png`.
|
||||
|
||||
Run an example:
|
||||
```bash
|
||||
|
|
@ -79,6 +89,10 @@ python3 examples/01_simple_route.py
|
|||
|
||||
For multi-net problems, the **PathFinder** loop handles rip-up and reroute logic, ensuring that paths find the globally optimal configuration without crossings.
|
||||
|
||||
## Configuration
|
||||
|
||||
`inire` is highly tunable. Every major component (Router, CostEvaluator, PathFinder) accepts explicit named arguments in its constructor to control expansion rules, cost weights, and convergence limits. See `DOCS.md` for a full parameter reference.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the GNU Affero General Public License v3. See `LICENSE.md` for details.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue