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
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
Hunter Nichols
8b6a28b6fd
Changed scmos bitcell 1rw,1r to have same tx widths as pbitcell.
2018-11-13 22:24:18 -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
ea1a1c7705
Added delay chain resizing based on analytical delay.
2018-11-09 17:14:52 -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
d03c9d5294
Fix write bl name list in replica bitline
2018-11-08 17:02:20 -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
Matt Guthaus
929eae4a23
Document why sense amp is 8x isolation transistor
2018-11-07 16:09:50 -08:00
Matt Guthaus
3d2abc0873
Change default col mux size to 2. Add some comments.
2018-11-07 15:43:08 -08:00
Matt Guthaus
1fe767343e
Reimplement gdsMill pin functions so they are run once when a GDS is loaded. Get pins is now a table lookup.
2018-11-07 11:31:44 -08:00
Hunter Nichols
f05865b307
Fixed drc issues with replica bitline test.
2018-11-02 17:16:41 -07:00
Hunter Nichols
b00fc040a3
Added replica 1rw+1r cell python modules. Also added drc/lvs checks in replica bitline, but test is failing due to pin error in freepdk45 and metal spacing error in scmos.
2018-11-01 12:29:49 -07:00
Hunter Nichols
e5dcf5d5b1
Altered bitline with heuristic to have a larger delay chain for larger column muxes. Also have to alter the feasible period for functional tests to pass.
2018-10-30 22:19:26 -07:00
Hunter Nichols
3bb8aa7e55
Fixed import errors with mux analytical delay model.
2018-10-26 17:37:25 -07: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
a711a5823d
Merged dev and fix conflicts in geometry.py
2018-10-24 10:52:22 -07:00
Matt Guthaus
e90f9be6f5
Move replica bitcells to new bitcells subdir
2018-10-24 09:06:29 -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
Hunter Nichols
53cb4e7f5e
Fixed lib files to be syntactically correct with multiport. Fixed issue in geometry.py that prevented netlist_only option from working.
2018-10-22 23:33:01 -07:00
Hunter Nichols
62439bdac6
Fixed merge conflicts with sram.py
2018-10-22 17:29:14 -07:00
Hunter Nichols
4f08062268
Added custom 1rw+1r bitcell. Testing are currently failing.
2018-10-22 17:02:21 -07:00
Matt Guthaus
7591f25a2e
Merge branch 'dev' into supply_routing
2018-10-20 14:29:19 -07:00
Matt Guthaus
f5e68c5c32
Move power pins in hierarchical decoder to be further. Strap rails instead for redundant vias.
2018-10-20 12:54:12 -07:00
Michael Timothy Grimes
a06a0975db
Removed L shaped routing from gnd contact to wordlines in replica bitline. Corrected slight DRC errors. Optimizations to pbitcell.
2018-10-18 07:05:47 -07:00
Matt Guthaus
4bf1e206e2
Merge branch 'dev' into supply_routing
2018-10-17 09:47:18 -07:00
Matt Guthaus
ce8c2d983d
Update all drc usages to call function type
2018-10-12 14:37:51 -07:00
Matt Guthaus
297ea81060
Change RBL size to 50% of row size.
2018-10-11 10:39:24 -07:00
Matt Guthaus
a094db9077
Merge branch 'multiport' into supply_routing
2018-10-11 09:56:38 -07:00
Matt Guthaus
823cb04b80
Fix metal4 rules in FreePDK45. Multiport still needs updating.
2018-10-11 09:56:15 -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
Matt Guthaus
bb83e5f1be
Move clk up in dff arrays for supply pin access
2018-10-05 08:18:38 -07:00
Matt Guthaus
68b30d601e
Move bitcells to their own directory in preparation for custom multiport cells.
2018-10-05 08:09:09 -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
19d68f613e
Making changes to bank select for multiport. The height of the nor gate using pbitcell was too short and one of the contacts violated drc. Extended height of nor by drc spacing violation so it could pass in multiport.
2018-09-27 02:01:32 -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
f1560375fc
Altering control logic for read ports and write ports, by including only read or write specific circuitry. Altering replica bitline layout to support multiport
2018-09-25 20:00:25 -07:00
Michael Timothy Grimes
2641841e4c
Making correction to replica bitline netlist for multiport
2018-09-20 15:21:22 -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
43f5316eed
Correcting format of replica_pbitcell.
2018-09-13 18:51:52 -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
Michael Timothy Grimes
5fd484ee5a
Replacing replica_pbitcell module with a more effiecient verision. replica_pbitcell is now a wrapper for pbitcell in replica_bitcell mode.
2018-09-13 16:53:24 -07:00
Matt Guthaus
f4389bdd8f
Add extra track spacings in some routes.
2018-09-13 14:12:24 -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
Matt Guthaus
f8fc7c12b3
Remove ms_flop and replace with dff. Might break setup_hold tests.
2018-09-13 11:02:28 -07:00
Michael Timothy Grimes
e0b9989d85
Adding replica_pbitcell and test for multi-ported purposes. Altering replica bitline and test to accomodate.
2018-09-13 01:42:06 -07:00
Michael Timothy Grimes
7dfd37f79c
Altering control logic for multiport. Netlist changes only.
2018-09-12 00:59:07 -07:00
Michael Timothy Grimes
bfc855b8b1
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-11 17:33:17 -07:00
Hunter Nichols
5dfa8bc2c6
Fixed known typos of the word transition.
2018-09-10 14:27:26 -07:00
Michael Timothy Grimes
0cdd3b99bf
Generalized wl names using bitcell's list_all_wl_names function to accomodate multiport
2018-09-09 22:42:52 -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
252ae1effa
add trailing 0 to web
2018-09-09 15:16:53 -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
Michael Timothy Grimes
c91735b23b
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-08 18:56:58 -07:00
Michael Timothy Grimes
1a340c9c85
Merging latest changes from multiport with changes made to pbitcell. Changing select code from other modules and tests to reflect changes made to pbitcell.
2018-09-06 19:36:50 -07:00
Matt Guthaus
378993ca22
Found rotate bug in transformCoordinate. Cleaned up transFlags.
2018-09-04 16:35:40 -07:00
Matt Guthaus
763f1e8dee
Finish renaming replica bitcell and bitline pin names.
2018-09-04 14:03:15 -07:00
Matt Guthaus
6963a1092f
Make bitcell width/height not static. Update modules to use it for pbitcell.
2018-09-04 11:55:22 -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
Michael Timothy Grimes
d3441c7ba4
Altering wordline driver to size for any bitcell. Editting multi-port test cases for sense amp array, write driver array, and wordline driver to least number of ports as a better test of spacing betwwen amps/drivers
2018-09-03 17:31:12 -07:00
Michael Timothy Grimes
f3cca7eea0
Altering sense amp array and write driver array so spacing between amps/drivers accomodates multiport. Also altering sense amp array and write driver array tests to include multiport cases.
2018-08-31 23:28:06 -07:00
Matt Guthaus
c3bd54696f
Merge branch 'dev' into multiport
2018-08-31 12:56:25 -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
93a6247f26
Unrotate vias in delay chain
2018-08-29 17:21:53 -07:00
Matt Guthaus
27bb1d2ee7
Rewrite blockage routines in router. Clean up GdsMill code.
2018-08-29 15:34:45 -07:00
Matt Guthaus
5386b7a0f4
Initial refactor of signal and supply router classes.
2018-08-29 15:34:45 -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
Matt Guthaus
0daad338e4
All modules have split netlist/layout.
2018-08-27 11:13:34 -07:00
Matt Guthaus
87f539f3a8
Separate netlist/layout for flop and precharge array.
2018-08-27 10:54:21 -07:00
Matt Guthaus
138a70fc23
Add place_inst routine.
...
Separate create netlist and layout in some modules.
2018-08-27 10:42:40 -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
0f8da1510e
Reverting pin name changes of precharge cell and array back to 'bl' and 'br'. Also clarifying bl and br init parameters to reflect that they refer to the bitcell lines.
2018-08-18 15:27:07 -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
Michael Timothy Grimes
040340b49f
editted naming convention on precharge to accommodate multiport
2018-08-15 02:14:45 -07:00
Michael Timothy Grimes
8d97862f6e
altered precharge array and precharge unit tests to accommodate multiport
2018-08-15 00:55:23 -07:00
Matt Guthaus
3420b1002c
Connect data and column DFF clocks in 1 bank.
2018-08-14 10:09:41 -07:00
Matt Guthaus
5ff49d322d
bank_sel_bar only used for clk now
2018-08-13 15:14:52 -07:00
Matt Guthaus
f7f318d72e
Remove tri_en signals from bank control logic.
2018-08-13 14:47:03 -07:00
Matt Guthaus
49bee6a96e
Remove OEB signal since we split DIN/DOUT ports
2018-08-13 14:09:49 -07:00
Matt Guthaus
34736b7b3f
Remove carriage returns form python files
2018-08-07 09:44:01 -07:00
Michael Timothy Grimes
c2a9e91dba
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-08-05 19:53:28 -07:00
Michael Timothy Grimes
ecd4612167
altered bitcell, pbitcell, and bitcell array modules to accomodate additional bitline reference functions
2018-08-05 19:43:59 -07:00
Matt Guthaus
01cbc71a2a
Limit sizes for dff_buf too. Add comments about restriction.
2018-07-27 08:17:50 -07:00
Matt Guthaus
b541efe959
Fix wide gnd rail spacing to inverter NMOS by adding size limit to pinv.
2018-07-27 07:23:18 -07:00
Matt Guthaus
e827c1b8c7
Make pinvbuf have unique names for GDS compliance.
...
Add back gating of w_en since write should happen in second half
or else we will have write and precharge simultaneously active.
2018-07-26 11:40:40 -07:00
Matt Guthaus
00a87d57ab
Modified pinvbuf to have a stage effort of 4 for driving the
...
clock bar to wordline enable.
Fixed comments in stimulus file to have right cycle numbers.
Removed clock gating on we signal since clock gating is already
done on the WL signals. It is redundant.
2018-07-26 11:28:48 -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
a4bfbe3545
Move dff_array pins to center of rail
2018-07-25 15:08:04 -07:00
Matt Guthaus
44f0e4a1de
Fix new offset coordinate syntax error
2018-07-25 13:47:36 -07:00
Matt Guthaus
16a084fde1
Add vdd/gnd at right end of rails. Rename some signals for clarity.
2018-07-24 14:15:11 -07:00
Matt Guthaus
aa2ea26db3
Convert control module to use hierarchy bus API
2018-07-24 10:35:07 -07:00
Matt Guthaus
b50f57ea3a
Remove control logic supply rails and replace with M3 supply pins
2018-07-24 10:12:54 -07:00
Matt Guthaus
45a53ed089
Rotate via in center for freepdk
2018-07-19 14:01:48 -07:00
Matt Guthaus
4c3bd0e42b
Move WL gnd contacts outside the cell for simplicity
2018-07-19 13:38:45 -07:00
Matt Guthaus
beee8229d1
Revert change. Add gnd pin to right on bitline load.
2018-07-19 13:26:12 -07:00
Matt Guthaus
ea53066966
Align RBL inverter with first load inverter in delay chain to aid supply connections
2018-07-19 11:02:13 -07:00
Matt Guthaus
311ab97bfc
Fix s_en stages to be even per Kevin's bug report. Assert minimum fanout to ensure vdd/gnd connections.
2018-07-19 10:51:20 -07:00
Matt Guthaus
128dfd5830
Add internal vdd/gnd connections for delay chain
2018-07-19 10:37:47 -07:00
Matt Guthaus
51958814a0
Fixing power via problems in freepdk45
2018-07-19 10:23:08 -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
f43d4cc98f
Fix routing clk connections of dff arrays
2018-07-18 11:38:58 -07:00
Matt Guthaus
b8a3bc9b1a
Space hier decoder input connections along rails to avoid conflicts
2018-07-18 10:21:58 -07:00
Matt Guthaus
ef60b02a81
Add vdd/gnd pins to dff_array
2018-07-17 15:01:31 -07:00
Matt Guthaus
6133d54684
Fix spacing between adjacent decoders
2018-07-17 15:01:16 -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
0175c88a16
Convert predecodes to use create_bus api
2018-07-17 14:23:06 -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
afcc3563ae
Add new supplies to RBL and control logic
2018-07-16 12:58:15 -07:00
Matt Guthaus
93e830e800
Add new supplies to replica bitline
2018-07-16 10:49:43 -07:00
Matt Guthaus
3bbb604504
Add new power supplies to delay chain
2018-07-16 10:19:52 -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
25cf57ede5
Push create bus functions down into layout class.
2018-07-10 10:06:59 -07:00
Matt Guthaus
98f1914e9f
Fix width of decoder with new input bus. Bank tests work again.
2018-07-10 09:31:41 -07:00
Matt Guthaus
94db2052dd
Consolidate metal pitch rules to new design class
2018-07-09 15:42:46 -07:00
Matt Guthaus
2e5d60ae87
Fix input height error for input rail pins
2018-07-09 14:45:27 -07:00
Matt Guthaus
e60d157310
Add input pin rails to hierarchical decoder for easier connections at SRAM level.
2018-07-09 13:16:38 -07:00
Matt Guthaus
af84742c19
Simplify m2 pitch calculation
2018-07-09 09:57:57 -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
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
8f131ddb2f
commiting changes from most recent pull from dev
2018-05-22 17:30:51 -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
0e35937da5
Commit local changes. Forgot what the status is.
2018-05-11 09:15:29 -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
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
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
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
Matt Guthaus
a2514878c1
Simplify dff array names of 1-dimension. Add ports on metal2.
2018-03-05 16:22:35 -08:00
Matt Guthaus
54f245cb9f
Fix capitalization of pins in dff_array
2018-03-05 14:04:34 -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
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
Hunter Nichols
e6d6680da1
Fixed conflict in delay.py
2018-02-27 13:02:22 -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
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
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
Hunter Nichols
179a27b0e3
Added some power functions.
2018-02-20 18:22:23 -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
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
Matt Guthaus
7100d6f904
Organize top-level files into subdirs.
2018-02-09 10:25:24 -08:00