Introduce caching
Problem to solve
@apaterno proposed the idea of caching parsing results for verilog files in !165 (merged). The idea and implementation were very good but several cases were not taken care of therefore it was removed from the master in !173 (merged). This feature should be introduced again, but a few things would have to be extended:
-
Documenting the feature in CHANGELOG / user manual -
Adding caching for all Verilog files (not only libraries) -
There should be a possibility to disable the feature - [ ] via command line (.e.g. --cache-disable
) - [ ] via config file -
There should be an option to force regenerate the cache - [ ] via command line (.e.g. --cache-clean
,--cache-refresh
) - [ ] via config file -
There should be an option to change the directory where the cache files are stored (reason: not all the directories must be writable for the user, e.g. PDK directory) - [ ] via command line (.e.g. --cache-dir
) - [ ] via config file -
The caching should look not only at the md5 of the file, but also: - [ ] MD5 of all files that are included in the file - [ ] tmrg version
Target audience
Further details
The config file could be extended. e.g.:
etc/tmrg.sh:
[tmrg]
# cache configuration
cache_disable = False
cache_clean = False
cache_dir = .
Proposal
Draft implementation removed in !173 (merged)
What does success look like, and how can we measure that?
The TMRG works faster for most of the users and does not break anything for existing users.