where aaaa and bbbb would be the RR node IDs associated with the relevant wires, and each wire has its delay contribution calculated.
(Potential further enhancement would include providing detailed reporting for the intra-block connections as well, but this is probably less important and may be superseded by future integrated intra/inter block routing).
Current Behaviour
Only aggregated and netlist modes are supported.
Possible Solution
The detailed information on the connection routing structure information is available from the relevant net's traceback/route tree. The delays to the end of each wire segment are available from rc/route tree once delay information has been annotated.
This will likely involve creating a new AnalysisDelayCalculator class which re-builds/calculates the rc/route trees during final analysis, so that it has full access to the internal delays to each RR node. (The current PostClusterDelayCalculator used by placement/routing/analysis only has access to the aggregate driver to sink net_delays).
Context
Providing these additional details makes it easier to debug and understand why certain delays along a timing path are large.
Currently it is very painstaking manual work to figure this information out.
For more history regarding why we have the aggregated mode see #212.
Proposed Behaviour
VPR should add a
detailed
mode to the existing --timing_report_detail option (in addition to the existingnetlist
andaggregated
modes.This mode should report:
For instance the current
aggregated
mode reports:With
detailed
mode this would be extended to something like:where
aaaa
andbbbb
would be the RR node IDs associated with the relevant wires, and each wire has its delay contribution calculated.(Potential further enhancement would include providing detailed reporting for the intra-block connections as well, but this is probably less important and may be superseded by future integrated intra/inter block routing).
Current Behaviour
Only
aggregated
andnetlist
modes are supported.Possible Solution
The detailed information on the connection routing structure information is available from the relevant net's traceback/route tree. The delays to the end of each wire segment are available from rc/route tree once delay information has been annotated.
This will likely involve creating a new
AnalysisDelayCalculator
class which re-builds/calculates the rc/route trees during final analysis, so that it has full access to the internal delays to each RR node. (The current PostClusterDelayCalculator used by placement/routing/analysis only has access to the aggregate driver to sinknet_delays
).Context
Providing these additional details makes it easier to debug and understand why certain delays along a timing path are large.
Currently it is very painstaking manual work to figure this information out.
For more history regarding why we have the
aggregated
mode see #212.