Hunter Nichols
70fe90f0af
Added shared classes between regression models, added and changed some debug messages
2021-01-19 14:19:50 -08:00
Hunter Nichols
6d2a35e929
Changed most lists to dict to reduce hardcoded indices
2021-01-19 13:47:54 -08:00
Hunter Nichols
1881d43948
Added initial neural network model
2021-01-13 14:07:52 -08:00
Hunter Nichols
ed3d39a1b8
Added updated model data with slews and loads. Changed linear regressions to account for additional models.
2021-01-13 13:04:34 -08:00
Hunter Nichols
d6d8a037f1
Added values to datasheet info which will be used for model training
2021-01-11 15:20:56 -08:00
Hunter Nichols
6b053c8185
Adjusted margin for the period in elmore model
2021-01-11 12:53:14 -08:00
Hunter Nichols
d8437249f7
Condensed some datasheet code in lib.py
2021-01-06 15:53:22 -08:00
Hunter Nichols
bb841fc84d
Added option to output the datasheet.info file.
2021-01-06 12:45:34 -08:00
Hunter Nichols
9edaca0616
Changed tech path in linear regression to use openram_tech option.
2020-12-22 16:45:04 -08:00
Hunter Nichols
6eac0530a1
Added words per row to datasheet
2020-12-22 15:00:11 -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
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
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
Hunter Nichols
f1f6a1a520
Removed windows end of line characters.
2020-12-15 12:08:31 -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
Hunter Nichols
25544c3974
Added similar interface to linear regression as elmore
2020-12-14 13:59:31 -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
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
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
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
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
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
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
da721a677d
Remove EOL whitespace globally
2020-11-03 06:29:17 -08:00
mrg
b4ebbdd5df
Require either device models or device library. Remove sky130 flag.
2020-10-23 14:07:26 -07:00
mrg
3d5c73709b
Merge branch 'dev' into spmodels
2020-10-19 14:49:07 -07:00
mrg
7da3653ce5
Only output wmask to lib file in w or rw ports.
2020-10-16 16:59:51 -07:00
mrg
35c91168f7
Add load/slew scale option to config files
2020-10-16 13:52:36 -07:00
mrg
ca2ce8b070
Default bitcell opt1
2020-10-12 17:08:32 -07:00
mrg
ef310970bf
Use new Google PDK lib
2020-10-12 15:46:11 -07:00
mrg
9fe6358569
Change .spinit to .spiceinit
2020-10-05 13:50:04 -07:00
mrg
1e24b780bb
Initial pex sram test.
2020-10-02 13:32:52 -07:00
mrg
b32c123dab
PEP8 cleanup. Un-hard-code bitcell layers. Remove dead variable.
2020-10-01 11:10:18 -07:00
mrg
d315ff18e5
Add num_threads to options. PEP8 cleanup.
2020-10-01 08:07:03 -07:00
Matt Guthaus
2b475670f7
Check for failed result in functional simulation
2020-09-30 12:40:07 -07:00
mrg
bca69b24e3
Optional number of functional cycles
2020-09-29 13:43:54 -07:00
mrg
0c280e062a
Fix func test with row/col of 0. PEP8 cleanup. Smaller global test case.
2020-09-29 11:35:58 -07:00
mrg
d7e2340e62
Lots of PEP8 cleanup. Refactor path graph to simulation class.
2020-09-29 10:26:31 -07:00
mrg
88731ccd8e
Fix rounding error for wmask with various word_size
2020-09-28 09:53:01 -07:00
Hunter Nichols
500327d59b
Fixed import in simulation and fixed names in functional
2020-09-04 02:24:18 -07:00
Hunter Nichols
d027632bdc
Moved majority of code duplicated between delay and functional to simulation
2020-09-02 14:22:18 -07:00
Hunter Nichols
42f2ff679e
Removed dead code from delay and base module related to characterization
2020-08-27 15:40:41 -07:00
jcirimel
9cecf367ee
Merge branch 'dev' into pex
2020-08-17 17:49:41 -07:00
mrg
15c8c200f3
Undo super() in measurement abstract class
2020-08-12 12:10:12 -07:00
mrg
30976df48f
Change inheritance inits to use super
2020-08-06 11:33:26 -07:00
jcirimel
02e65a00ef
update pex to work with dev changes
2020-08-03 17:14:34 -07:00
Hunter Nichols
c6f2edc20d
Changed warning message for multiport analytical characterization.
2020-07-29 19:50:06 -07:00
Hunter Nichols
b4dafac489
Fixed issue with sen measurement not being added
2020-07-27 23:55:03 -07:00
Hunter Nichols
9ea3616260
Changed multiport characterization warning to better fit
2020-07-27 15:47:02 -07:00
Hunter Nichols
c65178f86c
Fixed issue with sen delay measure getting mixed with voltage checks
2020-07-27 15:43:50 -07:00
jcirimel
df4a231c04
fix merge conflicts
2020-07-21 11:38:34 -07:00
mrg
2011974e01
Make drc and lvs errors a member variable. Run only once.
2020-07-13 12:49:24 -07:00
Hunter Nichols
206b02a7ee
Merge branch 'dev' into characterizer_bug_fixes
2020-07-02 18:00:41 -07:00
Hunter Nichols
fb34338fdf
Removed debug statements
2020-07-02 18:00:02 -07:00
Hunter Nichols
119bd94689
Fixed warnings with single port characterization. Cleaned up some signal names.
2020-07-02 15:43:23 -07:00
Matt Guthaus
9b939c9a1a
DRC/LVS and errors fixes.
...
Only enact pdb if assert fails in debug.error.
Only run drc/lvs one time in parse_info by saving result.
Cleanup drc/lvs output.
2020-06-30 07:16:05 -07:00
Hunter Nichols
0464e2df5d
Allowed bitline checks for multiple ports.
2020-06-30 01:37:52 -07:00
Hunter Nichols
c289637dab
Allowed sen's from multiple ports to be characterized
2020-06-29 23:18:31 -07:00
mrg
94c480911b
ngspice raw save doesn't work with measures
2020-06-19 07:09:15 -07:00
mrg
403ea17039
PEP8 formatting
2020-06-18 14:55:01 -07:00
mrg
69f5621245
Save raw file from ngspice
2020-06-18 14:54:36 -07:00
mrg
443b8fbe23
Change s8 to sky130
2020-06-12 14:23:26 -07:00
Aditi Sinha
ef940e0dc5
Fixes for functional test of spare cols
2020-06-08 05:02:04 +00:00
Aditi Sinha
eb0c595dbe
SRAM layout and functional tests with spare cols
2020-06-03 12:31:30 +00:00
jcirimel
575278998d
write only used bitcells to top level in stim and pex output
2020-05-28 23:56:15 -07:00
jcirimel
0f9e38881c
update stim for large pex layouts
2020-05-04 03:05:33 -07:00
Aditi Sinha
2498ff07ea
Merge branch 'dev' into bisr
2020-05-02 07:48:35 +00:00
mrg
4d6d6af0a1
Merge remote-tracking branch 'public/dev' into dev
2020-04-22 09:28:25 -07:00
David Ratchkov
c2419af2e2
Fix voltage_map names (these do not need to match pg_pin names)
2020-04-22 09:03:22 -07:00
David Ratchkov
5aea45ed69
- Fix switched disabled powers
2020-04-17 16:23:06 -07:00
David Ratchkov
123cc371be
- Fix disabled power char
2020-04-17 16:09:58 -07:00
David Ratchkov
1f816e2823
- Characterize actual disabled power (read mode only)
...
- Report rise/fall power individually
2020-04-17 14:55:17 -07:00
David Ratchkov
7e36cd4828
- Write voltage_map and pg_pin
...
- Remove 'when' condition on leakage power
- Remove 'clk*' from 'when' condition on internal_power on the same 'clk*' pin
2020-04-17 13:45:57 -07:00
jcirimel
afcb5174ac
discrete dff tests working
2020-04-11 01:19:04 -07:00
jcirimel
a0eb9839ad
revert units on sp_lib, begin discrete tx simulation
2020-04-09 19:39:21 -07:00
Jesse Cirimelli-Low
8b33cb519f
Merge branch 'dev' into custom_mod
2020-04-03 17:05:56 -07:00
mrg
2850b9efb5
Don't force check in lib characterization. PEP8 formatting.
2020-04-02 12:52:42 -07:00
mrg
67de7efd49
Fix syntax error. No DRC/LVS in netlist only mode.
2020-04-02 11:31:28 -07:00
mrg
a9d3548be1
Refactor drc/lvs error output
2020-04-01 15:54:06 -07:00
Jesse Cirimelli-Low
6e2a5d7a1a
set sram output cap in characterizer to be 4x dff input cap
2020-04-01 04:24:43 -07:00
Aditi Sinha
a5afbfe0aa
Fixed errors in extra rows characterization
2020-03-22 20:54:49 +00:00
Aditi Sinha
34939ebd70
Merge branch 'dev' into bisr
2020-02-20 17:09:09 +00:00
Aditi Sinha
88bc1f09cb
Characterization for extra rows
2020-02-20 17:01:52 +00:00
Hunter Nichols
df2f981a34
Adds checks to prevent characterization of redundant corners.
2020-02-19 15:59:26 -08:00
Hunter Nichols
e4fef73e3f
Fixed issues with bitcell measurements variable names, made target write ports required during characterization
2020-02-19 15:34:31 -08:00
Hunter Nichols
843fce41d7
Fixed issues with sen control logic for read ports.
2020-02-19 03:06:11 -08:00
Jesse Cirimelli-Low
6e070925b6
update magic for multiport
2020-01-28 02:32:34 +00:00
Jesse Cirimelli-Low
1a97dfc63e
syncronize bitline naming convention betwen bitcell and pbitcell
2020-01-27 11:50:43 +00:00
Jesse Cirimelli-Low
d42cd9a281
pbitcell working with bitline adjustments
2020-01-27 10:03:31 +00:00
jcirimel
40c01dab85
fix bl in stim file
2020-01-21 01:44:15 -08:00
jcirimel
73691f6054
fix bug in top level bitline label placement
2020-01-21 00:20:52 -08:00
jcirimel
364842569a
fix s_en in stim
2020-01-16 12:16:49 -08:00
jcirimel
075bf0d841
label bitcell in stim, add s_en top level to stim
2020-01-16 03:51:29 -08:00
jcirimel
f0958b0b11
squashed update of pex progress due to timezone error
2019-12-18 03:03:13 -08:00
Matt Guthaus
46c2cbd2d9
Check nominal_corner_only in new corner creation routine
2019-11-29 14:47:02 -08:00
Matt Guthaus
bedae87315
Only use max/min and typical corner
2019-11-29 13:31:44 -08:00
Matt Guthaus
240c416100
Remove extra print
2019-11-17 10:40:01 -08:00
Matt Guthaus
764d4da1bd
Clean up config file organization. Improve gdsMill debug output.
2019-10-23 10:48:18 -07:00
Matt Guthaus
289d3b3988
Feedthru port edits.
...
Comment about write driver size for write through to work, but
disable write through in functional simulation.
Provide warning in Verilog about write throughs.
2019-09-27 14:18:49 -07:00
Matt Guthaus
9ec663e0b1
Write all write ports first cycle. Don't check feedthru.
2019-09-07 20:20:44 -07:00
Matt Guthaus
35a8dd2eec
Factor out masking function
2019-09-07 20:05:05 -07:00
Matt Guthaus
e5db02f7d8
Fix wrong function. Except unknown ports.
2019-09-06 14:59:23 -07:00
Matt Guthaus
93c89895c9
Remove unused test structures
2019-09-06 14:58:47 -07:00
Matt Guthaus
b5b0e35c8a
Fix syntax error.
2019-09-06 12:29:28 -07:00
Matt Guthaus
86c22c8904
Clean and simplify simulation code. Feedthru check added.
2019-09-06 12:09:12 -07:00
Matt Guthaus
969cca28e4
Enable sensing during writes. Need to add dedicated test.
2019-09-06 07:16:50 -07:00
Matt Guthaus
678b2cc3fa
Fix functional test clk name
2019-09-04 18:59:08 -07:00
Matt Guthaus
4c3b171b72
Share nominal temperature and voltage. Nominal instead of typical.
2019-09-04 16:53:58 -07:00
Matt Guthaus
585ce63dff
Removing unused tech parms. Simplifying redundant parms.
2019-09-04 16:08:18 -07:00
jsowash
496a9919b8
Added wmask as a type group to .lib.
2019-09-04 09:45:11 -07:00
jsowash
452cc5e443
Added wmask to lib.py.
2019-09-04 09:29:45 -07:00
jsowash
b5ca417b26
Added fix for column mux lib generation.:
2019-09-03 11:50:39 -07:00
Matt Guthaus
ee2456f433
Merge branch 'add_wmask' into dev
2019-08-22 15:01:41 -07:00
Matt Guthaus
9f54afbf2c
Fix capitalization in verilog golden files
2019-08-21 14:29:57 -07:00
Matt Guthaus
d0f04405a6
Convert capital names to lower case for consistency
2019-08-21 13:45:34 -07:00
jsowash
2573b5f48b
Fixed merge conflict.
2019-08-11 14:39:36 -07:00
Matt Guthaus
c09005dab9
Redo logic for detecting bad bitlines
2019-08-10 17:32:36 -07:00
Hunter Nichols
1d22d39667
Uncommented tests that use model delays. Fixed issue in sense amp cin.
2019-08-08 18:26:12 -07:00
Hunter Nichols
3c44ce2df6
Replaced analytical characterization with graph implementation. Removed most analytical delay functions used by old chacterizer.
2019-08-08 02:33:51 -07:00
Hunter Nichols
fc1cba099c
Made all cin function relate to farads and all input_load relate to relative units.
2019-08-08 01:57:04 -07:00
jsowash
9409f60237
Merge branch 'dev' into add_wmask
2019-08-07 09:42:55 -07:00
jsowash
a6bb410560
Begin implementing a write mask layout as the port data level.
2019-08-07 09:12:21 -07:00
Hunter Nichols
6860d3258e
Added graph functions to compute analytical delay based on graph path.
2019-08-07 01:50:48 -07:00
Matt Guthaus
aae8566ff2
Update golden delays. Fix uninitialized boolean.
2019-08-05 15:45:59 -07:00
Matt Guthaus
4d11de64ac
Additional debug. Smaller psram func tests.
2019-08-05 13:53:14 -07:00
Matt Guthaus
a8d09acd40
Use ordered dict instead of sorting keys
2019-08-01 12:21:30 -07:00
Matt Guthaus
d403362183
Sort keys for random read address choice.
2019-08-01 11:32:49 -07:00
Hunter Nichols
b4ef0ec36d
Removed unused characterization module.
2019-07-30 20:33:17 -07:00
Hunter Nichols
24b1fa38a0
Added graph fixes to handmade multiport cells.
2019-07-30 20:31:32 -07:00
Hunter Nichols
c12dd987dc
Fixed pbitcell graph edge formation.
2019-07-30 00:49:43 -07:00
Matt Guthaus
468a759d1e
Fixed control problems (probably)
...
Extended functional tests for 15 cycles (slow, but more checking)
Fixed s_en to be gated AFTER the RBL.
2019-07-27 11:09:08 -07:00
Matt Guthaus
0c5cd2ced9
Merge branch 'dev' into rbl_revamp
2019-07-26 18:01:43 -07:00
Matt Guthaus
3327fa58c0
Add some signal names to functional test comments
2019-07-26 14:49:53 -07:00