Closed Yitian4Debug closed 1 month ago
see doc/StaApi.txt ConcreteNetwork.hh is an example network adapter for OpenSTA to run stand alone
Thank you JJ. If I understand it correctly, the standard flow to build a concrete network including reading liberty file, sdf file and verilog netlist. Which means that a liberty file to define cell internal delay and a sdf to define interconnect delay is a must to create it for timing analysis to be carried up by opensta.
Not really. The whole point of using a network adapter is to NOT copy an external netlist/network. I think you are confusing many different concepts in your reply. The only point of using a network adapter is to use opensta with existing external network/netlist data structures. Verilog is irrelevant. The netlist could come from DEF. The ConcreteNetwork exists for stand alone opensta when it is NOT interfaced to an external tool. SDF is used to override delay calculation and is NOT required. SDF is not just for interconnect delays, it can also annotate gate delays.
Thanks JJ. I'm trying to educating myself to understand the ConcretNetwork adapter by using example1.tcl, obviously in that case the read lib, verilog and sdf to create concrete network mis-led me from what you just described.
Then back to my first question: To adopt OpenSTA as timing engine in a software tool, what is the best method to do so? Any suggestion on minimum input data (for OpenSTA module) and what the major class/module (ConcreteNetwork, timing data base, timing calculator?) in OpenSTA I should focus on?
Thank you.
For anyone attempting to use OpenSTA as a timing engine, I would recommend looking at how OpenROAD does this as a reference.
Issues or PRs should be filed with https://github.com/parallaxsw/OpenSTA if still relevant. This is effectively a fork (though not strictly for historical reasons).
Hi Experts, While browsing the wiki documents, I'm interested by "using OpenSTA as timing engine through network adapter". Several questions:
Thanks a lot!