Skip to content

Releases: cda-tum/fiction

v0.6.10

21 Feb 20:13
434c860
Compare
Choose a tag to compare

👀 What's Changed

This is mainly a bugfix release that resolves some issues with the Python bindings.

Full CHANGELOG: v0.6.9...v0.6.10
Many thanks to all contributors!

🐛 Bug Fixes

  • 🐍 Fixed python bindings for critical temperature domain @Drewniok (#673)

📝 Documentation

👷 CI

⬆️ Dependencies

v0.6.9

13 Feb 14:04
e260038
Compare
Choose a tag to compare

👀 What's Changed

This is another huge release that we have been working hard on. It introduces ClusterComplete, a breakthrough physical simulation engine for SiDBs that enables exact and fast 3-state simulation of way over 80 quantum dots! Earlier this week, we already made it available as a SiQAD plugin to be applied in CAD workflows via a user-friendly GUI. Additionally, we introduce a temperature-aware operational domain analysis for SiDB layouts, fixed bugs, and updated dependencies.

Full CHANGELOG: v0.6.8...v0.6.9
Many thanks to all contributors!

✨ Features and Enhancements

  • ✨ Added temperature-aware operational domain simulation. @Drewniok (#646)
  • ➕ Optional usage of jemalloc @wlambooy (#640)
  • 💥 Introducing ClusterComplete: Exact SiDB Logic Simulation with well over 50 DBs @wlambooy (#390)

📝 Documentation

🐛 Bug Fixes

  • 🐛 Prevented jemalloc from rebuilding in incremental builds @wlambooy (#657)
  • 🩹 Non-critical fixes w.r.t. the ClusterComplete merge (#390) @wlambooy (#652)
  • 🐛 Fixed layout resizing in apply_gate_library @wlambooy (#653)

⬆️ Dependencies

8 changes - ⬆️🐍 Lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#663) - ⬆️👨‍💻 Update libs/parallel-hashmap digest to 154c634 @[renovate[bot]](https://github.com/apps/renovate) (#661) - ⬆️👨‍💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#660) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#659) - ⬆️👨‍💻 Update libs/pybind11 digest to d2e7e8c @[renovate[bot]](https://github.com/apps/renovate) (#658) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#656) - ⬆️👨‍💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#655) - ⬆️🐍 Lock file maintenance @[renovate[bot]](https://github.com/apps/renovate) (#650) - ⬆️👨‍💻 Update libs/json digest to e90c860 @[renovate[bot]](https://github.com/apps/renovate) (#649) - ⬆️🪝 Update Pre-Commit Hooks @[renovate[bot]](https://github.com/apps/renovate) (#648) - ⬆️👨‍💻 Update Submodules @[renovate[bot]](https://github.com/apps/renovate) (#647)

v0.6.8

25 Jan 00:05
121dea9
Compare
Choose a tag to compare

👀 What's Changed

This release introduces virtual PI networks, a special type of logic network that allows duplications of primary input signals together with respective equivalence-checking functionality. Furthermore, extended views for depth counting and rank orders have been added. Additionally, the recently proposed SRS clocking scheme also made it into this release. Finally, a critical bug in wheel building and distribution is fixed.

Full CHANGELOG: v0.6.7...v0.6.8
Many thanks to all contributors!

✨ Features and Enhancements

📝 Documentation

🐛 Bug Fixes

👷 CI

v0.6.7

20 Jan 12:55
c47c5b0
Compare
Choose a tag to compare

👀 What's Changed

We’re thrilled to introduce the latest release packed with enhancements under the hood and on the feature front! Highlights include the integration of ABC into the fiction CLI, empowering you to heavily optimize logic networks before mapping them to FCN layouts. We’re also unveiling QuickTrace, a groundbreaking simulation algorithm for SiDBs that enables defect robustness computation. There is much more to explore in the full patch notes below.

Behind the scenes, we’ve transitioned the Python build system from setuptools to scikit-build-core for better performance and maintainability. We’ve also integrated ruff and mypy to elevate the quality of our Python code—this is still a work in progress, so stay tuned for further improvements. A special shoutout to @burgholzer for setting an outstanding example that we look up to!

As always, we’ve squashed bugs, updated dependencies, and polished the codebase.

Full CHANGELOG: v0.6.6...v0.6.7
Many thanks to all contributors!

✨ Features and Enhancements

  • 🔧 Set up ruff and mypy, and extend the pre-commit configuration @marcelwa (#603)
  • ✨ Option for efficient determination of non-operational status @Drewniok (#602)
  • 🏗️ Switch the pyfiction build system from raw setuptools to scikit-build-core @marcelwa (#592)
  • ✨ QuickTrace: An Efficient Contour Tracing Algorithm for Defect Robustness Simulation @Drewniok (#546)
  • ✨ ABC Callback @marcelwa (#605)
  • ✨ Added rectangular skeletons (16.896 nm x 16.896 nm) with design script. @Drewniok (#600)
  • ⚗️ Added pruning information to QuickCell experiment. @Drewniok (#595)

🐛 Bug Fixes

📝 Documentation

👷 CI

⬆️ Dependencies

16 changes

v0.6.6

26 Nov 16:02
0dffdc5
Compare
Choose a tag to compare

👀 What's Changed

Another release packed with features! We added features to SiDB operational domain analysis and temperature simulation as well SVG file writing for SiDB layouts. Furthermore, we made edits to pyfiction, most notably supporting Python 3.13 and GIL-free Python. Our Docker setup also received some love, with streamlined builds, dependency management via @dependabot, and OCI-conforming tags. As always, we fixed bugs and updated our dependencies to the latest versions.

Full CHANGELOG: v0.6.5...v0.6.6
Many thanks to all contributors!

✨ Features and Enhancements

  • 🐳 Unify Dockerfile labels to conform to the Open Container Initiative (OCI) standard @marcelwa (#580)
  • 🐍 Expose layout.get_name @simon1hofmann (#575)
  • 🐍 Use pybind11's print function to output the DRV report @simon1hofmann (#564)
  • ✨ Add function to detect if non-operational status is due to wire kink @Drewniok (#587)
  • ✨ Add option to hide lattice points in the SiDB layout SVG writer @Drewniok (#590)
  • ✨ Restructured Critical Temperature simulation with kink control option @Drewniok (#573)
  • ✨ Added function to print SiDB layout to SVG @Drewniok (#565)
  • ✅ Update Unit Tests and Exclude Long-Running Tests in Debug Mode Using NDEBUG @Drewniok (#574)
  • 📥 Added SiQAD SiDB gate library @Drewniok (#555)
  • 📥 Add Bestagon SiDB gate library @Drewniok (#554)

⚡️ Performance

  • 🐍 Disable global interpreter lock for Python 3.13 @marcelwa (#567)

🐛 Bug Fixes

  • 🐛 Fixed design_sidb_gates function for skeletons with east-facing I/O pins. @Drewniok (#594)
  • 🐛 Enforce runtime evaluation of dynamic formatting strings to fix consteval contexts @marcelwa (#585)
  • 🐛 Fix Microsoft logo in CI badge by replacing the logo slug with a base64 encoding of the SVG image @marcelwa (#582)
  • 💚 Remove explicit XCode version setup for macOS 13 @marcelwa (#570)
  • 🐛 Adapted optimization algorithms to handle layouts with PIs not placed at borders @simon1hofmann (#566)
  • 🐛 Fixed several bugs resulting from the new cell_type::LOGIC in the SiDB technology @Drewniok (#553)
  • 💚 Added fiction namespace to function to fix the Windows CI @Drewniok (#561)
  • 🚨 Fixed compiler and linter warnings @marcelwa (#559)
  • 📝 Fix documentation for BDL wire detection @marcelwa (#556)
  • 🐛 Fix neutral defect handling in CDS and correct gate design termination condition. @Drewniok (#551)

📝 Documentation

  • 📝 Added defect-aware physical design paper from DATE 2024. @Drewniok (#593)
  • 📝 Update the CHANGELOG @marcelwa (#591)
  • 📝 Added Willem Lambooy as an author to the framework @marcelwa (#581)
  • 🐛 Fix Microsoft logo in CI badge by replacing the logo slug with a base64 encoding of the SVG image @marcelwa (#582)
  • 📝 Added wiring reduction paper to publication list @simon1hofmann (#571)
  • 📝 Fix documentation for BDL wire detection @marcelwa (#556)

👷 CI

⬆️ Dependencies

12 changes
  • ⬆️ Bump the submodules group with 5 updates @dependabot (#597)
  • ⬆️ Bump ZedThree/clang-tidy-review from 0.20.0 to 0.20.1 in the github-actions group @dependabot (#589)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#588)
  • ⬆️ Bump the submodules group with 4 updates @dependabot (#586)
  • ⬆️ Bump libs/pybind11 from 0ed20f2 to 08095d9 in the submodules group @dependabot (#583)
  • ⬆️ Bump codecov/codecov-action from 4 to 5 in the github-actions group @dependabot (#584)
  • ⬆️ Bump sphinx-rtd-theme from 3.0.1 to 3.0.2 in /docs in the documentation group @dependabot (#579)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#578)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#568)
  • ⬆️ Bump ZedThree/clang-tidy-review from 0.19.0 to 0.20.0 in the github-actions group @dependabot (#569)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#560)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#550)

v0.6.5

22 Oct 21:29
458366c
Compare
Choose a tag to compare

👀 What's Changed

This release introduces QuickCell, an algorithm for automatic SiDB standard-cell design. Furthermore, it includes many enhancements for the GOLD physical design algorithm, like discretionary cost objectives and multithreading support.

Full CHANGELOG: v0.6.4...v0.6.5
Many thanks to all contributors!

✨ Features and Enhancements

  • ✨ QuickCell: An Algorithm for Automatic Standard Cell Design @Drewniok (#481)
  • ✨ Timeout for post_layout_optimization and wiring_reduction @simon1hofmann (#538)
  • ✨ Multithreading support for gold @simon1hofmann (#529)
  • ✨ Added support for optional input parameter points in flood fill @Drewniok (#518)
  • ⚗️ Added a runtime script for three-state simulation and applied small changes @Drewniok (#520)
  • gold with discretionary cost objectives @simon1hofmann (#525)
  • ✨ Extended BDL input iterator to support different SiDB input representations @Drewniok (#521)

🐛 Bug Fixes

📝 Documentation

👷 CI

  • ⬆️ CodeQL now uses clang++-13 @wlambooy (#542)
  • ⬆️ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3 in the github-actions group @dependabot (#540)
  • ⬆️ Bump pypa/cibuildwheel from 2.20.0 to 2.21.2 in the github-actions group across 1 directory @dependabot (#534)
  • 🔧 Attempt to calm down clang-tidy @marcelwa (#522)

⬆️ Dependencies

11 changes
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#545)
  • ⬆️ Bump sphinx from 8.1.0 to 8.1.3 in /docs in the documentation group @dependabot (#544)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#541)
  • ⬆️ Bump the documentation group in /docs with 3 updates @dependabot (#539)
  • ⬆️ Bump pypa/cibuildwheel from 2.21.2 to 2.21.3 in the github-actions group @dependabot (#540)
  • ⬆️ Bump sphinx-rtd-theme from 3.0.0rc1 to 3.0.0rc4 in /docs in the documentation group across 1 directory @dependabot (#533)
  • ⬆️ Bump pypa/cibuildwheel from 2.20.0 to 2.21.2 in the github-actions group across 1 directory @dependabot (#534)
  • ⬆️ Bump the submodules group across 1 directory with 3 updates @dependabot (#531)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#526)
  • ⬆️ Bump the submodules group across 1 directory with 4 updates @dependabot (#524)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#517)

v0.6.4

30 Aug 08:05
c37da62
Compare
Choose a tag to compare

👀 What's Changed

This release mainly fixes some bugs, most notably the loss of clocking information after apply_gate_library. However, also some small features were added like two new distance functions and crossing counting in gate_level_layout.

Full CHANGELOG: v0.6.3...v0.6.4
Many thanks to all contributors!

✨ Features and Enhancements

🐛 Bug Fixes

  • 🐛 Fixed disappearing clocking schemes when applying a gate library @marcelwa (#515)
  • 📝 Fix a few oversights in the RTD documentation of SiDB simulation functionality @marcelwa (#513)
  • ✏️ Fixed a typo in robustness domain analysis @marcelwa (#511)
  • 🚨 clang-tidy warnings @simon1hofmann (#507)

📝 Documentation

  • 📝 Fix a few oversights in the RTD documentation of SiDB simulation functionality @marcelwa (#513)
  • 📝 Add gold to README and docs @simon1hofmann (#508)

⬆️ Dependencies

  • ⬆️ Bump libs/pybind11 from a1d0091 to c2291e5 in the submodules group @dependabot (#509)

v0.6.3

22 Aug 09:16
269d4d2
Compare
Choose a tag to compare

👀 What's Changed

Compared to the previous point releases, this one introduces several larger and more impactful features.

  1. Graph-Oriented Layout Design (GOLD)
    This release includes the introduction of GOLD, an innovative algorithm designed for gate-level layout creation. GOLD strikes a balance between runtime efficiency and result quality, making it ideal for medium-sized inputs that are too complex for exact methods.

  2. Defect-Aware On-the-Fly SiDB Circuit Design
    We’ve added support for defect-aware circuit design that enables precise, dot-level composition even in the presence of atomic defects. This approach doesn't rely on a pre-defined gate library; instead, it dynamically generates one, guided by physical simulations.

  3. Multi-Dimensional Operational Domain Computation
    The operational domain computation feature now supports multidimensional sweeps, providing more flexibility and unprecedented insight into SiDB reliability. Additionally, users not utilizing execution policies will notice a significant performance boost.

As always, this release also includes numerous bug fixes, updates, and other changes, detailed below.

Full CHANGELOG: v0.6.2...v0.6.3
Many thanks to all contributors!

✨ Features and Enhancements

⚡️ Performance

  • ✨ Multi-dimensional operational domain computation @marcelwa (#493)
  • 👷 Disabled running computationally intensive unit tests via the CI in Debug build mode @Drewniok (#486)
  • ⚡ Cleanup dangling PIs @simon1hofmann (#452)

🐛 Bug Fixes

📝 Documentation

  • 🐛 Fixed a RST documentation bug that prevented exact and exact_with_blacklist to be rendered properly @marcelwa (#506)
  • 📝 Update hexagonalization image @simon1hofmann (#444)

👷 CI

  • 👷 Updated the Ubuntu CI to include 24.04 and newer compiler versions @marcelwa (#466)
  • 👷 Update GCC versions on macOS CIs @marcelwa (#499)
  • ⬆️ Upgrade Z3 to Version 4.13.0 in CLI Workflow and Docker. @Drewniok (#498)
  • ⬆️ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the github-actions group @dependabot (#494)
  • 💚 Update python version for sphinx-doc @Drewniok (#492)
  • 💚 Added Python Setup to CI Workflow @Drewniok (#490)
  • 👷 Disabled running computationally intensive unit tests via the CI in Debug build mode @Drewniok (#486)
  • 📝 Run python docstring generator on forks during PRs @simon1hofmann (#475)
  • ⬆️ Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 in the github-actions group @dependabot (#471)
  • 💚 Update CodeQL workflow to avoid memory issue @Drewniok (#468)
  • ⬆️ Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 in the github-actions group @dependabot (#457)
  • ⬆️ Bump pre-commit hooks @pre-commit-ci (#455)
  • ⬆️ Bump pypa/cibuildwheel from 2.18.0 to 2.18.1 in the github-actions group @dependabot (#445)

⬆️ Dependencies

17 changes
  • ⬆️ Bump sphinx from 7.4.7 to 8.0.2 in /docs in the documentation group @dependabot (#488)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#502)
  • ⬆️ Bump pypa/cibuildwheel from 2.19.2 to 2.20.0 in the github-actions group @dependabot (#494)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#495)
  • ⬆️ Bump the submodules group across 1 directory with 2 updates @dependabot (#491)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#484)
  • ⬆️ Bump sphinx from 7.4.6 to 7.4.7 in /docs in the documentation group @dependabot (#485)
  • ⬆️ Bump libs/pybind11 from 50acb81 to 6d4805c in the submodules group @dependabot (#478)
  • ⬆️ Bump sphinx from 7.3.7 to 7.4.6 in /docs in the documentation group @dependabot (#479)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#473)
  • ⬆️ Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 in the github-actions group @dependabot (#471)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#470)
  • ⬆️ Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 in the github-actions group @dependabot (#457)
  • ⬆️ Bump the submodules group across 1 directory with 2 updates @dependabot (#467)
  • ⬆️ Bump the submodules group across 1 directory with 5 updates @dependabot (#459)
  • ⬆️ Bump the submodules group with 2 updates @dependabot (#446)
  • ⬆️ Bump pypa/cibuildwheel from 2.18.0 to 2.18.1 in the github-actions group @dependabot (#445)

v0.6.2

22 May 08:29
1da1297
Compare
Choose a tag to compare

👀 What's Changed

This release fixes some smaller inconsistencies and enables a more intuitive usage of certain types in pyfiction.

✨ Features and Enhancements

  • 🐍 Minor fixes and change of template parameter of BDL pairs. @Drewniok (#442)
  • ⚗️ Added a runtime experiment script. @Drewniok (#441)

Full CHANGELOG: v0.6.1...v0.6.2
Many thanks to all contributors!

v0.6.1

17 May 19:50
0ef32bf
Compare
Choose a tag to compare

👀 What's Changed

This is a minor bugfix release, mainly to fix the deployment of wheels to PyPI. Due to the new way GitHub actions handle artifacts, our wheels were constantly overwritten by ones compiled later. This is now fixed. Many thanks to @simon1hofmann for reporting and fixing this issue!

Full CHANGELOG: v0.6.0...v0.6.1
Many thanks to all contributors!

✨ Features and Enhancements

  • ✨ Added truth table helpers for 3-input functions @marcelwa (#430)

🐛 Bug Fixes

📝 Documentation

👷 CI

⬆️ Dependencies

  • ⬆️ Bump libs/pybind11 from 7502577 to aa98d95 in the submodules group @dependabot (#438)
  • ⬆️ Bump the github-actions group with 2 updates @dependabot (#439)
  • ⬆️ Bump the submodules group with 3 updates @dependabot (#429)