Commit Graph

1839 Commits

Author SHA1 Message Date
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