Matt Guthaus
09d6a63861
Change path to wire_path for Anaconda package conflict
2019-01-25 15:07:56 -08:00
Matt Guthaus
091b4e4c62
Add size commments to spize. Change pdriver stage effort.
2019-01-23 17:27:15 -08:00
Matt Guthaus
7a152ea13d
Move sram_factory to root dir
2019-01-16 17:06:29 -08:00
Matt Guthaus
9ecfaf16ea
Add the factory class
2019-01-16 17:04:28 -08:00
Matt Guthaus
91636be642
Convert all contacts to use the sram_factory
2019-01-16 16:56:06 -08:00
Matt Guthaus
a418431a42
First draft of sram_factory code
2019-01-16 16:15:38 -08:00
Matt Guthaus
20b869f8e1
Remove tabs
2019-01-11 14:16:57 -08:00
Matt Guthaus
5de7ff3773
Updated Verilog to have multiport. Added 1rw,1rw/1r Verilog testbench.
2019-01-11 14:15:16 -08:00
Jesse Cirimelli-Low
b6e7ddd023
Merge branch 'dev' into datasheet_gen
2018-12-04 16:27:04 -08:00
Matt Guthaus
126d4a8d10
Fix instersection bug. Improve primary and secondary pin algo.
2018-12-04 16:53:04 -08:00
Jesse Cirimelli-Low
9501b99df7
merged branch wtih dev
2018-12-03 09:47:34 -08:00
Matt Guthaus
90d1fa7c43
Bitcell supply routing fixes.
...
Flatten and simplify 1rw 1r bitcell.
Move bitcell vias to M3 if rotation is limited.
Simplify replica bitcell vdd routing.
2018-11-30 12:32:13 -08:00
Matt Guthaus
7e054a51e2
Some techs don't need m1 power pins
2018-11-29 18:47:38 -08:00
Matt Guthaus
a7be60529f
Do not rotate vias in horizontal channel routes
2018-11-29 13:57:40 -08:00
Matt Guthaus
4df862d8af
Convert channel router to take netlist of pins rather than names.
2018-11-29 12:12:10 -08:00
Jesse Cirimelli-Low
1942ef33ac
Merge branch 'dev' into datasheet_gen
2018-11-20 11:23:42 -08:00
Matt Guthaus
b8299565eb
Use grid furthest from blockages when blocked pin. Enclose multiple connectors.
2018-11-19 17:32:55 -08:00
Matt Guthaus
20d4e390f6
Add bounding box of connector for when there are multiple connectors
2018-11-19 15:45:07 -08:00
Matt Guthaus
6a7d721562
Add new bbox routine for pin enclosures
2018-11-19 09:28:29 -08:00
Matt Guthaus
8f28f4fde5
Don't always add all 3 types of contorl. Add write and read only port lists.
2018-11-16 15:03:12 -08:00
Matt Guthaus
b13d938ea8
Add m3m4 short hand in design class
2018-11-16 14:10:49 -08:00
Matt Guthaus
4997a20511
Must set library cell flag for netlist only mode as well
2018-11-16 13:37:17 -08:00
Matt Guthaus
ca750b698a
Uniquify bitcell array
2018-11-16 12:52:22 -08:00
Matt Guthaus
e040fd12f9
Bitcell and bitcell array can be named the same.
2018-11-16 12:00:23 -08:00
Matt Guthaus
5e0eb609da
Check for single top-level structure in vlsiLayout. Don't allow dff_inv and dff_buf to have same names.
2018-11-16 11:48:41 -08:00
Jesse Cirimelli-Low
59c0421804
merge dev into datasheet_gen; fixed merge conflict in hierarchy_design.py
2018-11-15 10:45:33 -08:00
Matt Guthaus
ff0a7851b7
Fix error when DRC is disabled so it doesn't initialize.
2018-11-13 17:41:32 -08:00
Matt Guthaus
ce74827f24
Add new option to enable inline checks at each level of hierarchy. Default is off.
2018-11-13 16:51:19 -08:00
Matt Guthaus
732f35a362
Change channel router to route from bottom up to simplify code.
2018-11-11 12:25:53 -08:00
Matt Guthaus
791d74f63a
Fix wrong exception handling that depended on order. Replaced with if/else instead.
2018-11-11 12:02:42 -08:00
Jesse Cirimelli-Low
4227a7886a
Merge branch 'dev' into datasheet_gen
2018-11-11 07:27:42 -08:00
Jesse Cirimelli-Low
91a63fb5c2
Merge branch 'dev'
2018-11-11 07:24:03 -08:00
Jesse Cirimelli-Low
62f8d26ec6
Merge branch 'dev' into datasheet_gen
2018-11-10 10:58:35 -08:00
Matt Guthaus
de61630962
Expand blocked pins to neighbor grid cells.
2018-11-09 14:25:10 -08:00
Jesse Cirimelli-Low
30bffdf1b4
Merge branch 'dev' into datasheet_gen
2018-11-08 19:26:00 -08:00
Matt Guthaus
31eff6f24e
Merge branch 'dev' into multiport_layout
2018-11-08 18:00:28 -08:00
Matt Guthaus
fd5cd675ac
Horizontal increments top down.
2018-11-08 17:01:57 -08:00
Matt Guthaus
e28978180f
Vertical channel routes go from left right. Horizontal go bottom up.
2018-11-08 16:49:02 -08:00
Matt Guthaus
7b10e3bfec
Convert port index lists to three simple lists.
2018-11-08 12:19:40 -08:00
Michael Timothy Grimes
7c3375fd4b
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-11-08 09:59:52 -08:00
Matt Guthaus
f04e76a54f
Allow multiple must-connect pins with the same label.
2018-11-07 13:05:13 -08:00
Matt Guthaus
8d753b5ac7
Primitive cells only keep the largest pin shape.
2018-11-07 11:58:31 -08:00
Matt Guthaus
1fe767343e
Reimplement gdsMill pin functions so they are run once when a GDS is loaded. Get pins is now a table lookup.
2018-11-07 11:31:44 -08:00
Jesse Cirimelli-Low
781bd13cc1
Merge branch 'dev' into datasheet_gen
2018-11-07 10:08:45 -08:00
Michael Timothy Grimes
3c9821991b
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-11-05 08:56:19 -08:00
Matt Guthaus
74c3de2812
Remove diagonal routing bug. Cleanup.
2018-11-02 14:57:40 -07:00
Matt Guthaus
866eaa8b02
Add debug message when routes are diagonal.
2018-11-02 11:50:28 -07:00
Jesse Cirimelli-Low
3fa1d5522e
added DRC/LVS error count to datasheet
2018-11-01 14:02:33 -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
Michael Timothy Grimes
dc96d86082
Optimizations to pbitcell spacings
2018-11-01 07:58:20 -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
6990773ea1
Add error check requiring non-zero area pin layouts.
2018-10-29 10:32:42 -07:00
Matt Guthaus
0107e1c050
Reduce verbosity of utils
2018-10-26 13:02:31 -07:00
Matt Guthaus
7d74d34c53
Fix pin_layout contains bug
2018-10-26 10:40:43 -07:00
Matt Guthaus
94e5050513
Move overlap functions to pin_layout
2018-10-24 16:13:07 -07:00
Matt Guthaus
dc73e8cb60
Odd bug that instances were not properly rotated.
2018-10-24 16:12:27 -07:00
Hunter Nichols
a711a5823d
Merged dev and fix conflicts in geometry.py
2018-10-24 10:52:22 -07:00
Hunter Nichols
53cb4e7f5e
Fixed lib files to be syntactically correct with multiport. Fixed issue in geometry.py that prevented netlist_only option from working.
2018-10-22 23:33:01 -07:00
Hunter Nichols
62439bdac6
Fixed merge conflicts with sram.py
2018-10-22 17:29:14 -07:00
Hunter Nichols
4f08062268
Added custom 1rw+1r bitcell. Testing are currently failing.
2018-10-22 17:02:21 -07:00
Michael Timothy Grimes
cda2e93cd7
Adding fix to netlist_only mode in geometry.py. Uncommenting functional tests and running both tests in netlist_only mode.
2018-10-22 09:17:03 -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
4bf1e206e2
Merge branch 'dev' into supply_routing
2018-10-17 09:47:18 -07:00
Matt Guthaus
e2cfd382b9
Fix print check regression
2018-10-15 13:23:31 -07:00
Michael Timothy Grimes
c8c70401ae
Redesign of pbitcell for newer process technolgies.
2018-10-15 06:29:51 -07:00
Matt Guthaus
ce8c2d983d
Update all drc usages to call function type
2018-10-12 14:37:51 -07:00
Matt Guthaus
4932d83afc
Add design rules classes for complex design rules
2018-10-12 09:44:36 -07:00
Matt Guthaus
9bb1c2bbcf
Fix Future Warning for real
2018-10-10 15:58:16 -07:00
Matt Guthaus
fa4dd8881c
Fix Future warnings comparison to None
2018-10-10 15:47:14 -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
a2b1d025ab
Merge multiport
2018-10-08 11:45:50 -07:00
Matt Guthaus
3244e01ca1
Add copy power pin function
2018-10-08 09:56:39 -07:00
Michael Timothy Grimes
6ef1a3c755
Improvements to functional test. Now will read or write in a random sequence, using randomly generated words and addresses, and using random ports in the multiported cases. Functional test still has some bugs that are being worked out so it will sometimes fail and sometimes not fail.
2018-10-08 06:34:36 -07:00
Matt Guthaus
8499983cc2
Add supply router to top-level SRAM. Change get_pins to elegantly fail.
2018-10-06 08:30:38 -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
Michael Timothy Grimes
34d8a19871
Adding simulation.py for common functions between functional and delay tests. Updating functional test.
2018-10-04 09:29:44 -07:00
Michael Timothy Grimes
a71486e22f
Adding mutliport constants to design.py to reduce the need for copied code across multiple modules.
2018-09-28 00:11:39 -07:00
Matt Guthaus
9b0142d6b9
Comment debug for possible performance issue
2018-09-24 11:44:32 -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
60cceab50a
Merge branch 'dev' into supply_routing
2018-09-17 11:34:31 -07:00
Matt Guthaus
a3c2b4384a
Improve comments. Simplify function interface for channel route.
2018-09-11 15:53:12 -07:00
Matt Guthaus
3587f90e94
Fix copy pasta error in create vertical channel route
2018-09-11 14:47:55 -07:00
Matt Guthaus
5e34233479
Finish new VCG testing.
...
Reversed VCG graph edge directions.
Channel tracks get added left to right or top down like
normal left edge algorithm examples.
2018-09-11 14:24:13 -07:00
Matt Guthaus
fcc4a75295
Create VCG using nets as nodes rather than pins.
2018-09-11 13:28:28 -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
b1c63a6c62
Add inflate blockages and remove pins from blockages.
2018-09-05 11:06:17 -07:00
Matt Guthaus
0f87ba742f
Add back LEF blockages. Remove "absolute" flags from GDS output
2018-09-05 09:28:43 -07:00
Matt Guthaus
8ffdcdf277
Fixed bit shift amount error. Removed rotate flag for Calibre.
2018-09-04 17:27:50 -07:00
Matt Guthaus
5395f21be9
Remove unique id in contact that was used for debugging
2018-09-04 16:40:52 -07:00
Matt Guthaus
9d40cd4a03
Remove verbose print statement in add_power_pin
2018-09-04 16:39:13 -07:00
Matt Guthaus
378993ca22
Found rotate bug in transformCoordinate. Cleaned up transFlags.
2018-09-04 16:35:40 -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
6220ea6d47
Update router to work with pin_layout structure.
2018-08-29 15:34:45 -07:00
Matt Guthaus
e17c69be3e
Clean up new code for add_modules, add_pins and netlist/layouts.
2018-08-28 10:24:09 -07:00