Skip to content

dan-fritchman/Layout21

Folders and files

NameName
Last commit message
Last commit date
Dec 20, 2022
Sep 16, 2021
Jul 7, 2024
Jan 11, 2023
Jun 26, 2024
Dec 20, 2022
Jul 22, 2024
Jan 11, 2023
Dec 20, 2022
Feb 13, 2025
Dec 20, 2022
Sep 16, 2021
Mar 17, 2021
Jan 11, 2023
Apr 1, 2021
Nov 1, 2021
Oct 12, 2021

Repository files navigation

Layout21

Custom integrated circuit layout.

test

  • A layered suite of layout-data formats, each expressed in the ProtoBuf schema description language.
  • Libraries for compiling from more abstract and terse such expressions into more-detailed.
  • Exchange with industry-standard formats such as GDSII and LEF.

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