Skip to content

Releases: siliconcompiler/siliconcompiler

v0.12.2

14 Jun 17:26
38ba8d2
Compare
Choose a tag to compare

SiliconCompiler 0.12.2 (2023-06-14)

Major:

  • Added additional arguments to sc-show to provide access to specific steps and indices in the run.

Minor:

  • Tools:
    • OpenROAD - added generation of separate timing and power reports in the reports/ directory to provide better insights into the design, added additional parameters to timing repair to enable minimizing total negative slack ['tool', 'openroad', 'task', 'place', 'var', 'rsz_repair_tns'], and added support for RTL-MP for macro placement.
    • yosys - added initial support for hierarchical synthesis via ['tool', 'yosys', 'task', 'syn_asic', 'var', 'hier_threshold'], this is disabled by default while it is still in development.

v0.12.1

07 Jun 18:54
bd9c764
Compare
Choose a tag to compare

SiliconCompiler 0.12.1 (2023-06-07)

Major:

  • Fixed writing of manifest to preserve values that were previously removed incorrectly.
  • Updated recording of ['record', ...] to track tool versions, tool options, task start and end times, and SiliconCompiler version, while preserving control of sensitive records like ['record', 'ipaddr'] with ['option', 'track'].

Minor:

  • Fixed handling of sc-issue to avoid clobbering the user set options and only bundle the required files for a testcase to minimize the size of the file.
  • Added error checking for create_cmdline to check for invalid arguments.
  • Tools:
    • OpenROAD - added support for disallowing one site gaps in detail placement ['tool', 'openroad', 'task', 'place', 'var', 'dpl_disallow_one_site']. Added support for ['option', 'warningoff']
    • surelog - Added support for ['option', 'warningoff']
    • Verilator - Added support for ['option', 'warningoff']

v0.12.0

24 May 18:07
e784b5a
Compare
Choose a tag to compare

SiliconCompiler 0.12.0 (2023-05-24)

Major:

  • Added/updated parameters in ['datasheet'] section of the schema to allow for better capturing of design datasheet.
  • Updated Verilator tool driver to support CFLAGS/LDFLAGS and fix linting task.
  • Added operations task to klayout to allow for unit operations on GDSs like merging, adding outlines, rotating, etc.
  • Added options to archive() to support archiving multiple jobs and filtering files to include.

Minor:

  • Added enforcement of ['option', 'mode'] to ensure it is set for better manifest checking.
  • Added per-pin voltage constraints for better support of multiple power/voltage domains, ['constraint', 'timing', scenario, 'voltage', pin].
  • Fixed tool drivers to ensure proper use of find_files() is not done in setup().
  • Added check for permissions error while collecting child process memory statistics.

v0.11.2

15 May 18:42
c0d405d
Compare
Choose a tag to compare

Major:

  • Updated sc-issue to generate self-contained testcases to allow for better sharing of testcases.
  • Updated klayout tool driver to support map-file option for DEF-GDS export step, and remove need for hard coded options in .lyt file in favor of getting values from the schema.

Minor:

  • Updated loading order to target in commandline interface to ensure schema parameers are set before loading target.
  • Error checking for flowgraphs with duplicated edges.
  • Added -ext to sc-show command to control what file is opened when multiple files are available.
  • Tools:
    • OpenROAD - added flags to control antenna repairs: ['tool', 'openroad', 'task', 'route', 'var', 'ant_check'] and ['tool', 'openroad', 'task', 'route', 'var', 'ant_repair']; added clock buffer selection option from the library with ['library', lib, 'option', 'openroad_cts_clock_buffer']

v0.11.1

03 May 14:54
0923006
Compare
Choose a tag to compare

Major:

  • Revamped documentation for better readability and navigability.

Minor:

  • Fixed handling when loading schemas from JSON to ensure values are normalized correctly.
  • When a tool fails, the last 10 lines of the log is printed when ['option', 'quiet'] is set to aid in debugging.
  • Updated server/client to use python tarfile module instead of spawning subprocesses.
  • Implemented python linting.
  • Tools:
    • OpenROAD - implemented snapping to sites or manufacturing grid for component placement via ['tool', 'openroad', 'task', 'floorplan', 'var', 'ifp_snap_strategy'] and added ability to select SDC IO buffer for automatic constraint generation via ['tool', 'openroad', 'task', 'floorplan', 'var', 'sdc_buffer'].
    • yosys - fixed invalid keypath access when logiclib is incorrectly specified.

v0.11.0

18 Apr 16:34
5cd41fd
Compare
Choose a tag to compare

Major:

  • sc-issue added as command line application to support sharing runnable testcases.
  • Removed the requirement that the initial task of the flowgraph be called 'import' and the final task be called 'export'.
  • Fully implemented .node() to take in a task module, simplifying the construction of a flowgraph and removing its dependence on ['option', 'scpath'].

Minor:

  • ['tool', tool, version, 'sbom'] added to be able to track a tools SBOM.
  • .hash_files() updated to honor the 'hash' field for the file parameters.
  • .calc_yield(), .calc_area(), .calc_dpw() updated to new schema parameters.

v0.10.2

04 Apr 14:59
776e9bd
Compare
Choose a tag to compare

Major:

  • Support for Python 3.11
  • Building arm64 wheels for surelog

Minor:

  • Tools:
    • general - deployed docker based CI with automatic tool building and testing
    • klayout - support for OAS stream files via ['tool', 'klayout', 'task', 'export', 'var', 'stream'] = 'oas', better detection of missing layout cells
    • yosys - support for controling buffer insertion via ['tool', 'yosys', 'task', 'syn_asic', 'var', 'add_buffers'] = 'True'/'False'
    • openroad - correct handling of INF timing in metrics
  • Improve memory recording to account for child processes
  • General documentation cleanup

v0.10.1

13 Mar 16:33
3ba1758
Compare
Choose a tag to compare

Major:

  • Adding ._record_metric() for tool drivers to use when recording metrics to ensure they honor the schema units and record the source of the metric at the same time.

Minor:

  • Improved error handling and messaging for remote jobs.
  • Fixed HTML summary report and PNG summary image not getting rebuilt when calling .summary()
  • Updated .summary() table to display units and format numbers accordingly.

v0.10.0

08 Mar 22:14
c364ea5
Compare
Choose a tag to compare

Major:

  • Schema overhauled (see schema documentation for details):
    • Added ability to override certain schema parameters on a per-step/index basis.
    • Added step and index to schema access methods.
    • Expanded constraints category to include component and pin placement.
    • Cleaned up parameters which were duplicated in other categories.
    • Implemented ['input', ...] and ['output', ...] filesets along with .input() and .output() helper functions
  • Added tasks to tools prevent step name from getting used for task identification.
  • Implemented .use() in favor of .load_pdk(), .load_flow(), etc. to take in Python modules instead of strings.
  • Changed libraries, flows, checklists, and pdks to explicitly return a particular class object.
  • Generate a summary PNG.
  • Removed Floorplanning API.
  • Added support for custom macros and scripts in the remote workflow.

Minor:

  • Updated OpenROAD scripts to support a hierarchical flow.
  • Updated Yosys scripts to better support hierarchy.
  • Improved auto documentation generation.
  • Updated pdk and library settings to provide additional corners where available.
  • Updated documentation, including Installation, Quickstart Guide and Tutorials.
  • Added Fmax as a first-order metric to the Schema

v0.9.6

04 Oct 20:01
77f2f47
Compare
Choose a tag to compare

Major:

  • Fixed bug that causes tool setup information to be lost when running a flow in multiple chunks using a steplist.

Minor:

  • Fixed old schema references in Yosys synthesis strategy scripts.
  • Updated error message for missing file requirements.
  • Updated OpenROAD scripts to handle multiple LEF files.
  • Updated KLayout driver to use batch mode flag and capture more warnings.
  • Updated Verilator driver to implement ['option', 'trace], ['option', 'warningoff'], and provide passthroughs for CFLAGS and LDFLAGS.
  • Removed support for 'extraopts' passthrough in Verilator driver.
  • Updated version of Surelog bundled with wheels distribution.