Commit Graph

319 Commits

Author SHA1 Message Date
Eren Dogan 937585d23c Route signals to the perimeter in sorted order 2023-08-01 21:17:43 -07:00
Eren Dogan 887a66553b Implement signal escape router using the new gridless router 2023-08-01 12:46:02 -07:00
Eren Dogan 42257fb7f8 Export router_tech again 2023-08-01 11:25:12 -07:00
Eren Dogan 93a6549539 Fix typo 2023-08-01 11:10:32 -07:00
Eren Dogan 6c70396a05 Remove grid-based routers and replace them with the gridless router 2023-08-01 10:59:55 -07:00
Eren Dogan da24c52c52 Cleanup graph router 2023-07-31 21:49:14 -07:00
Eren Dogan db2a276077 Split graph router class to use it for signal escaping later 2023-07-31 19:43:09 -07:00
Eren Dogan 7be6f2783b Refix logic mistake in graph router 2023-07-31 12:24:31 -07:00
Eren Dogan 4b2659a5e2 Fix another logic typo 2023-07-30 18:27:17 -07:00
Eren Dogan 5cf774b53e Remove unnecessary lines 2023-07-30 10:09:13 -07:00
Eren Dogan e5bc7b4e95 Fix logic typo 2023-07-30 10:08:57 -07:00
Eren Dogan d487f788e3 Add constant cost for all non-preferred edges 2023-07-29 21:48:33 -07:00
Eren Dogan 821c763a1e Cleanup graph router 2023-07-29 20:01:58 -07:00
Eren Dogan 3b0997e7cf Implement custom add_route() for the graph router 2023-07-29 08:18:49 -07:00
Eren Dogan 4c73d3aa7c Use safe regions to protect pin nodes 2023-07-29 08:17:00 -07:00
Eren Dogan 091d0f8775 Convert pins and blockages for graph router 2023-07-26 21:46:30 -07:00
Eren Dogan 8522e0108c Add center nodes for existing vias 2023-07-26 21:45:35 -07:00
Eren Dogan 4d835e98b7 Simplify merging new shapes in graph router 2023-07-26 16:44:57 -07:00
Eren Dogan 53505e2ed2 Add "pin safe" functionality to is_node_blocked() 2023-07-26 16:41:46 -07:00
Eren Dogan d609ef9243 Make sure via probes can also be blocked by other blockages 2023-07-25 22:21:26 -07:00
Eren Dogan 62a04ce874 Add get_lpp() function to router_tech 2023-07-25 21:01:32 -07:00
Eren Dogan 6cda5415a4 Try routing in larger regions if no path is found 2023-07-25 18:40:07 -07:00
Eren Dogan ed404a3ad2 Rename 'inflated_from' to 'core' 2023-07-25 10:26:23 -07:00
Eren Dogan 47185f6085 Generate cartesian values for pins correctly 2023-07-25 10:18:43 -07:00
Eren Dogan 587d44e536 Include pins as blockages properly 2023-07-24 21:15:15 -07:00
Eren Dogan fa74a45d8c Fix spacing rule for wider blockages 2023-07-24 13:08:02 -07:00
Eren Dogan 947e94323d Cleanup graph router 2023-07-24 08:03:08 -07:00
Eren Dogan 54f2e73214 Simplify inflating shapes in graph router 2023-07-23 21:09:15 -07:00
Eren Dogan 7119f9a131 Fix spacing rule for non-max-width layer in router_tech 2023-07-23 18:45:02 -07:00
Eren Dogan 542e1a5e03 Use half pin's size difference for new spacing rule 2023-07-23 18:43:26 -07:00
Eren Dogan a90fd36f57 Change spacing rule for pins 2023-07-23 10:43:02 -07:00
Eren Dogan 7a7ddebcca Add more spacing to inflated pins to prevent unroutables 2023-07-23 10:22:43 -07:00
Eren Dogan 1c274afa46 Include blockages in the routing area after generating nodes 2023-07-22 21:30:40 -07:00
Eren Dogan 06b8f3b2be Prevent supply ring from overlapping existing pins 2023-07-22 19:25:26 -07:00
Eren Dogan 48b556c43a Fix even more DRC errors in graph router 2023-07-22 14:07:27 -07:00
Eren Dogan 8354de654f Fix precision of blockage node centers 2023-07-21 12:24:20 -07:00
Eren Dogan 3e3265c416 Add new snap_to_grid function for graph router 2023-07-21 09:55:36 -07:00
Eren Dogan 44b2e4589c Don't use multiple when inflating shapes 2023-07-21 08:30:46 -07:00
Eren Dogan 7ee1dcef54 Simplify inflated_from logic 2023-07-21 08:26:54 -07:00
Eren Dogan 5ce193c2dd Snap node vectors to grid to prevent precision errors 2023-07-19 18:32:22 -07:00
Eren Dogan e8c3cf0a94 Remove nodes inside routables that can cause DRC errors 2023-07-18 22:36:14 -07:00
Eren Dogan b5983fbfd6 Prevent via DRC errors 2023-07-17 16:30:19 -07:00
Eren Dogan 6e051e7f06 Avoid DRC errors when routing the same type of pin 2023-07-17 15:43:48 -07:00
Eren Dogan 38110a55e1 Connect graph nodes better by hopping over removed nodes 2023-07-17 15:02:36 -07:00
Eren Dogan e501e0ef4f Cleanup graph for gridless router 2023-07-16 20:41:58 -07:00
Eren Dogan 983cf13ccf Fix spacing for gridless router 2023-07-16 20:25:15 -07:00
Eren Dogan 094e71764a Change option name for the gridless router 2023-07-13 12:16:58 -07:00
Eren Dogan 71e4a5ab6c Rename gridless router files 2023-07-13 12:07:55 -07:00
Eren Dogan 813a67fea9 Add more comments for gridless router 2023-07-13 11:29:51 -07:00
Eren Dogan 6b0b4c2def Create fake pins on the ring and route others to them 2023-07-10 09:24:16 -07:00