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
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