Commit Graph

142 Commits

Author SHA1 Message Date
Matt Guthaus a3666d82ab Reduce verbosity of level 1 debug. 2018-11-02 17:30:28 -07:00
Matt Guthaus 74c3de2812 Remove diagonal routing bug. Cleanup. 2018-11-02 14:57:40 -07:00
Matt Guthaus 4d30f214da Add expanded blockages for paths an enclosures to handle wide metal spacing rules. 2018-11-02 11:11:32 -07:00
Matt Guthaus b24c8a42a1 Remove redundant pins in pin_group constructor. Clean up some code and comments. 2018-11-01 11:31:24 -07:00
Matt Guthaus 2eedc703d1 Rename function in pin_group 2018-10-31 16:13:28 -07:00
Matt Guthaus c511d886bf Added new enclosure connector algorithm using edge sorting. 2018-10-31 15:35:39 -07:00
Matt Guthaus fc45242ccb Allow contains to contain copy. Add connectors when pin doesn't overlap grids. 2018-10-30 17:41:29 -07:00
Matt Guthaus 7099ee76e9 Remove blocked grids from pins and secondary grids 2018-10-30 16:52:11 -07:00
Matt Guthaus 1344a8f7f1 Add remove adjacent feature for wide metal spacing 2018-10-30 12:24:13 -07:00
Matt Guthaus fa272be3bd Enumerate more enclosures. 2018-10-29 13:49:29 -07:00
Matt Guthaus f19bcace62 Merged in an old stash. 2018-10-29 11:18:12 -07:00
Matt Guthaus b7655eab10 Remove bug for combining pin with multiple other pins in a single iteration 2018-10-29 11:07:02 -07:00
Matt Guthaus 4ce6b040fd Debugging missing enclosures 2018-10-26 09:25:10 -07:00
Matt Guthaus 9e5d78cfc2 Fix bug in duplicate remove indices 2018-10-25 14:40:39 -07:00
Matt Guthaus 3407163cf1 Combine adjacent power supply pins finished 2018-10-25 14:25:52 -07:00
Matt Guthaus 0544d02ca2 Refactor router to have pin_groups for pins and router_tech file 2018-10-25 13:36:35 -07:00
Matt Guthaus 88f43cc754 Add the minimum pin enclosure that has DRC correct pin connections. 2018-10-24 16:41:33 -07:00
Matt Guthaus 94e5050513 Move overlap functions to pin_layout 2018-10-24 16:13:07 -07:00
Matt Guthaus f5e68c5c32 Move power pins in hierarchical decoder to be further. Strap rails instead for redundant vias. 2018-10-20 12:54:12 -07:00
Matt Guthaus a1f2a5befe Convert supply tracks to sets for simpler algorithms. 2018-10-20 10:33:10 -07:00
Matt Guthaus 0aad61892b Supply router working except for off by one rail via error 2018-10-19 14:21:03 -07:00
Matt Guthaus e2cfd382b9 Fix print check regression 2018-10-15 13:23:31 -07:00
Matt Guthaus a165446fa7 First implementation of multiple track spacing wide DRCs in routing grid. 2018-10-15 11:25:51 -07:00
Matt Guthaus d855d4f1a6 Moving wide metal spacing to routing grid level 2018-10-15 09:59:16 -07:00
Matt Guthaus ce8c2d983d Update all drc usages to call function type 2018-10-12 14:37:51 -07:00
Matt Guthaus 6bbf66d55b Rewrote pin enclosure code to better address off grid pins.
Include only maximal pin enclosure shapes.
Add smallest area connector for off grid pins.
Fix decoder to use add_power_pin code.
Change permissions.
2018-10-10 15:15:58 -07:00
Matt Guthaus 94ab69ea16 Supply router working, perhaps not efficiently though. 2018-10-05 15:57:34 -07:00
Matt Guthaus 12cb02a09f Add partial grids as pins. Add previous paths as routing targets. 2018-10-05 08:39:28 -07:00
Matt Guthaus c3cd76048b Removed prints. Fixed offset for single track enclosure. 2018-10-04 14:44:25 -07:00
Matt Guthaus 985d04d4b5 Cleanup of router.
Made offsets in geometry snap to grid.
Changed gds_write to use list for visited flag.
Rewrite self.gds each call in case of any changes.
2018-10-04 14:04:29 -07:00
Matt Guthaus 87502374c5 DRC clean supply grid routing on control logic. 2018-09-20 16:00:13 -07:00
Matt Guthaus fd9ffe30d6 Add layer width options to route object
Modify router to use track-width routes.
2018-09-18 15:12:53 -07:00
Matt Guthaus 8d2804b9cb Supply router working except:
Off grid pins. Some pins do now span enough of the routing track and must be patched.
  Route track width. Instead of minimum width route, it should be the track width.
2018-09-18 12:57:39 -07:00
Matt Guthaus 849293b95b Converting grid data structures to sets to reduce size. 2018-09-13 09:10:29 -07:00
Matt Guthaus 2d86492d91 Working on methodology of blockages, pins, and routing multiple pins. 2018-09-08 18:55:36 -07:00
Matt Guthaus 96c51f3464 Component shape functions. Find connected pins through overlaps. 2018-09-08 10:05:48 -07:00
Matt Guthaus 69261a0dc1 Routing and connecting rails with vias done.
Refactored grid path class.
Added direction enum.
Does not route multi-track width wires in signal router.
2018-09-07 14:46:58 -07:00
Matt Guthaus c2c17a33d2 Horizontal and vertical grid wires done. 2018-09-06 14:30:59 -07:00
Matt Guthaus cd987479b8 Updates to supply routing.
Rename astar_grid to signal_grid to parallel supply routing.
Wave expansion for supply rails.
Pin addition for supply rails.
2018-09-06 11:54:14 -07:00
Matt Guthaus 59956f1446 Update signal routing for new blockage and pins. 2018-09-05 16:01:11 -07:00
Matt Guthaus b1c63a6c62 Add inflate blockages and remove pins from blockages. 2018-09-05 11:06:17 -07:00
Matt Guthaus 2a27fbc98e Fix temp directory preservation option.
Make labels in freepdk45 replica bitcell lower case.
2018-09-05 10:02:12 -07:00
Matt Guthaus 378993ca22 Found rotate bug in transformCoordinate. Cleaned up transFlags. 2018-09-04 16:35:40 -07:00
Matt Guthaus 334aa53cee Merge branch 'supply_routing' of https://github.com/VLSIDA/PrivateRAM into supply_routing 2018-08-29 15:40:04 -07:00
Matt Guthaus 73289a6090 Clean up GdsMill. Fix rotate bug I introduced in transFlags! 2018-08-29 15:34:45 -07:00
Matt Guthaus 27bb1d2ee7 Rewrite blockage routines in router. Clean up GdsMill code. 2018-08-29 15:34:45 -07:00
Matt Guthaus 5386b7a0f4 Initial refactor of signal and supply router classes. 2018-08-29 15:34:45 -07:00
Matt Guthaus 6220ea6d47 Update router to work with pin_layout structure. 2018-08-29 15:34:45 -07:00
Matt Guthaus 41fba9d27c Add sketch for power grid routing code 2018-08-29 15:34:16 -07:00
Matt Guthaus 95a8688506 Rewrite blockage routines in router. Clean up GdsMill code. 2018-08-28 10:43:45 -07:00
Matt Guthaus 82833ef8f0 Initial refactor of signal and supply router classes. 2018-08-28 10:43:44 -07:00
Matt Guthaus 2ae1e0234d Update router to work with pin_layout structure. 2018-08-28 10:43:44 -07:00
Matt Guthaus ea52af3747 Add sketch for power grid routing code 2018-08-28 10:43:44 -07:00
Matt Guthaus 93389ac723 Add test to reroute after route fails. Disable GDS route debug info unless verbosity is more than 0. 2017-06-07 10:10:18 -07:00
Matt Guthaus d67a7149ab Small fixes to last commit. Remove grid pin debug output. Remove extraneous function calls to add grids. 2017-06-05 15:46:50 -07:00
mguthaus 11bb105545 Mark inaccessible off-grid pins as blocked. Improve on-grid pin analysis, but not quite good enough yet. 2017-06-05 14:42:56 -07:00
Matt Guthaus d31b1862a3 Improved router debugging and return error if unable to route. 2017-05-31 13:59:49 -07:00
Matt Guthaus 0fe104af66 Output labels in GDS for debug 2017-05-25 14:18:12 -07:00
Matt Guthaus 7e44d8762e New algorithm for finding pins. Includes off-grid pin computation. 2017-05-25 10:37:24 -07:00
Matt Guthaus dd9b9d73b8 Round pins smaller. 2017-05-24 16:09:43 -07:00
Matt Guthaus 4c0fb2d7d1 Add space around route end rectangles. Separate pin and blockage conversions. 2017-05-24 15:36:30 -07:00
Matt Guthaus 2936038c90 Adding new pin shape conversion using design rules 2017-05-24 15:17:49 -07:00
Matt Guthaus c3769bd375 Added new scmos test with a bigger design. Added error checks for not found label and not found pin shapes. 2017-05-24 10:50:45 -07:00
mguthaus 68ce3843fe Debugged and tested route by pin location,layer 2017-05-17 15:58:29 -07:00
Matt Guthaus a1496e70a8 Updated gdsMill with new getter routines for router to get by location. Cleaned up vlsiLayout. 2017-05-17 14:27:14 -07:00
mguthaus d85f78a54c Fixed format errors 2017-04-24 13:50:19 -07:00
mguthaus 9b86083524 Fixed rotated via bug. May still have a via-to-via spacing problem. 2017-04-24 13:47:56 -07:00
Matt Guthaus 21f5444f81 Forgot one more view to comment out 2017-04-24 12:14:19 -07:00
Matt Guthaus e960cbe9d6 Clean up output so that it does not print routing grid debug. 2017-04-24 12:13:01 -07:00
Matt Guthaus 388794b1e0 Fix multiple net routing cost reset bug. 2017-04-24 11:28:36 -07:00
Matt Guthaus 96f1eb413e Fixed costs and view grid function so that we have better routes and less expansion. 2017-04-24 10:27:04 -07:00
Matt Guthaus 55ed6212a1 Created route and add_route for layer assigned wires. It will replace add_wire/wire eventually. 2017-04-19 12:41:13 -07:00
mguthaus f51e82e75a Commented unit tests. Added negative coordinate test on test 03. 2017-04-16 08:04:06 -07:00
mguthaus 7cac1a0357 Rename test classes. 2017-04-15 07:49:05 -07:00
mguthaus 2350be8e39 Fixed router test 03. Cleaned up code. 2017-04-14 13:56:09 -07:00
mguthaus 76f338e982 Fixed offgrid pins. Added vias to src/dst pins. Added preferred direction routing costs. 2017-04-14 13:18:35 -07:00
Matthew Guthaus 0766db9e11 Rename unit test files according to test. Modify off-grid pins and blockages. Reorganize router code a bit. 2017-04-12 10:59:04 -07:00
Matt Guthaus 7969ac2846 Non functioning commit 2016-11-20 08:41:49 -08:00
Matt Guthaus 2a17856c69 Add src/dest pin block 2016-11-18 16:16:19 -08:00
Matt Guthaus 62237830cd Fix rounding, offsets, and increase halo 2016-11-18 15:49:07 -08:00
Matt Guthaus da1df1f580 Fix max track width computation 2016-11-18 15:18:36 -08:00
Matt Guthaus 51d7a673bd Improve debug messages. Remove add_inst for via in wire. 2016-11-18 14:10:30 -08:00
Matt Guthaus 70365a8116 Add double grid snap for centerline wires 2016-11-18 12:57:07 -08:00
Matt Guthaus ed5700d698 Fix spelling errors. Allow multiple rectangle pin shapes in router. 2016-11-18 08:55:34 -08:00
Matt Guthaus e215885b2f Update unit tests. 2016-11-17 16:46:41 -08:00
Matt Guthaus b5b1f1753e Rename tests. Make 4 pin test. 2016-11-17 16:33:38 -08:00
Matt Guthaus 717718ed5a Adding checking of rounding and contract path to simplify route wire. 2016-11-17 13:48:27 -08:00
Matt Guthaus 0a9b326f6a Contract path to simplified route 2016-11-17 13:26:03 -08:00
Matt Guthaus aa950c3b21 Fix unit during gds read. Fix blockage and pin rounding bugs. 2016-11-17 11:24:17 -08:00
Matt Guthaus 784bad2e99 Routing multilayer, around blockages. 2016-11-16 16:47:31 -08:00
Matt Guthaus b947989970 Add router data structure, blockage parser, pin parser, initial unit tests 2016-11-16 15:02:07 -08:00
Matt Guthaus cdb101b377 Sketch new router procedures 2016-11-12 08:57:26 -08:00