Layout and netlist data structures for the Rust LibrEDA framework.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Thomas Kramer b01f011d6c suppress warning about unused function (WIP) 2 months ago
.reuse Make REUSE compliant. 7 months ago
LICENSES Make REUSE compliant. 7 months ago
src suppress warning about unused function (WIP) 2 months ago
tests require coordinate type to be Send+Sync, autoformat 2 months ago
.gitignore Make REUSE compliant. 7 months ago
.woodpecker.yml CI: add REUSE lint 7 months ago
Cargo.toml require coordinate type to be Send+Sync, autoformat 2 months ago
README.md fix link to doc 5 months ago

README.md

LibrEDA DB

LibrEDA DB is a collection of interface definitions and data structures for chip layouts and netlists.

Documentation

To view the documentation of this library in a browser clone this repository and run cargo doc --open.

Alternatively a possible outdated version is hosted here or here.

Current state

Most important functionality for handling layouts and netlists is already there. But this is still WORK IN PROGRESS and not stable yet.

Known shortcomings & ideas for future work

  • Provide a way to check if an ID is valid. For example with non-panicking .try_*() -> Option<*> functions.
  • Power domains: There's not a good way yet to represent power domains.
  • Region search: Implement region search as a decorator for LayoutEdit/LayoutBase traits.
  • Modification observer: Implement a decorator which allows to observe modifications on database structures using callback functions.