Commit Graph

2964 Commits

Author SHA1 Message Date
mrg ae1c889235 Updates to IO signal router.
Route signals to perimeter using maze router.
Move IO pins without perimeter pins to M3 using add_io_pin (like add_power_pin).
2020-12-22 09:39:58 -08:00
mrg 348001b1c8 Supply tree uses signal grid. PEP8 cleanup. 2020-12-21 13:51:50 -08:00
mrg 98250cf115 Copy pins as rects before removing them. 2020-12-21 13:47:05 -08:00
mrg fc91c0da23 Only warn if characterizing. 2020-12-21 12:44:37 -08:00
mrg 6101195b51 Function to remove layout pins. 2020-12-21 12:44:04 -08:00
mrg bcd837205b v1.1.12 2020-12-18 13:05:42 -08:00
mrg e3bc5454f9 Merge remote-tracking branch 'private/dev' into dev 2020-12-18 13:05:11 -08:00
mrg 3c08dfcca5 Enable single pin for vdd/gnd after supply router 2020-12-18 11:09:10 -08:00
mrg 946ad66e7a Make width based on bitcell offsets, not number of columns 2020-12-18 09:22:10 -08:00
mrg 3a3ecb27d2 Merge branch 'dev' into supply_router 2020-12-17 15:53:31 -08:00
Hunter Nichols 732404b330 Added an option that prevents lib.py from generating corners and only uses corners in config file. 2020-12-17 15:32:15 -08:00
mrg 29880a0b5a Write mask and array supply pins on the ends 2020-12-17 15:25:19 -08:00
mrg bad735fd89 Uncomment flatten as it is neeeded for correct extraction 2020-12-17 15:24:44 -08:00
Hunter Nichols 240dc784af Fixed issue with static inputs causing errors. Added corners to linear regression inputs. 2020-12-17 14:54:43 -08:00
Hunter Nichols b760656572 Made process a required feature. Fixed issue with features that have the same max and min 2020-12-17 14:08:45 -08:00
mrg e6ff73dbc1 Move supply pins for wmask and array to edge to avoid channel route congestion 2020-12-17 11:48:08 -08:00
mrg c0ab0af201 Retry routes with expanding detour allowed. 2020-12-17 11:39:17 -08:00
Hunter Nichols 56c4c89720 Adjusted error margin for period in analytical model and added check in model test. 2020-12-17 01:34:53 -08:00
mrg 11384ef926 Improve output messaging of tree router 2020-12-16 16:57:40 -08:00
mrg 2b0f8bf263 Don't exit with error when source is target for maze router 2020-12-16 16:57:29 -08:00
mrg d5ed45dadf Make default router tree router 2020-12-16 16:42:19 -08:00
mrg f55b57033d Route col decoder address with data bits in channel 2020-12-15 16:37:23 -08:00
mrg 878a9cee8a Add channel routes as flat instances to appease Magic extraction. 2020-12-15 16:01:39 -08:00
mrg 0bd169708c v1.1.11 2020-12-15 14:38:54 -08:00
mrg 642c4e1715 Merge remote-tracking branch 'private/dev' into dev 2020-12-15 14:38:29 -08:00
mrg fd118c62e5 Default zom is None not negative. 2020-12-15 13:27:36 -08:00
mrg 9d9f0fddf0 Only do total DRC count. 2020-12-15 13:00:20 -08:00
Hunter Nichols f1f6a1a520 Removed windows end of line characters. 2020-12-15 12:08:31 -08:00
mrg 028d2a2954 v1.1.10 2020-12-15 10:56:45 -08:00
mrg 6714e9fac0 Only run DRC and LVS at SRAM level if not a unit test to reduce run time. 2020-12-15 10:46:55 -08:00
Hunter Nichols 942675051a Added test for linear regression model. 2020-12-14 14:37:53 -08:00
Hunter Nichols 06232dee8f Added leakage and slew data. Added temporary fix to model output format. 2020-12-14 14:32:10 -08:00
mrg 5c4389efa4 PEP8 fixes 2020-12-14 14:18:53 -08:00
mrg da48b8d98c Fix replica column bit index 2020-12-14 14:18:39 -08:00
mrg 2954f13294 Update temp file to be relative 2020-12-14 14:18:18 -08:00
mrg 9a3776e758 Use default zoom for text 2020-12-14 14:18:00 -08:00
Hunter Nichols 25544c3974 Added similar interface to linear regression as elmore 2020-12-14 13:59:31 -08:00
mrg 87493e1e30 Disable pex tests. 2020-12-11 11:47:10 -08:00
mrg 35a6b1d2ee Fix copy gds/sp error with new relative paths 2020-12-11 10:22:35 -08:00
mrg 38bf12771b Make DRC/LVS scripts use relative paths 2020-12-11 10:06:00 -08:00
Hunter Nichols 0adcf8935f Added linear regression model for power. 2020-12-09 15:31:43 -08:00
Hunter Nichols 393a9ca0d8 Data scaling is only dependent on a single file rather than a directory now. 2020-12-09 15:03:04 -08:00
Hunter Nichols fc55cd194d Added model selection option. 2020-12-09 12:54:11 -08:00
mrg d19e4edb98 Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev 2020-12-09 11:43:55 -08:00
mrg 0a9a946cd1 Make default no magnification to text. PEP8 Cleanup 2020-12-09 11:42:28 -08:00
mrg b5e532940c v1.1.9 2020-12-08 12:05:30 -08:00
mrg 9717794400 Remove extra debug statement 2020-12-08 11:59:14 -08:00
mrg 41d6cb639d Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev 2020-12-08 11:56:40 -08:00
mrg ac60c4fe3c Initial maglef flow for sky130 2020-12-08 11:56:23 -08:00
mrg 47cc4cbfca Remove extra debug statement 2020-12-08 11:55:53 -08:00
mrg 971f2ac114 v1.1.8 2020-12-08 10:50:35 -08:00
mrg ebe19abf60 Merge remote-tracking branch 'private/dev' into dev 2020-12-08 10:50:02 -08:00
Arya Reais-Parsi 9eb2f3c0e6 add error message when configuration files are not valid python module names 2020-12-08 10:43:29 -08:00
mrg 6062565973 Add col/row cap modules 2020-12-08 10:34:24 -08:00
mrg 0008de3e59 Change test 14 to odd sizes for use in sky130. 2020-12-08 10:32:23 -08:00
mrg d542b7dd76 Add separate box for pins if it has its own purpose 2020-12-08 10:31:57 -08:00
mrg a2ebaf9f81 Fix typo 2020-12-08 10:31:39 -08:00
mrg 0100ae57a3 Fix mirror with odd number of rows 2020-12-08 10:31:22 -08:00
Hunter Nichols 8a75b83889 Fixed input scaling bugs delay prediction model 2020-12-07 14:36:01 -08:00
Hunter Nichols 77d7e3b1cf Merge branch 'dev' into automated_analytical_model 2020-12-07 14:24:04 -08:00
Hunter Nichols 6e7d1695b5 Cleaned code to remove validation during training. 2020-12-07 14:22:53 -08:00
Hunter Nichols 5f4a2f0231 Added function to get all data and scale vs just a portion 2020-12-07 13:11:04 -08:00
mrg bad1274bdb Use internal name for col/row caps. gds ordered read enabled. 2020-12-03 10:03:47 -08:00
Hunter Nichols dcd20a250a Changed linear regression model to reference data in tech dir vs local ref. 2020-12-02 15:20:50 -08:00
Hunter Nichols d111041385 Refactored analytical model to be it's own module with shared code moved to simulation 2020-12-02 14:06:39 -08:00
Hunter Nichols ce9036af76 Moved model scripts to characterizer dir 2020-12-02 13:25:03 -08:00
mrg 28354bffe0 Add offset to output when printing verbose GDS 2020-12-02 12:03:10 -08:00
mrg 4f28351dcd Add printGDS script to aid debugging things. 2020-12-02 11:52:38 -08:00
mrg 3c115f0ecb LVS using Netgen not Magic 2020-12-02 11:26:00 -08:00
mrg edf3d9557d Purge temp at the start of every run if it exists. 2020-12-02 11:09:40 -08:00
mrg 0250d9add7 v1.1.7 2020-12-01 17:15:03 -08:00
mrg 705d8e3105 Fix wrong via starting layer 2020-12-01 17:12:35 -08:00
mrg f320017b86 Decrease verbosity of script output 2020-12-01 17:12:17 -08:00
mrg 583a70c24e Fix select layer for column mux array 2020-12-01 15:20:44 -08:00
mrg b4cab6ec57 Change mult to 1 always. 2020-12-01 15:20:24 -08:00
mrg c3472b5bc5 Remove old commented code 2020-12-01 13:27:50 -08:00
mrg a31e0dab02 Remove via-to-via path width hack 2020-12-01 13:27:32 -08:00
mrg a5b5f7c22b Change layer away from wordlines 2020-12-01 11:33:55 -08:00
mrg 62bf713913 Only remove files at end of openram 2020-12-01 11:19:37 -08:00
mrg 3829213afe Use and2_dec instead of buf_dec for better wldriver layout 2020-12-01 11:19:12 -08:00
mrg b621c3bdc0 Allow verbose output from scripts with one -v and not unit test 2020-12-01 11:18:27 -08:00
mrg fb4cf0d4d1 Remove env variable from run_lvs script 2020-12-01 09:52:23 -08:00
mrg e817b02ade Fix syntax error. Enable script echo on -v -v. 2020-11-30 09:38:42 -08:00
Tim 'mithro' Ansell 59c6980052 Rework run_script command.
* Use Python subprocess module.
 * Echo the command output to the console.
 * Print while things are still running.
2020-11-29 13:03:58 -08:00
Tim 'mithro' Ansell fa5296e621 Improving magic verification shell scripts.
* Output header at start of script.
 * Output footer at end.
 * Add a bunch more progress report to magic output.
 * Make script return the same exit code as magic.
2020-11-29 12:19:19 -08:00
mrg 0ccb3487b6 Set default port map 2020-11-24 13:27:11 -08:00
mrg 4e10f6d8a6 Make cell/bitcell custom cell external accessible. 2020-11-24 12:01:00 -08:00
mrg cdcd115cec Fix typos 2020-11-24 10:35:14 -08:00
jcirimel d2bc7340ed finish col cap start row cap 2020-11-24 03:02:55 -08:00
jcirimel f40e5f6dba start of adding additional granularity to 1port col caps 2020-11-23 06:55:47 -08:00
mrg 5ee3f4cc66 Many edits.
Use internal vdd/gnd names.
Refactor getters in bitcell to base class.
Add BIAS signal type.
2020-11-22 08:24:47 -08:00
mrg 6e51c3cda0 PEP8 cleanup bitcell_base 2020-11-22 07:11:08 -08:00
mrg 95573c858c Can redefine number of ports in custom_cell_properties 2020-11-21 08:05:49 -08:00
mrg aa03eec943 Fix syntax error. 2020-11-21 07:16:45 -08:00
mrg 4c75bc003e Fix bounding box of replica array to include wordline grounds. 2020-11-21 07:03:59 -08:00
mrg 718c327527 Fix iteration bug with new type 2020-11-20 17:33:15 -08:00
mrg e134e07522 Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev 2020-11-20 16:57:14 -08:00
mrg f729e9fca7 Fix new replica_bitcell_array refactor with end caps. Remove single port end cap exceptions. 2020-11-20 16:56:07 -08:00
mrg 27a652ac1b Fix bounding box of cap arrays 2020-11-20 16:54:53 -08:00
Hunter Nichols 53e64fb696 Merge branch 'dev' into characterizer_bug_fixes 2020-11-20 11:16:41 -08:00
Hunter Nichols 9fd473ce70 Fixed issue with selection of column address when checking bitline names. 2020-11-20 01:11:08 -08:00
Hunter Nichols b201fa4bca Fixed path measurement in delay 2020-11-19 22:53:38 -08:00
mrg b77f168270 Fix original pin name bug in bitcell too. 2020-11-19 15:12:02 -08:00
mrg 033111a5f3 Default to no hierarchical word lines. 2020-11-19 10:48:35 -08:00
mrg 35c162acbd Use internal pin names in path names for signal traces. 2020-11-19 08:45:09 -08:00
mrg fbed738b4a Merge multiple cell_name fix. 2020-11-18 16:27:28 -08:00
mrg 8c72d3f2e7 PEP8 and small fix 2020-11-18 14:01:25 -08:00
mrg 8507881ea8 Merge branch 's8_single_port' into dev 2020-11-18 13:59:43 -08:00
jcirimel 50a0b88ef8 fix typo 2020-11-18 11:02:40 -08:00
jcirimel 520b496611 check for cell prop names list 2020-11-18 10:47:05 -08:00
mrg 6cfa20731c Consistent naming in example configs 2020-11-18 09:59:38 -08:00
mrg 305b546ad5 PEP8 cleanup 2020-11-17 16:56:00 -08:00
mrg 02c1fac3b8 Remove partial Verilog output 2020-11-17 16:51:08 -08:00
Hunter Nichols 7a0f5e15db Added polarity checks in modules to allow to make it easier to get spice rise/fall. Path measures not failing now but should be changed later. 2020-11-17 15:05:07 -08:00
Hunter Nichols 35e1a523cc Changed named on delay chain sizing variable. Automatic sizing default is False. 2020-11-17 14:29:01 -08:00
Hunter Nichols df4c2bad1f Disabled debug measures that are WIP. 2020-11-17 13:30:18 -08:00
Hunter Nichols ac425643a0 Merge branch 'dev' into characterizer_bug_fixes 2020-11-17 13:22:56 -08:00
Hunter Nichols eaf285639a Added debug measurements along main delay paths in SRAM. WIP. 2020-11-17 12:43:17 -08:00
mrg baae28194b Add custom cell custom port order code. Update setup/hold to use it. 2020-11-17 11:12:59 -08:00
mrg 80333ffacb Fix setup/hold characterization to use custom cell and pin names/orders. 2020-11-17 09:44:03 -08:00
mrg 902b92223f Small fix for finding pin names in timing graph. 2020-11-16 13:57:31 -08:00
mrg 86799ae3ff Small bug fixes related to new name mapping. 2020-11-16 13:42:42 -08:00
mrg 1d729e8f02 Move pin name mapping to layout class. 2020-11-16 11:04:03 -08:00
mrg 93e94e26ec Get vdd/gnd from properties if it is defined. 2020-11-16 10:14:37 -08:00
mrg 7512aa6e70 Skip test 50 which is too slow 2020-11-16 08:59:25 -08:00
mrg e4bc2c4914 Update property settings with getters/setters 2020-11-14 08:08:42 -08:00
mrg 2f994b8c0a Change custom cells to use set_ports setter 2020-11-14 07:15:27 -08:00
mrg 1624d50ca9 Fix props bug again. 2020-11-13 20:35:19 -08:00
mrg e9420d57c2 Fix missing attributes 2020-11-13 19:04:26 -08:00
mrg b4342ac527 More cleanup 2020-11-13 17:29:20 -08:00
mrg a2b17a271c Port type order generated on the fly 2020-11-13 16:41:02 -08:00
mrg 01d191da40 clk_pin is redundant in DFFs 2020-11-13 16:23:27 -08:00
mrg 620e271562 Fix various typos and errors 2020-11-13 16:04:07 -08:00
mrg 8021430122 Fix pbitcell erros 2020-11-13 15:55:55 -08:00
mrg c472a94f1e Rework bitcells.
Name them 1port and 2port consistently.
Allow cell overrides to cell_1rw and cell_2rw or other.
Will use 2rw for 1rw/1r, 2rw, 1w/1r, etc.
2020-11-13 10:07:40 -08:00
mrg 3567a3e913 Remove 1rw_1r 2020-11-13 08:10:16 -08:00
mrg cf63499e76 Convert bitcells to 1port and 2port 2020-11-13 08:09:21 -08:00
mrg 198c0faf85 Remove special s8 6t names 2020-11-13 07:45:31 -08:00
mrg 662d4ea724 Merge remote-tracking branch 'private/drclvs' into dev 2020-11-12 16:01:07 -08:00
mrg e6a7ecae84 Fix missing default path in pex 2020-11-12 14:43:57 -08:00
mrg 9eeab14639 Add comment before pininfo 2020-11-12 14:33:42 -08:00
mrg bdda7c4f5f Add bl/br pins to dummy array 2020-11-12 12:38:09 -08:00
mrg 190234df58 Add PININFO to outputs too 2020-11-12 12:12:53 -08:00
mrg 63941a10e1 Add None as sp_file parameter to local_drc_check 2020-11-12 10:01:38 -08:00
mrg d4c4658c77 Clean up invalid routing layer error message 2020-11-12 09:43:08 -08:00
mrg d3cb22c8c1 Fix pin vs module names issue #26 2020-11-12 09:33:48 -08:00
mrg 537e862d48 Add -full to LVS script 2020-11-10 20:38:41 -08:00
mrg 03dad01e4c Use readspice to define ports from sp netlist in Magic extract. 2020-11-10 17:06:24 -08:00
mrg 31ae56ff39 Simplify to a single DRC/LVS library test. 2020-11-10 16:45:00 -08:00
Hunter Nichols 84ba5c55d1 Merged with dev 2020-11-10 15:47:56 -08:00
mrg 56c2222c2b Temp comment Magic GDS filter code. 2020-11-10 13:37:18 -08:00
mrg 57e708a6e1 Add 200 cycles. Can be commented out or run for shorter. 2020-11-09 15:20:36 -08:00
mrg 2c203530ad Merge branch 'drclvs' into dev 2020-11-09 14:36:36 -08:00
mrg 0ba2feee53 Fix errors in new run_sim calls and corners 2020-11-09 13:59:46 -08:00
mrg e31cbeaa6f Don't check for file to determine if it is included. 2020-11-09 12:11:47 -08:00
mrg 532492d5ae Output functional stimulus to output directory. 2020-11-09 12:00:25 -08:00
mrg 31d21e169f Skip LEF test as correct output keeps changing. 2020-11-09 11:14:55 -08:00
mrg 10542d6cc3 Output DRC and LVS run files to output directory. 2020-11-09 11:12:31 -08:00
mrg 66633a843b Add PDK layer names to tech file 2020-11-09 09:10:43 -08:00
mrg 2da9c307db Disable 4x16 decoder test for now 2020-11-06 13:50:04 -08:00
mrg 147649e142 Why was single port decoder test a dual port? 2020-11-06 12:21:30 -08:00
mrg 493c9125f1 Read different modules overrides for different num ports 2020-11-06 11:09:50 -08:00
mrg 8be1436d51 Use OPTS.bitcell everywhere 2020-11-05 16:55:08 -08:00
mrg 18d2987805 Cleanup 2020-11-05 16:30:15 -08:00
mrg a40716dd48 Cleanup imports 2020-11-05 14:32:08 -08:00
mrg 0118b73eec Cleanup imports 2020-11-05 14:31:53 -08:00
mrg 681b3a91aa Drop to debug in debug module when -d 2020-11-05 13:20:54 -08:00
mrg 2c76a2680f Adjust openram options.
Remove option -d (dontpurge) and replace with keeptemp
Add option -d (debug) to drop into pdb.
Add option -k (--keeptemp) to keep temp files
2020-11-05 13:12:26 -08:00
mrg a52aac5f31 Add gds flatten option for Magic 2020-11-05 13:12:08 -08:00
mrg ce7be7466f Model as subckt for Magic too 2020-11-05 13:11:36 -08:00
mrg b160c4a35d Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev 2020-11-04 14:31:42 -08:00
mrg 9a38f7a5f4 Enable gds readonly in Magic DRC/LVS 2020-11-04 10:50:53 -08:00
mrg fb0b285652 Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into dev 2020-11-04 10:40:20 -08:00
mrg 6e12d4d46c Skip tri gate array test 2020-11-04 06:57:51 -08:00
Matt Guthaus 844b850b74 Fix typo in 1w_1r bitcell 2020-11-03 17:14:45 -08:00
mrg 3315fe32ba Improve nominal corner message 2020-11-03 16:49:49 -08:00
mrg 45cdecdea9 Improve error message about missing DRC/LVS tools. 2020-11-03 15:47:04 -08:00
mrg 6335bc3784 Do not drop to pdb shell when verbose 2020-11-03 15:46:46 -08:00
mrg 29f4ee492b Fix missing imports in replica bitcells. 2020-11-03 15:24:44 -08:00
mrg 2f12c77668 Create single port memory config examples. 2020-11-03 14:42:56 -08:00
mrg fb9956fe96 Fix missing include 2020-11-03 13:50:45 -08:00
mrg d209e8d9a3 Disable perimeter pins for now 2020-11-03 13:35:34 -08:00
mrg 1de545fc8e Fix row and col cap custom names by adding default. 2020-11-03 13:32:15 -08:00
mrg 29ac541b28 Refactor dynamic cell name to utilize base class 2020-11-03 13:18:46 -08:00
mrg a128e0501e Use cell_name in col and row caps too. 2020-11-03 12:10:18 -08:00
mrg 1890385be1 Use custom cells when needed. 2020-11-03 11:58:25 -08:00
mrg 87419bd640 Fix bitcell and pbitcell with different cell names 2020-11-03 11:30:40 -08:00
mrg cb3e9517bb Use cell_properties to override cell names 2020-11-03 07:06:01 -08:00
mrg da721a677d Remove EOL whitespace globally 2020-11-03 06:29:17 -08:00
mrg 8c4584daa1 Missing import fix. 2020-11-03 06:09:42 -08:00
mrg aec5865d71 Fix base class error 2020-11-02 17:41:14 -08:00
mrg f9787eb878 Use bitcell_base for all bitcells. Fix missing setup_bitcell call 2020-11-02 17:00:15 -08:00
mrg fa89b73ef8 PR from mithro + other changable GDS file names 2020-11-02 16:00:16 -08:00
mrg 1caecf5a69 Undo version and traceback 2020-11-02 10:44:49 -08:00
Tim 'mithro' Ansell bb164d915d Allow overriding the cell size layer name. 2020-11-02 10:03:52 -08:00
Tim 'mithro' Ansell 232f754c73 Adding traceback printing to tech file import. 2020-11-02 09:52:00 -08:00
Tim 'mithro' Ansell 95d77119c7 Add caches to GDS related functions in utils.py
* Cache the GDS reader.
 * Cache the properties (size / pins / etc) measured from the GDS files.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-11-02 09:52:00 -08:00
Tim 'mithro' Ansell 6514bcb4c1 Use default bitcell name if one isn't provided.
Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-11-02 09:52:00 -08:00
Tim 'mithro' Ansell 5c1250191c Fixup the bitcell.py to make subclassing work.
Read in the GDS properties inside the __init__ method.

Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>
2020-11-02 09:51:54 -08:00
mrg 029f655c1b Merge remote-tracking branch 'private/dev' into dev 2020-10-30 16:01:38 -07:00