Open bl0x opened 3 years ago
@bl0x That's a lot nicer, but does pretty_timing have a home? The attached version seems to have problems with the current verision of nextpnr.
Hi,
quick fix to make this script work more or less: Comment die "Unhandled line: \"$line\"";
by adding a #
in front of it.
I agree that the current output from nextpnr is quite difficult to understand, but as pretty_timing.pl seems to be abandonware (if this word even exists...) i am trying to write a new version from scratch that works with current output of nextpnr. Currently it's just a hack and not even alpha-quality, but if i get something decent i will publish it.
I am working with Lattice ECP5 but as far as possible i am trying to make a generic helper/tool. However as i am a beginner i have some trouble with all these internals names like "SB_LUT4_O_I3_SB_CARRY_CO_6$CARRY.COUT"... I assume i have to look at the databases for the different architectures to figure out the exact naming schemes used?
Also i would appreciate if somebody could paste a recent timing report for ICE40 as i don't have Yosys/nextpnr compiled for this architecture currently.
And finally, if somebody has a good explanation regarding FPGA timing reports a link would be appreciated.
Just learned that there will be major changes to the timing API of nextpnr soon: https://github.com/YosysHQ/nextpnr/pull/1149
I guess (hope) the timing report will be improved also. Considering this i'll probably wait before putting lot's of work in the rewrite of the script. EDIT: No, i won't change so i will continue my work.
I hope this won't be considered as spam, but i released an early version of my script (as public domain) here: https://github.com/kittennbfive/5A-75B-tools/blob/master/beautify-timing-report.pl If you have any issues/ideas/... please comment/open PR/... in my repo and not here in this issue.
@kittennbfive I finally got around to trying it. It's definitely much nicer and readable, thanks.
The current output format of the timing report showing the critical path can be improved in terms of clarity.
Issues with current output format
Related issue is perhaps #470.
Example for current output format
Example for improved (clearer) format
Workaround
Attached below is a perl script (by H.T. Johansson) that transforms from the current output format to the clearer format by invoking e.g.:
pretty_timing_pl.txt