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
33a7683473
Remove used gated_clk instead of cs for read-only control logic.
2018-11-29 16:28:37 -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
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
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
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
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
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
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
Hunter Nichols
6e47de3f9b
Separated relative delay into rise/fall.
2018-11-14 23:34:53 -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
aa779a7f82
Initial two port bank in SCMOS
2018-11-13 16:05:22 -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
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
Matt Guthaus
297ea81060
Change RBL size to 50% of row size.
2018-10-11 10:39:24 -07:00
Matt Guthaus
e22e658090
Converted all submodules to use _bit notation instead of [bit]
2018-10-11 09:53:08 -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
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
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
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
f4389bdd8f
Add extra track spacings in some routes.
2018-09-13 14:12:24 -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
252ae1effa
add trailing 0 to web
2018-09-09 15:16:53 -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
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
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
49bee6a96e
Remove OEB signal since we split DIN/DOUT ports
2018-08-13 14:09:49 -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
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
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
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
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
3fe4578feb
Change stages of delay to odd
2018-04-16 10:15:15 -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
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
ed8eaed54f
Reworking control logic for veritcal poly. Rewrote delay line. Rewrote buffered-DFF array.
2018-03-23 08:12:47 -07: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
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
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
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
7100d6f904
Organize top-level files into subdirs.
2018-02-09 10:25:24 -08:00