Layout21

Custom integrated circuit layout.

test

Each of the internally-defined layout21 compilers, parsers and generators are implemented in Rust. Cross-language compatibility of the underlying ProtoBuf-based data schema allows for usage in most other popular languages.

Like most large Rust projects layout21 is a multi-crate workspace. Some internal crates are publicly available through crates.io. The "top-level" layout21 crate includes dependencies on all, and is the easiest entry-point for using all layout21 functionality. In layout21's namespace and in documentation most child-crates are referred to by their suffixes, i.e. layout21::raw.

| Crate | Description | crates.io | docs.rs | | ----------- | ----------- | ------------------------------ | -------------------------- | | gds21 | GDSII Parsing, Generation, and Manipulation | | | | lef21 | LEF Parsing, Generation, and Manipulation | | | | layout21protos | Protobuf Schema Definitions | | | | layout21raw | "Raw" geometric layout. Analogous to most existing layout systems. | | | | layout21tetris | Gridded gate-array-style semi-custom layout | | | | layout21 | Meta-crate including all of the above | | |