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
Matt Guthaus
8ebc568e8b
Minor cleanup. Skip more tests until analytical fixed.
2019-07-26 08:33:06 -07:00
jsowash
de485182bc
Cleaned up comments about wmask.
2019-07-25 13:21:17 -07:00
jsowash
61ba23706c
Removed comments for rw pen() and added a wmask func test.
2019-07-25 12:24:27 -07:00
Matt Guthaus
54b312eaf9
Add return type
2019-07-24 17:00:38 -07:00
Matt Guthaus
2f03c594c5
Remove success initialization
2019-07-24 16:59:19 -07:00
Matt Guthaus
fb60b51c72
Add check bits. Clean up logic. Move read/write bit check to next cycle.
2019-07-24 16:57:04 -07:00
jsowash
3bcb79d9d5
Removed code for RW ports to not precharge on writes. Previously, the entire bitline was written where part was an old value and part was the wmask value.
2019-07-24 15:01:20 -07:00
Matt Guthaus
fe0db68965
Refactor to share get_measurement_variant
2019-07-24 11:29:29 -07:00
Matt Guthaus
9cb96bda7d
Mostly formatting. Added write measurements.
2019-07-24 10:57:33 -07:00
Matt Guthaus
3df8abd38c
Clean up. Split class into own file.
2019-07-24 08:15:10 -07:00
jsowash
01493aab3e
Added wmask valuesto functional test through add_wmask()
2019-07-23 15:58:54 -07:00
jsowash
2b29e505e0
Reversed order of wmask bits in functional.py since python lists go left to right. Made # of en bits equal to num_masks.
2019-07-22 12:44:35 -07:00
jsowash
72e16f8fe6
Added ability to do partial writes to addresses that have already been written to.
2019-07-22 11:19:14 -07:00
jsowash
0a5461201a
Change num_wmask to num_wmasks and write_size = None not word_size if wmask not used.
2019-07-19 14:58:37 -07:00
jsowash
45cb159d7f
Connected wmask in the spice netlist.
2019-07-19 13:17:55 -07:00
jsowash
082decba18
Temporarily made the functional tests write/read only all 0's or 1's
2019-07-18 15:26:38 -07:00
jsowash
917a69723f
Fixed typo
2019-07-17 12:26:05 -07:00
jsowash
720739a192
Skipping test 22_sram_wmask_func_test and changed a typo of write_driver to write_mask
2019-07-17 11:04:17 -07:00
Hunter Nichols
9696401f34
Added graph exclusions to replica column to reduce s_en paths.
2019-07-16 23:47:34 -07:00
jsowash
021d604832
Removed wmask from addwrite()
2019-07-15 16:48:36 -07:00
jsowash
ea2f786dcf
Redefined write_size inrecompute_sizes() to take the new word_size()
2019-07-15 14:41:26 -07:00
jsowash
dfa2b29b8f
Begin adding wmask netlist and spice tests.
2019-07-12 10:34:29 -07:00
jsowash
474ac67af5
Added optional write_size and wmask.
2019-07-03 10:14:15 -07:00
Hunter Nichols
ce7e320505
Undid change to add bitcell as input to array mod.
2019-06-25 18:26:13 -07:00
Hunter Nichols
4e08e2da87
Merged and fixed conflicts with dev
2019-06-25 16:55:50 -07:00
Hunter Nichols
4f3340e973
Cleaned up graph additions to characterizer.
2019-06-25 16:37:35 -07:00
Hunter Nichols
33c17ac41c
Moved manual delay chain declarations from tech files to options.
2019-06-25 15:45:02 -07:00
Matt
d22d7de195
Reapply jsowash update without spice model file
2019-06-24 08:59:58 -07:00
Matt Guthaus
a234b0af88
Fix space before comment
2019-06-14 08:43:41 -07:00
Hunter Nichols
36214792eb
Removed some debug measurements that were causing failures.
2019-05-28 17:04:27 -07:00
Hunter Nichols
ad229b1504
Altered indexing of objects in SRAM factory to remove duplications of items using OPTS names. Added smarter bitline name checking.
2019-05-28 16:55:09 -07:00
Hunter Nichols
e2d1f7ab0a
Added smarter name checking for the characterizer.
2019-05-27 13:08:59 -07:00
Hunter Nichols
099bc4e258
Added bitcell check to storage nodes.
2019-05-20 18:35:52 -07:00
Hunter Nichols
412f9bb463
Added additional check to bitline to reduce false positives.
2019-05-17 01:56:22 -07:00
Hunter Nichols
03a762d311
Replaced constant string comparisons with enums
2019-05-16 14:18:33 -07:00
Hunter Nichols
d8617acff2
Merged with dev
2019-05-15 18:48:00 -07:00
Hunter Nichols
a80698918b
Fixed test issues, removed all bitcells not relevant for timing graph.
2019-05-15 17:17:26 -07:00
Hunter Nichols
178d3df5f5
Added graph to characterizer to get net names and perform s_en checks. Graph not working with column mux.
2019-05-14 14:44:49 -07:00
Hunter Nichols
b30c20ffb5
Added graph creation to characterizer, re-arranged pin creation.
2019-05-14 01:15:50 -07:00
Hunter Nichols
b4cce65889
Added incorrect read checking in characterizer.
2019-05-13 19:38:46 -07:00
Hunter Nichols
d54074d68e
Made timing graph more gate-level. Changed edges to be defined by inputs/ouputs and name based.
2019-05-07 00:52:27 -07:00
Matt Guthaus
0f03553689
Update copyright to correct years.
2019-05-06 06:50:15 -07:00
Matt Guthaus
3f9a987e51
Update copyright. Add header to all OpenRAM files.
2019-04-26 12:33:53 -07:00
Hunter Nichols
f35385f42a
Cleaned up names, added exclusions to narrow paths for analysis.
2019-04-24 23:51:09 -07:00
Hunter Nichols
e292767166
Added graph creation and functions in base class and lower level modules.
2019-04-24 14:23:22 -07:00
Hunter Nichols
cc5b347f42
Added analyical model test which compares measured delay to model delay.
2019-04-03 16:26:20 -07:00
Hunter Nichols
f6eefc1728
Added updated analytical characterization with combined models
2019-04-02 01:09:31 -07:00
Hunter Nichols
97777475b4
Added additions to account for custom delay chains.
2019-03-28 17:16:23 -07:00
Hunter Nichols
50d3b4cb8d
Added some bitline measures to the model_checker
2019-03-19 15:03:57 -07:00
Hunter Nichols
910878ed30
Removed bitline measures until hardcoded signal names are made dynamic
2019-03-07 12:30:27 -08:00
Hunter Nichols
80a325fe32
Added corner information for analytical power estimation.
2019-03-04 19:27:53 -08:00
Hunter Nichols
ddeb40c9bf
Added lib test which generates multiple corner models. Only does process currently.
2019-03-04 16:27:10 -08:00
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -08:00
Hunter Nichols
816669b9ca
Merge branch 'dev' into multiport_characterization
2019-02-26 22:48:39 -08:00
Hunter Nichols
42bc6efb21
Added additional graphing and data collection to script
2019-02-26 20:06:35 -08:00
Matt Guthaus
583dc4410b
Revert bus bits back into pins
2019-02-22 16:22:27 -08:00
Jennifer Eve Sowash
1249dcc34d
Merge branch 'dev' into pdriver
2019-02-20 13:00:58 -08:00
Jennifer Eve Sowash
6d3a29328c
Fixed a bug with corner_name in lib.py remaining static.
2019-02-20 12:59:40 -08:00
Jesse Cirimelli-Low
e3ff9b53e9
fixed area not being found
2019-02-14 07:01:35 -08:00
Hunter Nichols
a4bb481612
Added tracking for available data.
2019-02-12 16:28:37 -08:00
Jesse Cirimelli-Low
36d8d98b17
Merge branch 'dev' into datasheet_gen
2019-02-08 12:05:04 -08:00
Jesse Cirimelli-Low
6cde6beafa
added documetation to functions
2019-02-07 06:33:39 -08:00
Hunter Nichols
d0edda93ad
Added more variance analysis for the delay data
2019-02-07 02:27:22 -08:00
Jesse Cirimelli-Low
e131af2cc3
power added to datasheet (finally)
2019-02-06 20:31:22 -08:00
Hunter Nichols
01c8405d12
Fix bitline measurement delays and adjusted default delay chain for column mux srams
2019-02-06 00:46:25 -08:00
Hunter Nichols
5f01a52113
Fixed some delay model bugs.
2019-02-05 21:15:12 -08:00
Hunter Nichols
12723adb0c
Modified some testing and initial delay chain sizes.
2019-02-04 23:38:26 -08:00
Jesse Cirimelli-Low
c22025839c
datasheet now indicates if analytical or characterizer is used
2019-01-31 08:28:51 -08:00
Jesse Cirimelli-Low
21868e1b60
removed expanded process names from corners
2019-01-31 08:09:00 -08:00
Hunter Nichols
45fceb1f4e
Added word per row to sram config with a default arguement to fix test.
2019-01-30 11:43:47 -08:00
Hunter Nichols
c10c9e4009
Refactored some code and other additional improvements.
2019-01-29 23:02:28 -08:00
Hunter Nichols
242a63accb
Fixed issues introduced by pdriver additions in model unit test
2019-01-29 16:43:30 -08:00
Hunter Nichols
d1218778b1
Fixed merge conflicts
2019-01-28 22:33:08 -08:00
Jesse Cirimelli-Low
ed901aba5f
changed datetime to date
2019-01-28 10:29:27 -08:00
Hunter Nichols
6d3884d60d
Added corner data collection.
2019-01-22 16:40:46 -08:00
Hunter Nichols
5885e3b635
Removed carriage returns, adjusted signal names generation for variable delay chain size.
2019-01-18 00:23:50 -08:00
Hunter Nichols
5bbc43d0a0
Added data collection of wordline and s_en measurements.
2019-01-17 01:59:41 -08:00
Jesse Cirimelli-Low
0556b86424
html datasheet no longer dependeds on sram
2019-01-16 14:52:01 -08:00
Hunter Nichols
cc0be510c7
Added some data scaling and error calculation in model check.
2019-01-16 00:46:24 -08:00
Hunter Nichols
6152ec7ec5
Merge branch 'dev' into multiport_characterization
2019-01-15 16:33:39 -08:00
Matt Guthaus
a7dd62b0e5
falling_edge not negative_edge
2019-01-11 15:17:27 -08:00
Matt Guthaus
f0ab155172
Change dout to negative clock edge relative
2019-01-11 09:51:05 -08:00
Hunter Nichols
21663439cc
Added slews measurements to the model checker. Removed unused code in bitline delay class.
2019-01-09 22:42:34 -08:00
Matt Guthaus
94a6cbc28b
Remove extra bracket in pin blokc
2019-01-09 13:44:25 -08:00
Matt Guthaus
7e635d02be
Remove indices from pins in lib file
2019-01-09 12:00:00 -08:00
Jesse Cirimelli-Low
24161a1df2
Merge branch 'dev' into datasheet_gen
2019-01-07 18:18:46 -08:00
Matt Guthaus
2236ca40df
Make xa least priority since it fails functional tests.
2019-01-03 19:20:31 -08:00
Jesse Cirimelli-Low
6acc8c8902
removed print debug statement
2019-01-03 13:41:25 -08:00
Jesse Cirimelli-Low
53b7e46db4
fixed bug where retrieving git id would fail depending on cwd
2019-01-03 12:28:29 -08:00
Hunter Nichols
272267358f
Moved all bitline delay measurements to delay class. Added measurements to check delay model.
2019-01-03 05:51:28 -08:00
Jesse Cirimelli-Low
c69e5fdb18
added compile time to datasheet
2019-01-02 10:30:03 -08:00
Jesse Cirimelli-Low
cc27736a45
moved DRC and LVS error reports to datasheet.info from datasheet.py
2019-01-02 10:14:45 -08:00
Hunter Nichols
66b2fcdc91
Added data parsing to measurement objects and adding power measurements.
2018-12-20 15:54:56 -08:00
Hunter Nichols
b10ef3fb7e
Replaced delay measure statement with object implementation.
2018-12-19 18:33:06 -08:00
Hunter Nichols
8eb4812e16
Made parasitic delay parameter in Freepdk45 more accurate, added stage names to delay model.
2018-12-17 23:32:02 -08:00
Hunter Nichols
e4065929c2
Added bitline threshold delay checks to delay tests.
2018-12-13 22:21:30 -08:00
Hunter Nichols
97fc37aec1
Added checks for the bitline voltage at sense amp enable 50%.
2018-12-12 23:59:32 -08:00
Hunter Nichols
0510aeb3ec
Merged with dev, removed commented out code.
2018-12-12 16:02:16 -08:00
Hunter Nichols
50f13eabce
Added better port selection to bitline measurements.
2018-12-12 15:59:20 -08:00
Hunter Nichols
6ac474d642
Added bitline measures with hardcoded names.
2018-12-12 00:43:08 -08:00
Hunter Nichols
82e074ebf0
Added initial structure for bitline measurements.
2018-12-11 14:06:11 -08:00
Hunter Nichols
b157fc58a1
Moved feasible period search from functional.py to tests.
2018-12-05 23:23:40 -08:00
Jesse Cirimelli-Low
cd0e763895
moved system call to datasheet.info generator
2018-12-05 17:35:35 -08:00
Hunter Nichols
ea55bda493
Changed s_en delay calculation based recent control logic changes.
2018-12-05 17:10:11 -08:00
Jesse Cirimelli-Low
7e475b376e
switch to git rev-parse solution for id parsing
2018-12-05 14:58:37 -08:00
Jesse Cirimelli-Low
7a20420030
get ORIG_HEAD with pre-commit hook
2018-12-05 13:38:09 -08:00
Hunter Nichols
0c3c58011b
Fixed delay test values.
2018-12-05 00:13:23 -08:00
Jesse Cirimelli-Low
5646660765
added git id to datasheet
2018-12-03 10:53:50 -08:00
Jesse Cirimelli-Low
9501b99df7
merged branch wtih dev
2018-12-03 09:47:34 -08:00
Hunter Nichols
722bc907c4
Merged with dev. Fixed conflicts in tests.
2018-12-02 23:09:00 -08:00
Matt Guthaus
3cfe74cefb
Functional simulation uses threshold for high and low noise margins
2018-11-28 16:55:04 -08:00
Hunter Nichols
b06aa84824
Functional tests now find a feasible period instead of using a heuristic. Bug found, trimming pbitcell netlists causes bit flips.
2018-11-23 18:55:15 -08:00
Hunter Nichols
5f954689a5
In delay.py, altered dummy address based on column mux. Added some hacks to make min_period work for srams with columns muxes.
2018-11-23 13:19:55 -08:00
Hunter Nichols
8257e4fe8c
Changed syntax in replica_bl tests, golden data to fit new values in delay tests.
2018-11-19 16:51:43 -08:00
Hunter Nichols
a55d907d03
High-to-low delays and slews are copied from the low-to-high values to simplify lib file results. FIXME
2018-11-19 15:40:26 -08:00
Hunter Nichols
d3c47ac976
Made delay measurements less dependent on period.
2018-11-18 23:28:49 -08:00
Hunter Nichols
3716030a23
Added delay chain sizing for rise/fall delays. Disabled to some sizes being having very large fanouts.
2018-11-16 16:57:22 -08:00
Hunter Nichols
6e47de3f9b
Separated relative delay into rise/fall.
2018-11-14 23:34:53 -08:00
Hunter Nichols
8b6a28b6fd
Changed scmos bitcell 1rw,1r to have same tx widths as pbitcell.
2018-11-13 22:24:18 -08:00
Jesse Cirimelli-Low
5c4ee911aa
added another VLSI logo and fixed control port numbering
2018-11-11 07:22:13 -08:00
Jesse Cirimelli-Low
4ba07e4b94
Complete rewrite of parser, all ports (except clock) added on multiport sheets
2018-11-10 20:23:26 -08:00
Jesse Cirimelli-Low
62f8d26ec6
Merge branch 'dev' into datasheet_gen
2018-11-10 10:58:35 -08:00
Hunter Nichols
bad55cfd05
Merged with dev. Fixed merge conflict.
2018-11-09 17:18:19 -08:00
Hunter Nichols
ea1a1c7705
Added delay chain resizing based on analytical delay.
2018-11-09 17:14:52 -08:00
Hunter Nichols
8957c556db
Added sense amp enable delay calculation.
2018-11-08 23:54:18 -08:00
Hunter Nichols
b8061d3a4e
Added initial code for determining the logical effort delay of the wordline.
2018-11-08 23:54:18 -08:00
Jesse Cirimelli-Low
d6c0247ff2
added area to datasheet
2018-11-08 21:30:17 -08:00
Matt Guthaus
71177d0b70
Fixed small bugs with new port index stuff and layout.
2018-11-08 17:40:22 -08:00
Matt Guthaus
7b10e3bfec
Convert port index lists to three simple lists.
2018-11-08 12:19:40 -08:00
Jesse Cirimelli-Low
781bd13cc1
Merge branch 'dev' into datasheet_gen
2018-11-07 10:08:45 -08:00
Hunter Nichols
9744bc516a
Merge branch 'dev' into multiport_characterization
2018-11-05 10:40:29 -08:00
Matt Guthaus
38dab77bfc
Add fixed seed to functional test during unit tests. Skip non-working tests after fixed seed.
2018-11-03 10:53:09 -07:00
Jesse Cirimelli-Low
fe196c23a9
added FF timing information
2018-10-30 22:32:19 -07:00
Hunter Nichols
e5dcf5d5b1
Altered bitline with heuristic to have a larger delay chain for larger column muxes. Also have to alter the feasible period for functional tests to pass.
2018-10-30 22:19:26 -07:00
Jesse Cirimelli-Low
2da90c4b6a
fixed double counting of characterization tuple permutations
2018-10-27 12:04:10 -07:00
Hunter Nichols
98a00f985b
Changed the analytical delay model to accept multiport options. Little substance to the values generated.
2018-10-26 00:08:13 -07:00
Hunter Nichols
8e243258e4
Added updated 1rw 1r bitcell with a text boundary. Added bitcell array test for the bitcell.
2018-10-26 00:08:12 -07:00
Matt Guthaus
57fb847d50
Fix check for missing simulator type in characterizer
2018-10-25 09:08:56 -07:00
Michael Timothy Grimes
3202e1eb09
Altering comment code in simulation.py to match the needs of delay.py
2018-10-25 00:58:01 -07:00
Michael Timothy Grimes
40450ac0f5
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-10-25 00:36:46 -07:00
Michael Timothy Grimes
ceab1a5daf
Adding debug comments to stim file for functional test and cleaning up comment code in simulation.py. Adding multiple tests for different mux configurations to functional unit tests.
2018-10-25 00:11:00 -07:00
Hunter Nichols
a711a5823d
Merged dev and fix conflicts in geometry.py
2018-10-24 10:52:22 -07:00
Matt Guthaus
cccde193d0
Add ngspice equivalents of RUNLVL
2018-10-24 10:31:27 -07:00
Matt Guthaus
5f17525501
Added run-level option for write_control and enabled fast mode in functional tests
2018-10-24 09:32:44 -07:00
Hunter Nichols
da1b003d10
Fixed multiport lib files not generating the correct number of signals. Move setup time from DOUT to DIN in lib file. Altered golden files with these changes.
2018-10-24 00:17:08 -07:00
Hunter Nichols
016604f846
Fixed spacing in golden lib files. Added column mux into analytical model.
2018-10-24 00:16:26 -07:00
Hunter Nichols
53cb4e7f5e
Fixed lib files to be syntactically correct with multiport. Fixed issue in geometry.py that prevented netlist_only option from working.
2018-10-22 23:33:01 -07:00
Hunter Nichols
62439bdac6
Fixed merge conflicts with sram.py
2018-10-22 17:29:14 -07:00
Michael Timothy Grimes
2053a1ca4d
Improved debug comments for functional test
2018-10-22 01:09:38 -07:00
Jesse Cirimelli-Low
ab6afb7ca8
fixed html typos, added logo, added placeholder timing and current, began ports section
2018-10-17 19:27:09 -07:00
Matt Guthaus
5d6944953b
Fix char_result rename collision
2018-10-17 09:38:26 -07:00
Michael Timothy Grimes
a27cdb4fbc
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-10-17 07:32:03 -07:00
Jesse Cirimelli-Low
afba54a22d
added analytical model support, added proper output with sram.py
2018-10-12 13:22:12 -07:00
Matt Guthaus
f7d1df6ca7
Fix trim spice with new names
2018-10-11 10:36:49 -07:00
Hunter Nichols
f30e54f33c
Cleaned up indexing in variable that records cycle times.
2018-10-10 00:02:03 -07:00
Hunter Nichols
3ac2d29940
Made delay.py a child of simulation.py. Removed duplicate code in delay and changed some in simulation
2018-10-09 17:44:28 -07:00
Hunter Nichols
a3bec5518c
Put worst case test under the hierarchy of a delay test. Added option for pex option to worst case test.
2018-10-09 00:36:14 -07:00
Hunter Nichols
fd806077d2
Added class and test for testing the delay of several bitcells.
2018-10-08 15:50:52 -07:00
Michael Timothy Grimes
6ef1a3c755
Improvements to functional test. Now will read or write in a random sequence, using randomly generated words and addresses, and using random ports in the multiported cases. Functional test still has some bugs that are being worked out so it will sometimes fail and sometimes not fail.
2018-10-08 06:34:36 -07:00
Jesse Cirimelli-Low
fa979e2d34
initial stages of html documentation generation
2018-10-06 21:15:54 -07:00
Hunter Nichols
7b4e001885
Altered web to only be generated for rw ports.
2018-10-04 15:08:12 -07:00
Hunter Nichols
371a57339f
Fixed bugs to allow characterization of multiple read ports. Improved some debug messages.
2018-10-04 14:09:09 -07:00
Hunter Nichols
6e0a1b8823
Fixed bugs in power simulations. Made regex raw strings to remove warnings
2018-10-04 14:09:09 -07:00
Hunter Nichols
c876bbfe73
Changed characterizer control generation to match recent changes in multiport.
2018-10-04 14:09:09 -07:00
Hunter Nichols
2e322be7f7
Added changes the control logic PWL generation to match changes made in stimuli.
2018-10-04 14:09:09 -07:00
Hunter Nichols
88f2238e03
Multiport variable bug fix and removed unused code.
2018-10-04 14:09:09 -07:00
Hunter Nichols
bb79d9a62d
Added regex pattern matching to trim_spice to handle multiport.
2018-10-04 14:09:09 -07:00
Hunter Nichols
e7f92e67d0
Fixed issues with inst_sram that prevented functional test from running after merge.
2018-10-04 14:09:01 -07:00
Hunter Nichols
6c537c4884
Made stim node names more ngspice friendly for interactive mode. Cleaned up cycle comments. Changed ground names in stim and added related comments.
2018-10-04 14:06:43 -07:00
Hunter Nichols
65edc70cfd
Made global names for pins types. Fixed bugs in tests.
2018-10-04 14:06:43 -07:00
Hunter Nichols
d2120d6910
Moved pin name creation from stimuli to delay and bug fix in find_feasible_period_one_port
2018-10-04 14:06:34 -07:00
Hunter Nichols
4586ed343f
Edited lib to support port indexing. Edited tests in reaction to name dict name changes. Cleaned up measurement value generation in delay.
2018-10-04 14:04:08 -07:00
Hunter Nichols
ab7d3510b5
Cleaned up result tables to be indexed by port and measurement name. Lib has not been updated, so it crashes there.
2018-10-04 14:04:08 -07:00
Hunter Nichols
346b188372
Improved on some hard coded values which determine the measurements.
2018-10-04 14:04:08 -07:00
Hunter Nichols
cfe15d48a4
Added changes to make changing the names of the measurements simple in delay.py. Results in some hardcoded values which is TODO for a fix.
2018-10-04 14:04:08 -07:00
Hunter Nichols
aa0d032c78
Cleaned the char_data to fit the previous style. Added print statements to load/slew sims.
2018-10-04 14:04:08 -07:00
Michael Timothy Grimes
cf4b216888
Correcting functional inheritance from simulation.
2018-10-04 13:55:59 -07:00
Michael Timothy Grimes
34d8a19871
Adding simulation.py for common functions between functional and delay tests. Updating functional test.
2018-10-04 09:29:44 -07:00
Michael Timothy Grimes
6d83ebf50f
updating debug messages in functional test
2018-09-30 22:10:11 -07:00
Michael Timothy Grimes
8a56dd2ac9
Finished functional test
2018-09-30 21:20:01 -07:00
Michael Timothy Grimes
26c6232564
Updating functional test. Test can now run a spice simulation and read the dout values from the timing files.
2018-09-28 23:38:48 -07:00
Michael Timothy Grimes
934959952b
Corrections to functional test that adds multiple cs_b signals per port
2018-09-21 09:59:44 -07:00
Michael Timothy Grimes
938ded3dd6
Adding functional test to characterizer and unit tests in both single and multiport
2018-09-20 15:04:59 -07:00
Matt Guthaus
3539887ee4
Updating ms_flop removal.
...
Updated characterizer for dff.
Added new setup/hold results for dff instead of ms_flop.
Removed ms_flop references in sram-base.
Fixed syntax errors in SCN3ME tech file.
2018-09-13 11:40:24 -07:00
Matt Guthaus
f8fc7c12b3
Remove ms_flop and replace with dff. Might break setup_hold tests.
2018-09-13 11:02:28 -07:00
Hunter Nichols
91bbc556e8
Cleaned up control logic cycle creation in delay.py. Fixed bug which caused input data to be determined by the read ports.
2018-09-10 22:06:50 -07:00
Hunter Nichols
da6843af5b
Changed power logic in lib file writing. Syntax incorrect still for multiport. To be changed when top-level is done.
2018-09-10 19:33:59 -07:00
Hunter Nichols
5dfa8bc2c6
Fixed known typos of the word transition.
2018-09-10 14:27:26 -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
Hunter Nichols
83f6434476
Gave find_feasible_period a port input.
2018-09-07 00:53:11 -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
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
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
Hunter Nichols
3bde83bdbe
Added initial structure changes to lib. Crashes when writing to lib file.
2018-09-04 00:43:44 -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
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
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
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
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
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
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
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
Hunter Nichols
a0e06809f9
Comments now display port in stim file.
2018-08-27 16:23:23 -07:00
Hunter Nichols
350823d434
Added basic structure to add_test_cycles to characterize multiple ports and its helper functions to allow for ports to be selected for characterization
2018-08-27 15:56:42 -07:00
Hunter Nichols
6dc72f5b1e
Added additional control signal to stim file based on # of ports.
2018-08-23 17:46:24 -07:00
Hunter Nichols
efcb435fde
Changed # of address signals to reflect # of ports in delay
2018-08-23 14:49:56 -07:00
Hunter Nichols
9151858449
Characterizer now recognizesmultiple ports and additional DIN/DOUT signals are added to stim file.
2018-08-22 23:45:43 -07:00
Hunter Nichols
21e85297d3
Merge branch 'dev' into multiport_characterization
2018-08-22 14:50:29 -07:00
Hunter Nichols
8abf45a5d3
Some test code added. To be removed later.
2018-08-22 14:19:09 -07:00
Matt Guthaus
49bee6a96e
Remove OEB signal since we split DIN/DOUT ports
2018-08-13 14:09:49 -07:00
Matt Guthaus
a7a3099702
Fix comments in stimulus file to show list and not zip type
2018-07-27 15:00:00 -07:00
Matt Guthaus
71606e1097
Add read cycle to clear DOUT bus before each read measure.
2018-07-27 14:06:59 -07:00
Matt Guthaus
8f72621f4a
Converted delay measurement to use add_read/add_write functions.
...
Rewrote the logic to add one cycle at a time for easier
manipulation. This can be extended more easily into the
functional simulations.
2018-07-27 11:36:17 -07:00
Matt Guthaus
a00e160274
Convert bitline index to integer in trim_spice
2018-07-26 14:29:44 -07:00
Matt Guthaus
bc67ad5ead
Fixed timing to be measured from positive clock edge since
...
reading a 1 will be the precharge time.
Started modifying the lib file for DIN and DOUT ports, but did not
check the syntax yet.
2018-07-26 13:58:50 -07:00
Matt Guthaus
00a87d57ab
Modified pinvbuf to have a stage effort of 4 for driving the
...
clock bar to wordline enable.
Fixed comments in stimulus file to have right cycle numbers.
Removed clock gating on we signal since clock gating is already
done on the WL signals. It is redundant.
2018-07-26 11:28:48 -07:00
Matt Guthaus
b7525a14c2
Change DIN to DOUT in characterizer. Spacing dff flops down by m2 not m1 pitch.
2018-07-25 15:50:49 -07:00
Matt Guthaus
b88947ef5c
Pass the sram design to lib instead of the sram wrapper
2018-07-18 11:51:42 -07:00
Matt Guthaus
0701fceb0b
Use sram rather than new meta-sram class in the characterizer for delay
2018-07-18 10:39:29 -07:00
Matt Guthaus
a2d8d16c7a
Split DATA into DIN and DOUT in characterizer
2018-07-11 14:19:09 -07:00
Matt Guthaus
265b5d977a
Fix option reload problems and checkpointing so that it works properly.
2018-07-11 12:00:15 -07:00
Matt Guthaus
3de81c8a67
Close files in trim spice and delay.
2018-06-29 15:11:41 -07:00