Matt Guthaus
1b4be741df
Fix broken print statements
2018-02-07 17:39:42 -08:00
Matt Guthaus
9cc46453a2
Fix PWL bug to output last value. Fix bug in setup/hold use of improved PWL function.
2018-02-07 15:43:09 -08:00
Matt Guthaus
2413304f4e
Update replica bitline test for new parameters. Add small test and a larger test.
2018-02-07 15:15:19 -08:00
Matt Guthaus
1a491f3cd0
Make temp directory unique for test 30. Update LEF files after delay chain size change.
2018-02-07 15:05:21 -08:00
Matt Guthaus
e93517529c
Make delay chain length and bitcell load parameters to enable tuning. Rename the parameters to be more descriptive.
2018-02-07 14:54:59 -08:00
Matt Guthaus
8e91552701
Remvoe newline.
2018-02-07 14:33:29 -08:00
Matt Guthaus
5dacafc698
Disable gear integration in ngspice. Not sure it is necessary anymore and it is quite slow.
2018-02-07 14:20:15 -08:00
Matt Guthaus
a2bf66b063
Add metal1 gnd line to prevent DRC errors when sizing delay chain.
2018-02-07 14:15:13 -08:00
Matt Guthaus
3e4ef36efe
Clean up Python comments and improve comments in stimulus file.
2018-02-07 14:04:18 -08:00
Matt Guthaus
3820861ce8
Increase control delay line from 4 inverters to 3 FO4 delays. Need to dynamically adjust this.
2018-02-07 13:10:45 -08:00
Matt Guthaus
5c4999d4cc
Move delay-specific stimulus commands to delay.py. Keep stimuli.py generic.
2018-02-07 12:58:47 -08:00
Matt Guthaus
8e91faaccb
Remove version from OpenRAM. We will go bit git hashes.
2018-02-06 10:56:26 -08:00
mguthaus
3af1bbba26
Updated delay tests with new delays including ps, pd, as, ad.
2018-02-06 07:58:25 -08:00
mguthaus
c3592b3d46
Added new timing tests with ps,pd,as,ad caps included.
2018-02-06 05:26:27 -08:00
Matt Guthaus
33b04bbca5
Add area/perimeter of source/drain to transistor netlist. Gets rid of some spice warnings, gives better non-annotated measurements.
2018-02-05 16:02:57 -08:00
Matt Guthaus
941094ce31
Return slews to 10-90 and 90-10 so I don't have to re-hardcode the results in unit tests.
2018-02-05 15:21:53 -08:00
Matt Guthaus
4505c0f74e
Improve error to setup model dir path. Use it to override FreePDK45 too.
2018-02-05 15:12:12 -08:00
Matt Guthaus
85f4438280
Exit with error if model files are not found.
2018-02-05 15:09:21 -08:00
mguthaus
e01d5b7c61
Disable virtual connects at top level LVS with Calibre.
2018-02-05 14:52:51 -08:00
Matt Guthaus
e2e5f45cec
Correct vague comments about char cycles. End simulation after last period even though a transition would mean a failed simulation.
2018-02-05 14:07:12 -08:00
Matt Guthaus
a8e1abdce8
Use method=gear for ngspice to improve convergence. Split TD for trig and targ in measure statements. Start waiting for clk neg edge trigger at clk pos edge.
2018-02-05 11:36:46 -08:00
Matt Guthaus
92095e52f7
Update new LEF files for unit tests.
2018-02-05 10:27:56 -08:00
Matt Guthaus
f21ff38cae
Simplify via offsets in replica bitline. Route clk_bar in control over supply rail until we get channel router working.
2018-02-05 10:22:38 -08:00
Matt Guthaus
84b42b0170
Fix bug in trim netlist. Add info comments to spice netlist and trimmed netlist. Increase verbosity for simulations.
2018-02-02 19:33:07 -08:00
Matt Guthaus
7127895270
Update LEF files for unit tests
2018-02-02 15:51:29 -08:00
Matt Guthaus
d6d96907ef
Route to the right in the bank decode for DRC.
2018-02-02 15:50:45 -08:00
Matt Guthaus
1415d139a3
Specify file format for sp spice extension.
2018-02-02 15:33:35 -08:00
Matt Guthaus
3873f72a58
Ensure wells are spaced in the bank select and column decoder
2018-02-02 15:26:15 -08:00
Matt Guthaus
ffcf58100e
Clean up column mux by moving pins to own function. Adjust spacing between column mux and bitcell to prevent DRCs. Fix up find lowest/highest functions when no objects or instances in a module.
2018-02-02 15:17:21 -08:00
Matt Guthaus
9d043b904e
Remove unnecessary design reset
2018-02-02 14:26:53 -08:00
Matt Guthaus
27dbb95c19
Fix name of column mux.
2018-02-02 14:26:39 -08:00
Matt Guthaus
9d7dc4c552
Reset even if not purging temp files.
2018-02-02 14:26:09 -08:00
Matt Guthaus
2a8199c3ca
Force re-extract of cells in DRC/LVS.
2018-02-02 14:21:31 -08:00
Matt Guthaus
fb90b8f5fe
Fix pin nameon sense amp spice. Fix NAND2 bug in hierarchical decoder.
2018-02-02 14:08:56 -08:00
Matt Guthaus
3be59fb762
Change DRC output for magic to drc.summary just like calibre output.
2018-02-02 14:07:15 -08:00
Matt Guthaus
63392c8d71
Fix gnd connection in control logic.
2018-02-02 13:04:38 -08:00
Matt Guthaus
072c8e3174
Change LVS report file to same name as Calibre
2018-02-02 12:47:42 -08:00
Hunter Nichols
db4913dd9c
Added skeleton code for analytical power in functions with analytical delay.
2018-02-02 12:31:34 -08:00
Matt Guthaus
74064fc854
Replace LEF files with new changes.
2018-02-02 12:31:34 -08:00
Matt Guthaus
e8d001a3f9
Change wen to en in spice lib files. Check lvs report insted of stdout with netgen.
2018-02-02 12:31:33 -08:00
Matt Guthaus
e4295ea61b
Fix pin names to lower case. Fix write driver DRC errors and LVS error.
2018-02-02 12:31:33 -08:00
Matt Guthaus
3e2d4d631d
Do not require hspice during tests. Check if a valid simulator is found, however.
2018-02-02 12:31:33 -08:00
Matt Guthaus
7c9c16e29c
Fix assertion error syntax problem. Do not require hspice for functional test. Improve delay fail error message.
2018-02-02 12:31:33 -08:00
Matt Guthaus
cc987daeb9
Add well around column muxes.
2018-02-02 12:31:33 -08:00
mguthaus
2ad52205c5
Clean up messages.
2018-02-02 12:31:33 -08:00
mguthaus
d0c9382d97
Modify unit tests to distinguish between FAIL and ERROR. Move comparison utilities into our derived unit test class.
2018-02-02 12:31:33 -08:00
Hunter Nichols
56f7caf59f
Added first test power model to sram
2018-02-02 12:31:33 -08:00
Matt Guthaus
5527e73db0
Add descriptive exceptions along with cleanup in unit test checking.
2018-02-02 12:31:33 -08:00
Matt Guthaus
be1c59f10c
Make both gnd rails in 6T cell from top to bottom in SCMOS. Connect in bitcell array.
2018-02-02 12:31:33 -08:00
Matt Guthaus
ea5eda91fc
Connect all gnd rails of RBL.
2018-02-02 12:27:24 -08:00
Matt Guthaus
d552d88f45
Add -d option to not delete temp directory on successful runs.
2018-02-01 11:53:02 -08:00
Matt Guthaus
8ef1e0af2c
Replace LEF files with new changes.
2018-02-01 05:43:37 -08:00
Matt Guthaus
64546ad3dd
Change wen to en in spice lib files. Check lvs report insted of stdout with netgen.
2018-02-01 05:38:48 -08:00
Matt Guthaus
512448f9e8
Fix pin names to lower case. Fix write driver DRC errors and LVS error.
2018-01-31 17:37:16 -08:00
Matt Guthaus
9fea4a1a2d
Do not require hspice during tests. Check if a valid simulator is found, however.
2018-01-31 16:21:43 -08:00
Matt Guthaus
590f6e01d1
Fix assertion error syntax problem. Do not require hspice for functional test. Improve delay fail error message.
2018-01-31 15:38:02 -08:00
Matt Guthaus
acf3fe8376
Add well around column muxes.
2018-01-31 14:31:50 -08:00
mguthaus
4273a3717d
Clean up messages.
2018-01-31 11:54:20 -08:00
mguthaus
4aee700331
Modify unit tests to distinguish between FAIL and ERROR. Move comparison utilities into our derived unit test class.
2018-01-31 11:48:41 -08:00
Matt Guthaus
1175f515c8
Add descriptive exceptions along with cleanup in unit test checking.
2018-01-31 10:35:51 -08:00
Matt Guthaus
58da8af619
Make both gnd rails in 6T cell from top to bottom in SCMOS. Connect in bitcell array.
2018-01-31 10:04:28 -08:00
Matt Guthaus
012c3923be
Create empty setup.tcl file as workaround for resetting netgen LVS options until Tim fix's bug.
2018-01-31 08:28:53 -08:00
Matt Guthaus
264d55b16c
Remove temp files
2018-01-30 08:05:50 -08:00
Matt Guthaus
8fcb551953
Only perform DRC not LVS on transistors
2018-01-30 08:03:54 -08:00
Matt Guthaus
1d9274621a
Only remove files when cleaning temp dir
2018-01-30 07:58:31 -08:00
Matt Guthaus
0b6eddef43
Force write the specific cell during DRC.
2018-01-29 17:00:20 -08:00
Matt Guthaus
56770f558f
Consolidate checking into our own unit test class. Remove all files in temp dir after each test, not just spice and gds.
2018-01-29 16:59:29 -08:00
Matt Guthaus
313e06d2af
Fix pwell contact in column mux to have layers for Magic.
2018-01-29 15:53:22 -08:00
Matt Guthaus
6080b59058
Fix nand input ordering to correct netgen LVS error of wordline driver.
2018-01-29 15:36:37 -08:00
Matt Guthaus
a56fa0e787
Fix wrong pin order on pnand2 LVS problem.
2018-01-29 15:31:14 -08:00
Matt Guthaus
79715ae1a2
Fix input discrepencies in pre3x8
2018-01-29 15:25:41 -08:00
Matt Guthaus
3c5ecb963d
Remove level of indirection to ptx devices to allow LVS symmetries.
2018-01-29 15:25:15 -08:00
Matt Guthaus
586d80623e
Remove level of indirection to ptx devices to allow LVS symmetries.
2018-01-29 15:25:00 -08:00
Matt Guthaus
31c192c2e9
Fix precharge nwell contact spacing DRC violatin.
2018-01-26 13:53:45 -08:00
Matt Guthaus
e46a4fb115
Use any spice for the functional tests.
2018-01-26 13:53:11 -08:00
Matt Guthaus
028146f3c2
Add output explaining error for not finding simulator in unit tests.
2018-01-26 13:23:11 -08:00
Matt Guthaus
369aa85cd2
Fail simulation tests if correct spice is not found. Correctly load spice characterizer.
2018-01-26 13:00:25 -08:00
Matt Guthaus
50107636a0
Fail test early if spice simulator is not found.
2018-01-26 12:47:32 -08:00
Matt Guthaus
1dc7752429
Fix 6T and replica cell contact spacing issues with Magic DRC.
...
DRC/LVS passing for all parameterized gates.
Magic and GDS match for SCMOS rules again.
2018-01-26 12:39:00 -08:00
Matt Guthaus
ac8eada0d8
Fix devices sizes in SCMOS sense amp. Elaborate magic/netgen scripts in comments.
2018-01-24 13:02:55 -08:00
Matt Guthaus
1b2df3a5a1
Properly ignore ad as, pd, ps property errors
2018-01-22 17:50:53 -08:00
Matt Guthaus
2468f224d9
SCMOS library cells passing LVS (with property errors though). Permute must be enabled before compare, duh.
2018-01-22 17:14:39 -08:00
Matt Guthaus
fb2ed1d46c
Add wells to fix DRC errors in SCMOS library cells.
2018-01-22 16:28:20 -08:00
Matt Guthaus
f572b83671
Add Makefile for parallel test execution.
2018-01-22 13:39:07 -08:00
Matt Guthaus
10ced33127
Fixed command line arguments to take priority over config file. Any option can be specified in config file now.
2018-01-21 11:21:09 -08:00
Matt Guthaus
84ec7a5be0
Convert unit tests to use new options as well.
2018-01-19 17:23:38 -08:00
Matt Guthaus
95fab1ca71
Remove personalized temp dir.
2018-01-19 16:39:14 -08:00
Matt Guthaus
490a70dee9
Simplify configuration file to allow all options to be over-riden. Move default module types to options.py to simplify config file.
2018-01-19 16:38:19 -08:00
Matt Guthaus
72b0617e81
Merge branch 'dev' of github.com:mguthaus/OpenRAM into dev
2018-01-19 16:19:12 -08:00
Matt Guthaus
efa465757c
Remove dead code ptx_port.
2018-01-19 16:19:05 -08:00
Matt Guthaus
fcc533ec11
Initial LVS using netgen. pinv nad pnand2 pass. No property checks in LVS yet.
2018-01-17 16:48:35 -08:00
Matt Guthaus
ba489f0291
Only check if using magic with freepdk when LVSDRC is enabled.
2018-01-17 07:38:29 -08:00
Matt Guthaus
7c50708158
Check that we are not using Magic for FreePDK45.
2018-01-12 14:50:35 -08:00
Matt Guthaus
243097cb33
Remove print statement in magic.py
2018-01-12 14:45:11 -08:00
Matt Guthaus
1b30eb4b64
Initial DRC with Magic is done.
2018-01-12 14:39:42 -08:00
Matt Guthaus
7a172873a3
Update unit tests to load verify after config file. Start magic DRC.
2018-01-12 10:24:49 -08:00
Matt Guthaus
e0a6b59773
Fix LEF test mismatch in regression.
2018-01-12 08:54:31 -08:00
Matt Guthaus
1701eac1a9
Added workaround to import layouts into Magic. Select and well layers in active contacts. Fixed missing implant enclose active DRC rule in parameterized cells.
2018-01-11 10:24:44 -08:00
Matt Guthaus
f028436156
Add implant/select enclosure rule to ptx.
2018-01-08 12:27:50 -08:00
Matt Guthaus
e95988c639
Document tech files. Remove unused/redundant rules. Made rule names consistent/simple.
2018-01-08 11:57:51 -08:00
Matt Guthaus
fd748b4fe4
Move info messages about modes to better locations.
2018-01-05 08:32:23 -08:00
Matt Guthaus
4885616bec
Remove metal3 in LEF library cells.
2017-12-19 13:12:39 -08:00
Matt Guthaus
97a2d620fe
Fix dev tests. Split pruned test to separate golden result.
2017-12-19 11:42:11 -08:00
Matt Guthaus
ee7bf7c5f2
Remove metal3 blanket blockage on library cells.
2017-12-19 09:55:59 -08:00
Matt Guthaus
40465d6518
Merge tolerance change from master.
2017-12-19 09:17:43 -08:00
Matt Guthaus
9059a15ceb
Remove tab in lef file.
2017-12-19 09:14:59 -08:00
Matt Guthaus
9a4b2b4341
Revised LEF and Verilog generation. Does not read GDS for speed improvements.
2017-12-19 09:01:24 -08:00
mguthaus
13902538ff
Increase lib file tolerance to 25 percent.
2017-12-19 07:41:08 -08:00
Matt Guthaus
a4a9205a56
Change thresholds to 50 percent.
2017-12-15 08:02:48 -08:00
Matt Guthaus
7e091fc622
Increase threshold to 30% for SCMOS
2017-12-14 16:52:49 -08:00
Matt Guthaus
819e249526
Remove nor_2 reference
2017-12-12 19:25:35 -08:00
Matt Guthaus
e3a6c1ac6b
Rewrite CONTRIBUTING.md to add changes relative to dev. Add small changes from orbe7947.
2017-12-12 15:50:45 -08:00
Matt Guthaus
abee235963
Rewrite the parameterized transistor and gate classes.
...
Changes propagate through all designs.
All modules use instance and layout pins.
2017-12-12 15:04:01 -08:00
Matt Guthaus
1085497476
Fail when using Magic/netgen for DRC/LVS. Remove arguments in running precharge test.
2017-12-12 13:06:01 -08:00
Matt Guthaus
8df46abb30
Move nmos gate to the top of the ptx.
2017-12-01 08:31:16 -08:00
Matt Guthaus
45ae8c7315
Reduce beta test. Remove other betas. Beta doesn't work well due to simplified rules.
2017-11-30 16:02:32 -08:00
Matt Guthaus
74a22fb515
Reduce beta test. Remove other betas. Beta doesn't work well due to simplified rules.
2017-11-30 16:02:17 -08:00
Matt Guthaus
44faa8d58d
Fixed SCMOS bugs.
2017-11-30 15:58:16 -08:00
Matt Guthaus
c4ce646b81
Fix min height check for scmos
2017-11-30 13:42:55 -08:00
Matt Guthaus
c7ff58cef3
Round finger widths to grid.
2017-11-30 12:15:20 -08:00
Matt Guthaus
107cad15a1
Change layout function names to be consistent.
2017-11-30 12:01:04 -08:00
Matt Guthaus
0214cfb48e
Fix single finger ptx bugs.
2017-11-30 11:56:40 -08:00
Matt Guthaus
6207f2157c
Fix gnd vdd rail overlap bugs.
2017-11-30 09:18:28 -08:00
Matt Guthaus
de5c736cb4
Remove temp directory change.
2017-11-29 16:15:22 -08:00
Matt Guthaus
9abe82b203
Pinv implemented, but not DRCed. More new unit tests added for pinv.
2017-11-29 16:11:15 -08:00
Matt Guthaus
13008e1de4
Split pinv unit tests.
2017-11-29 13:43:50 -08:00
Matt Guthaus
1bcef7e3ee
Prune ptx code. Change sizes to be relative to min size.
2017-11-29 12:31:00 -08:00
Matt Guthaus
d4f8d63442
Fix bug for even number of fingers. Add even finger tests.
2017-11-29 09:44:40 -08:00
Matt Guthaus
7ff82a2aed
Improved ptx code but removed internal active/poly positions.
2017-11-28 18:13:32 -08:00
mguthaus
09ca8ba17d
Improve output format. Rename option to be more sensible.
2017-11-22 15:57:29 -08:00
Matt Guthaus
cf66c83fe4
Fixed address bug to simulate correct wordline
2017-11-21 13:57:59 -08:00
Matt Guthaus
aa4768bf87
Add time info for spice simulation calls.
2017-11-21 13:04:18 -08:00
Matt Guthaus
6873342748
Prepend the config file path so it imports your local copy rather than example_config_freepdk, for example.
2017-11-20 11:57:41 -08:00
Matt Guthaus
76ea89e06f
Merge branch 'magic_netgen_support' into dev
2017-11-16 13:57:18 -08:00
Matt Guthaus
88740c107f
Improve global and code structure using modules.
...
Comment and reorganize globals.py
Tests consistently use globals module for OPTions.
Add characterizer as module support.
Modify unit tests to reload new characterizer for ngspice/hspice.
Enable relative and absolute config file arguments so you can run
openram from anywhere on any config file.
2017-11-16 13:52:58 -08:00
Matt Guthaus
347f1f97fd
Merge branch 'master' into magic_netgen_support
2017-11-15 17:05:38 -08:00
mguthaus
2eb9f5c6bc
Move verify into a module. Make characterizer a module. Move exe searching to modules.
2017-11-15 17:02:53 -08:00
Matt Guthaus
658f794b12
Add draft of assura DRC/LVS
2017-11-15 12:07:10 -08:00
Matt Guthaus
f6410e0371
Merge branch 'master' into dev
2017-11-15 11:46:11 -08:00
Matt Guthaus
75a3884568
Remove tab
2017-11-15 11:45:55 -08:00
Matt Guthaus
f123a3ca40
Merge branch 'master' into dev
2017-11-15 07:43:56 -08:00
Matt Guthaus
102db4fecf
Fixed prune unit test by relaxing tolerance.
2017-11-15 07:43:43 -08:00
Matt Guthaus
37edd7cac6
Change unit tests to use verify instead of calibre. Debugging gds read comments in magic.py.
2017-11-14 16:24:26 -08:00
Matt Guthaus
4285e576f8
Change error to warning for magic/netgen.
2017-11-14 15:49:47 -08:00
Matt Guthaus
40410cc9f5
Clean up code to work when no drc/lvs/pex is found.
2017-11-14 15:31:58 -08:00
Matt Guthaus
257cd62d25
Remove tools from tech file and have search order preference like spice.
2017-11-14 15:27:03 -08:00
Matt Guthaus
3e0f39cd8e
Skeleton code for indirect DRC/LVS/PEX tools.
2017-11-14 14:59:14 -08:00
Matt Guthaus
70ab672c5c
Pad strings in GDS to even number of bytes per bug report.
2017-11-14 14:30:00 -08:00
Matt Guthaus
29c5ab48f0
Add spice pruning for speed-up. Fix spice search bugs. Add time in stages to openram output.
2017-11-14 13:24:14 -08:00
Matt Guthaus
8071dcc0f3
Add customsim (xa) as optional simulator. Fix regex to support scientific notation. Go through list of preferred simulators in order. Always abort if command-line simulator not found.
2017-11-12 10:42:41 -08:00