Commit Graph

811 Commits

Author SHA1 Message Date
Matt Guthaus 96c51f3464 Component shape functions. Find connected pins through overlaps. 2018-09-08 10:05:48 -07:00
Hunter Nichols 5cab786e21 Cleaned up analyze and some of its helper functions to be less cluttered. 2018-09-07 17:50:09 -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
Hunter Nichols 83f6434476 Gave find_feasible_period a port input. 2018-09-07 00:53:11 -07:00
Hunter Nichols 8aaf1155d1 Fixed test 23_lib_sram_test. Fixed syntax in related golden lib files. 2018-09-06 22:51:34 -07:00
Hunter Nichols 0ff3b29b66 Fixed test 23_sram_prune test. Fixed syntax errors in golden lib files. 2018-09-06 22:06:23 -07:00
Michael Timothy Grimes 1a340c9c85 Merging latest changes from multiport with changes made to pbitcell. Changing select code from other modules and tests to reflect changes made to pbitcell. 2018-09-06 19:36:50 -07:00
Hunter Nichols bf34911f3f Test 21_ngspice now passing for scmos and freepdk45. 21_hspice has leakage power error (but it may be okay) 2018-09-06 18:40:21 -07:00
Hunter Nichols 1615de05e4 Fixed leakage power issue in test 21_hspice. Still requires more testing. 2018-09-06 18:26:08 -07:00
Michael Timothy Grimes 66a8a76fb0 Commiting changes to pbitcell that separate the routing into individual functions and rename. The bitlines and wordlines are also renamed. 2018-09-06 17:59:21 -07:00
Hunter Nichols a2bc82fe71 Fixed test 21_hspice. Leakage power is off. 2018-09-06 17:34:22 -07:00
Hunter Nichols dd22f9acd5 Fixed issues with analytical sram test. Changed syntax errors in golden lib file. 2018-09-06 17:01:10 -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
Hunter Nichols f824d039c6 Merge branch 'dev' into multiport_characterization 2018-09-06 00:25:11 -07:00
Hunter Nichols 66c4782408 Fixed several syntax error regarding some multiport naming. Currently in debug mode. 2018-09-06 00:25:02 -07:00
Hunter Nichols ad235c02c6 Added debug code which skips characterization and goes straight to writing the lib. Fixed some syntax issues in the lib file. 2018-09-05 23:27:13 -07:00
Matt Guthaus 59956f1446 Update signal routing for new blockage and pins. 2018-09-05 16:01:11 -07:00
Matt Guthaus 7ead566154 Remove cell rename during DRC. Keep flatten. 2018-09-05 16:00:48 -07:00
Matt Guthaus b1c63a6c62 Add inflate blockages and remove pins from blockages. 2018-09-05 11:06:17 -07:00
Matt Guthaus 93b24d8c85 Merge remote-tracking branch 'origin/dev' into supply_routing 2018-09-05 11:05:41 -07:00
Matt Guthaus ba651d53ae Change options in pbitcell test to be global again. 2018-09-05 10:59:41 -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 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 763f1e8dee Finish renaming replica bitcell and bitline pin names. 2018-09-04 14:03:15 -07:00
Matt Guthaus 6963a1092f Make bitcell width/height not static. Update modules to use it for pbitcell. 2018-09-04 11:55:22 -07:00
Matt Guthaus 0adfe66429 Add total_ port variables to sram base class. 2018-09-04 11:15:18 -07:00
Matt Guthaus de6f22aa3c Fix unit test permissions 2018-09-04 10:48:37 -07:00
Matt Guthaus 19c0e1638b Merge remote-tracking branch 'origin/multiport' into multiport 2018-09-04 10:47:55 -07:00
Matt Guthaus a346bddd88 Cleanup some items with new sram_config. Update unit tests accordingly. 2018-09-04 10:47:24 -07:00
Hunter Nichols 3bde83bdbe Added initial structure changes to lib. Crashes when writing to lib file. 2018-09-04 00:43:44 -07:00
Michael Timothy Grimes af0756382f Merging changes and updating multiport syntax across several tests 2018-09-03 19:36:20 -07:00
Michael Timothy Grimes 774c14ad75 changing 19_psingle_bank_test to test layout for a single bank using pbitcell with 1 RW port (equivalent to using 6T cell) 2018-09-03 17:47:29 -07:00
Michael Timothy Grimes 341a3ee68d Adding multiport pin names to sram_base for netlist only use 2018-09-03 17:44:32 -07:00
Michael Timothy Grimes 1e5924d1b7 Adding multiported bank_sel pins 2018-09-03 17:35:00 -07:00
Michael Timothy Grimes d3441c7ba4 Altering wordline driver to size for any bitcell. Editting multi-port test cases for sense amp array, write driver array, and wordline driver to least number of ports as a better test of spacing betwwen amps/drivers 2018-09-03 17:31:12 -07:00
Hunter Nichols 1af5bb3758 Remove code bloat and simplified port logic in some cases. Crashes while writing to lib. 2018-09-01 00:10:40 -07:00
Michael Timothy Grimes f3cca7eea0 Altering sense amp array and write driver array so spacing between amps/drivers accomodates multiport. Also altering sense amp array and write driver array tests to include multiport cases. 2018-08-31 23:28:06 -07:00
Matt Guthaus 9d8d2b65e4 Fix delay test with new sram_config. Merge dev changes. 2018-08-31 13:01:17 -07:00
Matt Guthaus c3bd54696f Merge branch 'dev' into multiport 2018-08-31 12:56:25 -07:00
Matt Guthaus 563ff77d44 Add sram_config class. Rename port variables for better description. 2018-08-31 12:03:28 -07:00
Michael Timothy Grimes 75d77095d0 merging changes to magic.py 2018-08-31 09:01:15 -07:00
Hunter Nichols 4022f014b2 Merge branch 'dev' into multiport_characterization 2018-08-31 00:43:33 -07:00
Hunter Nichols 60088c2dfb Added changes to lib to allow the default to run. Will crash with multiport options. 2018-08-31 00:42:56 -07:00
Hunter Nichols 6614c3eb51 Altered min_period algorithm to work for multiport. Works for default config but mostly untested for multiport options. 2018-08-30 22:43:56 -07:00
Hunter Nichols 5989a3c952 Expanded run_delay_stimulas to multiport. Bug Fixes as well. 2018-08-30 17:08:34 -07:00
Hunter Nichols 907b7310ee Actually changed the noops default data in this commit. 2018-08-30 15:16:54 -07:00
Hunter Nichols 53fa6108e1 Changed most noops calls to have default input of all 0's. Changed parse_values to return dict even if some values fail. 2018-08-30 15:11:54 -07:00
Matt Guthaus 3ab0b569cb Use a .magicrc in the technology directory to read magic tech files 2018-08-30 14:20:41 -07:00
Michael Timothy Grimes 35ae4a275e Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport 2018-08-30 12:42:24 -07:00
Hunter Nichols 73388e9797 Merge branch 'dev' into multiport_characterization 2018-08-30 01:20:23 -07:00
Hunter Nichols e32c1fdd23 Changed part (4) of analyze to use the updated measure names. 2018-08-30 01:18:34 -07:00
Hunter Nichols 78be724867 Edited find_feasible period to use dynamic naming on its measured values and edited the algorithm to work with multiport. 2018-08-30 00:11:14 -07:00
Hunter Nichols 02cf51d3be Added generic parsing function to capture multiple values. This commit does not run and it messes up some naming conventions 2018-08-29 22:16:42 -07:00
Matt Guthaus 762f2d894c Revert all transFlags in GdsMill 2018-08-29 17:23:04 -07:00
Matt Guthaus 93a6247f26 Unrotate vias in delay chain 2018-08-29 17:21:53 -07:00
Hunter Nichols 4b515fe1ac Changed create_test_cycles to have targeted ports for characterization rather than all ports always. 2018-08-29 17:16:11 -07:00
Michael Timothy Grimes e118cc2d5c Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport 2018-08-29 16:06:50 -07:00
Michael Timothy Grimes aeaab13d28 Unit tests for pbitcell now passing, so commenting out skip line. Also gave pbitcell_array useful names in unit test for easier debugging 2018-08-29 16:05:13 -07:00
Matt Guthaus 5a065cf701 Remove setting of rotate transflag. Not supported in Calibre? 2018-08-29 16:04:15 -07:00
Michael Timothy Grimes 7ef7c084cd fixed typo that added two '/' characters to path sys command (i.e. from tech//SCN3ME_SUBM.30 to tech/SCN3ME_SUBM.30) 2018-08-29 16:01:25 -07:00
Michael Timothy Grimes 29da8a5209 Further changes to pbitcell so that it passes unit tests for bitcell_array 2018-08-29 15:54:49 -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 0ce2dd2791 Add supply_grid file 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 04b7c419f1 Rename _new cell back to original for LVS comparison script 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 19d14e39ce Remove extraneous files 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
Michael Timothy Grimes 807a4d7767 Fixed drcs error in magic. Pbitcell should now pass unit tests in calibre and magic. 2018-08-29 15:30:50 -07:00
Hunter Nichols 775fe7b57c Fixed measure statement stating times. This commit crashes if there are no readwrite ports. 2018-08-29 15:13:31 -07:00
Michael Timothy Grimes 1d5a41df2d fixed issue with read ports that caused extra transistors to appear 2018-08-29 08:52:45 -07:00
Hunter Nichols 8a0411279e Merge branch 'dev' into multiport_characterization 2018-08-29 01:27:37 -07:00
Hunter Nichols 8fad81ff1e Changed delay measures to add additional measure based on # of ports. Measure times are not correct yet. 2018-08-29 00:43:27 -07:00
Hunter Nichols ffe59bdf51 Edited delay measures to handle multiple readwrite ports. This commit is not well tested. 2018-08-29 00:01:22 -07:00
Matt Guthaus e804f36bec Add parameters to give preference to DRC/LVS/PEX tools like we do for spice. 2018-08-28 13:41:26 -07:00
Hunter Nichols fa8434e5f0 Added debug checks for unsupported port options. 2018-08-28 13:01:35 -07:00
Hunter Nichols bd763fa1e3 Fixed naming issue between sram instance and PWL in stimulus 2018-08-28 12:09:02 -07:00
Matt Guthaus 309bfaea2a Update comments in magic to download the correct version of design rules 2018-08-28 11:48:23 -07:00
Matt Guthaus 8752d799b4 Skip pbitcell tests for now 2018-08-28 10:45:50 -07:00
Matt Guthaus 95a8688506 Rewrite blockage routines in router. Clean up GdsMill code. 2018-08-28 10:43:45 -07:00
Matt Guthaus 0dbc88dab2 Rename _new cell back to original for LVS comparison script 2018-08-28 10:43:44 -07:00
Matt Guthaus 82833ef8f0 Initial refactor of signal and supply router classes. 2018-08-28 10:43:44 -07:00
Matt Guthaus 8f1e2675fe Remove extraneous files 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 ac8a16ebdf Fix permissions for unit tests to be run standalone. 2018-08-28 10:31:58 -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
Hunter Nichols 0bb4b48439 Merge branch 'dev' into multiport_characterization 2018-08-28 00:37:26 -07:00
Hunter Nichols 75da5a994b Edited create_test_cycles to generate values that characterize all ports. Still several bugs and lib file does not support multiple ports. 2018-08-28 00:30:15 -07:00
Hunter Nichols ba5988ec7f Added write port structure to create_test_cycles. This commit contains test code. 2018-08-27 20:35:29 -07:00
Hunter Nichols d82d3df4a7 Added read port cycle data generation. This commit contains test code in create_test_cycles 2018-08-27 18:17:02 -07:00
Matt Guthaus 6401cbf2a6 Move place function to instance class rather than hierarchy. 2018-08-27 17:25:39 -07:00
Matt Guthaus 8664f7a0b8 Converted all modules to not run create_layout when netlist_only
mode is enabled.
2018-08-27 16:42:48 -07:00