coriolis icon indicating copy to clipboard operation
coriolis copied to clipboard

Support for extended BLIF attributes

Open gatecat opened this issue 2 years ago • 4 comments

Yosys supports several non-standard features of the BLIF specification that bring it more up to speed with a modern netlist format. Some other FPGA consumers of the BLIF format use this already.

For example the .cname feature could be used to give meaningful names for instances, e.g. an SRAM or IP block, that will be manually placed or at least you would like diagnostics and reporting for

Attributes on cells via the .attr feature could potentially be exposed via the Python API enabling e.g. querying cells with an attribute set to handle them specially.

Is there interest in this being added to Coriolis, or do you prefer to stick to the strict BLIF specification?

gatecat avatar Dec 06 '23 14:12 gatecat

I may be wrong, but as far as I am concerned, the BLIF format is supported only because it's the output of Yosys. So the reference is what Yosys supports. Is there truly use for BLIF outside of Yosys ?

I used the BLIF format as netlist input because it was easier to me than writing a Verilog (netlist only) parser. But eventually I will switch to that.

jpc-lip6 avatar Dec 06 '23 14:12 jpc-lip6

There are a few other BLIF supporting tools like ABC but it sounds like, optionally supporting the non-standard but Yosys-supported BLIF features to get a nicer experience seems entirely reasonable.

gatecat avatar Dec 07 '23 14:12 gatecat

FYI - The extended BLIF format is actually described at https://docs.verilogtorouting.org/en/latest/vpr/file_formats/

mithro avatar Dec 08 '23 00:12 mithro

Thanks for pointig us out, Mithro, I was still on the dusty 1992 documentation. We will implement what's relevant to VLSI when I have a bit of spare time.

jpc-lip6 avatar Dec 08 '23 09:12 jpc-lip6