Hunter Nichols
65edc70cfd
Made global names for pins types. Fixed bugs in tests.
2018-10-04 14:06:43 -07:00
Hunter Nichols
d2120d6910
Moved pin name creation from stimuli to delay and bug fix in find_feasible_period_one_port
2018-10-04 14:06:34 -07:00
Matt Guthaus
985d04d4b5
Cleanup of router.
...
Made offsets in geometry snap to grid.
Changed gds_write to use list for visited flag.
Rewrite self.gds each call in case of any changes.
2018-10-04 14:04:29 -07:00
Hunter Nichols
4586ed343f
Edited lib to support port indexing. Edited tests in reaction to name dict name changes. Cleaned up measurement value generation in delay.
2018-10-04 14:04:08 -07:00
Hunter Nichols
ab7d3510b5
Cleaned up result tables to be indexed by port and measurement name. Lib has not been updated, so it crashes there.
2018-10-04 14:04:08 -07:00
Hunter Nichols
346b188372
Improved on some hard coded values which determine the measurements.
2018-10-04 14:04:08 -07:00
Hunter Nichols
cfe15d48a4
Added changes to make changing the names of the measurements simple in delay.py. Results in some hardcoded values which is TODO for a fix.
2018-10-04 14:04:08 -07:00
Hunter Nichols
aa0d032c78
Cleaned the char_data to fit the previous style. Added print statements to load/slew sims.
2018-10-04 14:04:08 -07:00
Michael Timothy Grimes
cf4b216888
Correcting functional inheritance from simulation.
2018-10-04 13:55:59 -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
34d8a19871
Adding simulation.py for common functions between functional and delay tests. Updating functional test.
2018-10-04 09:29:44 -07:00
Michael Timothy Grimes
bea6b0b5dc
Renaming functional tests to include spice exe used. Renaming pex test to separate functional tests from pex test.
2018-09-30 22:39:37 -07:00
Michael Timothy Grimes
6d83ebf50f
updating debug messages in functional test
2018-09-30 22:10:11 -07:00
Michael Timothy Grimes
8a56dd2ac9
Finished functional test
2018-09-30 21:20:01 -07:00
Michael Timothy Grimes
26c6232564
Updating functional test. Test can now run a spice simulation and read the dout values from the timing files.
2018-09-28 23:38:48 -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
66933ed922
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-09-27 02:02:24 -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
Matt Guthaus
a7246f5e7f
Rename omits 0 size ports
2018-09-24 13:44:31 -07:00
Matt Guthaus
9b0142d6b9
Comment debug for possible performance issue
2018-09-24 11:44:32 -07:00
Matt Guthaus
a3f13d6eab
Remove banks from test configs
2018-09-24 11:41:51 -07:00
Matt Guthaus
2df9b79b28
Remove scn3me lib files. Remove bank references.
2018-09-24 11:28:43 -07:00
Matt Guthaus
7432192e5e
Small change to test webhook
2018-09-24 09:11:44 -07:00
Matt Guthaus
922e3f4c13
Small change to test webhook
2018-09-21 15:05:46 -07:00
Matt Guthaus
ade12c9dc2
Small change to test webhook
2018-09-21 15:03:16 -07:00
Matt Guthaus
e1864a7a1e
Small change to test webhook
2018-09-21 15:02:16 -07:00
Matt Guthaus
2b3b4bbee6
Small change to test webhook
2018-09-21 15:01:07 -07:00
Michael Timothy Grimes
934959952b
Corrections to functional test that adds multiple cs_b signals per port
2018-09-21 09:59:44 -07:00
Matt Guthaus
87502374c5
DRC clean supply grid routing on control logic.
2018-09-20 16:00:13 -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
938ded3dd6
Adding functional test to characterizer and unit tests in both single and multiport
2018-09-20 15:04:59 -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
Matt Guthaus
fd9ffe30d6
Add layer width options to route object
...
Modify router to use track-width routes.
2018-09-18 15:12:53 -07:00
Matt Guthaus
8d2804b9cb
Supply router working except:
...
Off grid pins. Some pins do now span enough of the routing track and must be patched.
Route track width. Instead of minimum width route, it should be the track width.
2018-09-18 12:57:39 -07:00
Matt Guthaus
bfc8428df7
Convert router tests to scn4m_subm
2018-09-17 13:30:30 -07:00
Matt Guthaus
60cceab50a
Merge branch 'dev' into supply_routing
2018-09-17 11:34:31 -07:00
Matt Guthaus
a58b1906ad
Convert unit tests to scn4m_subm
...
Also, fixed isdiff for python3.
2018-09-17 11:13:46 -07:00
Michael Timothy Grimes
43f5316eed
Correcting format of replica_pbitcell.
2018-09-13 18:51:52 -07:00
Michael Timothy Grimes
9acc8a9532
Altering multiport checks across several unit tests.
2018-09-13 18:49:20 -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
e591176211
Change default to scn4m
2018-09-13 15:26:03 -07:00
Matt Guthaus
93ae7ebd00
Specify DRC,LVS,PEX tool for scn4m
2018-09-13 15:18:30 -07:00
Matt Guthaus
571dca5d5f
Hard code flatten commands for the unique id precharge array
2018-09-13 15:15:41 -07:00
Matt Guthaus
4d328c5768
Fix hspice setuphold golden results
2018-09-13 14:41:15 -07:00
Matt Guthaus
f4389bdd8f
Add extra track spacings in some routes.
2018-09-13 14:12:24 -07:00
Matt Guthaus
63d0523228
Added scn4m_subm.
...
Added scn4m_subm files (instead of scn4me_subm).
Fixed missing cifoutput/cifinput in magic tech file and gds files.
Fixed incorrect M3/via3/M4 design rules.
2018-09-13 12:53:35 -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
66cbe0966c
Removed old ms_flop unit test
2018-09-13 11:15:33 -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
Matt Guthaus
849293b95b
Converting grid data structures to sets to reduce size.
2018-09-13 09:10:29 -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
f03cd7c3ba
Removing multiport_check option that diabled multiport portion of unit tests. Adding multiport checks to several other modules.
2018-09-12 20:22:12 -07:00
Michael Timothy Grimes
42719b8ec2
Fixing netlist_only errors. Removing netlist_only option from ptx because it must always generate layout for pbitcell. gds_write, drc check, and lvs check in local_check() are now in a 'if not OPTS.netlist_only' conditional. These functions will generate errors in netlist_only mode since there is no gds layout to write or check.
2018-09-12 01:53:41 -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
ac3cc5c79b
Merge branch 'dev' into multiport_characterization
2018-09-11 16:01:51 -07:00
Matt Guthaus
a3c2b4384a
Improve comments. Simplify function interface for channel route.
2018-09-11 15:53:12 -07:00
Hunter Nichols
676b6764c7
Merge branch 'dev' into multiport_characterization
2018-09-11 15:40:17 -07:00
Matt Guthaus
3587f90e94
Fix copy pasta error in create vertical channel route
2018-09-11 14:47:55 -07:00
Matt Guthaus
5e34233479
Finish new VCG testing.
...
Reversed VCG graph edge directions.
Channel tracks get added left to right or top down like
normal left edge algorithm examples.
2018-09-11 14:24:13 -07:00
Matt Guthaus
fcc4a75295
Create VCG using nets as nodes rather than pins.
2018-09-11 13:28:28 -07:00
Matt Guthaus
add0e3ad68
Add none option for verify wrapper with warning messages.
2018-09-11 10:17:24 -07:00
Hunter Nichols
91bbc556e8
Cleaned up control logic cycle creation in delay.py. Fixed bug which caused input data to be determined by the read ports.
2018-09-10 22:06:50 -07:00
Hunter Nichols
da6843af5b
Changed power logic in lib file writing. Syntax incorrect still for multiport. To be changed when top-level is done.
2018-09-10 19:33:59 -07:00
Hunter Nichols
5dfa8bc2c6
Fixed known typos of the word transition.
2018-09-10 14:27:26 -07:00
Michael Timothy Grimes
38a1f35ff0
Correcting format of file (removing tabs)
2018-09-10 03:44:08 -07:00
Michael Timothy Grimes
a7f03858e8
Adding 'multiport_check' option to OPTS. All of the unit tests that have multiport checks in them are now under this conditional. If you want to remove the multiport drc/lvs checks, you can set the option to False, and it will skip those portions.
2018-09-09 23:25:29 -07:00
Michael Timothy Grimes
5af56e5a3a
Adding layout check for sram (1 bank) using pbitcell and 1RW port
2018-09-09 22:45:25 -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
586c72e4f7
Altering certain tests to include multiport checks.
2018-09-09 22:08:03 -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
Matt Guthaus
2d86492d91
Working on methodology of blockages, pins, and routing multiple pins.
2018-09-08 18:55:36 -07:00
Matt Guthaus
96c51f3464
Component shape functions. Find connected pins through overlaps.
2018-09-08 10:05:48 -07:00
Hunter Nichols
5cab786e21
Cleaned up analyze and some of its helper functions to be less cluttered.
2018-09-07 17:50:09 -07:00
Matt Guthaus
69261a0dc1
Routing and connecting rails with vias done.
...
Refactored grid path class.
Added direction enum.
Does not route multi-track width wires in signal router.
2018-09-07 14:46:58 -07:00
Hunter Nichols
83f6434476
Gave find_feasible_period a port input.
2018-09-07 00:53:11 -07:00
Hunter Nichols
8aaf1155d1
Fixed test 23_lib_sram_test. Fixed syntax in related golden lib files.
2018-09-06 22:51:34 -07:00
Hunter Nichols
0ff3b29b66
Fixed test 23_sram_prune test. Fixed syntax errors in golden lib files.
2018-09-06 22:06:23 -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
Hunter Nichols
bf34911f3f
Test 21_ngspice now passing for scmos and freepdk45. 21_hspice has leakage power error (but it may be okay)
2018-09-06 18:40:21 -07:00
Hunter Nichols
1615de05e4
Fixed leakage power issue in test 21_hspice. Still requires more testing.
2018-09-06 18:26:08 -07:00
Michael Timothy Grimes
66a8a76fb0
Commiting changes to pbitcell that separate the routing into individual functions and rename. The bitlines and wordlines are also renamed.
2018-09-06 17:59:21 -07:00
Hunter Nichols
a2bc82fe71
Fixed test 21_hspice. Leakage power is off.
2018-09-06 17:34:22 -07:00
Hunter Nichols
dd22f9acd5
Fixed issues with analytical sram test. Changed syntax errors in golden lib file.
2018-09-06 17:01:10 -07:00
Matt Guthaus
c2c17a33d2
Horizontal and vertical grid wires done.
2018-09-06 14:30:59 -07:00
Matt Guthaus
cd987479b8
Updates to supply routing.
...
Rename astar_grid to signal_grid to parallel supply routing.
Wave expansion for supply rails.
Pin addition for supply rails.
2018-09-06 11:54:14 -07:00
Hunter Nichols
f824d039c6
Merge branch 'dev' into multiport_characterization
2018-09-06 00:25:11 -07:00
Hunter Nichols
66c4782408
Fixed several syntax error regarding some multiport naming. Currently in debug mode.
2018-09-06 00:25:02 -07:00
Hunter Nichols
ad235c02c6
Added debug code which skips characterization and goes straight to writing the lib. Fixed some syntax issues in the lib file.
2018-09-05 23:27:13 -07:00
Matt Guthaus
59956f1446
Update signal routing for new blockage and pins.
2018-09-05 16:01:11 -07:00
Matt Guthaus
7ead566154
Remove cell rename during DRC. Keep flatten.
2018-09-05 16:00:48 -07:00
Matt Guthaus
b1c63a6c62
Add inflate blockages and remove pins from blockages.
2018-09-05 11:06:17 -07:00
Matt Guthaus
93b24d8c85
Merge remote-tracking branch 'origin/dev' into supply_routing
2018-09-05 11:05:41 -07:00
Matt Guthaus
ba651d53ae
Change options in pbitcell test to be global again.
2018-09-05 10:59:41 -07:00
Matt Guthaus
2a27fbc98e
Fix temp directory preservation option.
...
Make labels in freepdk45 replica bitcell lower case.
2018-09-05 10:02:12 -07:00
Matt Guthaus
0f87ba742f
Add back LEF blockages. Remove "absolute" flags from GDS output
2018-09-05 09:28:43 -07:00
Matt Guthaus
8ffdcdf277
Fixed bit shift amount error. Removed rotate flag for Calibre.
2018-09-04 17:27:50 -07:00
Matt Guthaus
5395f21be9
Remove unique id in contact that was used for debugging
2018-09-04 16:40:52 -07:00
Matt Guthaus
9d40cd4a03
Remove verbose print statement in add_power_pin
2018-09-04 16:39:13 -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
0adfe66429
Add total_ port variables to sram base class.
2018-09-04 11:15:18 -07:00
Matt Guthaus
de6f22aa3c
Fix unit test permissions
2018-09-04 10:48:37 -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
Hunter Nichols
3bde83bdbe
Added initial structure changes to lib. Crashes when writing to lib file.
2018-09-04 00:43:44 -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
774c14ad75
changing 19_psingle_bank_test to test layout for a single bank using pbitcell with 1 RW port (equivalent to using 6T cell)
2018-09-03 17:47:29 -07:00
Michael Timothy Grimes
341a3ee68d
Adding multiport pin names to sram_base for netlist only use
2018-09-03 17:44:32 -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
Hunter Nichols
1af5bb3758
Remove code bloat and simplified port logic in some cases. Crashes while writing to lib.
2018-09-01 00:10:40 -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
9d8d2b65e4
Fix delay test with new sram_config. Merge dev changes.
2018-08-31 13:01:17 -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
Michael Timothy Grimes
75d77095d0
merging changes to magic.py
2018-08-31 09:01:15 -07:00
Hunter Nichols
4022f014b2
Merge branch 'dev' into multiport_characterization
2018-08-31 00:43:33 -07:00
Hunter Nichols
60088c2dfb
Added changes to lib to allow the default to run. Will crash with multiport options.
2018-08-31 00:42:56 -07:00
Hunter Nichols
6614c3eb51
Altered min_period algorithm to work for multiport. Works for default config but mostly untested for multiport options.
2018-08-30 22:43:56 -07:00
Hunter Nichols
5989a3c952
Expanded run_delay_stimulas to multiport. Bug Fixes as well.
2018-08-30 17:08:34 -07:00
Hunter Nichols
907b7310ee
Actually changed the noops default data in this commit.
2018-08-30 15:16:54 -07:00
Hunter Nichols
53fa6108e1
Changed most noops calls to have default input of all 0's. Changed parse_values to return dict even if some values fail.
2018-08-30 15:11:54 -07:00
Matt Guthaus
3ab0b569cb
Use a .magicrc in the technology directory to read magic tech files
2018-08-30 14:20:41 -07:00
Michael Timothy Grimes
35ae4a275e
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-08-30 12:42:24 -07:00
Hunter Nichols
73388e9797
Merge branch 'dev' into multiport_characterization
2018-08-30 01:20:23 -07:00
Hunter Nichols
e32c1fdd23
Changed part (4) of analyze to use the updated measure names.
2018-08-30 01:18:34 -07:00
Hunter Nichols
78be724867
Edited find_feasible period to use dynamic naming on its measured values and edited the algorithm to work with multiport.
2018-08-30 00:11:14 -07:00
Hunter Nichols
02cf51d3be
Added generic parsing function to capture multiple values. This commit does not run and it messes up some naming conventions
2018-08-29 22:16:42 -07:00
Matt Guthaus
762f2d894c
Revert all transFlags in GdsMill
2018-08-29 17:23:04 -07:00
Matt Guthaus
93a6247f26
Unrotate vias in delay chain
2018-08-29 17:21:53 -07:00
Hunter Nichols
4b515fe1ac
Changed create_test_cycles to have targeted ports for characterization rather than all ports always.
2018-08-29 17:16:11 -07:00
Michael Timothy Grimes
e118cc2d5c
Merge branch 'dev' of https://github.com/VLSIDA/PrivateRAM into multiport
2018-08-29 16:06:50 -07:00
Michael Timothy Grimes
aeaab13d28
Unit tests for pbitcell now passing, so commenting out skip line. Also gave pbitcell_array useful names in unit test for easier debugging
2018-08-29 16:05:13 -07:00
Matt Guthaus
5a065cf701
Remove setting of rotate transflag. Not supported in Calibre?
2018-08-29 16:04:15 -07:00
Michael Timothy Grimes
7ef7c084cd
fixed typo that added two '/' characters to path sys command (i.e. from tech//SCN3ME_SUBM.30 to tech/SCN3ME_SUBM.30)
2018-08-29 16:01:25 -07:00
Michael Timothy Grimes
29da8a5209
Further changes to pbitcell so that it passes unit tests for bitcell_array
2018-08-29 15:54:49 -07:00
Matt Guthaus
334aa53cee
Merge branch 'supply_routing' of https://github.com/VLSIDA/PrivateRAM into supply_routing
2018-08-29 15:40:04 -07:00
Matt Guthaus
73289a6090
Clean up GdsMill. Fix rotate bug I introduced in transFlags!
2018-08-29 15:34:45 -07:00
Matt Guthaus
0ce2dd2791
Add supply_grid file
2018-08-29 15:34:45 -07:00
Matt Guthaus
27bb1d2ee7
Rewrite blockage routines in router. Clean up GdsMill code.
2018-08-29 15:34:45 -07:00