Expand description
This crate reads Liberty format files, commonly used by EDA tools to describe library cells (including standard cells, hard IP, etc.).
§Example
use liberty_parse::parse_lib;
let lib_str = r#"
library(sample) {
cell(AND2) {
area: 1;
}
}
"#;
for lib in parse_lib(lib_str).unwrap() {
println!("Library '{}' has {} cells", lib.name, lib.cells.len());
let area = lib
.cells
.get("AND2")
.and_then(|c| c.simple_attributes.get("area"))
.map_or(-1.0, |v| v.float());
println!("Cell AND2 has area: {}", area);
}
Re-exports§
pub use ast::ParseResult;
pub use ast::Value;
Modules§
- Defines the types and parser for the Abstract Syntax Tree (AST) representation of a Liberty file.
- Defines a slightly enhanced data structure than the base AST
Structs§
Functions§
- Parse a string slice into a liberty::Liberty struct