Matt Guthaus
afcc3563ae
Add new supplies to RBL and control logic
2018-07-16 12:58:15 -07:00
Matt Guthaus
93e830e800
Add new supplies to replica bitline
2018-07-16 10:49:43 -07:00
Matt Guthaus
3bbb604504
Add new power supplies to delay chain
2018-07-16 10:19:52 -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
Matt Guthaus
0c23efe49b
Reference local sram instance in sram.py.
2018-07-13 09:30:14 -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
Michael Timothy Grimes
7b315a3b69
updating inverter to write transistor spacings
2018-07-12 20:52:05 -07:00
Matt Guthaus
a4c29ea527
Improve openram output. Fix save output function name.
2018-07-12 10:35:38 -07:00
Matt Guthaus
e6b1fcb44c
Refactor banks to use inheritance with a top-level SRAM wrapper class.
2018-07-12 10:30:45 -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
a2d8d16c7a
Split DATA into DIN and DOUT in characterizer
2018-07-11 14:19:09 -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
7d8352a04d
Fix order of checkpointing so that it is done after characterizer and verify have found their executables.
2018-07-11 12:12:03 -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
d95a1925d4
Refactor banked SRAM into multiple files and dynamically load in SRAM
2018-07-10 14:17:09 -07:00
Matt Guthaus
19c53cd50c
Do not fail assertion in exception code.
2018-07-10 14:16:18 -07:00
Matt Guthaus
707f303eb7
Fix syntax error in sram.py
2018-07-10 10:34:54 -07:00
Matt Guthaus
f5855ee68a
Fix analytical power of contact with new hierarchy_design level introduced.
2018-07-10 10:17:23 -07:00
Matt Guthaus
25cf57ede5
Push create bus functions down into layout class.
2018-07-10 10:06:59 -07:00
Matt Guthaus
98f1914e9f
Fix width of decoder with new input bus. Bank tests work again.
2018-07-10 09:31:41 -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
9d5e5086a1
Add new extra design class with additional hierarchy for shared design rules
2018-07-09 15:43:26 -07:00
Matt Guthaus
94db2052dd
Consolidate metal pitch rules to new design class
2018-07-09 15:42:46 -07:00
Matt Guthaus
2e5d60ae87
Fix input height error for input rail pins
2018-07-09 14:45:27 -07:00
Matt Guthaus
e60d157310
Add input pin rails to hierarchical decoder for easier connections at SRAM level.
2018-07-09 13:16:38 -07:00
Matt Guthaus
5cf62e82cf
Merge branch 'dev' into multiport_cleanup
2018-07-09 09:58:13 -07:00
Matt Guthaus
af84742c19
Simplify m2 pitch calculation
2018-07-09 09:57:57 -07:00
Matt Guthaus
a9a95ebf7c
Fix pex test permissions
2018-07-09 09:11:14 -07:00
Matt Guthaus
b3dc6560f5
Remove regress.sh script
2018-07-09 09:10:12 -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
7c6974dd08
Fix options so it is in /tmp in RAM drive
2018-07-05 16:33: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
cc815f4c33
Fix sense amp spacing after modifying index to be increment by one.
2018-06-29 15:30:17 -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
3de81c8a67
Close files in trim spice and delay.
2018-06-29 15:11:41 -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
69921b0844
Add enclosing well to column mux. Move well contact to cell boundary.
2018-06-29 11:35:29 -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
Matt Guthaus
8cee26bc8c
Allow python 3.5. Make easier to revise required version.
2018-06-29 09:23:43 -07:00
Matt Guthaus
2833b706c7
Fix duplicate name check for some modules by checking if name is a substring. Allows pbitcell to pass.
2018-06-29 09:23:23 -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
fea304eac1
corrected gate to contact spacing
2018-05-31 18:31:34 -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
9e739d67d4
python 3 changes d.iterkeys() -> iter(d.keys())
2018-05-29 11:54:10 -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
17769f27c6
small changes to pbitcell
2018-05-22 14:51:42 -07:00
Michael Timothy Grimes
766042fe69
changed case of handmade bitcell pins from upper case to lower case. Made changes in other modules that are affected by this case. Only for SCMOS for this commit
2018-05-22 14:16:51 -07:00
Michael Timothy Grimes
5e4d4bf6cd
resolved conflicts with bitcell_array after PrivateRAM merge
2018-05-22 14:12:14 -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
58628d7867
Merge branch 'multiport_cleanup' into dev
2018-05-11 09:23:43 -07:00
Matt Guthaus
0e35937da5
Commit local changes. Forgot what the status is.
2018-05-11 09:15:29 -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
Michael Timothy Grimes
683f5fb9fc
adding variable for w_ports to be used in multiport design
2018-04-26 14:03:48 -07:00
Michael Timothy Grimes
7d3f7eefac
syntax corrections to pbitcell and modifying transistor sizes
2018-04-26 14:03:03 -07:00
Matt Guthaus
875eb94a34
Move bank select below row decoder, col mux, or col decoder.
2018-04-23 12:17:16 -07:00
Matt Guthaus
e04f53dc27
Rotate via
2018-04-23 09:18:34 -07:00
Matt Guthaus
269d553857
Move sense amp to tri gate routing to M3... not ideal.
2018-04-23 09:14:18 -07:00
Matt Guthaus
cd502895c4
Undoing last change.
2018-04-23 08:48:50 -07:00
Matt Guthaus
8ce3809cad
Divide index
2018-04-20 17:09:15 -07:00
Matt Guthaus
ed76a784d2
Remove power rails and ring.
2018-04-20 15:51:19 -07:00
Matt Guthaus
19a957a57c
Fix unattached label on sense amp out by changing layer.
2018-04-20 15:48:38 -07:00
Matt Guthaus
d734c05b71
Fix missing vdd pins and fix routing between sense amp, bitcell array and column mux.
2018-04-20 15:47:21 -07:00
Matt Guthaus
df9bdccd45
Change lvs check to look only at the last/top module.
2018-04-20 15:46:12 -07:00
Matt Guthaus
929122b6dc
Change default to scmos. Refactor add column mux.
2018-04-20 12:52:41 -07:00
Matt Guthaus
c75eafe085
Fix some errors
2018-04-18 09:37:33 -07:00
Matt Guthaus
63a8f7c653
Remove m2 from write driver
2018-04-16 16:15:35 -07:00
Matt Guthaus
bb1ec63c4f
Removed msf data flop from bank
2018-04-16 16:03:46 -07:00
Matt Guthaus
1ba87c88f5
Remove supply rails in decoder
2018-04-16 15:59:52 -07:00
Matt Guthaus
13adfc3724
Add bank ground routing
2018-04-16 10:15:36 -07:00
Matt Guthaus
3fe4578feb
Change stages of delay to odd
2018-04-16 10:15:15 -07:00
Matt Guthaus
70c92c27ef
Supply to M3 for bank select logic
2018-04-11 16:55:09 -07:00
Matt Guthaus
010a187545
Remove dead logic
2018-04-11 16:54:55 -07:00
Matt Guthaus
e038561b4a
Move supply to M3 in wordline driver
2018-04-11 16:23:45 -07:00
Matt Guthaus
6640d3491d
Tri gate and array supply to M2 and M3
2018-04-11 15:11:47 -07:00
Matt Guthaus
1e36e8e20c
Fix ms_flop array for M3 supplies
2018-04-11 14:25:04 -07:00
Matt Guthaus
873be38e15
Add M3 pins on dff_buf array
2018-04-11 12:09:15 -07:00
Matt Guthaus
4971dde316
Rename pin variable
2018-04-11 12:08:57 -07:00
Matt Guthaus
fa59b3d33d
Copy predecoder supply pins
2018-04-11 11:56:41 -07:00
Matt Guthaus
1afb0a1d86
Add M3 supply vias to decoder.
2018-04-11 11:47:37 -07:00
Matt Guthaus
3ba90c035f
Don't bring M2 rails over supply to allow supply connections.
2018-04-11 11:47:22 -07:00
Matt Guthaus
f3baf48c22
Rotate vias in hierarchical predecodes
2018-04-11 11:12:32 -07:00
Matt Guthaus
424eb17921
Add M3 pins to hierarchical predecodes
2018-04-11 11:10:34 -07:00
Matt Guthaus
4f8ab78ee2
Change write driver supply pins to M2
2018-04-11 09:29:54 -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
Matt Guthaus
91e342e4c9
Move precharge vdd pin to left edge.
2018-04-04 15:03:29 -07:00
Matt Guthaus
a772217172
Route precharge_array vdd in M3
2018-04-04 13:49:55 -07:00
Matt Guthaus
f9916f9f43
Route precharge vdd to M3
2018-04-04 13:34:56 -07:00
Matt Guthaus
4c4cfb2a3c
Add local dir for output. Will remove later.
2018-04-04 09:55:32 -07:00
Michael Timothy Grimes
7f46a0dead
merging changes in bitcell.py
2018-04-03 09:46:12 -07:00
Matt Guthaus
a0bf5345f8
Mostly working for 1 bank.
2018-03-23 08:14:26 -07:00
Matt Guthaus
97c08bce95
Add dffs to control logic. Rename layout pin segment/rect functions for consistency. Redo gnd/vdd pins in control.
...
Shift s_en buffers even with other cells.
2018-03-23 08:14:09 -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
5bf915a232
Detect via size for power ring.
2018-03-23 08:13:28 -07:00
Matt Guthaus
ed2fa10caa
Use LSB for column mux.
...
Detect via size for power ring.
2018-03-23 08:13:20 -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
1f81b24e96
Single bank passing DRC and LVS again.
...
Unfold hierarchical decoder to improve routability.
2018-03-23 08:13:10 -07:00
Matt Guthaus
b867e163a6
Move label pins to center like layout pins.
...
Rework of control logic with vertical poly. Passes DRC/LVS.
Single bank passing DRC.
2018-03-23 08:12:59 -07:00
Matt Guthaus
8ca9ba4244
Recreate delay chain and RBL to have vertical poly only.
2018-03-23 08:12:47 -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
Matt Guthaus
c020d74f26
Add dff_buf and dff_array modules.
2018-03-23 08:11:51 -07:00
Michael Timothy Grimes
0cc077598e
Added member functions to bitcell.py and pbitcell.py for use in bitcell_array.py. bitcell_array now used only one function for every type of bitcell.
2018-03-15 12:02:38 -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
0ea5d0b6a7
making changes to bitcell_array to account for the addition nets from the multiported bitcells
2018-03-06 17:03:21 -08:00
Michael Timothy Grimes
820a8440c9
adding unit test for bitcell array using pbitcell
2018-03-06 16:36:11 -08:00
Matt Guthaus
a2514878c1
Simplify dff array names of 1-dimension. Add ports on metal2.
2018-03-05 16:22:35 -08:00
Matt Guthaus
1eda3aa131
Add back offset all coordinates in sram.py.
2018-03-05 14:22:24 -08:00
Matt Guthaus
ba82222475
Add bank_select module option
2018-03-05 14:06:12 -08:00
Matt Guthaus
54f245cb9f
Fix capitalization of pins in dff_array
2018-03-05 14:04:34 -08:00
Matt Guthaus
6e9437356a
Fix LEF tests with new power supplies.
2018-03-05 13:55:02 -08:00
Matt Guthaus
4205a6a700
Connect bank supply rings in sram.py.
2018-03-05 13:49:22 -08:00
Matt Guthaus
0c203c1c7e
RBL width is max of delay chain or bitcell load.
2018-03-05 10:23:13 -08:00
Matt Guthaus
98fb1173df
Move bank select logic to a self contained module.
2018-03-05 10:22:51 -08:00
Matt Guthaus
0f721a3d40
Add vdd and gnd rails around bank structure.
2018-03-04 17:53:22 -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
Matt Guthaus
242a1a68e0
Fix duplicate instance gds output bug that only showed up in Magic extraction. Every time we saved a GDS, additional instances were put in the GDS file. Most extraction tools ignored this, but Magic actually extracted duplicates.
2018-03-02 18:05:46 -08:00
Matt Guthaus
2b130de198
Rewrite run_lvs.sh script to utilize setup.tcl file.
2018-03-02 18:03:55 -08:00
Michael Timothy Grimes
fc294cb282
Fixed cell height and width
2018-03-02 10:53:29 -08:00
Michael Timothy Grimes
d33dec4e9e
Separated add_globals function into add_ptx and add_globals
2018-03-02 10:49:26 -08:00
Matt Guthaus
7293eb33bc
Merge branch 'dev' of https://github.com/mguthaus/OpenRAM into dev
2018-03-02 10:30:16 -08:00
Hunter Nichols
d0dcd9f34b
Fixed comment style on power functions. Also added power parameters to scn3me_subm tech file and tested functionality.
2018-03-01 23:34:15 -08:00