Skip to content

v0.9.0

Compare
Choose a tag to compare
@nmoroze nmoroze released this 19 May 20:33
· 6069 commits to main since this release
caefdc4

Major:

  • Schema: Reorganized entire schema! Changes summarized below:
    • Cleaned and consolidated top-level organization, most parameters are now nested.
    • Moved build configuration options underneath ['option', ...].
    • Added ['output', ...] to store pointers to flow outputs.
    • Added ['model', ...] to store pointers to design abstractions (timing libraries, layouts, etc).
    • Added ['datasheet', ...] to store information about design's interface.
    • Renamed ['eda', ...] to ['tool', ...]
    • Renamed ['mcmm', ...] to ['constraint', ...]
    • Replaced ['source'], ['constraint'], and ['read', ...] with more flexible ['input', <filetype>] to supply input files.
    • Added support for storing multiple PDKs in schema and selecting which one to use for run (analagous to flows).
  • Schema: Removed special ['library', ...] keypaths. All libraries are now created as Chip objects, and have their full config imported into a parent chip's schema.
  • Added ability to configure stdout and stderr redirection on a per-tool basis (thanks to @suppamax for implementing).
  • Added flexible tool version checking based on PEP-440 standard, now enabled by default.
  • Added 'clean' feature for cleaning up intermediate tool outputs.
  • Added 'resume' feature for restarting failed flows (for debugging).
  • Added automatic capture of peak memory usage (adds dependency on psutil).
  • Changed ['design'] to be a required parameter for instantiating a Chip.
  • Changed error behavior to consistently raise exceptions rather than exit.
  • Removed tool script copy feature, so now all EDA scripts are run from the reference directory.

Minor:

  • Schema: Added ability to store per-parameter designer notes.
  • Added offline wheels distribution.
  • Added checklist support.
  • Added read_lef() function to help with PDK bring-up.
  • Added environment variables to replay scripts.
  • Added LVS/DRC signoff flow and top-level GDS stream out flow.
  • Added native support for Sky130 I/O library, along with Heartbeat + padring example.
  • Changed internals to minimize SC performance overhead with large flowgraphs.
  • Changed task runtime tracking to distinguish between time spent in tool and total time.
  • Fixed breakpoints to work more consistently across tools.

Note: Since there was no public release of version 0.8.0, this list summarizes all changes since 0.7.0.

CI hint:
NOPUBLISH