mrg
ee18f61cbf
Route RBL to edge of bank.
2020-03-06 09:03:52 -08:00
mrg
9c1f0657dd
PEP8 Formatting
2020-03-05 11:58:36 -08:00
Aditi Sinha
694ea5c20e
Characterization for extra rows
2020-02-20 17:31:58 +00:00
Aditi Sinha
34939ebd70
Merge branch 'dev' into bisr
2020-02-20 17:09:09 +00:00
Bastian Koppelmann
64bf93e4e5
bank: Connect instances by their individual bl/br names
...
each module should be able to state how their bl/br lines are named. Here we
always connect port_data with the bitcell_array, so port_data needs function
that return the names of bl/br.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2020-02-12 15:00:50 +01:00
mrg
5928a93772
Merge branch 'dev' into tech_migration
2020-02-10 22:42:50 +00:00
mrg
2ff058f5d5
PEP8 Cleanup and reverse pitch offset of col addr routing
2020-02-06 22:59:30 +00:00
Jesse Cirimelli-Low
3a06141030
add simple sram sizing for netlist only
2020-02-06 12:10:49 +00:00
mrg
9beb0f4ece
Add separate well design rules.
...
Needed to fix various pgates with wells.
Did some cleanup of these gates as well.
2020-01-23 19:43:41 +00:00
jcirimel
f0958b0b11
squashed update of pex progress due to timezone error
2019-12-18 03:03:13 -08:00
Matt Guthaus
ed28b4983b
Clean up and generalize layer rules.
...
Convert metalN to mN.
Generalize helper constants in modules for
space, width, enclose, etc.
Use layer stacks whever possible.
Try to remove drc() calls in liu of helper constants.
2019-12-17 11:03:36 -08:00
Matt Guthaus
e143a6033f
Use layer stacks from tech file in design class and throughout
2019-12-13 14:13:41 -08:00
Aditi Sinha
5b3846e1e5
Changed replica bitcell array to work with bank tests for non power of two rows
2019-12-08 13:24:39 +00:00
jsowash
1a72070f04
Removed LVS error where w_en went over whole AND array in 2 port.
2019-09-03 17:14:31 -07:00
jsowash
dd67490823
Changed routing to allow for 2 write port with write mask.
2019-09-03 14:43:03 -07:00
Matt Guthaus
64fc771fc4
Simplify is not None
2019-08-22 15:02:52 -07:00
Matt Guthaus
ee2456f433
Merge branch 'add_wmask' into dev
2019-08-22 15:01:41 -07:00
Matt Guthaus
9f54afbf2c
Fix capitalization in verilog golden files
2019-08-21 14:29:57 -07:00
jsowash
c19bada8df
Performed clean up and added comments.
2019-08-19 08:57:05 -07:00
jsowash
858fbb062d
Placed wmask dff and added connections for wmask pins.
2019-08-14 11:45:22 -07:00
Matt Guthaus
8d6a4c74e7
Merge branch 'dev' into control_fix
2019-08-10 13:07:30 -07:00
Matt Guthaus
34d28a19e6
Connect wl_en in all ports to bank.
2019-08-10 12:30:23 -07:00
Hunter Nichols
d273c0eef5
Merge branch 'dev' into analytical_cleanup
2019-08-08 13:20:27 -07:00
Hunter Nichols
3c44ce2df6
Replaced analytical characterization with graph implementation. Removed most analytical delay functions used by old chacterizer.
2019-08-08 02:33:51 -07:00
Matt Guthaus
d36f14b408
New control logic, netlist only working
2019-08-07 17:14:33 -07:00
Matt Guthaus
ae46a464b9
Undo delay changes. Fix bus order for DRC.
2019-08-06 17:17:59 -07:00
Matt Guthaus
a2f81aeae4
Combine rbl_wl and wl_en. Size p_en_bar slower than wl_en.
2019-08-06 16:29:07 -07:00
Matt Guthaus
8771ffbfed
Fix bug to add all p_en_bar to banks
2019-08-01 12:28:21 -07:00
Matt Guthaus
ff64e7663e
Add p_en_bar to write ports as well
2019-08-01 12:21:43 -07:00
Matt Guthaus
0c5cd2ced9
Merge branch 'dev' into rbl_revamp
2019-07-26 18:01:43 -07:00
Matt Guthaus
fb60b51c72
Add check bits. Clean up logic. Move read/write bit check to next cycle.
2019-07-24 16:57:04 -07:00
Matt Guthaus
3df8abd38c
Clean up. Split class into own file.
2019-07-24 08:15:10 -07:00
Matt Guthaus
07401fc6ea
Make control bus routing offset consistent
2019-07-23 09:39:28 -07:00
jsowash
0a5461201a
Change num_wmask to num_wmasks and write_size = None not word_size if wmask not used.
2019-07-19 14:58:37 -07:00
jsowash
45cb159d7f
Connected wmask in the spice netlist.
2019-07-19 13:17:55 -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
mrg
e550d6ff10
Port name maps between bank and replica array working.
2019-07-15 11:29:29 -07:00
mrg
a189b325ed
Merge remote-tracking branch 'origin/dev' into rbl_revamp
2019-07-12 11:10:07 -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
bfe4213fce
Port address added to entire SRAM.
2019-07-05 09:44:42 -07:00
mrg
c0f9cdbc12
Create port address module
2019-07-05 09:03:52 -07:00
jsowash
02a0cd71ac
fixed merge conflict
2019-07-04 11:14:32 -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
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
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
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
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
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
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
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
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
Hunter Nichols
0e96648211
Added linear corner factors in analytical delay model.
2019-03-04 00:42:18 -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
8f56953af0
Convert wordline driver to use sized pdriver
2019-01-24 10:20:23 -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
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
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
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
b5b691b73d
Fix missing via in clk input of control
2018-11-28 13:20:39 -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
cf23eacd0e
Add wl_en
2018-11-26 18:00:59 -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
e8f1c19af6
Merge branch 'dev' into multiport_characterization
2018-11-19 15:42:48 -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
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
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
Matt Guthaus
3221d3e744
Add initial support and unit tests for 2 port SRAM
2018-11-14 17:05:23 -08:00
Hunter Nichols
e9f6566e59
Fixed merge conflict, moved control logic mod instantiation, removed some commented out code.
2018-11-14 13:53:27 -08:00
Matt Guthaus
01ceedb348
Only check number of ports when doing layout.
2018-11-13 16:42:25 -08:00
Matt Guthaus
aa779a7f82
Initial two port bank in SCMOS
2018-11-13 16:05:22 -08:00
Hunter Nichols
bad55cfd05
Merged with dev. Fixed merge conflict.
2018-11-09 17:18:19 -08:00
Hunter Nichols
8957c556db
Added sense amp enable delay calculation.
2018-11-08 23:54:18 -08:00
Hunter Nichols
b8061d3a4e
Added initial code for determining the logical effort delay of the wordline.
2018-11-08 23:54:18 -08:00
Matt Guthaus
71177d0b70
Fixed small bugs with new port index stuff and layout.
2018-11-08 17:40:22 -08:00
Matt Guthaus
18fbf30b46
Convert col decoder select routing to channel route.
2018-11-08 16:53:58 -08:00
Matt Guthaus
ef2ed9a92c
Simplify bl and br name lists.
2018-11-08 15:48:49 -08:00
Matt Guthaus
5d733154e9
Refactor bank to allow easier multiport.
2018-11-08 15:18:51 -08:00
Matt Guthaus
7b10e3bfec
Convert port index lists to three simple lists.
2018-11-08 12:19:40 -08:00
Hunter Nichols
98a00f985b
Changed the analytical delay model to accept multiport options. Little substance to the values generated.
2018-10-26 00:08:13 -07:00
Hunter Nichols
016604f846
Fixed spacing in golden lib files. Added column mux into analytical model.
2018-10-24 00:16:26 -07:00
Matt Guthaus
ce8c2d983d
Update all drc usages to call function type
2018-10-12 14:37:51 -07:00
Matt Guthaus
a094db9077
Merge branch 'multiport' into supply_routing
2018-10-11 09:56:38 -07:00
Matt Guthaus
e22e658090
Converted all submodules to use _bit notation instead of [bit]
2018-10-11 09:53:08 -07:00
Matt Guthaus
6bbf66d55b
Rewrote pin enclosure code to better address off grid pins.
...
Include only maximal pin enclosure shapes.
Add smallest area connector for off grid pins.
Fix decoder to use add_power_pin code.
Change permissions.
2018-10-10 15:15:58 -07:00
Matt Guthaus
a2b1d025ab
Merge multiport
2018-10-08 11:45:50 -07:00
Matt Guthaus
3244e01ca1
Add copy power pin function
2018-10-08 09:56:39 -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
a71486e22f
Adding mutliport constants to design.py to reduce the need for copied code across multiple modules.
2018-09-28 00:11:39 -07:00
Michael Timothy Grimes
1ca0154027
Editting top level netlist for multiport. Now there are multiple control logic modules, one per port. Since diffent ports are driven by different clocks, also separating dff modules, one per port.
2018-09-26 19:10:24 -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
fc5f163828
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-18 18:56:15 -07:00
Michael Timothy Grimes
332976dd73
s_en will be shared amongst the sense amps of different ports, so I'm removing the distinct s_en signals from several modules.
2018-09-13 18:46:43 -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
Michael Timothy Grimes
27427d4192
Bank level layout now works with pbitcell and 1RW. Column mux and array have been altered to accomodate multiport. Multiport changes to wordline driver were removed because they were unnecessary.
2018-09-09 22:06:29 -07:00
Michael Timothy Grimes
68c00d7467
Removing din and dout list names in exchange for a read index. Write ports will always be in order (they will not skip numbers. Read ports however will skip the numbers assigned to wirte ports so the index of the read ports must be tracked.
2018-09-09 14:14:26 -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
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
1e5924d1b7
Adding multiported bank_sel pins
2018-09-03 17:35:00 -07:00
Matt Guthaus
563ff77d44
Add sram_config class. Rename port variables for better description.
2018-08-31 12:03:28 -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
Matt Guthaus
6401cbf2a6
Move place function to instance class rather than hierarchy.
2018-08-27 17:25:39 -07:00
Matt Guthaus
8664f7a0b8
Converted all modules to not run create_layout when netlist_only
...
mode is enabled.
2018-08-27 16:42:48 -07:00
Matt Guthaus
19d46f5954
Finalized separation of netlist/layout creation.
2018-08-27 14:18:32 -07:00
Michael Timothy Grimes
8c73a26daa
Changing function names in bitcell and pbitcell to better reflect what values they're returning. Editting function calls in bitcell_array and bank accordingly.
2018-08-26 14:37:17 -07:00
Michael Timothy Grimes
8e3dc332f3
changed control signal names in bank select to accommodate multi-port changes in bank
2018-08-19 00:00:42 -07:00
Michael Timothy Grimes
19ca0d6c2a
Changing control logic names to match naming scheme for multi-port. din[0] to din0[0], s_en to s_en0, addr[0] to addr0[0], etc. Sram level should pass unit tests for single port but will not currently pass for multi-port
2018-08-18 16:51:21 -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
Matt Guthaus
3420b1002c
Connect data and column DFF clocks in 1 bank.
2018-08-14 10:09:41 -07:00