Matt Guthaus
3de81c8a67
Close files in trim spice and delay.
2018-06-29 15:11:41 -07:00
Matt Guthaus
df2dce2439
Fix module import names for python3. Rename parse function to something meaningful.
2018-06-29 09:45:07 -07:00
Matt Guthaus
f34c4eb7dc
Convert entire OpenRAM to use python3. Works with Python 3.6.
...
Major changes:
Remove mpmath library and use numpy instead.
Convert bytes to new bytearrays.
Fix class name check for duplicate gds instances.
Add explicit integer conversion from floats.
Fix importlib reload from importlib library
Fix new key/index syntax issues.
Fix filter and map conversion to lists.
Fix deprecation warnings.
Fix Circuits vs Netlist in Magic LVS results.
Fix file closing warnings.
2018-05-14 16:15:45 -07:00
Hunter Nichols
6a3f0843ff
Fixed accidental changes made to analytical delay.
2018-02-28 12:18:41 -08:00
Hunter Nichols
e6d6680da1
Fixed conflict in delay.py
2018-02-27 13:02:22 -08:00
Hunter Nichols
d0e6dc9ce7
First version of analytical power models. Still huge room for improvement. Analytical power printed with 1 verbose level.
2018-02-26 16:32:28 -08:00
Matt Guthaus
35137d1c67
Add extra comments in stimulus output.
2018-02-26 14:39:06 -08:00
Matt Guthaus
a732405836
Add utility script gen_stimulus.py to help create simulations for debugging.
2018-02-26 08:54:35 -08:00
mguthaus
322f354878
Convert period to float to avoid type mismatch.
2018-02-25 11:13:43 -08:00
mguthaus
f3efb5fb50
Fixed leakage and power unit test results.
2018-02-23 15:20:52 -08:00
Matt Guthaus
d88ff01792
Change default operating conditions to OC
2018-02-23 13:38:55 -08:00
Matt Guthaus
29aa6002e6
Make period into p instead of remove it. Changes file names...
2018-02-23 12:50:02 -08:00
Matt Guthaus
9d1f31467e
Move internal power to clock pin. Differentiate leakge power when CSb is high.
2018-02-23 12:21:32 -08:00
Matt Guthaus
23f06bfa9a
Reduce number of parameters in function calls for delay.py.
2018-02-22 11:14:58 -08:00
Hunter Nichols
d4a0f48d4f
Added power calculations for inverter. Still testing.
2018-02-21 19:51:21 -08:00
Matt Guthaus
b31f3c18af
Change BSIM3 models to version 3.3.0. Add comment about multithreading selection.
2018-02-21 17:50:12 -08:00
Matt Guthaus
4e414b6c15
Fix unintended unmerge of changes. Bad bad.
2018-02-21 16:03:49 -08:00
Matt Guthaus
a44346110b
Fix merge of results.
2018-02-21 15:47:07 -08:00
Matt Guthaus
fcacd46866
UPdate tests with new delay and slew names and leakage power.
2018-02-21 15:45:49 -08:00
mguthaus
b8b2375346
Updated golden tests with new leakage aware power numbers.
2018-02-21 15:44:52 -08:00
Matt Guthaus
4b9ea66a42
Change names of variables to indicate transistions for clarity.
2018-02-21 15:13:46 -08:00
Matt Guthaus
71831e7737
Get delays only for successful run.
2018-02-21 14:05:39 -08:00
Matt Guthaus
9600dae7df
Remove print statements.
2018-02-21 13:45:14 -08:00
Matt Guthaus
7d2f4386e2
Include leakage of non-trimmed array. Back out leakage of trimmed, add back leakage of nontrimmed. Reorgs simulation of delay and power a bit.
2018-02-21 13:38:43 -08:00
Hunter Nichols
8ea384a761
Fixed merging issues with power branch
2018-02-14 15:21:42 -08:00
Matt Guthaus
a12ebeed9f
Add multiple process corners. Unit tests use nominal corner only. Add fake SCMOS nominal models, but they are broken.
2018-02-12 09:33:23 -08:00
Matt Guthaus
4dd075c7b7
Add V and C to names of lib files.
2018-02-11 16:34:32 -08:00
Matt Guthaus
f86985821a
Begin modifications for corner-based characterization. Made stimuli.py a class. Golden output files are not updated.
2018-02-09 15:33:03 -08:00
Matt Guthaus
17716191c1
Clean up time statements in openram output
2018-02-08 13:11:18 -08:00
Matt Guthaus
54c21f6282
Added method=gear back to ngspice simulation to fix convergence bug.
2018-02-07 21:07:11 -08:00
Matt Guthaus
1b4be741df
Fix broken print statements
2018-02-07 17:39:42 -08:00
Matt Guthaus
9cc46453a2
Fix PWL bug to output last value. Fix bug in setup/hold use of improved PWL function.
2018-02-07 15:43:09 -08:00
Matt Guthaus
8e91552701
Remvoe newline.
2018-02-07 14:33:29 -08:00
Matt Guthaus
5dacafc698
Disable gear integration in ngspice. Not sure it is necessary anymore and it is quite slow.
2018-02-07 14:20:15 -08:00
Matt Guthaus
3e4ef36efe
Clean up Python comments and improve comments in stimulus file.
2018-02-07 14:04:18 -08:00
Matt Guthaus
5c4999d4cc
Move delay-specific stimulus commands to delay.py. Keep stimuli.py generic.
2018-02-07 12:58:47 -08:00
Matt Guthaus
941094ce31
Return slews to 10-90 and 90-10 so I don't have to re-hardcode the results in unit tests.
2018-02-05 15:21:53 -08:00
Matt Guthaus
4505c0f74e
Improve error to setup model dir path. Use it to override FreePDK45 too.
2018-02-05 15:12:12 -08:00
Matt Guthaus
85f4438280
Exit with error if model files are not found.
2018-02-05 15:09:21 -08:00
Matt Guthaus
e2e5f45cec
Correct vague comments about char cycles. End simulation after last period even though a transition would mean a failed simulation.
2018-02-05 14:07:12 -08:00
Matt Guthaus
a8e1abdce8
Use method=gear for ngspice to improve convergence. Split TD for trig and targ in measure statements. Start waiting for clk neg edge trigger at clk pos edge.
2018-02-05 11:36:46 -08:00
Matt Guthaus
84b42b0170
Fix bug in trim netlist. Add info comments to spice netlist and trimmed netlist. Increase verbosity for simulations.
2018-02-02 19:33:07 -08:00
Matt Guthaus
3e2d4d631d
Do not require hspice during tests. Check if a valid simulator is found, however.
2018-02-02 12:31:33 -08:00
Matt Guthaus
7c9c16e29c
Fix assertion error syntax problem. Do not require hspice for functional test. Improve delay fail error message.
2018-02-02 12:31:33 -08:00
Hunter Nichols
56f7caf59f
Added first test power model to sram
2018-02-02 12:31:33 -08:00
Matt Guthaus
9fea4a1a2d
Do not require hspice during tests. Check if a valid simulator is found, however.
2018-01-31 16:21:43 -08:00
Matt Guthaus
590f6e01d1
Fix assertion error syntax problem. Do not require hspice for functional test. Improve delay fail error message.
2018-01-31 15:38:02 -08:00
Matt Guthaus
369aa85cd2
Fail simulation tests if correct spice is not found. Correctly load spice characterizer.
2018-01-26 13:00:25 -08:00
Matt Guthaus
fd748b4fe4
Move info messages about modes to better locations.
2018-01-05 08:32:23 -08:00
mguthaus
09ca8ba17d
Improve output format. Rename option to be more sensible.
2017-11-22 15:57:29 -08:00
Matt Guthaus
cf66c83fe4
Fixed address bug to simulate correct wordline
2017-11-21 13:57:59 -08:00
Matt Guthaus
aa4768bf87
Add time info for spice simulation calls.
2017-11-21 13:04:18 -08:00
Matt Guthaus
88740c107f
Improve global and code structure using modules.
...
Comment and reorganize globals.py
Tests consistently use globals module for OPTions.
Add characterizer as module support.
Modify unit tests to reload new characterizer for ngspice/hspice.
Enable relative and absolute config file arguments so you can run
openram from anywhere on any config file.
2017-11-16 13:52:58 -08:00
mguthaus
2eb9f5c6bc
Move verify into a module. Make characterizer a module. Move exe searching to modules.
2017-11-15 17:02:53 -08:00
Matt Guthaus
29c5ab48f0
Add spice pruning for speed-up. Fix spice search bugs. Add time in stages to openram output.
2017-11-14 13:24:14 -08:00
Matt Guthaus
8071dcc0f3
Add customsim (xa) as optional simulator. Fix regex to support scientific notation. Go through list of preferred simulators in order. Always abort if command-line simulator not found.
2017-11-12 10:42:41 -08:00
Jun Chen
054e4d3c28
my change
2017-11-11 16:54:04 +09:00
Matt Guthaus
95f1a24f72
Change default delay modeling to analytical. Add command-line option characterization by simulation (-c).
2017-11-09 11:13:44 -08:00
Matt Guthaus
e06e1691c8
Two bank SRAMs working in both technologies.
2017-09-29 16:22:13 -07:00
Matt Guthaus
d77216d6dd
Fix LEF mismatch due to path/wire hierarchy change. Add characterizer feasible delay/slew check. Update delay tests with new delays.
2017-08-07 10:24:45 -07:00
Matt Guthaus
20d8c0bc45
Improved characterizer.
2017-07-06 08:42:25 -07:00
mguthaus
f32912f07c
Removed name option from some modules and autogenerate unique names. Added check to design class to prevent duplicate names by accident. Reduced diff file output verbosity.
2017-06-02 11:11:57 -07:00
Matt Guthaus
34e180b901
Analytical delay model from Bin Wu. Unit test not passing.
2017-05-30 12:50:07 -07:00
mguthaus
bd7958be28
Fixed format test. It was not performing checks due to moving of OPENRAM_HOME. Fixed some tabs and print statements.
2017-04-24 11:55:11 -07:00
Matt Guthaus
841532a52f
Change characterizer to be one data structure. Add approximate diff for lib file.
2016-11-23 17:18:48 -08:00
Samira Ataei
233acc3fcc
Added seprate return for power values of lib.
2016-11-20 11:16:19 -06:00
Samira Ataei
d195df682d
Added Power results to lib.
...
Fixed min_period and min_pulse_width values.
Updated lib golden files.
2016-11-19 20:19:16 -06:00
Matt Guthaus
7d0d590879
Don't converge only after a successful measurement.
2016-11-11 14:25:46 -08:00
Matt Guthaus
5e33781268
Remove control structure from ngspice. Add probe for ngspice too since it doesn't hurt. Unskip delay test.
2016-11-11 13:22:01 -08:00
Matt Guthaus
5211be5ffc
No control statements in ngspice 26
2016-11-11 13:10:54 -08:00
Matt Guthaus
33b46b450d
No control statements in ngspice 26
2016-11-11 13:09:46 -08:00
Matt Guthaus
1356e5142d
Add print of values if tests fail. Modify some ngspice tests to pass withcorrect results.
2016-11-11 09:41:43 -08:00
Matt Guthaus
992d091a8b
Change step resolution in setup_hold to 5p to avoid convergence problems with ngspice.
2016-11-10 11:07:52 -08:00
Matt Guthaus
46fceba692
More debug messages
2016-11-10 08:55:11 -08:00
Matt Guthaus
e017f3f4ca
Add better info messages. Convert subprocess to a shell command.
2016-11-10 08:36:28 -08:00
Matt Guthaus
d7afb27322
Break subprocess call into arg list.
2016-11-10 07:27:38 -08:00
Matt Guthaus
f48272bde6
RELEASE 1.0
2016-11-08 09:57:35 -08:00