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
65edc70cfd
Made global names for pins types. Fixed bugs in tests.
2018-10-04 14:06:43 -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
Michael Timothy Grimes
e258199fa3
Removing we_b signal from write ports since it is redundant.
2018-10-04 09:31:04 -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
bea6b0b5dc
Renaming functional tests to include spice exe used. Renaming pex test to separate functional tests from pex test.
2018-09-30 22:39:37 -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
66933ed922
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-27 02:02:24 -07:00
Michael Timothy Grimes
19d68f613e
Making changes to bank select for multiport. The height of the nor gate using pbitcell was too short and one of the contacts violated drc. Extended height of nor by drc spacing violation so it could pass in multiport.
2018-09-27 02:01:32 -07:00
Michael Timothy Grimes
648e57d195
Altering bank select for port specific use. Altering bank select test to test different port types. Altering bank for control signal changes.
2018-09-26 14:53:55 -07:00
Michael Timothy Grimes
f1560375fc
Altering control logic for read ports and write ports, by including only read or write specific circuitry. Altering replica bitline layout to support multiport
2018-09-25 20:00:25 -07:00
Matt Guthaus
a3f13d6eab
Remove banks from test configs
2018-09-24 11:41:51 -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
Michael Timothy Grimes
fc5f163828
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-18 18:56:15 -07:00
Matt Guthaus
a58b1906ad
Convert unit tests to scn4m_subm
...
Also, fixed isdiff for python3.
2018-09-17 11:13:46 -07:00
Michael Timothy Grimes
9acc8a9532
Altering multiport checks across several unit tests.
2018-09-13 18:49:20 -07:00
Michael Timothy Grimes
5fd484ee5a
Replacing replica_pbitcell module with a more effiecient verision. replica_pbitcell is now a wrapper for pbitcell in replica_bitcell mode.
2018-09-13 16:53:24 -07:00
Matt Guthaus
93ae7ebd00
Specify DRC,LVS,PEX tool for scn4m
2018-09-13 15:18:30 -07:00
Matt Guthaus
4d328c5768
Fix hspice setuphold golden results
2018-09-13 14:41:15 -07:00
Matt Guthaus
63d0523228
Added scn4m_subm.
...
Added scn4m_subm files (instead of scn4me_subm).
Fixed missing cifoutput/cifinput in magic tech file and gds files.
Fixed incorrect M3/via3/M4 design rules.
2018-09-13 12:53:35 -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
66cbe0966c
Removed old ms_flop unit test
2018-09-13 11:15:33 -07:00
Michael Timothy Grimes
e0b9989d85
Adding replica_pbitcell and test for multi-ported purposes. Altering replica bitline and test to accomodate.
2018-09-13 01:42:06 -07:00
Michael Timothy Grimes
f03cd7c3ba
Removing multiport_check option that diabled multiport portion of unit tests. Adding multiport checks to several other modules.
2018-09-12 20:22:12 -07:00
Michael Timothy Grimes
42719b8ec2
Fixing netlist_only errors. Removing netlist_only option from ptx because it must always generate layout for pbitcell. gds_write, drc check, and lvs check in local_check() are now in a 'if not OPTS.netlist_only' conditional. These functions will generate errors in netlist_only mode since there is no gds layout to write or check.
2018-09-12 01:53:41 -07:00
Michael Timothy Grimes
bfc855b8b1
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-11 17:33:17 -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
Michael Timothy Grimes
38a1f35ff0
Correcting format of file (removing tabs)
2018-09-10 03:44:08 -07:00
Michael Timothy Grimes
a7f03858e8
Adding 'multiport_check' option to OPTS. All of the unit tests that have multiport checks in them are now under this conditional. If you want to remove the multiport drc/lvs checks, you can set the option to False, and it will skip those portions.
2018-09-09 23:25:29 -07:00
Michael Timothy Grimes
5af56e5a3a
Adding layout check for sram (1 bank) using pbitcell and 1RW port
2018-09-09 22:45:25 -07:00
Michael Timothy Grimes
586c72e4f7
Altering certain tests to include multiport checks.
2018-09-09 22:08:03 -07:00
Michael Timothy Grimes
1429b9ab1a
Commiting working version of multi-port that can generate a netlist on the sram level. Changes that will clean up the code are forthcoming.
2018-09-09 14:00:51 -07:00
Hunter Nichols
8aaf1155d1
Fixed test 23_lib_sram_test. Fixed syntax in related golden lib files.
2018-09-06 22:51:34 -07:00
Hunter Nichols
0ff3b29b66
Fixed test 23_sram_prune test. Fixed syntax errors in golden lib files.
2018-09-06 22:06:23 -07:00
Michael Timothy Grimes
1a340c9c85
Merging latest changes from multiport with changes made to pbitcell. Changing select code from other modules and tests to reflect changes made to pbitcell.
2018-09-06 19:36:50 -07:00
Hunter Nichols
bf34911f3f
Test 21_ngspice now passing for scmos and freepdk45. 21_hspice has leakage power error (but it may be okay)
2018-09-06 18:40:21 -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
Matt Guthaus
ba651d53ae
Change options in pbitcell test to be global again.
2018-09-05 10:59:41 -07:00
Matt Guthaus
6963a1092f
Make bitcell width/height not static. Update modules to use it for pbitcell.
2018-09-04 11:55:22 -07:00
Matt Guthaus
de6f22aa3c
Fix unit test permissions
2018-09-04 10:48:37 -07:00
Matt Guthaus
19c0e1638b
Merge remote-tracking branch 'origin/multiport' into multiport
2018-09-04 10:47:55 -07:00
Matt Guthaus
a346bddd88
Cleanup some items with new sram_config. Update unit tests accordingly.
2018-09-04 10:47:24 -07:00
Michael Timothy Grimes
af0756382f
Merging changes and updating multiport syntax across several tests
2018-09-03 19:36:20 -07:00
Michael Timothy Grimes
774c14ad75
changing 19_psingle_bank_test to test layout for a single bank using pbitcell with 1 RW port (equivalent to using 6T cell)
2018-09-03 17:47:29 -07:00
Michael Timothy Grimes
d3441c7ba4
Altering wordline driver to size for any bitcell. Editting multi-port test cases for sense amp array, write driver array, and wordline driver to least number of ports as a better test of spacing betwwen amps/drivers
2018-09-03 17:31:12 -07:00
Michael Timothy Grimes
f3cca7eea0
Altering sense amp array and write driver array so spacing between amps/drivers accomodates multiport. Also altering sense amp array and write driver array tests to include multiport cases.
2018-08-31 23:28:06 -07:00
Matt Guthaus
9d8d2b65e4
Fix delay test with new sram_config. Merge dev changes.
2018-08-31 13:01:17 -07:00
Matt Guthaus
563ff77d44
Add sram_config class. Rename port variables for better description.
2018-08-31 12:03:28 -07:00
Michael Timothy Grimes
e118cc2d5c
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-08-29 16:06:50 -07:00
Michael Timothy Grimes
aeaab13d28
Unit tests for pbitcell now passing, so commenting out skip line. Also gave pbitcell_array useful names in unit test for easier debugging
2018-08-29 16:05:13 -07:00
Matt Guthaus
27bb1d2ee7
Rewrite blockage routines in router. Clean up GdsMill code.
2018-08-29 15:34:45 -07:00
Matt Guthaus
19d14e39ce
Remove extraneous files
2018-08-29 15:34:45 -07:00
Matt Guthaus
41fba9d27c
Add sketch for power grid routing code
2018-08-29 15:34:16 -07:00
Matt Guthaus
8752d799b4
Skip pbitcell tests for now
2018-08-28 10:45:50 -07:00
Matt Guthaus
ac8a16ebdf
Fix permissions for unit tests to be run standalone.
2018-08-28 10:31:58 -07:00
Matt Guthaus
e17c69be3e
Clean up new code for add_modules, add_pins and netlist/layouts.
2018-08-28 10:24:09 -07:00
Michael Timothy Grimes
0f8da1510e
Reverting pin name changes of precharge cell and array back to 'bl' and 'br'. Also clarifying bl and br init parameters to reflect that they refer to the bitcell lines.
2018-08-18 15:27:07 -07:00
Michael Timothy Grimes
e147f807a5
adding a unit test for multiported bank, this test will skip in the regression testing because multiported bank does not pass drc yet
2018-08-15 04:32:56 -07:00
Michael Timothy Grimes
e4a94e8597
Merging changes to bank. Bank has been altered to accommodate multiport. Single port still passes unit test, though some control signal names have been changed to have a following 0 (e.g. s_en to s_en0). Multiport does not pass drc yet, but can accurately generate a spice netlist.
2018-08-15 04:00:48 -07:00
Michael Timothy Grimes
e592d95146
Altered bank to accommodate multiport. Single port still works, though some of the control signal names have been changes to have a following 0 (e.g. s_en to s_en0). Multiport does not pass drc yet, but can generate an accurate spice netlist.
2018-08-15 03:36:40 -07:00
Michael Timothy Grimes
a5af4a2b9c
resolved variable name error in 00_code_format test
2018-08-15 03:33:33 -07:00
Michael Timothy Grimes
8d97862f6e
altered precharge array and precharge unit tests to accommodate multiport
2018-08-15 00:55:23 -07:00
Matt Guthaus
36bfd2932a
Update delay results with new clock routing
2018-08-14 10:51:02 -07:00
Matt Guthaus
3420b1002c
Connect data and column DFF clocks in 1 bank.
2018-08-14 10:09:41 -07:00
Matt Guthaus
f7f318d72e
Remove tri_en signals from bank control logic.
2018-08-13 14:47:03 -07:00
Matt Guthaus
49bee6a96e
Remove OEB signal since we split DIN/DOUT ports
2018-08-13 14:09:49 -07:00
Matt Guthaus
9ffba4b052
Add +x permissions on precharge and pbitcell tests
2018-08-13 09:57:10 -07:00
Matt Guthaus
34736b7b3f
Remove carriage returns form python files
2018-08-07 09:44:01 -07:00
Matt Guthaus
abacf6a2d0
Add carriage return check for python files
2018-08-07 09:40:45 -07:00
Michael Timothy Grimes
c2a9e91dba
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-08-05 19:53:28 -07:00
Michael Timothy Grimes
5666ee6635
altered precharge module to accomodate bitlines from pbitcell, and altered unit test to test both bitcell and pbitcell configurations
2018-08-05 19:46:05 -07:00
Michael Timothy Grimes
ecd4612167
altered bitcell, pbitcell, and bitcell array modules to accomodate additional bitline reference functions
2018-08-05 19:43:59 -07:00
Matt Guthaus
d739c17b8d
Fix delay numbers in hspice delay unit test.
2018-07-27 14:43:52 -07:00
Matt Guthaus
d75d17bc8a
Update golden results for FreePDK45 tests.
2018-07-27 14:25:52 -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
5b2cb6a95e
Update remaining SCMOS golden lib files.
2018-07-27 09:44:12 -07:00
Matt Guthaus
6b967c08dd
Updated output messages in timing test comparisons.
...
Added output to show which lines differ and what their line numbers are..
Added output to show relative difference of approximate compares.
Added output to include file names that mismatch.
2018-07-27 09:34:44 -07:00
Matt Guthaus
0e0516c4a6
Fix delay test unit test results.
2018-07-26 16:45:09 -07:00
Matt Guthaus
85595b0f6f
Update format of delay test output during an error to directly
...
copy into unit test. Factor function into testutils.py for comparison.
2018-07-26 16:05:24 -07:00
Matt Guthaus
5088487cf7
Update delay tests to output useful information for debug.
2018-07-26 15:45:17 -07:00
Matt Guthaus
f098b995f0
Fix pinvbuf test to use new interface with only driver size.
2018-07-26 14:20:00 -07:00
Matt Guthaus
c8808c268a
Close output log in test 30 to avoid warning
2018-07-26 14:01:40 -07:00
Michael Timothy Grimes
fb0de710ec
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-07-26 09:04:59 -07:00
Michael Timothy Grimes
27ab411146
fixed error I missed in pbitcell_array test
2018-07-26 09:02:52 -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
1130062343
Fix syntax error in delay test to use new sram wrapper module
2018-07-18 10:33:18 -07:00
Matt Guthaus
b8e3629923
Fix syntax error in unit test
2018-07-17 15:14:22 -07:00
Matt Guthaus
01655b1d54
Clean up tests. Enable 8-way tests. Some tests still have channel route conflicts.
2018-07-17 15:13:00 -07:00
Matt Guthaus
f3ae29fe0b
Getting single bank to work reliably. Removed tri_gate from bank
...
for now. Will add it in multibank arrays only. Not needed for
separate DIN and DOUT ports.
2018-07-13 14:45:46 -07:00
Matt Guthaus
834fbac8de
Remove extra print statements.
...
Add wrappers for file generation in sram wrapper class.
2018-07-13 09:38:43 -07:00
Michael Timothy Grimes
2388ddbfb0
deleting code added in error to pbitcell_array_test during previous commit
2018-07-12 23:55:54 -07:00
Michael Timothy Grimes
ba43b986ae
merging changes with pbitcell_array test
2018-07-12 23:51:44 -07:00
Michael Timothy Grimes
a64ca423c6
changing pbitcell_array test to include an important permutation of the design
2018-07-12 23:45:47 -07:00
Matt Guthaus
c71ea51e2e
Merge branch 'multiport_cleanup' of github.com:VLSIDA/PrivateRAM into multiport_cleanup
2018-07-11 14:27:41 -07:00
Matt Guthaus
22d40364ec
Merge branch 'multiport_cleanup' of https://github.com/VLSIDA/PrivateRAM into multiport_cleanup
2018-07-11 14:27:06 -07:00
Matt Guthaus
33bb98894f
Disable LEF test until supplies fixed.
2018-07-11 14:18:53 -07:00
Matt Guthaus
8be88d14a7
Disable banner output during gitlab runner
2018-07-11 14:18:36 -07:00
Matt Guthaus
8a530da2cc
Remove extra conversion to list
2018-07-11 12:07:37 -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
58646ab8e6
Add DRC/LVS/PEX statistics in verbose=1 mode
2018-07-11 11:59:24 -07:00
Matt Guthaus
f894ef47af
Fix missing list conversion to run drc library tests.
2018-07-11 11:58:22 -07:00
Matt Guthaus
b3732f4fcf
Output debug warnings and errors to stderr. Clean up regress script a bit.
2018-07-11 09:51:28 -07:00
Matt Guthaus
f82591dd6f
Remove outdated README
2018-07-11 09:12:20 -07:00
Matt Guthaus
c6503dd771
Modify unit tests to reset options during init_openram so
...
that they don't use old parameters after a failure.
2018-07-10 16:39:32 -07:00
Matt Guthaus
19c53cd50c
Do not fail assertion in exception code.
2018-07-10 14:16:18 -07:00
Matt Guthaus
019512bc25
Fix python3 module reference in functional test
2018-07-09 16:07:53 -07:00
Matt Guthaus
f234e43241
Reset new hierarchy_design instead of design for duplicate GDS name checker
2018-07-09 16:07:30 -07:00
Matt Guthaus
bbc98097ac
Add getpass include to unit test 30
2018-07-09 15:53:37 -07:00
Matt Guthaus
7bf271fd63
Skip pex and functional tests which are not working.
2018-07-09 15:52:07 -07:00
Matt Guthaus
5cf62e82cf
Merge branch 'dev' into multiport_cleanup
2018-07-09 09:58:13 -07:00
Matt Guthaus
a9a95ebf7c
Fix pex test permissions
2018-07-09 09:11:14 -07:00
Matt Guthaus
5d32a426c4
Change test sram path so jobs can be simultaneously run.
2018-07-06 07:34:38 -07:00
Matt Guthaus
733be110a2
Add negation to return code so tests fail or pass properly.
2018-07-06 07:27:26 -07:00
Matt Guthaus
3260468477
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into dev
2018-07-05 16:27:49 -07:00
Matt Guthaus
077f3f20ec
Add return code for regression test
2018-07-05 16:27:47 -07:00
Matt Guthaus
99fe3b87fe
Remove temp file. Fixing indexing of sense amp outputs.
2018-06-29 15:22:58 -07:00
Matt Guthaus
6ac24dbf0c
Fix module name for python3
2018-06-29 15:12:15 -07:00
Matt Guthaus
8d61ccbc6f
Convert byte string to string.
2018-06-29 15:11:14 -07:00
Matt Guthaus
6cd1779f7b
Rename pex test so that it ends with _test and will be run by regress.py.
2018-06-29 12:47:22 -07:00
Matt Guthaus
32099646cf
Add back fix to revert bitcell from pbitcell.
2018-06-29 12:45:26 -07:00
Matt Guthaus
a9849eff3a
Merge in mtgrime's fix.
2018-06-29 12:44:26 -07:00
Michael Timothy Grimes
82eeb297dd
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-06-29 12:07:03 -07:00
Michael Timothy Grimes
721f935d66
changing pbitcell tests to revert OPTS.bitcell to bitcell after tests
2018-06-29 12:00:36 -07:00
Matt Guthaus
ac7aa4537c
Remove uniqe pbitcell id since it isn't needed. Convert dos EOL to unix EOL characters. Convert python2.7 to python3 in pbitcell.
2018-06-29 11:49:02 -07:00
Matt Guthaus
fa17d5e7f3
Change permissions of tests to be executable so you don't have to type python each time.
2018-06-29 11:36:30 -07:00
Matt Guthaus
3becf92e7c
Combine pbitcell tests into one unit test
2018-06-29 10:00:23 -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
Michael Timothy Grimes
d7a024b8fc
adding another important port combination to unit tests
2018-06-03 19:36:48 -07:00
Michael Timothy Grimes
e19a422696
simplfying calculations in pbitcell and changing pbitcell_array_test to check different port combinations
2018-05-31 17:39:51 -07:00
Michael Timothy Grimes
8f131ddb2f
commiting changes from most recent pull from dev
2018-05-22 17:30:51 -07:00
Michael Timothy Grimes
b5df0cc30a
Merging branch with PrivateRAM dev
2018-05-18 15:15:31 -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
Matt Guthaus
b14bef3bcf
Initial merge of incomplete multi-port clean with new supply routing.
2018-05-11 08:18:04 -07:00
Michael Timothy Grimes
3971835f24
changed pbitcell_array tests in regards to addition of read/write ports in pbitcell
2018-05-10 09:40:43 -07:00
Michael Timothy Grimes
7af95e4723
adding read/write port functionality to the design. Now the bitcell can have read/write, write, and read ports all at once. Changed unit tests to accomodate different combinations of ports.
2018-05-10 09:38:02 -07:00
Matt Guthaus
7b5791b0e9
Change tolerance of tests to a big value. Update tests.
2018-05-09 08:29:23 -07:00
Matt Guthaus
929122b6dc
Change default to scmos. Refactor add column mux.
2018-04-20 12:52:41 -07:00
Matt Guthaus
a6c2e77bcf
Move precharge and column mux cells to pgate directory.
...
Move gnd to M3 in column mux.
Create column mux cell unit test.
2018-04-06 17:15:14 -07:00
Michael Timothy Grimes
7f46a0dead
merging changes in bitcell.py
2018-04-03 09:46:12 -07:00
Matt Guthaus
696433b1ec
Add bank_sel to bank_select module as input.
...
Remove reference to control in sram.
Add dff_buf_array to options.
Added inverted DFF
Add variable height pinvbuf
2018-03-23 08:13:39 -07:00
Matt Guthaus
bab92fcf38
Rework hierarchical decoder to not be folded. Remove address from central bank bus and access via side pins now. Eight way column mux now works.
2018-03-23 08:13:20 -07:00
Matt Guthaus
ed8eaed54f
Reworking control logic for veritcal poly. Rewrote delay line. Rewrote buffered-DFF array.
2018-03-23 08:12:47 -07:00
Michael Timothy Grimes
65735c08e2
fixed bitcell_array to work with different sized pbitcells, changed sizing in pbitcell to minimize space between inverters
2018-03-08 16:39:26 -08:00
Michael Timothy Grimes
820a8440c9
adding unit test for bitcell array using pbitcell
2018-03-06 16:36:11 -08:00
Matt Guthaus
6e9437356a
Fix LEF tests with new power supplies.
2018-03-05 13:55:02 -08:00
Matt Guthaus
98fb1173df
Move bank select logic to a self contained module.
2018-03-05 10:22:51 -08:00
Matt Guthaus
8d9b79dfd8
Add dff_buf for buffered flop arrays.
2018-03-04 16:13:10 -08:00
mguthaus
04ed3792c7
Fix analytical lib tests with new power numbers.
2018-03-02 18:13:06 -08:00
Michael Timothy Grimes
4d3f01ff2f
The bitcell currently passes DRC and LVS for FreePDK45 and SCMOS
...
There are 2 benchtests for the bitcell:
1) one with 2 write ports and 2 read ports
2) one with 2 write ports and 0 read ports
The second test is meant to show how the bitcell functions when read/write ports are
used instead of separate ports for read and write
The bitcell currently passes both tests in both technologies
Certain sizing optimizations still need to be done on the bitcell
2018-02-28 11:14:53 -08:00
Michael Timothy Grimes
bf7d846e5f
Merge branch 'master' of https://github.com/mguthaus/OpenRAM into multiport
2018-02-28 04:29:38 -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
f3efb5fb50
Fixed leakage and power unit test results.
2018-02-23 15:20:52 -08:00
Matt Guthaus
e3e7a31c6b
Fix syntax error in functional test.
2018-02-23 07:47:01 -08:00
mguthaus
fbc2d772be
Fix index order of golden tests.
2018-02-21 19:37:10 -08:00
mguthaus
a22badeeb5
Fix pruned results
2018-02-21 17:48:46 -08:00
Matt Guthaus
cf5f1e94b9
Update hspice results
2018-02-21 16:12:20 -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
Michael Timothy Grimes
4ea2a70a1b
removing unnecessary unit test for pbitcell
2018-02-19 10:58:08 -08:00
mguthaus
5e8dff1e90
Fix unit tests with newest RBL delays. Fix tech problem with new spice models.
2018-02-16 13:54:05 -08:00
mguthaus
c1c1ba38a3
Fix unit test to have fanout.
2018-02-16 11:53:38 -08:00
Matt Guthaus
9559421ca8
Connect dff array clk in rows and columns.
2018-02-14 16:46:26 -08:00
Matt Guthaus
2d87dcda46
dff array done except for clock net
2018-02-14 16:03:29 -08:00
Matt Guthaus
0804a1eceb
Add new DFF. Create DFF module. Start dff_array, not tested.
2018-02-14 15:16:28 -08:00
mguthaus
767990ca3b
Update golden lib tests. Add new generic SCMOS models. Fix tech error with new msflop_in_cap name.
2018-02-13 15:54:50 -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
mguthaus
1795dc5677
Fix three unit tests to work with new lib corner files.
2018-02-11 20:43:41 -08:00
mguthaus
f690532563
Add new corner-based lib files to unit tests.
2018-02-11 16:35:10 -08:00
Matt Guthaus
b75eef3684
Fix syntax error.
2018-02-10 08:02:59 -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
3c86f94549
Change argument name for lib in tests as well.
2018-02-08 15:28:49 -08:00
Michael Timothy Grimes
ce83b67350
Merge branch 'master' of https://github.com/mguthaus/OpenRAM into multiport
2018-02-08 14:27:53 -08:00
Michael Timothy Grimes
b90f5c9a59
pbitcell is now a multiport cell with a read transistor that connects to RBL and RROW and a read access transistor that connects to Q and gnd
...
current commit works without drc errors on freepdk45 but has drc rules not included in scn3me_subm. Does have lvs errors
adding several unit tests: the basic one that tests the full functionality of the pbitcell, one with no write ports, and one with no read ports
2018-02-08 14:21:15 -08:00
mguthaus
e8f658d356
Add updated non-pruned unit test results.
2018-02-07 19:35:21 -08:00
mguthaus
63ce754c72
Update unit test results
2018-02-07 18:48:22 -08:00
Matt Guthaus
2413304f4e
Update replica bitline test for new parameters. Add small test and a larger test.
2018-02-07 15:15:19 -08:00
Matt Guthaus
1a491f3cd0
Make temp directory unique for test 30. Update LEF files after delay chain size change.
2018-02-07 15:05:21 -08:00
mguthaus
3af1bbba26
Updated delay tests with new delays including ps, pd, as, ad.
2018-02-06 07:58:25 -08:00
mguthaus
c3592b3d46
Added new timing tests with ps,pd,as,ad caps included.
2018-02-06 05:26:27 -08:00
mguthaus
e01d5b7c61
Disable virtual connects at top level LVS with Calibre.
2018-02-05 14:52:51 -08:00
Matt Guthaus
92095e52f7
Update new LEF files for unit tests.
2018-02-05 10:27:56 -08:00
Matt Guthaus
f21ff38cae
Simplify via offsets in replica bitline. Route clk_bar in control over supply rail until we get channel router working.
2018-02-05 10:22:38 -08:00
Matt Guthaus
7127895270
Update LEF files for unit tests
2018-02-02 15:51:29 -08:00
Matt Guthaus
9d7dc4c552
Reset even if not purging temp files.
2018-02-02 14:26:09 -08:00
Matt Guthaus
fb90b8f5fe
Fix pin nameon sense amp spice. Fix NAND2 bug in hierarchical decoder.
2018-02-02 14:08:56 -08:00
Matt Guthaus
d552d88f45
Add -d option to not delete temp directory on successful runs.
2018-02-01 11:53:02 -08:00
Matt Guthaus
8ef1e0af2c
Replace LEF files with new changes.
2018-02-01 05:43:37 -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
mguthaus
4273a3717d
Clean up messages.
2018-01-31 11:54:20 -08:00
mguthaus
4aee700331
Modify unit tests to distinguish between FAIL and ERROR. Move comparison utilities into our derived unit test class.
2018-01-31 11:48:41 -08:00
Matt Guthaus
1175f515c8
Add descriptive exceptions along with cleanup in unit test checking.
2018-01-31 10:35:51 -08:00
Matt Guthaus
264d55b16c
Remove temp files
2018-01-30 08:05:50 -08:00
Matt Guthaus
8fcb551953
Only perform DRC not LVS on transistors
2018-01-30 08:03:54 -08:00
Matt Guthaus
1d9274621a
Only remove files when cleaning temp dir
2018-01-30 07:58:31 -08:00
Matt Guthaus
56770f558f
Consolidate checking into our own unit test class. Remove all files in temp dir after each test, not just spice and gds.
2018-01-29 16:59:29 -08:00
Michael Timothy Grimes
fb2572bd71
Merge branch 'master' of https://github.com/mguthaus/OpenRAM into multiport
2018-01-28 21:44:22 -08:00
Matt Guthaus
e46a4fb115
Use any spice for the functional tests.
2018-01-26 13:53:11 -08:00
Matt Guthaus
028146f3c2
Add output explaining error for not finding simulator in unit tests.
2018-01-26 13:23:11 -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
50107636a0
Fail test early if spice simulator is not found.
2018-01-26 12:47:32 -08:00
Matt Guthaus
2468f224d9
SCMOS library cells passing LVS (with property errors though). Permute must be enabled before compare, duh.
2018-01-22 17:14:39 -08:00
Matt Guthaus
fb2ed1d46c
Add wells to fix DRC errors in SCMOS library cells.
2018-01-22 16:28:20 -08:00
Matt Guthaus
10ced33127
Fixed command line arguments to take priority over config file. Any option can be specified in config file now.
2018-01-21 11:21:09 -08:00
Matt Guthaus
84ec7a5be0
Convert unit tests to use new options as well.
2018-01-19 17:23:38 -08:00
Matt Guthaus
490a70dee9
Simplify configuration file to allow all options to be over-riden. Move default module types to options.py to simplify config file.
2018-01-19 16:38:19 -08:00
Matt Guthaus
efa465757c
Remove dead code ptx_port.
2018-01-19 16:19:05 -08:00
Matt Guthaus
243097cb33
Remove print statement in magic.py
2018-01-12 14:45:11 -08:00
Matt Guthaus
7a172873a3
Update unit tests to load verify after config file. Start magic DRC.
2018-01-12 10:24:49 -08:00
Matt Guthaus
e0a6b59773
Fix LEF test mismatch in regression.
2018-01-12 08:54:31 -08:00
Matt Guthaus
1701eac1a9
Added workaround to import layouts into Magic. Select and well layers in active contacts. Fixed missing implant enclose active DRC rule in parameterized cells.
2018-01-11 10:24:44 -08:00
Michael Timothy Grimes
64e7ed5b5e
Adding pbitcell.py: a multiport bitcell with a variable number of write ports and read ports
...
Adding 04_pbitcell_test.py: The benchtest for pbitcell
Mostly done. Layout nearly complete with the exception of the well contacts and a connection between the gates of the read
transistors and their corresponding vias. Then several drc corrections need to be made.
2018-01-09 13:39:42 -08:00
Matt Guthaus
547746f839
Merge branch 'dev'
2018-01-05 08:34:47 -08:00
Matt Guthaus
4885616bec
Remove metal3 in LEF library cells.
2017-12-19 13:12:39 -08:00
Matt Guthaus
97a2d620fe
Fix dev tests. Split pruned test to separate golden result.
2017-12-19 11:42:11 -08:00
Matt Guthaus
40465d6518
Merge tolerance change from master.
2017-12-19 09:17:43 -08:00
Matt Guthaus
9a4b2b4341
Revised LEF and Verilog generation. Does not read GDS for speed improvements.
2017-12-19 09:01:24 -08:00
mguthaus
13902538ff
Increase lib file tolerance to 25 percent.
2017-12-19 07:41:08 -08:00
mguthaus
f98155fc0b
Increase lib file tolerance to 25 percent.
2017-12-19 07:39:43 -08:00
Matt Guthaus
317f2d1293
Merge update master and dev.
2017-12-18 08:13:59 -08:00
Matt Guthaus
a4a9205a56
Change thresholds to 50 percent.
2017-12-15 08:02:48 -08:00
Matt Guthaus
ed4ca62dbf
Update thresholds to 15 percent. Fix ngspice data.
2017-12-15 08:01:19 -08:00
Matt Guthaus
7e091fc622
Increase threshold to 30% for SCMOS
2017-12-14 16:52:49 -08:00
Matt Guthaus
e9005add14
Fix tests that were failing.
2017-12-14 15:43:05 -08:00
Matt Guthaus
abee235963
Rewrite the parameterized transistor and gate classes.
...
Changes propagate through all designs.
All modules use instance and layout pins.
2017-12-12 15:04:01 -08:00
Matt Guthaus
1085497476
Fail when using Magic/netgen for DRC/LVS. Remove arguments in running precharge test.
2017-12-12 13:06:01 -08:00
Matt Guthaus
8df46abb30
Move nmos gate to the top of the ptx.
2017-12-01 08:31:16 -08:00
Matt Guthaus
45ae8c7315
Reduce beta test. Remove other betas. Beta doesn't work well due to simplified rules.
2017-11-30 16:02:32 -08:00
Matt Guthaus
74a22fb515
Reduce beta test. Remove other betas. Beta doesn't work well due to simplified rules.
2017-11-30 16:02:17 -08:00
Matt Guthaus
9abe82b203
Pinv implemented, but not DRCed. More new unit tests added for pinv.
2017-11-29 16:11:15 -08:00
Matt Guthaus
13008e1de4
Split pinv unit tests.
2017-11-29 13:43:50 -08:00
Matt Guthaus
1bcef7e3ee
Prune ptx code. Change sizes to be relative to min size.
2017-11-29 12:31:00 -08:00
Matt Guthaus
d4f8d63442
Fix bug for even number of fingers. Add even finger tests.
2017-11-29 09:44:40 -08:00
mguthaus
09ca8ba17d
Improve output format. Rename option to be more sensible.
2017-11-22 15:57:29 -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
Matt Guthaus
347f1f97fd
Merge branch 'master' into magic_netgen_support
2017-11-15 17:05:38 -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
75a3884568
Remove tab
2017-11-15 11:45:55 -08:00
Matt Guthaus
102db4fecf
Fixed prune unit test by relaxing tolerance.
2017-11-15 07:43:43 -08:00
Matt Guthaus
37edd7cac6
Change unit tests to use verify instead of calibre. Debugging gds read comments in magic.py.
2017-11-14 16:24:26 -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
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
0744cbcc60
Merge branch 'master' into dev
2017-11-09 09:11:26 -08:00
Matt Guthaus
05158f104b
Removed unnecessary sram_tb.v file.
2017-10-17 15:51:31 -07:00
mguthaus
5c10aebc0f
Fix bug in multifinger ptx. Replace LEF file with new snapped layout.
2017-10-06 16:23:23 -07:00
Matt Guthaus
10a8531813
Fix new offset snap problems in wordline drive. Fix ptx multifinger pin bug. Add new add_center_rect function.
2017-10-06 15:30:15 -07:00
Matt Guthaus
a9797d12ab
Added pins to the ptx class. Modified pin class to do lazy write of GDS shapes to allow removal of pins.
2017-10-05 17:35:05 -07:00
Matt Guthaus
b2043bef11
Fix small delay difference in unit test 21_hspice_delay_test.
2017-10-05 08:13:53 -07:00
Matt Guthaus
59a0394c2b
Update LEF files with modified blockages.
2017-10-04 20:17:30 -07:00
Matt Guthaus
788f3d9122
4-bank SRAMs are now working.
2017-10-04 18:05:45 -07:00
Matt Guthaus
e06e1691c8
Two bank SRAMs working in both technologies.
2017-09-29 16:22:13 -07:00
Matt Guthaus
d29dd03373
SRAM single bank passing DRC/LVS.
2017-09-13 15:46:41 -07:00
Matt Guthaus
3ea003c367
Fix 1-way single bank LVS bug. Full SRAM still not functional. 8-way has DRC error.
2017-09-11 14:30:52 -07:00
Matt Guthaus
d17711c394
Fixed several LVS errors. Bank passes LVS for 2-way and 4-way, but not 1-way or 8-way.
2017-08-24 16:22:14 -07:00
Matt Guthaus
cf940fb15d
Development version of new pin data structure. Tests pass LVS/DRC except for bank level.
2017-08-23 15:02:15 -07:00
Matt Guthaus
857b997367
Modify LEF output to have all capital LAYER. Remove extra space before new lines.
2017-08-15 08:21:54 -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
7ec20a72c8
Fix old unit test golden result
2017-07-06 14:16:02 -07:00
Matt Guthaus
20d8c0bc45
Improved characterizer.
2017-07-06 08:42:25 -07:00
mguthaus
e92cb9ecef
Removed array_type from ms_flop_array since it is extraneous code.
2017-07-03 12:08:50 -07:00
mguthaus
6e90bf0d6d
Enable output filename and path to be in config file. Command line will over-ride config file.
2017-06-12 14:37:15 -07:00
Matt Guthaus
4e97e385e1
New lib file. Tolerances were off.
2017-06-06 11:06:16 -07:00
mguthaus
16063cc9a0
Merge branch 'master' into router
2017-06-05 13:12:51 -07:00
Matt Guthaus
3e2b6e42d4
Merge branch 'router'
2017-06-05 09:08:17 -07:00
Matt Guthaus
d20ea65923
Fix lib test to enable spice simulation. Fixed bug with change in default argument.
2017-06-05 09:07:52 -07:00
Matt Guthaus
0acbf43908
Fix lib test to enable spice simulation. Fixed bug with change in default argument.
2017-06-05 09:03:51 -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
384e169b5b
Modified unit tests: one for analytical model, one for characterization.
2017-05-31 14:59:22 -07:00
Matt Guthaus
46c56863ee
Bin Wu fixed unit test to pass with analytical delay option
2017-05-31 08:01:42 -07:00
Matt Guthaus
34e180b901
Analytical delay model from Bin Wu. Unit test not passing.
2017-05-30 12:50:07 -07:00
Matt Guthaus
cffcd46f6d
Removed the name from ptx class. Ptx name is uniquely constructed based on the ptx parameters of type, width, and mult. This allows reuse of ptx among multiple modules.
2017-04-26 14:33:03 -07:00
mguthaus
d85f78a54c
Fixed format errors
2017-04-24 13:50:19 -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
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
3074349c38
Fix ngspice scnmos results
2016-11-15 10:13:45 -08:00
Matt Guthaus
00b3772b4e
Add temp path to test header
2016-11-15 09:55:18 -08:00
Matt Guthaus
c33e283283
Fix ngspice results
2016-11-15 09:41:30 -08:00
Matt Guthaus
cbc0f7c5d2
run_pex argument is now use_pex. Each unit test must RESET its options before assertions for consistent start state.
2016-11-15 09:03:16 -08:00
Matt Guthaus
e95e9e8229
Change some debug levels. Fix ngspice test values. ix cwd warning in some tests.
2016-11-15 08:57:06 -08:00
Matt Guthaus
0e2409d836
Fix file compare scope error
2016-11-12 11:16:08 -08:00
Matt Guthaus
392dbc7c56
Moved output of tests 30 to openram_temp
2016-11-12 11:15:55 -08:00
Matt Guthaus
475a5223a7
Moved output of tests 23-25 to openram_temp
2016-11-12 11:15:34 -08:00
Matt Guthaus
7fcce2633f
Fix delays in ngspice as they are diff than hspice
2016-11-12 09:28:22 -08:00
Matt Guthaus
b82aaa4201
Merge use-temp-dir-pid
2016-11-12 08:55:42 -08:00
Matt Guthaus
096505af14
Merge branch 'use-temp-dir-pid'
2016-11-12 08:49:51 -08:00
Matt Guthaus
d85efb772f
Temp files were deleted.
2016-11-12 08:49:39 -08:00
Matt Guthaus
7e16bf37df
Add code for isdiff to output diff in tests when files mismatch.
2016-11-12 07:56:50 -08:00
Matt Guthaus
9ea1a06244
Remove openram_temp at end of openram and unit tests.
2016-11-11 14:05:14 -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
16ea09293c
Skip ngspice delay test, too slow
2016-11-11 12:14:13 -08:00
Matt Guthaus
07efb52ca9
Lower debug level of relative compare since it's only in unit tests
2016-11-11 10:04:09 -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
f3f2171f89
Add both ngspice and hspice timing tests. Add hidden option to force to a version. Otherwise, default to either version if found.
2016-11-10 11:33:10 -08:00
Matt Guthaus
f48272bde6
RELEASE 1.0
2016-11-08 09:57:35 -08:00