Hunter Nichols
74b55ea83b
Added a graph exclusion clear for the mux to prevent previous graph creations causing bugs.
2021-06-14 14:39:54 -07:00
Hunter Nichols
7df36a916b
Added an exclusion for unused column mux paths to prevent multiple outputs paths in graph.
2021-06-14 13:51:52 -07:00
mrg
8964abc2b7
Change simulator based on one in use.
2021-06-09 16:02:32 -07:00
Hunter Nichols
4ec2e1240f
Merge branch 'dev' into automated_analytical_model
2021-06-09 15:45:41 -07:00
Hunter Nichols
ccf98ad5a6
Added accuracy check in regression model test.
2021-06-09 13:44:42 -07:00
Hunter Nichols
b6b20c1f43
Removed level 0 debug statements for bitlines naming.
2021-06-09 12:53:31 -07:00
Hunter Nichols
f25dcf1b63
Fixed issue with bitline name warning occuring when no issue is present.
2021-06-09 12:52:26 -07:00
Hunter Nichols
3d82718f5a
Changed neural network model to be sklearn based
2021-06-07 12:26:45 -07:00
Hunter Nichols
331e6f8dd5
Added functions for testing accuracy of current regression model and associated test.
2021-06-04 15:04:52 -07:00
Hunter Nichols
54639bbb94
Added more data for regression models
2021-06-04 13:37:21 -07:00
mrg
537fd6eff9
Use None instead of empty string for tool names.
2021-06-01 16:41:14 -07:00
Hunter Nichols
b3bcf48d2e
Merge branch 'dev' into automated_analytical_model
2021-05-26 18:42:24 -07:00
Hunter Nichols
a53c6c51ed
Added sim data for freepdk45 and removed stale data
2021-05-26 18:40:46 -07:00
mrg
e16f44cc81
Update lib file with external supply names
2021-05-26 15:34:32 -07:00
mrg
4a8e0cdabb
Add top-level pin functionality
2021-05-26 15:04:52 -07:00
Hunter Nichols
2f4f8ca912
Fixed conflicts in delay and elmore modules on merge with dev.
2021-05-25 15:25:43 -07:00
Hunter Nichols
76f5578cc1
Removed path delays from characterization output to not disturb the current testing flow.
2021-05-25 15:19:27 -07:00
Hunter Nichols
23368c0fcf
Updated tests and elmore model with load_slew lists. Changed naming on characterization output to not clash with testing.
2021-05-25 14:49:28 -07:00
Hunter Nichols
1488b31dce
Adjusted model prediction to account for a single datafile. Adjusted unscaling data as well.
2021-05-24 12:53:51 -07:00
Hunter Nichols
53503f40d2
Changed util functions to expect multiple outputs in data. Changed train models to account for multiple outputs when reading in data.
2021-05-24 12:03:26 -07:00
mrg
9c01e22281
Prioritize Xyce.
2021-05-21 12:05:10 -07:00
mrg
f856a44376
Restrict to direct KLU solver
2021-05-21 12:04:26 -07:00
mrg
fc17a1ff45
Xyce can be capital or lower case
2021-05-21 12:04:26 -07:00
mrg
eadf7eedc5
Prioritize Xyce to last until bugs resolved.
2021-05-21 10:01:37 -07:00
Hunter Nichols
41c8eeb23c
Adjusted paths in makefile for generating data used in regression models
2021-05-20 13:05:16 -07:00
Hunter Nichols
0434e57609
Added target in makefile to run configs and store results in tech directory.
2021-05-17 14:03:32 -07:00
mrg
3abebe4068
Add hierarchical seperator option to work with Xyce measurements.
2021-05-14 16:16:25 -07:00
mrg
7534610cdd
Add MPI capability for Xyce threading.
2021-05-14 11:45:37 -07:00
mrg
67a67111a6
Initial Xyce support.
2021-05-14 11:28:29 -07:00
mrg
3959cf73d1
Remove setup/hold measure and compute it directly.
2021-05-14 10:11:14 -07:00
mrg
9555b52aaa
Remove setup/hold measure and compute it directly.
2021-05-14 10:01:10 -07:00
Hunter Nichols
16904496ac
Made path delays write out to the extended OPTS file.
2021-05-05 01:14:54 -07:00
Hunter Nichols
b8c7fcf182
Removed measurement check which conflicts with multiport memories
2021-04-21 15:53:27 -07:00
Hunter Nichols
5dad0f2c0e
Merged with dev, fixed import conflict in lib
2021-04-18 23:59:35 -07:00
mrg
61b1b90dd3
Use built in binary conversion. Improve spare debug output.
2021-04-07 16:08:29 -07:00
mrg
5843aa037c
Update functional test to use spare columns separately.
...
Fix no spare columns data width error.
2021-04-07 16:08:24 -07:00
mrg
d609e4ea04
Reimplement trim options (except on unit tests).
...
Allow trim netlist to be used for delay and functional simulation.
Each class implements a "trim_insts" set of instances that can be removed.
By default far left, right, top and bottom cells in the bitcell arrays are kept.
Use lvs option in sp_write
Fix lvs option in sram.
2021-04-07 16:07:56 -07:00
mrg
014c95f761
Add accounting output to ngspice
2021-04-01 16:48:15 -07:00
mrg
c7f99aef2c
Add functional comment to aid debugging checks.
2021-03-31 12:14:20 -07:00
mrg
671470f5f2
Skywater changes.
...
Default 1 thread and no temp subdirectory.
Add skywater setup/hold golden data
Add CLI option for simulation threads (-m)
Add compatibility mode option and nomodcheck for ngspice to speed up sky130 model loading.
Make subdir when using default /tmp dir.
Pass num_threads so temp subdirs are created.
2021-03-22 15:48:14 -07:00
Hunter Nichols
6f01ab4792
Added simulation time modeling to regression model.
2021-03-22 12:55:29 -07:00
Hunter Nichols
208586a8e8
Added simulation time in the datasheet
2021-03-22 12:21:10 -07:00
Hunter Nichols
2cd3d28add
linear regression model coefficients are now written to the extended config file
2021-03-02 13:14:56 -08:00
mrg
90cb9f581f
Fixes to get hspice delay test to pass.
2021-03-02 09:28:41 -08:00
mrg
9e7c04a43a
Merge lekez2005 changes WITHOUT control logic change.
2021-03-01 15:19:30 -08:00
mrg
4ab694033d
Merge remote-tracking branch 'bvhoof/dev' into dev
2021-03-01 12:16:26 -08:00
Bob Vanhoof
f5a9ab3b2c
cleanup clutter
2021-03-01 15:23:57 +01:00
Bob Vanhoof
fde8794282
calibre pex modifications to run hierarchical pex
2021-03-01 09:56:25 +01:00
ota2
9d025604ff
Simulate calibre extracted netlists without requiring extra layout ports
2021-02-27 19:29:18 -05:00
ota2
9a2987ad07
Add spectre simulator
2021-02-27 19:25:00 -05:00
Hunter Nichols
d3ef1d7b85
Changed to ridge model to reduce effects of overfitting on small models.
2021-02-26 11:00:21 -08:00
Hunter Nichols
b5516865f1
Added option to allow specific load/slew combinations in config file.
2021-02-24 16:43:34 -08:00
Hunter Nichols
2ce802612b
Stopped script from crashing if area is not included in the model dataset
2021-02-17 10:42:01 -08:00
Hunter Nichols
ad1509b29b
Added local_array_size as an input to the model
2021-02-17 10:00:11 -08:00
Hunter Nichols
3f5fd0b6f4
Merge branch 'dev' into automated_analytical_model
2021-02-15 15:20:49 -08:00
Hunter Nichols
c308dd34a4
Merge branch 'dev' into elmore_model_tuning
2021-02-15 14:50:56 -08:00
Hunter Nichols
4700f14e82
Removed area as an input feature to regression model
2021-02-10 14:20:38 -08:00
mrg
b82b7aaf28
PEP8 format
2021-02-10 12:10:04 -08:00
Hunter Nichols
f81c1ee4fc
Contents of previous datasheet truncated if paths are the same
2021-02-05 16:51:35 -08:00
mrg
19e99d1c7b
Enable parallel regression testing.
2021-02-03 14:19:11 -08:00
Hunter Nichols
df8d59f32e
Merge branch 'dev' into automated_analytical_model
2021-02-01 01:49:45 -08:00
Hunter Nichols
7bed5bdd1c
Added option for model to specify regression model data path.
2021-01-25 14:24:54 -08:00
Matt Guthaus
30fc81a1f0
Update copyright year.
2021-01-22 11:23:28 -08:00
Hunter Nichols
e26e17c53f
Added option to specify exact corners for characterization in config file
2021-01-22 00:50:28 -08:00
Hunter Nichols
d1b240dfb5
Added nom_voltage, etc back but changed values to replicate the operating conditions. Readded nom values back in golden files.
2021-01-21 13:52:55 -08:00
Hunter Nichols
b0c2722583
Changed lib file to only contain reference to the operating voltage and removed nominal voltage references.
2021-01-19 15:22:50 -08:00
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