Matt Guthaus
864639d96e
Remove old replica bitline.
2019-07-18 15:19:40 -07:00
jsowash
720739a192
Skipping test 22_sram_wmask_func_test and changed a typo of write_driver to write_mask
2019-07-17 11:04:17 -07:00
Hunter Nichols
9696401f34
Added graph exclusions to replica column to reduce s_en paths.
2019-07-16 23:47:34 -07:00
mrg
8ca656959b
Change direction of RBL bitline pins
2019-07-16 15:09:46 -07:00
mrg
b546ecce2c
Check 2 ports only for layout.
2019-07-16 14:11:54 -07:00
mrg
12fa36317e
Cleanup unit test. Fix s_en control bug for r-only.
2019-07-16 13:51:31 -07:00
mrg
2f55911604
Simplify column decoder placement.
2019-07-16 11:55:25 -07:00
mrg
bea07c2319
SRAM with RBL integration in array.
2019-07-16 09:04:58 -07:00
jsowash
ea2f786dcf
Redefined write_size inrecompute_sizes() to take the new word_size()
2019-07-15 14:41:26 -07:00
mrg
e550d6ff10
Port name maps between bank and replica array working.
2019-07-15 11:29:29 -07:00
mrg
2271946eef
Fix replica array pin names
2019-07-12 14:39:56 -07:00
mrg
d72691f6c2
Make mirror optional argument
2019-07-12 11:14:47 -07:00
mrg
a189b325ed
Merge remote-tracking branch 'origin/dev' into rbl_revamp
2019-07-12 11:10:07 -07:00
mrg
17d144b5b5
Clean up multiport test options to be consistent.
2019-07-12 10:39:55 -07:00
jsowash
dfa2b29b8f
Begin adding wmask netlist and spice tests.
2019-07-12 10:34:29 -07:00
mrg
043018e8ba
Functional tests working with new RBL.
2019-07-12 08:42:36 -07:00
mrg
0b13225913
Single banks working with new RBL
2019-07-11 14:47:27 -07:00
mrg
b841fd7ce3
Replica bitcell array with arbitrary RBLs working
2019-07-10 15:56:51 -07:00
mrg
9dab0be737
Single bank working with replica array.
2019-07-05 13:44:29 -07:00
mrg
b9d993c88b
Add dummy bitcell module.
...
Modify bitcell logic to guess if bitcell is not "bitcell"
No longer need to specify replica (and dummy) bitcell explicitly
Add support for 1 or 2 port replica array.
2019-07-05 12:58:52 -07:00
jsowash
f29631695c
Finished merge
2019-07-05 11:43:31 -07:00
mrg
f542613d78
Correct wordline_driver enable to en, not en_bar.
2019-07-05 10:31:05 -07:00
mrg
bfe4213fce
Port address added to entire SRAM.
2019-07-05 09:44:42 -07:00
mrg
4c6556f1bc
Add port address module
2019-07-05 09:04:48 -07:00
mrg
c0f9cdbc12
Create port address module
2019-07-05 09:03:52 -07:00
mrg
dd62269e0b
Some cleanup
2019-07-05 08:18:58 -07:00
jsowash
02a0cd71ac
fixed merge conflict
2019-07-04 11:14:32 -07:00
jsowash
125112b562
Added wmask flip flop. Need work on placement still.
2019-07-04 10:34:14 -07:00
mrg
3176ae9d50
Fix pnand2 height in bank select. Unsure how it passed before.
2019-07-03 15:12:22 -07:00
Matt Guthaus
0cb86b8ba2
Exclude new precharge in graph build
2019-07-03 14:46:20 -07:00
mrg
8b0b2e2817
Merge branch 'dev' into rbl_revamp
2019-07-03 14:05:28 -07:00
mrg
bc4a3ee2b7
New port_data module works in SCMOS
2019-07-03 13:17:12 -07:00
jsowash
474ac67af5
Added optional write_size and wmask.
2019-07-03 10:14:15 -07:00
mrg
244604fb0d
Data port module working by itself.
2019-07-02 15:35:53 -07:00
mrg
2abe859df1
Fix shared bank offset.
2019-07-01 16:29:59 -07:00
jsowash
67c6cdf3bb
Fixed error where word_size was compared to num_words and added write_size to control_logic.py
2019-07-01 15:51:40 -07:00
jsowash
242771f710
Merge branch 'dev' into add_wmask
2019-06-28 15:44:27 -07:00
jsowash
1f76afd294
Begin wmask functionality. Added wmask to verilog file and config parameters.
2019-06-28 15:43:09 -07:00
Hunter Nichols
ce7e320505
Undid change to add bitcell as input to array mod.
2019-06-25 18:26:13 -07:00
Hunter Nichols
4e08e2da87
Merged and fixed conflicts with dev
2019-06-25 16:55:50 -07:00
Hunter Nichols
33c17ac41c
Moved manual delay chain declarations from tech files to options.
2019-06-25 15:45:02 -07:00
mrg
4523a7b9f6
Replica bitcell array working
2019-06-19 16:03:21 -07:00
Hunter Nichols
2b07db33c8
Added bitcell as input to array, but there are DRC errors now.
2019-06-17 15:31:16 -07:00
mrg
d35f180609
Add dummy row
2019-06-14 15:05:14 -07:00
mrg
3c3456596a
Add replica row with dummy cells.
2019-06-14 14:38:55 -07:00
mrg
b67f06a65a
Add replica column for inclusion in replica bitcell array
2019-06-14 12:15:16 -07:00
Matt Guthaus
6e044b776f
Merge branch 'pep8_cleanup' into dev
2019-06-14 08:47:10 -07:00
Matt Guthaus
a234b0af88
Fix space before comment
2019-06-14 08:43:41 -07:00
mrg
fc12ea24e9
Add boundary to every module and pgate for visual debug.
2019-06-03 15:27:37 -07:00
mrg
301f032619
Remove +1 to induce error.
2019-05-31 10:55:17 -07:00
mrg
d789f93743
Add debug runner during individual tests.
2019-05-31 10:51:42 -07:00
Hunter Nichols
ad229b1504
Altered indexing of objects in SRAM factory to remove duplications of items using OPTS names. Added smarter bitline name checking.
2019-05-28 16:55:09 -07:00
Hunter Nichols
e2d1f7ab0a
Added smarter name checking for the characterizer.
2019-05-27 13:08:59 -07:00
Hunter Nichols
099bc4e258
Added bitcell check to storage nodes.
2019-05-20 18:35:52 -07:00
Hunter Nichols
d8617acff2
Merged with dev
2019-05-15 18:48:00 -07:00
Hunter Nichols
a80698918b
Fixed test issues, removed all bitcells not relevant for timing graph.
2019-05-15 17:17:26 -07:00
Hunter Nichols
178d3df5f5
Added graph to characterizer to get net names and perform s_en checks. Graph not working with column mux.
2019-05-14 14:44:49 -07:00
Hunter Nichols
d54074d68e
Made timing graph more gate-level. Changed edges to be defined by inputs/ouputs and name based.
2019-05-07 00:52:27 -07:00
Matt Guthaus
0f03553689
Update copyright to correct years.
2019-05-06 06:50:15 -07:00
Matt Guthaus
3f9a987e51
Update copyright. Add header to all OpenRAM files.
2019-04-26 12:33:53 -07:00
Hunter Nichols
f35385f42a
Cleaned up names, added exclusions to narrow paths for analysis.
2019-04-24 23:51:09 -07:00
Hunter Nichols
e292767166
Added graph creation and functions in base class and lower level modules.
2019-04-24 14:23:22 -07:00
Matt Guthaus
be20408fb2
Rewrite add_contact to use layer directions.
2019-04-15 18:00:36 -07:00
Hunter Nichols
a500d7ee3d
Adjusted bitcell analytical delays for multiport cells.
2019-04-09 02:49:52 -07:00
Hunter Nichols
25c034f85d
Added more accurate bitline delay capacitance estimations
2019-04-09 01:56:32 -07:00
Hunter Nichols
edac60d2a8
Merged with dev and fixed conflicts.
2019-04-03 16:45:01 -07:00
Hunter Nichols
cc5b347f42
Added analyical model test which compares measured delay to model delay.
2019-04-03 16:26:20 -07:00
Hunter Nichols
f6eefc1728
Added updated analytical characterization with combined models
2019-04-02 01:09:31 -07:00
Matt Guthaus
09a429aef7
Update unit tests to all use the sram_factory
2019-03-06 14:12:24 -08:00
Hunter Nichols
80a325fe32
Added corner information for analytical power estimation.
2019-03-04 19:27:53 -08:00
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -08:00
Hunter Nichols
8c1fe253d5
Added variable fanouts to delay testing.
2019-02-13 22:24:58 -08:00
Hunter Nichols
56e79c050b
Changed test values to fix tests.
2019-02-06 15:27:29 -08:00
Hunter Nichols
01c8405d12
Fix bitline measurement delays and adjusted default delay chain for column mux srams
2019-02-06 00:46:25 -08:00
Hunter Nichols
5f01a52113
Fixed some delay model bugs.
2019-02-05 21:15:12 -08:00
Hunter Nichols
12723adb0c
Modified some testing and initial delay chain sizes.
2019-02-04 23:38:26 -08:00
Hunter Nichols
8d7823e4dd
Added delay ratio comparisons between model and measurements
2019-01-31 00:26:27 -08:00
Hunter Nichols
45fceb1f4e
Added word per row to sram config with a default arguement to fix test.
2019-01-30 11:43:47 -08:00
Hunter Nichols
d1218778b1
Fixed merge conflicts
2019-01-28 22:33:08 -08:00
Matt Guthaus
d77bba3af2
Fix clock fanout to include internal FF. Update delays in golden tests.
2019-01-28 08:48:32 -08:00
Matt Guthaus
881c449c7c
Fix error in offset computation for right drivers
2019-01-28 07:53:36 -08:00
Matt Guthaus
c4438584fe
Move jog for wl to mid-cells rather than mid-pins.
2019-01-27 12:59:02 -08:00
Matt Guthaus
0c3baa5172
Added some comments to the spice files.
2019-01-25 15:00:00 -08:00
Matt Guthaus
1afd4341bd
Update stage effort of clk_buf_driver
2019-01-25 14:22:37 -08:00
Matt Guthaus
6f32bac1a2
Use rx of last pdriver instance after placing instances
2019-01-25 14:17:37 -08:00
Matt Guthaus
614aa54f17
Move clkbuf output lower to avoid dff outputs
2019-01-25 14:03:52 -08:00
Matt Guthaus
ddf734891a
Fix pdriver width error
2019-01-25 10:26:31 -08:00
Matt Guthaus
8f56953af0
Convert wordline driver to use sized pdriver
2019-01-24 10:20:23 -08:00
Hunter Nichols
ee03b4ecb8
Added some data variation checking
2019-01-24 09:25:09 -08:00
Matt Guthaus
091b4e4c62
Add size commments to spize. Change pdriver stage effort.
2019-01-23 17:27:15 -08:00
Matt Guthaus
8a85d3141a
Fix polarity problem.
2019-01-23 13:08:43 -08:00
Matt Guthaus
d64d262d78
Fix pdriver instantiation. Change sizes based on word_size.
2019-01-23 12:51:28 -08:00
Matt Guthaus
b58fd03083
Change pbuf/pinv to pdriver in control logic.
2019-01-23 12:03:52 -08:00
Matt Guthaus
a418431a42
First draft of sram_factory code
2019-01-16 16:15:38 -08:00
Hunter Nichols
272267358f
Moved all bitline delay measurements to delay class. Added measurements to check delay model.
2019-01-03 05:51:28 -08:00
Hunter Nichols
51b1bd46da
Added option to use delay chain size defined in tech.py
2018-12-14 18:02:19 -08:00
Hunter Nichols
97fc37aec1
Added checks for the bitline voltage at sense amp enable 50%.
2018-12-12 23:59:32 -08:00
Hunter Nichols
0a26e40022
Attempts to fix failing tests. Random seed differences between mada and pipeline.
2018-12-12 13:12:26 -08:00
Hunter Nichols
4d84731c34
Edited heuristic delay chain and delay model to account for read port differences.
2018-12-07 15:39:53 -08:00
Hunter Nichols
1e87a0efd2
Re-added new width 1rw,1r bitcells with flattened gds.
2018-12-05 20:43:10 -08:00
Hunter Nichols
ea55bda493
Changed s_en delay calculation based recent control logic changes.
2018-12-05 17:10:11 -08:00
Hunter Nichols
722bc907c4
Merged with dev. Fixed conflicts in tests.
2018-12-02 23:09:00 -08:00
Matt Guthaus
90d1fa7c43
Bitcell supply routing fixes.
...
Flatten and simplify 1rw 1r bitcell.
Move bitcell vias to M3 if rotation is limited.
Simplify replica bitcell vdd routing.
2018-11-30 12:32:13 -08:00
Matt Guthaus
7e054a51e2
Some techs don't need m1 power pins
2018-11-29 18:47:38 -08:00
Matt Guthaus
0af4263edb
Remove extra rotated vias in bitcell array to simplify power routing
2018-11-29 18:13:15 -08:00
Matt Guthaus
33a7683473
Remove used gated_clk instead of cs for read-only control logic.
2018-11-29 16:28:37 -08:00
Matt Guthaus
3c4d559308
Fixed syntax error referring to column mux
2018-11-29 13:29:16 -08:00
Matt Guthaus
3d3f54aa86
Add col addr line spacing for col addr decoder
2018-11-29 13:22:48 -08:00
Matt Guthaus
4df862d8af
Convert channel router to take netlist of pins rather than names.
2018-11-29 12:12:10 -08:00
Matt Guthaus
7054d0881a
Fix col address dff spacing from bank.
2018-11-29 09:54:29 -08:00
Matt Guthaus
02a67f9867
Missing gap in port 1 col decoder
2018-11-28 18:07:31 -08:00
Matt Guthaus
d041a498f3
Fix height of port 1 control bus. Adjust column decoder names.
2018-11-28 17:48:25 -08:00
Matt Guthaus
a2a9cea37e
Make column decoder same height as control to control and supply overlaps
2018-11-28 16:59:58 -08:00
Matt Guthaus
d99dcd33e2
Fix SRAM level control routing errors.
2018-11-28 15:30:52 -08:00
Matt Guthaus
143e4ed7f9
Change hierchical decoder output order to match changes to netlist.
2018-11-28 14:09:45 -08:00
Matt Guthaus
b5b691b73d
Fix missing via in clk input of control
2018-11-28 13:20:39 -08:00
Matt Guthaus
2ed8fc1506
pgate inputs and outputs are all on M1 for flexible via placement when using gates.
2018-11-28 12:42:29 -08:00
Matt Guthaus
93904d9f2d
Control logic passes DRC/LVS in SCMOS
2018-11-28 11:02:24 -08:00
Matt Guthaus
410115e830
Modify dff_buf to stagger Q and Qb outputs.
2018-11-28 10:43:11 -08:00
Matt Guthaus
25611fcbc1
Remove dff_inv since we can just use dff_buf
2018-11-28 10:42:22 -08:00
Matt Guthaus
ea6abfadb7
Stagger outputs of dff_buf
2018-11-28 09:48:16 -08:00
Matt Guthaus
c43a140b5e
All control routed and DRC clean. LVS errors.
2018-11-27 17:18:03 -08:00
Matt Guthaus
c45f990413
Change en to en_bar in precharge. Fix logic for inverted p_en_bar.
2018-11-27 14:17:55 -08:00
Matt Guthaus
bf31126679
Correct decoder output numbers to follow address order
2018-11-27 12:03:13 -08:00
Matt Guthaus
b912f289a6
Remove extra X in instance names
2018-11-27 12:02:53 -08:00
Matt Guthaus
2237af0463
Merge branch 'multiport_control_fix' of ssh://scone/home/mrg/openram into multiport_control_fix
2018-11-26 18:01:34 -08:00
Matt Guthaus
cf23eacd0e
Add wl_en
2018-11-26 18:00:59 -08:00
Matt Guthaus
21759d59b4
Remove inverter in wordline driver
2018-11-26 16:41:31 -08:00
Matt Guthaus
9e0b31d685
Make pand2 and pbuf derive pgate. Initial DRC wrong layout.
2018-11-26 16:19:18 -08:00
Matt Guthaus
dd79fc560b
Corretct modules for add_inst
2018-11-26 15:35:29 -08:00
Matt Guthaus
b440031855
Add netlist only mode to new pgates
2018-11-26 15:29:42 -08:00
Hunter Nichols
67977bab3e
Fixed port issue in bank. Changed golden data due to netlist change.
2018-11-20 11:39:14 -08:00
Hunter Nichols
62cbbca852
Merged, fixed conflict bt matching control logic creation to dev.
2018-11-19 22:20:20 -08:00
Hunter Nichols
2f29ad5510
Disabled resizing based on rise/fall delays. It creates delay chains which cannot be routed.
2018-11-19 22:13:58 -08:00
Hunter Nichols
e8f1c19af6
Merge branch 'dev' into multiport_characterization
2018-11-19 15:42:48 -08:00
Matt Guthaus
a47509de26
Move via away from cell edges
2018-11-19 15:42:22 -08:00
Hunter Nichols
a55d907d03
High-to-low delays and slews are copied from the low-to-high values to simplify lib file results. FIXME
2018-11-19 15:40:26 -08:00
Matt Guthaus
4630f52de2
Use array ur instead of bank ur to pace row addr dff
2018-11-19 08:41:26 -08:00
Hunter Nichols
d3c47ac976
Made delay measurements less dependent on period.
2018-11-18 23:28:49 -08:00
Matt Guthaus
ba8bec3f67
Two m1 pitches at top of control logic
2018-11-18 09:30:27 -08:00
Matt Guthaus
c677efa217
Fix control logic center location. Fix rail height error in write only control logic.
2018-11-18 09:15:03 -08:00
Hunter Nichols
3716030a23
Added delay chain sizing for rise/fall delays. Disabled to some sizes being having very large fanouts.
2018-11-16 16:57:22 -08:00
Matt Guthaus
047d6ca2ef
Must channel rout the column mux bits since they could overlap
2018-11-16 16:21:31 -08:00
Matt Guthaus
b89c011e41
Add psram 1w/1r test. Fix bl/br port naming errors in bank.
2018-11-16 15:31:22 -08:00
Matt Guthaus
ca750b698a
Uniquify bitcell array
2018-11-16 12:52:22 -08:00
Matt Guthaus
5e0eb609da
Check for single top-level structure in vlsiLayout. Don't allow dff_inv and dff_buf to have same names.
2018-11-16 11:48:41 -08:00
Matt Guthaus
68ac7e5955
Fix offset of column decoder with new mirroring
2018-11-15 17:27:58 -08:00
Matt Guthaus
712b71c5ca
Mirror port 1 column decoder in X and Y
2018-11-15 15:26:59 -08:00
Matt Guthaus
21d111acfe
Move wordline driver clock line below decoder. Fix port 1 clock route DRC.
2018-11-15 10:30:38 -08:00
Hunter Nichols
6e47de3f9b
Separated relative delay into rise/fall.
2018-11-14 23:34:53 -08:00