Matt Guthaus
23676c0f37
Route bl in SRAM write ports too
2019-08-10 12:53:07 -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
2573d4e7d0
Removed testing code from config file.
2019-08-08 19:27:44 -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
Matt Guthaus
275891084b
Add pand3
2019-08-07 16:33:29 -07:00
Matt Guthaus
c2655fcaa9
Update pnor2 to new placement logic
2019-08-07 16:01:05 -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
c3f38a5cac
ngspice delays updated (again)
2019-08-05 16:09:27 -07:00
Matt Guthaus
aae8566ff2
Update golden delays. Fix uninitialized boolean.
2019-08-05 15:45:59 -07:00
Matt Guthaus
4d11de64ac
Additional debug. Smaller psram func tests.
2019-08-05 13:53:14 -07:00
Matt Guthaus
e4532083da
Increase stages and FO of fixed delay line.
2019-08-05 13:52:32 -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
Matt Guthaus
a8d09acd40
Use ordered dict instead of sorting keys
2019-08-01 12:21:30 -07:00
jsowash
e4d8ba90a5
Merge branch 'dev' into add_wmask
2019-08-01 12:07:14 -07:00
Matt Guthaus
d403362183
Sort keys for random read address choice.
2019-08-01 11:32:49 -07:00
jsowash
bb1627bcec
Added test to end of w_mask_and_array so a regression test will be performed on it.
2019-07-31 14:59:33 -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
b4ef0ec36d
Removed unused characterization module.
2019-07-30 20:33:17 -07:00
Hunter Nichols
24b1fa38a0
Added graph fixes to handmade multiport cells.
2019-07-30 20:31:32 -07:00
Hunter Nichols
c12dd987dc
Fixed pbitcell graph edge formation.
2019-07-30 00:49:43 -07:00
Matt Guthaus
98878a0a27
Conditionally path exclude
2019-07-27 12:14:00 -07:00
Matt Guthaus
8e43469486
Update spice results
2019-07-27 12:13:44 -07:00
Matt Guthaus
d7bc3e8207
Add dummy pbitcell
2019-07-27 12:13:35 -07:00
Matt Guthaus
2824315f79
Fix error in wmask if
2019-07-27 11:51:40 -07:00
Matt Guthaus
5cb320a4ef
Fix wrong pin error.
2019-07-27 11:44:35 -07:00
Matt Guthaus
fa4f98b122
Fix ALL of the indents.
2019-07-27 11:30:48 -07:00
Matt Guthaus
37fffb2ed2
Fix bad indent.
2019-07-27 11:14:56 -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
Matt Guthaus
3327fa58c0
Add some signal names to functional test comments
2019-07-26 14:49:53 -07:00
Hunter Nichols
dc46d07ca3
Removed unused code for input loads
2019-07-26 14:20:47 -07:00
Matt Guthaus
8ebc568e8b
Minor cleanup. Skip more tests until analytical fixed.
2019-07-26 08:33:06 -07:00
Matt Guthaus
20d9c30a64
Use non-analytical models for now
2019-07-25 14:55:42 -07:00
Matt Guthaus
88c399bc6c
Skip prune test for now
2019-07-25 14:49:11 -07:00
Matt Guthaus
d5419f99f6
Skip model tests for now
2019-07-25 14:46:33 -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
de485182bc
Cleaned up comments about wmask.
2019-07-25 13:21:17 -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
54b312eaf9
Add return type
2019-07-24 17:00:38 -07:00
Matt Guthaus
2f03c594c5
Remove success initialization
2019-07-24 16:59:19 -07:00
Matt Guthaus
cfc04064af
Remove print.
2019-07-24 16:57:57 -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
fe0db68965
Refactor to share get_measurement_variant
2019-07-24 11:29:29 -07:00
Matt Guthaus
9cb96bda7d
Mostly formatting. Added write measurements.
2019-07-24 10:57:33 -07:00
Matt Guthaus
3df8abd38c
Clean up. Split class into own file.
2019-07-24 08:15:10 -07:00
jsowash
01493aab3e
Added wmask valuesto functional test through add_wmask()
2019-07-23 15:58:54 -07:00
Matt Guthaus
07401fc6ea
Make control bus routing offset consistent
2019-07-23 09:39:28 -07:00
jsowash
ddf5148fa5
Removed code where if there was no write mask, word_size=write_size. Now it stays None.
2019-07-22 14:58:43 -07:00
jsowash
ad0af54a9f
Removed dupliction of addr_size.
2019-07-22 13:18:52 -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
72e16f8fe6
Added ability to do partial writes to addresses that have already been written to.
2019-07-22 11:19:14 -07:00
jsowash
a69d35b50a
Removed write_size from parameters.
2019-07-21 15:53:05 -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
Matt Guthaus
a707c6fa50
Convert psram tests to only 2 port.
2019-07-18 14:49:54 -07:00
jsowash
917a69723f
Fixed typo
2019-07-17 12:26:05 -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
e2602dd79b
Add comments for pins. Fix noconn in dummy pbitcell.
2019-07-16 17:30:31 -07:00
mrg
37fcf3bf37
Move classes to individual file.
2019-07-16 15:18:04 -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
70ee026fcf
Add cell names to psingle_bank test
2019-07-16 11:54:57 -07:00
mrg
42ad0cd282
Add pbitcell RW test
2019-07-16 11:54:39 -07:00
mrg
bea07c2319
SRAM with RBL integration in array.
2019-07-16 09:04:58 -07:00
mrg
37c15937e2
Add multiple control logic port types.
2019-07-15 17:07:50 -07:00
jsowash
021d604832
Removed wmask from addwrite()
2019-07-15 16:48:36 -07:00
jsowash
ab27c70279
Merge branch 'dev' into add_wmask
2019-07-15 14:42:23 -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
8815ddf7f1
Remove unnecessary feasible period search.
2019-07-12 11:55:42 -07:00
mrg
9092fa4ee6
Remove multiport control logic test since it doesn't have a bitcell anymore.
2019-07-12 11:18:47 -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
80145c0a92
Only enable pdb post-mortem when not purging temp for debug.
2019-07-12 10:57:59 -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
aa552f8e96
Remove debug trace
2019-07-12 10:17:33 -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
Bin Wu
c9c839ca46
fix the delay measure bug in pex tests
2019-07-10 04:39:40 -07:00
Bin Wu
e4070ddad8
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into pex_fix_v2
2019-07-10 03:09:12 -07:00
jsowash
5258016c9f
Changed location of port for din_reg.
2019-07-06 12:27:24 -07:00
jsowash
6fe78fe04a
Removed begin end for Verilog without wmask.
2019-07-06 11:29:34 -07:00
jsowash
24bfaa3b76
Added write_size to test 16 and added a newline to Verilog with no wmask for test 25.
2019-07-05 15:55:03 -07:00
jsowash
ad9193ad5a
Verified 1rw mask writing and changed verilog.py accordingly.
2019-07-05 15:08:59 -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
jsowash
150259e2ba
Added write_size to control_logic_r parameters.
2019-07-05 11:40:02 -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
f914ab0ece
Re-enable replica tests
2019-07-03 14:57:47 -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
70c83f20b6
Fixes to pass unit tests.
...
Skip replica tests until freepdk45 cells are made.
Revert to previous control and row addr dff placement.
2019-07-03 13:37:56 -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
Bin Wu
9ce968b446
megre with dev changes
2019-06-30 00:50:18 -07:00
Bin Wu
1fcb20f846
clean pex test based on feedback
2019-06-30 00:16:04 -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
3f5b60856a
Fixed key error with analytical delay of write ports.
2019-06-28 13:49:04 -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
4f3340e973
Cleaned up graph additions to characterizer.
2019-06-25 16:37:35 -07:00
Hunter Nichols
33c17ac41c
Moved manual delay chain declarations from tech files to options.
2019-06-25 15:45:02 -07:00
Bin Wu
8e5fa7c7ae
fix the run_pex function for calibre
2019-06-25 15:06:07 -07:00
Hunter Nichols
04ce3d5f45
Split control logic into different tests to avoid factory errors.
2019-06-25 14:55:28 -07:00
Bin Wu
9ef2616d41
Merge branch 'dev' of github.com:VLSIDA/PrivateRAM into pex_fix_v2
2019-06-25 11:28:04 -07:00
Bin Wu
3f3ee9b885
add pex function for magic and openram test
2019-06-25 11:24:25 -07:00
jsowash
3bd69d2759
Added functionality to express polygons in LEF files.
2019-06-25 09:20:00 -07:00
Bin Wu
91febec3a2
add hspice and ngspice pex tests
2019-06-25 09:19:37 -07:00
Matt
d22d7de195
Reapply jsowash update without spice model file
2019-06-24 08:59:58 -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
5c4df2410e
Fix dummy row LVS issue
2019-06-14 15:06:04 -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
mrg
d8baa5384d
Remove useless comments. Add missing copyright.
2019-06-14 10:13:13 -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
8418aea95a
Revert height to width
2019-06-03 15:36:14 -07:00
mrg
58f51b72f1
Merge fixes
2019-06-03 15:31:49 -07:00
mrg
7b8c2cac30
Starting single layer power router.
2019-06-03 15:28:55 -07:00
mrg
bd4d965e37
Begin single layer supply router
2019-06-03 15:27:37 -07:00
mrg
4612c9c182
Move power pins before no route option
2019-06-03 15:27:37 -07:00
mrg
fc12ea24e9
Add boundary to every module and pgate for visual debug.
2019-06-03 15:27:37 -07:00
mrg
1268a7927b
Pbitcell updates.
...
Fix module offset error.
Add boundary for debugging.
Line wrap code.
2019-06-03 15:27:37 -07:00
Matt Guthaus
7cca6b4f69
Add back scn3me_subm support
...
Add back scn3me_subm tech files
Update cells to be DRC clean with rule 5.5.b
Allow magic for FreePDK45 but not debugged.
Revert to older Magic tech file for SCN3ME_SUBM
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
mrg
bf86969972
Create sram subdirectory.
2019-05-31 08:56:24 -07:00
Hunter Nichols
36214792eb
Removed some debug measurements that were causing failures.
2019-05-28 17:04:27 -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
mrg
72f4a223c3
Move power pins before no route option
2019-05-27 16:38:47 -07:00
mrg
c2cc901300
Add boundary to every module and pgate for visual debug.
2019-05-27 16:32:38 -07:00
mrg
e738353b5c
Pbitcell updates.
...
Fix module offset error.
Add boundary for debugging.
Line wrap code.
2019-05-27 16:19:29 -07:00
Hunter Nichols
e2d1f7ab0a
Added smarter name checking for the characterizer.
2019-05-27 13:08:59 -07:00
mrg
26146b6838
Fix SCN3ME_SUBM stuff.
...
Update cells to be DRC clean with rule 5.5.b
Allow magic for FreePDK45 but not debugged.
Revert to older Magic tech file for SCN3ME_SUBM
2019-05-26 22:28:16 -07:00
Hunter Nichols
d08181455c
Added multiport bitcell support for storage node checks
2019-05-20 22:50:03 -07:00
Hunter Nichols
099bc4e258
Added bitcell check to storage nodes.
2019-05-20 18:35:52 -07:00
Hunter Nichols
412f9bb463
Added additional check to bitline to reduce false positives.
2019-05-17 01:56:22 -07:00
Hunter Nichols
03a762d311
Replaced constant string comparisons with enums
2019-05-16 14:18:33 -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
b30c20ffb5
Added graph creation to characterizer, re-arranged pin creation.
2019-05-14 01:15:50 -07:00
Hunter Nichols
b4cce65889
Added incorrect read checking in characterizer.
2019-05-13 19:38:46 -07:00
mrg
3fa8c5543a
Merge branch 'dev' into scn3me_subm
2019-05-08 17:52:38 -07:00
mrg
a5ed9b56cd
Optional m4 in design class
2019-05-08 17:51:38 -07:00
Matt Guthaus
c24879162a
Add back scn3me_subm tech files
2019-05-08 16:06:21 -07:00