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
Michael Timothy Grimes
d6ef91786b
updating pbitcell with latest layout optimizations
2018-02-28 17:56:13 -08:00
Hunter Nichols
93ad99b9e1
Changed variable names in analytical power function to be more clear.
2018-02-28 12:32:54 -08:00
Hunter Nichols
6a3f0843ff
Fixed accidental changes made to analytical delay.
2018-02-28 12:18:41 -08:00
Michael Timothy Grimes
1ba626fce1
removed pbitcell for compiler folder
2018-02-28 11:28:04 -08:00
Michael Timothy Grimes
d41abb3074
moved pbitcell to new folder for parametrically sized cells
2018-02-28 11:25:22 -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
Hunter Nichols
e6d6680da1
Fixed conflict in delay.py
2018-02-27 13:02:22 -08:00
Matt Guthaus
2b839d34a3
Get rid of netgen error of undefined dlatch. Fix sp_read to find correct subckt name and pins.
2018-02-27 08:59:46 -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
7a14cf16e0
Change priority of debug info for DRC/LVS.
2018-02-25 11:14:31 -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
107752b1fb
Fix num words in example.
2018-02-23 12:17:43 -08:00
Matt Guthaus
e3e7a31c6b
Fix syntax error in functional test.
2018-02-23 07:47:01 -08:00
Hunter Nichols
62ad30e741
Added initial version of analytical power esitmation. Loops through instances but power estimate is not accurate.
2018-02-22 19:35:54 -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
beb7dad9bc
Added corner paramters to power functions. This commit does not compile (sorry)
2018-02-22 00:15:55 -08:00
Hunter Nichols
d4a0f48d4f
Added power calculations for inverter. Still testing.
2018-02-21 19:51:21 -08:00
mguthaus
fbc2d772be
Fix index order of golden tests.
2018-02-21 19:37:10 -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
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
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
179a27b0e3
Added some power functions.
2018-02-20 18:22:23 -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
mguthaus
28fe49d069
Change RBL to allow stages and FO for configuration
2018-02-16 11:51:01 -08:00
mguthaus
1297cb4e40
Convert dff to VTG transistors in 45nm. Correct pin order in dff library cell.
2018-02-16 10:40:05 -08:00
mguthaus
cb449a1cd2
Ignore non-rectangular pins.
2018-02-16 10:24:57 -08:00
Matt Guthaus
2e3e95efda
Change ratio of delay line and RBL size. Need to tune it better automatically.
2018-02-14 16:50:08 -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
Hunter Nichols
8ea384a761
Fixed merging issues with power branch
2018-02-14 15:21:42 -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
f457091bba
Fix typo in precharge.
2018-02-12 15:34:01 -08:00
Matt Guthaus
e32b0b8f7a
Change precharge input from clk to en
2018-02-12 15:32:47 -08:00
mguthaus
e210d3d49a
Make some common lib memory sizes. Update Makefile to auto build and char them all.
2018-02-12 12:00:59 -08:00
mguthaus
636099c5e1
Example config only characterizes a single corner. Remove default name of sram to generate more meaningful name. Begin pre-computed IP library.
2018-02-12 11:22:47 -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
Michael Timothy Grimes
72fc92ad95
Merge branch 'master' of https://github.com/mguthaus/OpenRAM into multiport
2018-02-11 16:47:53 -08:00
mguthaus
f690532563
Add new corner-based lib files to unit tests.
2018-02-11 16:35:10 -08:00
Matt Guthaus
4dd075c7b7
Add V and C to names of lib files.
2018-02-11 16:34:32 -08:00
Matt Guthaus
ce164fb7a8
Merge branch 'dev' of https://github.com/mguthaus/OpenRAM into dev
2018-02-10 10:03:26 -08:00
Matt Guthaus
b75eef3684
Fix syntax error.
2018-02-10 08:02:59 -08:00
Matt Guthaus
4d35972553
Get default corner options from tech file
2018-02-09 15:49:55 -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
d19867e64c
Move utils to base.
2018-02-09 10:42:23 -08:00
Matt Guthaus
84c798d9e4
Move last few modules to base dir
2018-02-09 10:29:37 -08:00
Matt Guthaus
7c83ef3f04
Fix missing subdir name. Comment about organization.
2018-02-09 10:27:43 -08:00
Matt Guthaus
15747b4759
Merge branch 'dev' of github.com:mguthaus/OpenRAM into dev
2018-02-09 10:25:28 -08:00
Matt Guthaus
7100d6f904
Organize top-level files into subdirs.
2018-02-09 10:25:24 -08:00
Matt Guthaus
489faaba99
Merge branch 'dev' of https://github.com/mguthaus/OpenRAM into dev
2018-02-09 10:20:56 -08:00
Matt Guthaus
13fd87d99e
Accidentally committed to master. Merge branch 'master' into dev
2018-02-09 10:19:22 -08:00
Matt Guthaus
d62da44329
Fix bug where path does not obey specified width.
2018-02-09 10:03:09 -08:00
mguthaus
5aa92a6549
Reorganize top-level functions a bit more. Add help info to banner.
2018-02-09 09:53:28 -08:00
mguthaus
8719a19377
Move parameter setting to config reading rather than status function.
2018-02-09 09:26:13 -08:00
Matt Guthaus
3c86f94549
Change argument name for lib in tests as well.
2018-02-08 15:28:49 -08:00
Matt Guthaus
d684189241
Don't output text in SRAM during unit test.
2018-02-08 14:58:55 -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
Matt Guthaus
17716191c1
Clean up time statements in openram output
2018-02-08 13:11:18 -08:00
Matt Guthaus
6c89f7965d
Refactor openram.py.
2018-02-08 12:47:19 -08:00
Matt Guthaus
54c21f6282
Added method=gear back to ngspice simulation to fix convergence bug.
2018-02-07 21:07:11 -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
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
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
Matt Guthaus
e93517529c
Make delay chain length and bitcell load parameters to enable tuning. Rename the parameters to be more descriptive.
2018-02-07 14:54:59 -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
a2bf66b063
Add metal1 gnd line to prevent DRC errors when sizing delay chain.
2018-02-07 14:15:13 -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
3820861ce8
Increase control delay line from 4 inverters to 3 FO4 delays. Need to dynamically adjust this.
2018-02-07 13:10:45 -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
8e91faaccb
Remove version from OpenRAM. We will go bit git hashes.
2018-02-06 10:56:26 -08:00
mguthaus
3af1bbba26
Updated delay tests with new delays including ps, pd, as, ad.
2018-02-06 07:58:25 -08:00