Bastian Koppelmann
fab963701b
sram_base: Instantiate "dff_array" and "bank" through sram_factory
...
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-18 17:33:50 +01: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
f30d0b9197
Fix KeyError for bitell types.
2019-12-16 12:04:33 -08:00
Bastian Koppelmann
233ec010ff
modules: Create a class that wraps all the module class names
...
this removes hard coded values from the module instatiations. It also allows
users to override certain modules with their custom cells.
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
2019-12-16 16:51:38 +01: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
Matthew Guthaus
b3b3cf0210
Merge remote-tracking branch 'origin/dev' into tech_migration
2019-11-17 00:15:18 +00:00
Aditi Sinha
2c7aa5d0da
Non-power of 2 address decode tentative
2019-11-15 03:59:57 +00:00
Matthew Guthaus
131f4bda4a
Add layer-purpose GDS support. Various PEP8 fixes.
2019-11-14 18:17:20 +00:00
Matthew Guthaus
a2422cc8d4
Sometimes round down pdriver to fix polarity
2019-11-06 21:51:21 +00:00
Matthew Guthaus
35e65fc6f2
PEP8 wordline driver
2019-11-06 21:19:36 +00:00
Matt Guthaus
289d3b3988
Feedthru port edits.
...
Comment about write driver size for write through to work, but
disable write through in functional simulation.
Provide warning in Verilog about write throughs.
2019-09-27 14:18:49 -07:00
Matt Guthaus
99507ba5c5
Remove rbl_bl_delay_bar from w_en logic inputs.
2019-09-07 23:22:01 -07:00
Matt Guthaus
322af0ec09
Remove sense enable during writes
2019-09-07 20:04:48 -07:00
Matt Guthaus
6bee66f9dc
Forgot to add cs_bar to rw port rails.
2019-09-06 09:29:23 -07:00
Matt Guthaus
969cca28e4
Enable sensing during writes. Need to add dedicated test.
2019-09-06 07:16:50 -07:00
Matt Guthaus
585ce63dff
Removing unused tech parms. Simplifying redundant parms.
2019-09-04 16:08:18 -07:00
jsowash
452cc5e443
Added wmask to lib.py.
2019-09-04 09:29:45 -07: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
jsowash
c1906ade3f
Removed A pin's via connection since it's created in the SRAM level and rearranged the SRAM flip flop creation.
2019-08-29 14:48:13 -07:00
jsowash
af3d2af0ec
Merge branch 'dev' into add_wmask
2019-08-29 12:56:11 -07:00
jsowash
f13c8eae8d
Moved column mux ff's to be horizontal with wmask flip flops and adjusted wmask AND array en pin location starting point.
2019-08-29 11:07:42 -07:00
jsowash
5099ff6f6c
Changed A/Z pins to copy_layout_pin and made en (B) pin a single pin.
2019-08-29 09:01:35 -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
jsowash
737e873923
Changed via direction for via1 in flip flops.
2019-08-21 14:49:54 -07:00
Matt Guthaus
9f54afbf2c
Fix capitalization in verilog golden files
2019-08-21 14:29:57 -07:00
jsowash
980760b724
Add preferred direction to via1, routed between supply lines in wmask AND array, and only uses m3 for channel route with a write mask.
2019-08-21 14:02:57 -07:00
Matt Guthaus
d0f04405a6
Convert capital names to lower case for consistency
2019-08-21 13:45:34 -07:00
jsowash
4f01eeb3c1
Combined changes to the pin locations and vias.
2019-08-21 12:36:53 -07:00
jsowash
c2015335b0
Fixed merge issues.
2019-08-21 11:54:22 -07:00
jsowash
4813c01d56
Moved dff's up and moved wmask_AND/wdriver pins left/down, respectively.
2019-08-21 11:50:28 -07:00
Matt Guthaus
b0821a5a0e
Re-add simplified power pins on edges
2019-08-21 11:42:56 -07:00
Matt Guthaus
f281510828
Merge branch 'add_wmask' of github.com:VLSIDA/PrivateRAM into add_wmask
2019-08-21 11:20:42 -07:00
Matt Guthaus
2b7025335c
Use pand2 of correct size. Simplify width checking of AND array.
2019-08-21 11:20:35 -07:00
jsowash
43d45fba98
Moved pwr/gnd pins to the right of the rail.
2019-08-21 10:44:04 -07:00
Matt Guthaus
53d0544291
Minor cleanup and additional assertion checking.
2019-08-21 08:50:12 -07:00
jsowash
71af70a636
Moved pwr/gnd vias and corrected width boundary.
2019-08-20 09:14:23 -07:00
jsowash
316132a33c
Sized inverter for number of driven write drivers.
2019-08-19 13:31:49 -07:00
jsowash
c19bada8df
Performed clean up and added comments.
2019-08-19 08:57:05 -07:00
jsowash
a28c9fed8b
Fixed bug for more than 2 wmasks and changed test to test 4 wmasks.
2019-08-16 14:27:44 -07:00
jsowash
d02ea06ff2
Added method to route between the output of wmask AND array and en of write driver.
2019-08-16 14:12:41 -07:00
jsowash
aaa1e3a614
Added change to route wmask en between driver and AND gates. Need to apply it to all cases.
2019-08-16 10:23:51 -07:00
jsowash
92e0671e15
Removed DRC error with AND array in freepdk45 and moved pin on en_{} pin in port data.
2019-08-15 12:36:17 -07:00
jsowash
858fbb062d
Placed wmask dff and added connections for wmask pins.
2019-08-14 11:45:22 -07:00
jsowash
0d7170eb95
Created wmask AND array en pin to go through to top layer.
2019-08-14 09:59:40 -07:00
jsowash
aa4803f3c4
Increased enable pin's width for larger # of column mux ways.
2019-08-11 15:25:05 -07:00
jsowash
2573b5f48b
Fixed merge conflict.
2019-08-11 14:39:36 -07:00
jsowash
d259efbcda
Connected wdriver_sel between write_mask_and_array and write_driver_array.
2019-08-11 14:33:08 -07:00
Matt Guthaus
e5618b88af
Don't add sense amp to write only port. Fix write_and None define.
2019-08-11 08:46:36 -07:00
Matt Guthaus
6cf7366c56
Gate sen during first half period
2019-08-10 16:30:02 -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
Matt Guthaus
bac684a82a
Fix control logic routing.
2019-08-10 08:53:02 -07:00
jsowash
d5e331d4f3
Connected en together in write_mask_and_array.
2019-08-09 14:27:53 -07:00
Hunter Nichols
1d22d39667
Uncommented tests that use model delays. Fixed issue in sense amp cin.
2019-08-08 18:26:12 -07:00
jsowash
49fffcbc92
Added way to determine length of en pin with wmask in write_driver_array and shortened en to width of driver.
2019-08-08 15:49:23 -07:00
Hunter Nichols
d273c0eef5
Merge branch 'dev' into analytical_cleanup
2019-08-08 13:20:27 -07:00
jsowash
0cfa0ac755
Shortened write driver enable pin so that a write mask can be used without a col mux in layout.
2019-08-08 12:57:32 -07:00
jsowash
59e5441aef
Added write mask to write driver array
2019-08-08 08:46:58 -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
Hunter Nichols
fc1cba099c
Made all cin function relate to farads and all input_load relate to relative units.
2019-08-08 01:57:04 -07:00
Matt Guthaus
d36f14b408
New control logic, netlist only working
2019-08-07 17:14:33 -07:00
jsowash
9409f60237
Merge branch 'dev' into add_wmask
2019-08-07 09:42:55 -07:00
jsowash
abb9af0ea8
Added layout pins for wmask_and_array
2019-08-07 09:33:19 -07:00
jsowash
a6bb410560
Begin implementing a write mask layout as the port data level.
2019-08-07 09:12:21 -07:00
Hunter Nichols
6860d3258e
Added graph functions to compute analytical delay based on graph path.
2019-08-07 01:50:48 -07:00
Matt Guthaus
ae46a464b9
Undo delay changes. Fix bus order for DRC.
2019-08-06 17:17:59 -07:00
Hunter Nichols
2ce7323838
Removed all unused analytical delay functions.
2019-08-06 17:09:25 -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
Hunter Nichols
2efc0a3983
Merge branch 'dev' into analytical_cleanup
2019-08-06 14:51:30 -07:00
Matt Guthaus
ad35f8745e
Add direction to pins of all modules
2019-08-06 14:14:09 -07:00
Matt Guthaus
4d11de64ac
Additional debug. Smaller psram func tests.
2019-08-05 13:53:14 -07:00
jsowash
a4a72a9639
Merge branch 'dev' into add_wmask
2019-08-01 13:49:52 -07:00
Matt Guthaus
7ba97ee0ba
Fix missing port in control logic
2019-08-01 12:42:51 -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
jsowash
9819b5356e
Merge branch 'dev' into add_wmask
2019-07-31 14:43:48 -07:00
jsowash
774f08da51
Added layout pins to and test for write_mask_and_array.
2019-07-31 14:11:37 -07:00
Hunter Nichols
24b1fa38a0
Added graph fixes to handmade multiport cells.
2019-07-30 20:31:32 -07:00
Matt Guthaus
98878a0a27
Conditionally path exclude
2019-07-27 12:14:00 -07:00
Matt Guthaus
5cb320a4ef
Fix wrong pin error.
2019-07-27 11:44:35 -07:00
Matt Guthaus
468a759d1e
Fixed control problems (probably)
...
Extended functional tests for 15 cycles (slow, but more checking)
Fixed s_en to be gated AFTER the RBL.
2019-07-27 11:09:08 -07:00
Matt Guthaus
52029d8e48
Fix incorrect port_data BL pin name.
2019-07-27 06:11:45 -07:00
Matt Guthaus
179efe4d04
Fix bitline names in merge error
2019-07-26 22:03:50 -07:00
Matt Guthaus
e750ef22f5
Undo some control logic changes.
2019-07-26 21:41:27 -07:00
Matt Guthaus
0c5cd2ced9
Merge branch 'dev' into rbl_revamp
2019-07-26 18:01:43 -07:00
Matt Guthaus
7eea63116f
Control logic LVS clean
2019-07-26 15:50:10 -07:00
Matt Guthaus
dce852d945
Restructure control logic for improved drive and timing.
2019-07-26 14:54:55 -07:00
Hunter Nichols
dc46d07ca3
Removed unused code for input loads
2019-07-26 14:20:47 -07:00
Matt Guthaus
c8c4d05bba
Fix some regression fails.
2019-07-25 14:18:08 -07:00
Matt Guthaus
0bb41b8a5d
Fix duplicate paths for timing checks
2019-07-25 13:25:58 -07:00
jsowash
61ba23706c
Removed comments for rw pen() and added a wmask func test.
2019-07-25 12:24:27 -07:00
Matt Guthaus
80df996720
Modify control logic for new RBL.
2019-07-25 11:19:16 -07:00
Matt Guthaus
5452ed69e7
Always have a precharge.
2019-07-25 10:31:39 -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
jsowash
c8bbee884b
Removed layout related rw port's special pen.
2019-07-24 16:01:12 -07:00
jsowash
3bcb79d9d5
Removed code for RW ports to not precharge on writes. Previously, the entire bitline was written where part was an old value and part was the wmask value.
2019-07-24 15:01:20 -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
2b29e505e0
Reversed order of wmask bits in functional.py since python lists go left to right. Made # of en bits equal to num_masks.
2019-07-22 12:44:35 -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
jsowash
082decba18
Temporarily made the functional tests write/read only all 0's or 1's
2019-07-18 15:26:38 -07:00
jsowash
5f37067da7
Turned write_mask_array into write_mask_and_array with flip flops from sram_base
2019-07-18 15:24:41 -07:00
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