You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[STA] Updated SDF File Generation to Include Min Delays
The SDF file generated by the post-implementation netlist writer was
only using the max delays of timing connections in the timing graph. In
the SDF file, it set all values of the rising and falling triples to the
max delay. When using this SDF file for external timing analysis, the
minimum timing (hold) paths were incorrect.
Updated the netlist writer to work with triples instead of bare delays.
This allows (minimum, typical, maximum) delays to be passed through the
different functions and be printed cleanly. For standard delay signals
in the circuit (not setup / hold times) Tatum provides the minimum
delays. These are now being printed in the SDF file and the minimum
timing paths are being found correctly in the external timing analyzer.
Cleaned up some parts of the netlist printing code as well.
1) netlist_writer.cpp declared many functions in the global scope which
may cause conflicts at link time in VTR. Put all of these methods in
anonymous namespace to prevent this.
2) The code was casting the delays from seconds to picoseconds in
strange places. This was tricky to work with since these are both
stored as doubles. Changed all of the code to only work with delays
in seconds, and only cast to picoseconds when printing.
3) General cleanup of the header file and the include files.
0 commit comments