This commit is contained in:
2025-08-26 20:47:30 +02:00
parent 7e9c488412
commit f23ab17926
4 changed files with 148 additions and 13 deletions

View File

@@ -2,6 +2,7 @@
low-memory-usage BLIF (berkeley logic interchange format) parser.
## Comparison with other parsers
| | this | SIS | yosys | abc | [pip blifparser] | [lorina] | [crates.io blif-parser] | [quaigh] | [libblifparse] | [spydrnet] |
| ------------------------------------------- | ---- | --- | ----- | --- | ---------------- | -------- | ----------------------- | -------- | -------------- | ---------- |
| top module, latches, LUTs | x | x | x | x | x | x | x | x | x | x |
@@ -15,7 +16,7 @@ low-memory-usage BLIF (berkeley logic interchange format) parser.
| sub-file references | x | x | ? | - | x | - | - | - | - | - |
| finite state machines (`.start_kiss`) | x | x | - | - | x | - | - | - | - | - |
| clock constraints (mostly for simulation) | soon | x | - | - | - | - | - | - | - | - |
| delay constraints | soon | x | - | x | - | - | - | - | - | - |
| delay constraints | soon | x | - | ~ | - | - | - | - | - | - |
| full BLIF specification [^1] | soon | x | - | - | - | - | - | - | - | - |
| extension: "Black- & White-boxes" [^2] | soon | - | - | - | - | - | - | - | - | - |
| extension: `.blackbox` | soon | - | x | x | - | - | - | - | x | x |
@@ -23,7 +24,7 @@ low-memory-usage BLIF (berkeley logic interchange format) parser.
| extension: `.attr` and `.param` (EBLIF[^3]) | x | - | x | - | - | - | - | - | x | x |
| extension: `.conn` (EBLIF[^3]) | x | - | x | - | - | - | - | - | x | x |
| extension: `.barbuff` (identical: `.conn`) | x | - | x | - | - | - | - | - | - | - |
| extension: `.and_gate_delay` | soon | - | - | x | - | - | - | - | - | - |
[^1]: https://people.eecs.berkeley.edu/~alanmi/publications/other/blif.pdf
@@ -37,11 +38,13 @@ low-memory-usage BLIF (berkeley logic interchange format) parser.
[libblifparse]: https://github.com/verilog-to-routing/libblifparse
[spydrnet]: https://github.com/byuccl/spydrnet
- the latest BLIF specification (dated July 28, 1992)
- all yosys BLIF extensions
(supports reading of BLIF files generated with `write_blif -iname -iattr -param -cname -blackbox -attr -conn`)
- KISS state machines (which yosys doesn't even support)
- clock and delay constraints (yosys just ignores those)
If you found a program that generates non-standard BLIF attributes or keywords, please open a GitHub issue.
## Tested with BLIF generators
- yosys `write_blif`, including all supported extensions: `write_blif -iname -iattr -param -cname -blackbox -attr -conn`
- abc write blif
## Goals
- parse every BLIF file in existence
If you found a program that generates or consists of non-standard BLIF attributes or keywords, please open a GitHub issue.
We want to support all non-standard extensions.