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