Commit Graph

3950 Commits

Author SHA1 Message Date
Eren Dogan a9e63efad7 Increase via cost in router 2023-08-31 18:26:04 -07:00
Eren Dogan 56bee27ee3 Don't write/read gds files unnecessarily for router 2023-08-29 21:45:52 -07:00
Eren Dogan e12ab68362 Simplify closest edge calculation in signal escape router 2023-08-28 10:38:53 -07:00
Eren Dogan fa5de05be3 Merge branch 'dev' into gridless_router 2023-08-27 21:17:58 -07:00
Eren Dogan 53cc99f5c1 Perform signal escape routing in smaller regions 2023-08-27 21:16:34 -07:00
Eren Dogan 9df3c2ac59 Return the path in source-to-target order 2023-08-27 21:15:25 -07:00
Eren Dogan 141a4e3380 Don't scale the routing region if no path is found 2023-08-27 15:42:09 -07:00
Bugra Onal 230454d567 Merge changes from subprocess_fix 2023-08-10 16:21:45 -07:00
Bugra Onal 3f08c848d7 Force to use bash for simulators 2023-08-10 16:05:24 -07:00
Eren Dogan ea02aae40f Find blocked nodes and probes faster 2023-08-09 17:45:49 -07:00
Eren Dogan 9ac82060b9 Simplify 'remove' attribute of graph_node 2023-08-08 11:54:12 -07:00
Eren Dogan fa1b2fc96e Delete unused file 2023-08-02 21:54:45 -07:00
Eren Dogan f8b2c1e9b9 Change OPTS.route_supplies option since there's only one router now 2023-08-02 21:48:29 -07:00
Eren Dogan 8fff4e2635 Organize imports of the new router 2023-08-02 21:35:13 -07:00
Eren Dogan 54fc34392d Remove unnecessary imports 2023-08-02 21:28:21 -07:00
Eren Dogan e1d0902680 Cleanup the new router 2023-08-02 21:26:24 -07:00
Eren Dogan ba8e80d205 Replace layout pins in the new signal escape router 2023-08-02 19:33:48 -07:00
Eren Dogan 87eca6b7db Use the initial bbox to route supply and signals 2023-08-02 18:01:09 -07:00
Eren Dogan 08dad81214 Use the same inflating rules for all shapes in router 2023-08-02 17:48:56 -07:00
Eren Dogan 5b0f97860a Calculate bbox inside the router 2023-08-02 09:30:50 -07:00
Eren Dogan 937585d23c Route signals to the perimeter in sorted order 2023-08-01 21:17:43 -07:00
Eren Dogan 877f20e071 Use the new routers in ROMs 2023-08-01 19:10:02 -07:00
Eren Dogan 887a66553b Implement signal escape router using the new gridless router 2023-08-01 12:46:02 -07:00
Eren Dogan dd152da5c2 Change signal escape router's high-level function name 2023-08-01 11:26:25 -07:00
Eren Dogan 42257fb7f8 Export router_tech again 2023-08-01 11:25:12 -07:00
Eren Dogan 993b47be4c Remove old routers from sram_1bank 2023-08-01 11:22:50 -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 54ce1377c5 Merge branch 'dev' into gridless_router 2023-07-25 20:03:59 -07:00
Eren Dogan 6cda5415a4 Try routing in larger regions if no path is found 2023-07-25 18:40:07 -07:00
Bugra Onal 1de6b9a0f6 Add func random seed as input option and log out 2023-07-25 13:06:31 -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 2b15289daf Enable power routing for failing FreePDK45 tests (VLSIDA/PrivateRAM#97) 2023-07-24 19:21:31 -07:00
Eren Dogan fa74a45d8c Fix spacing rule for wider blockages 2023-07-24 13:08:02 -07:00
Eren Dogan 5de7b9cda7 Make graph router the default supply router 2023-07-24 13:07:43 -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
Bugra Onal 93182d525d Added sky130 golden spice file 2023-07-20 15:20:15 -07:00
Bugra Onal 5b1544ad45 Sky130 tests will use 1 spare row and col 2023-07-20 15:18:32 -07:00
Bugra Onal 78e5b60380 Fix fake_sram bit sizes 2023-07-20 10:43:09 -07:00
mrg f800b50813 Fix wrong bit size in fake_sram. 2023-07-20 10:11:49 -07:00
Eren Dogan 5ce193c2dd Snap node vectors to grid to prevent precision errors 2023-07-19 18:32:22 -07:00
Bugra Onal 6751442d35 account for spare cols in char 2023-07-19 16:09:28 -07:00
Sam Crow 2051f54f70 Merge branch 'STA-refactor' into dev 2023-07-19 15:14:20 -07:00
Bugra Onal 0b2196a3e4 cleaned logs 2023-07-19 14:50:49 -07:00
Sam Crow 6e3e964c12 cleanup net_spice docstrings 2023-07-19 12:45:41 -07:00
Sam Crow f41537b508 Merge branch 'char' into STA-refactor 2023-07-19 12:35:22 -07:00
Sam Crow 2ced895b32 add BIAS pin type back to valid types 2023-07-19 12:15:47 -07:00
Sam Crow c67fdd8bd8 fix insts typo 2023-07-19 12:15:21 -07:00
Bugra Onal d53353b5be Merge branch 'dev' into char 2023-07-19 12:06:34 -07:00
Bugra Onal 9fa25690ce Added pins for spare_cols 2023-07-19 11:35:09 -07:00
Sam Crow 2b9e70d318 remove line ending whitespace from comment 2023-07-19 10:51:19 -07:00
Eren Dogan e8c3cf0a94 Remove nodes inside routables that can cause DRC errors 2023-07-18 22:36:14 -07:00
Sam Crow bfabe64f33 fix pin/net dictionary deepcopy-ing 2023-07-18 16:14:38 -07:00
Sam Crow 09aa395174 cast pins dict to list 2023-07-18 16:13:29 -07:00
Sam Crow 5907cbb3e2 remove pins overwrite from contact class 2023-07-18 16:12:42 -07:00
Sam Crow aa71785bd5 fix circular import with pin and net 2023-07-18 11:28:30 -07:00
Sam Crow 478c76c1ca get connections from spice objects in instances 2023-07-18 10:50:50 -07:00
Eren Dogan 53d00f5b34 Merge branch 'dev' into gridless_router 2023-07-18 10:00:00 -07:00
Eren Dogan 5ef964d01f Merge branch 'dev' into gridless_router 2023-07-18 09:31:20 -07:00
Sam Crow 8a441bc68b Merge branch 'dev' into STA-refactor 2023-07-17 16:35:31 -07:00
Eren Dogan b5983fbfd6 Prevent via DRC errors 2023-07-17 16:30:19 -07:00
Sam Crow 45b88889e4 use pin and net objects in connect_inst 2023-07-17 16:04:56 -07:00
Eren Dogan 6e051e7f06 Avoid DRC errors when routing the same type of pin 2023-07-17 15:43:48 -07:00
Sam Crow d0339a90e6 change spice_nets and spice_pins to dicts 2023-07-17 15:36:57 -07:00
Sam Crow e15feb2361 change nets list to dictionary 2023-07-17 15:36:22 -07:00
Sam Crow 7581df2255 change pins to OrderedDict 2023-07-17 15:22:35 -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
Sam Crow c8c43f75d9 add spice nets and a way to connect them to pins 2023-07-14 16:18:10 -07:00