Matt Guthaus
d511f648c6
Move DRC/LVS/PEX tools to tech file.
2019-11-29 12:01:33 -08:00
Matt Guthaus
abd8b0a23a
Only setup bitcell when running top-level OpenRAM
2019-11-26 13:54:37 -08:00
Matt Guthaus
67a0928303
Merge branch 'dev' into tech_migration
2019-11-21 11:02:33 -08:00
Matt Guthaus
982e12be5e
Increment minor version
2019-11-21 11:00:22 -08:00
Matt Guthaus
807923cbf1
Ignore pycache dirs. Fix output error message.
2019-11-21 10:11:19 -08:00
Matthew Guthaus
aca99b87bc
Fix config for tests 30
2019-11-16 22:22:30 +00:00
Matthew Guthaus
c4cf8134fe
Undo changes for config expansion. Change unit tests to use OPENRAM_HOME.
2019-11-15 18:47:59 +00:00
Matthew Guthaus
7e9d08206c
Fix config import to be location independent
2019-11-14 20:18:18 +00:00
Matt Guthaus
38213d998f
Add separate layer and purpose pairs to tech layers.
2019-10-25 10:03:25 -07:00
Matt Guthaus
ccc6a67021
Update version to 1.1.2
2019-10-07 12:28:02 -07:00
Matt Guthaus
69c5608b53
Allow gds to be written with supplies off. Fix extraction bug with new options.
2019-09-03 11:23:35 -07:00
Matt Guthaus
ee2456f433
Merge branch 'add_wmask' into dev
2019-08-22 15:01:41 -07:00
Matt Guthaus
5f3ffdb8ba
Output name and version in help
2019-08-21 14:00:55 -07:00
jsowash
d5e331d4f3
Connected en together in write_mask_and_array.
2019-08-09 14:27:53 -07:00
Matt Guthaus
0c5cd2ced9
Merge branch 'dev' into rbl_revamp
2019-07-26 18:01:43 -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
mrg
a189b325ed
Merge remote-tracking branch 'origin/dev' into rbl_revamp
2019-07-12 11:10:07 -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
1f76afd294
Begin wmask functionality. Added wmask to verilog file and config parameters.
2019-06-28 15:43:09 -07:00
Matt Guthaus
a234b0af88
Fix space before comment
2019-06-14 08:43:41 -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
Matt Guthaus
59d2e45744
Move characterization on/off feedback to report_status.
2019-04-24 11:30:38 -07:00
Matt Guthaus
74f904a509
Cleanup options for front-end. Improve info output.
2019-04-01 10:35:17 -07:00
Matt Guthaus
c4c844a8a2
Remove duplicate module name checking since we use the factory
2019-03-06 14:14:46 -08:00
Matt Guthaus
cfc14f327e
Factor default corner out of import_tech
2019-03-06 07:46:30 -08:00
Matt Guthaus
d178801882
Simplify tech organization and import
2019-03-06 07:41:38 -08:00
Matt Guthaus
22deab959c
Fix setup_bitcell to allow user to force override the bitcell.
2019-03-03 11:58:41 -08:00
Matt Guthaus
abcb1cfa2c
Correct elsif to elif
2019-02-28 09:17:24 -08:00
Matt Guthaus
da6aa161de
Don't autodetect the bitcell if the user overrides it
2019-02-28 09:12:32 -08:00
Matt Guthaus
de977732db
Only warn if not unit tests
2019-02-25 16:13:54 -08:00
Matt Guthaus
1f1426b97c
Add auto-detect of custom bitcells
2019-02-25 16:10:34 -08:00
Matt Guthaus
a4b5368302
Add total size in warning for output size.
2019-02-25 14:57:18 -08:00
Matt Guthaus
a18071a4ff
Add warning for large memory sizes
2019-02-25 10:07:05 -08:00
Matt Guthaus
f5f27073be
Merge remote-tracking branch 'origin/dev' into factory
2019-01-18 09:52:18 -08:00
Matt Guthaus
a418431a42
First draft of sram_factory code
2019-01-16 16:15:38 -08:00
Jesse Cirimelli-Low
87380a4801
complete log file generation
2019-01-13 14:34:46 -08:00
Matt Guthaus
cdef5f0ecb
Change kbits to bits in output
2019-01-09 16:57:12 -08:00
Jesse Cirimelli-Low
e58515b89b
tables stable and flask removed, headers are bugged
2019-01-08 19:50:47 -08:00
Matt Guthaus
3f468b1c18
Only print_time when not a unit test or debug_level set
2018-12-07 15:14:28 -08:00
Matt Guthaus
5248482fab
Merge branch 'dev' into supply_routing
2018-12-07 14:28:49 -08:00
Matt Guthaus
6f171ad147
Added router timing code. Commented combine adjacent pins due to run-time complexity
2018-12-07 13:54:18 -08:00
Jesse Cirimelli-Low
3d9203a7ea
Merge branch 'dev' into datasheet_gen
2018-12-07 04:29:07 -08:00
Matt Guthaus
3f1fbc3d90
Merge remote-tracking branch 'origin' into supply_routing
2018-12-06 13:53:51 -08:00
Matt Guthaus
b7bbc9b994
Add output on number of ports.
2018-12-06 11:58:34 -08:00
Matt Guthaus
2cd1322071
Clean up Makefile for unit tests
2018-12-05 12:58:10 -08:00
Jesse Cirimelli-Low
2c12ef2161
added warning to test 30 coverage is not installed
2018-12-03 13:24:22 -08:00
Jesse Cirimelli-Low
59c0421804
merge dev into datasheet_gen; fixed merge conflict in hierarchy_design.py
2018-11-15 10:45:33 -08:00
Matt Guthaus
2f6300c7a0
Fix date/time formatting to remove fraction seconds.
2018-11-14 10:31:33 -08:00
Matt Guthaus
ce74827f24
Add new option to enable inline checks at each level of hierarchy. Default is off.
2018-11-13 16:51:19 -08:00
Jesse Cirimelli-Low
ce5001e0af
added config file to datasheet and output files
2018-10-31 12:29:13 -07:00
Hunter Nichols
62439bdac6
Fixed merge conflicts with sram.py
2018-10-22 17:29:14 -07:00
Matt Guthaus
7591f25a2e
Merge branch 'dev' into supply_routing
2018-10-20 14:29:19 -07:00
Jesse Cirimelli-Low
1b4383b945
moved flask_table warning from sram.py to datasheet_gen.py
2018-10-18 09:58:19 -07:00
Jesse Cirimelli-Low
b9990609bf
provides warning on missing flask packages, does not generate html on missing packages
2018-10-18 07:21:03 -07:00
Matt Guthaus
4932d83afc
Add design rules classes for complex design rules
2018-10-12 09:44:36 -07:00
Jesse Cirimelli-Low
cfb5921d98
reorganized code structure
2018-10-11 15:59:06 -07:00
Hunter Nichols
fd806077d2
Added class and test for testing the delay of several bitcells.
2018-10-08 15:50:52 -07:00
Matt Guthaus
a2b1d025ab
Merge multiport
2018-10-08 11:45:50 -07:00
Matt Guthaus
8499983cc2
Add supply router to top-level SRAM. Change get_pins to elegantly fail.
2018-10-06 08:30:38 -07:00
Matt Guthaus
68b30d601e
Move bitcells to their own directory in preparation for custom multiport cells.
2018-10-05 08:09:09 -07:00
Matt Guthaus
a7246f5e7f
Rename omits 0 size ports
2018-09-24 13:44:31 -07:00
Matt Guthaus
a3f13d6eab
Remove banks from test configs
2018-09-24 11:41:51 -07:00
Matt Guthaus
e591176211
Change default to scn4m
2018-09-13 15:26:03 -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
a346bddd88
Cleanup some items with new sram_config. Update unit tests accordingly.
2018-09-04 10:47:24 -07:00
Matt Guthaus
563ff77d44
Add sram_config class. Rename port variables for better description.
2018-08-31 12:03:28 -07:00
Matt Guthaus
41fba9d27c
Add sketch for power grid routing code
2018-08-29 15:34:16 -07:00
Matt Guthaus
e804f36bec
Add parameters to give preference to DRC/LVS/PEX tools like we do for spice.
2018-08-28 13:41:26 -07:00
Matt Guthaus
e17c69be3e
Clean up new code for add_modules, add_pins and netlist/layouts.
2018-08-28 10:24:09 -07:00
Matt Guthaus
9f051df18d
Added netlist only configuration option.
2018-08-27 14:33:02 -07:00
Matt Guthaus
64b3cfee26
Only print LVS/DRC stats when it is enabled
2018-07-25 13:44:34 -07:00
Matt Guthaus
7d8352a04d
Fix order of checkpointing so that it is done after characterizer and verify have found their executables.
2018-07-11 12:12:03 -07:00
Matt Guthaus
265b5d977a
Fix option reload problems and checkpointing so that it works properly.
2018-07-11 12:00:15 -07:00
Matt Guthaus
c6503dd771
Modify unit tests to reset options during init_openram so
...
that they don't use old parameters after a failure.
2018-07-10 16:39:32 -07:00
Matt Guthaus
8cee26bc8c
Allow python 3.5. Make easier to revise required version.
2018-06-29 09:23:43 -07:00
Matt Guthaus
f34c4eb7dc
Convert entire OpenRAM to use python3. Works with Python 3.6.
...
Major changes:
Remove mpmath library and use numpy instead.
Convert bytes to new bytearrays.
Fix class name check for duplicate gds instances.
Add explicit integer conversion from floats.
Fix importlib reload from importlib library
Fix new key/index syntax issues.
Fix filter and map conversion to lists.
Fix deprecation warnings.
Fix Circuits vs Netlist in Magic LVS results.
Fix file closing warnings.
2018-05-14 16:15:45 -07:00
Matt Guthaus
0e35937da5
Commit local changes. Forgot what the status is.
2018-05-11 09:15:29 -07:00
Matt Guthaus
929122b6dc
Change default to scmos. Refactor add column mux.
2018-04-20 12:52:41 -07:00
Matt Guthaus
a732405836
Add utility script gen_stimulus.py to help create simulations for debugging.
2018-02-26 08:54:35 -08:00
mguthaus
e210d3d49a
Make some common lib memory sizes. Update Makefile to auto build and char them all.
2018-02-12 12:00:59 -08:00
Matt Guthaus
a12ebeed9f
Add multiple process corners. Unit tests use nominal corner only. Add fake SCMOS nominal models, but they are broken.
2018-02-12 09:33:23 -08:00
Matt Guthaus
4d35972553
Get default corner options from tech file
2018-02-09 15:49:55 -08:00
Matt Guthaus
7c83ef3f04
Fix missing subdir name. Comment about organization.
2018-02-09 10:27:43 -08:00
Matt Guthaus
7100d6f904
Organize top-level files into subdirs.
2018-02-09 10:25:24 -08:00
mguthaus
5aa92a6549
Reorganize top-level functions a bit more. Add help info to banner.
2018-02-09 09:53:28 -08:00
mguthaus
8719a19377
Move parameter setting to config reading rather than status function.
2018-02-09 09:26:13 -08:00
Matt Guthaus
17716191c1
Clean up time statements in openram output
2018-02-08 13:11:18 -08:00
Matt Guthaus
6c89f7965d
Refactor openram.py.
2018-02-08 12:47:19 -08:00
Matt Guthaus
8e91faaccb
Remove version from OpenRAM. We will go bit git hashes.
2018-02-06 10:56:26 -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
9d043b904e
Remove unnecessary design reset
2018-02-02 14:26:53 -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
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
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
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
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
mguthaus
09ca8ba17d
Improve output format. Rename option to be more sensible.
2017-11-22 15:57:29 -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
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
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
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
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
Matt Guthaus
95f1a24f72
Change default delay modeling to analytical. Add command-line option characterization by simulation (-c).
2017-11-09 11:13:44 -08:00
Matt Guthaus
69e44c78d8
Upgrade version to 1.01
2017-10-04 20:18:30 -07:00
Matt Guthaus
20d8c0bc45
Improved characterizer.
2017-07-06 08:42:25 -07:00
Matt Guthaus
8a821e13ac
Convert print to functional type call like Python 3. Perform error checking that requires Python >2.7 <3.0 for better error checking.
2017-06-12 15:02:48 -07:00
mguthaus
6e90bf0d6d
Enable output filename and path to be in config file. Command line will over-ride config file.
2017-06-12 14:37:15 -07:00
mguthaus
f32912f07c
Removed name option from some modules and autogenerate unique names. Added check to design class to prevent duplicate names by accident. Reduced diff file output verbosity.
2017-06-02 11:11:57 -07:00
Matt Guthaus
424c7b7e64
Made back-annotation and analytical modelling boolean options. Default is false.
2017-05-31 08:12:17 -07:00
Matt Guthaus
34e180b901
Analytical delay model from Bin Wu. Unit test not passing.
2017-05-30 12:50:07 -07:00
Matt Guthaus
2e86da4cd1
Add router to the python path
2017-05-23 08:31:23 -07:00
Matt Guthaus
b16dd80088
Add checks for valid OPENRAM_HOME and OPENRAM_TECH directories and subdirs
2017-05-12 14:56:31 -07:00
Matt Guthaus
e46ff50269
Modified default tech back to freepdk. Config file overrides command line.
2017-01-11 11:47:58 -08:00
Matt Guthaus
a2b7636e58
Modify banner to output temp path
2016-11-15 10:13:57 -08:00
Matt Guthaus
d1f6f205c0
No output during level 0 debug.
2016-11-15 09:04:32 -08:00
Matt Guthaus
e95e9e8229
Change some debug levels. Fix ngspice test values. ix cwd warning in some tests.
2016-11-15 08:57:06 -08:00
Matt Guthaus
b82aaa4201
Merge use-temp-dir-pid
2016-11-12 08:55:42 -08:00
Matt Guthaus
9ea1a06244
Remove openram_temp at end of openram and unit tests.
2016-11-11 14:05:14 -08:00
Matt Guthaus
c318a7d1bb
Check if spice preferred version was found before fallback
2016-11-10 11:44:48 -08:00
Matt Guthaus
f3f2171f89
Add both ngspice and hspice timing tests. Add hidden option to force to a version. Otherwise, default to either version if found.
2016-11-10 11:33:10 -08:00
Matt Guthaus
7b90b9a0e6
Try alternative spice if not found.
2016-11-10 08:18:52 -08:00
Matt Guthaus
7a23550ae0
Improve error messages on misconfiguration of environment variables.
2016-11-09 12:00:16 -08:00
Matt Guthaus
f48272bde6
RELEASE 1.0
2016-11-08 09:57:35 -08:00