Matt Guthaus
7f5e6dd6f8
Fix unconnected supply pin bug in supply router.
...
Simplified some of the supply router pin groups so that it assumes
each group is fully connected. When computing enclosures of the
pins on the routing grid, it will remove disconnected enclosure
shapes to keep things connected.
2019-04-24 10:54:22 -07:00
Matt Guthaus
66c703d932
Simplify router code to clean it up a bit.
2019-04-22 15:30:35 -07:00
Matt Guthaus
6f171ad147
Added router timing code. Commented combine adjacent pins due to run-time complexity
2018-12-07 13:54:18 -08:00
Matt Guthaus
c51752d245
Provide more stats in -v output
2018-12-06 14:11:15 -08:00
Matt Guthaus
b72382b400
Fix offset bug with negative vertical supply rails
2018-12-06 11:58:19 -08:00
Matt Guthaus
0c0a23e6eb
Cleanup code. Add time breakdown for SRAM creation.
2018-12-05 09:51:17 -08:00
Matt Guthaus
7fce6f06ca
Expand grids to maximal pin before removing blockages
2018-12-04 09:35:40 -08:00
Matt Guthaus
389bb91af4
Simplifying supply router to single grid track
2018-12-04 08:41:57 -08:00
Matt Guthaus
c6f03e70d4
Convert supply to wider DRC rules
2018-12-03 11:09:17 -08:00
Matt Guthaus
3cfefa784f
Fix run-time bug in combine adjacent pins for supply router
2018-11-14 17:06:12 -08:00
Matt Guthaus
a3666d82ab
Reduce verbosity of level 1 debug.
2018-11-02 17:30:28 -07:00
Matt Guthaus
ad1d3a3c78
Use default grid costs again.
2018-11-02 16:04:56 -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
fc45242ccb
Allow contains to contain copy. Add connectors when pin doesn't overlap grids.
2018-10-30 17:41:29 -07:00
Matt Guthaus
1344a8f7f1
Add remove adjacent feature for wide metal spacing
2018-10-30 12:24:13 -07:00
Matt Guthaus
c4163d3401
Remove debug statements.
2018-10-29 13:50:56 -07:00
Matt Guthaus
f19bcace62
Merged in an old stash.
2018-10-29 11:18:12 -07:00
Matt Guthaus
7d74d34c53
Fix pin_layout contains bug
2018-10-26 10:40:43 -07:00
Matt Guthaus
4ce6b040fd
Debugging missing enclosures
2018-10-26 09:25:10 -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
7e2bef624e
Continue routing rails in same layer after a blockage
2018-10-24 12:32:27 -07:00
Matt Guthaus
38a8c46034
Change non-preferred route costs.
2018-10-20 14:47:24 -07:00
Matt Guthaus
4c25bb09df
Fixed supply end-row via problem by restricting placement
2018-10-20 14:25:32 -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
f9738253c6
Remove warning of track space and floor the space function.
2018-10-20 11:53:52 -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
5cb3a24b19
Fix supply rail step size to place alternating rails
2018-10-15 13:58:40 -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
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
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
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