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
Matt Guthaus
f7f318d72e
Remove tri_en signals from bank control logic.
2018-08-13 14:47:03 -07:00
Matt Guthaus
b7525a14c2
Change DIN to DOUT in characterizer. Spacing dff flops down by m2 not m1 pitch.
2018-07-25 15:50:49 -07:00
Matt Guthaus
44f0e4a1de
Fix new offset coordinate syntax error
2018-07-25 13:47:36 -07:00
Matt Guthaus
3f57853969
Use lower case names except for leaf cells and top level
2018-07-18 15:10:57 -07:00
Matt Guthaus
ffc866ef78
Single bank working except for channel routing error in 4-way case.
2018-07-17 14:40:04 -07:00
Matt Guthaus
7a69fc1bca
Add col addr routing and data routing
2018-07-17 14:24:44 -07:00
Matt Guthaus
ac22b1145f
Convert bank to use create_bus routines.
...
Modify control logic to have correct offset in SRAM.
2018-07-16 14:13:41 -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
94db2052dd
Consolidate metal pitch rules to new design class
2018-07-09 15:42:46 -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
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
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
929122b6dc
Change default to scmos. Refactor add column mux.
2018-04-20 12:52:41 -07:00