tf_parser 0.1.0

technology(.tf) file parser in Rust
Documentation
  • Coverage
  • 7.92%
    16 out of 202 items documented1 out of 29 items with examples
  • Size
  • Source code size: 188.5 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 19.77 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • erihsu/tf-parser
    13 2 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • erihsu

tf_parser

Technology file parser in Rust

Introduction

Technology file is commonly used in modern EDA PR tools to define technology process information including layer, contact, designrule and etc. EDA tool vendor may require foundries to provide this kind of file in different text format in PDK(process design kit).

EDA parser in Rust

The project is a part of backend EDA parser collection in Rust. We're also developing lef/spef parser in Rust and finally opensource.

Similar project

For frontend EDA parser in Rust, you can find sv-parser, sdc-parser

Technology file specification

Unfortunately, it's very hard to find universal technology file specification. Each EDA vendor define their own technology file format. We follow the .tf text format to develop the parser.

The .tf generally contains 10 parts: Comment, Technology, Color, Stipple, Tile, Layer, ContactCode, DesignRule, PRRule and DensityRule. We develop each block's subparser and combine them together to parse the whole .tf file

The parser

The parser is developed based on nom parser combinator framework and currently support parse Synopsys Apollo technology format file. You can try it under example

If you are interested in our work, please contact [xuzhenyutc@icloud.com]