CIRCT 22.0.0git
|
Configuration options for the longest path analysis. More...
#include <LongestPathAnalysis.h>
Public Member Functions | |
LongestPathAnalysisOptions (bool collectDebugInfo=false, bool lazyComputation=false, bool keepOnlyMaxDelayPaths=false, StringAttr topModuleName={}) | |
Construct analysis options with the specified settings. | |
Public Attributes | |
bool | collectDebugInfo = false |
Enable collection of debug points along timing paths. | |
bool | lazyComputation = false |
Enable lazy computation mode for on-demand analysis. | |
bool | keepOnlyMaxDelayPaths = false |
Keep only the maximum delay path per end point. | |
StringAttr | topModuleName = {} |
Name of the top module for the analysis. | |
Configuration options for the longest path analysis.
This struct controls various aspects of the analysis behavior, including debugging features, computation modes, and optimization settings. Different combinations of options are suitable for different use cases.
Example usage: // For lazily computing paths with debug info LongestPathAnalysisOption options(true, true, false);
// For fast critical path identification only LongestPathAnalysisOption options(false, false, true);
Definition at line 190 of file LongestPathAnalysis.h.
|
inline |
Construct analysis options with the specified settings.
Definition at line 214 of file LongestPathAnalysis.h.
bool circt::synth::LongestPathAnalysisOptions::collectDebugInfo = false |
Enable collection of debug points along timing paths.
When enabled, records intermediate points with delay values and comments for debugging, visualization, and understanding delay contributions. Moderate performance impact.
Definition at line 195 of file LongestPathAnalysis.h.
Referenced by circt::synth::LongestPathAnalysis::LongestPathAnalysis().
bool circt::synth::LongestPathAnalysisOptions::keepOnlyMaxDelayPaths = false |
Keep only the maximum delay path per end point.
Focuses on finding maximum delays, discarding non-critical paths. Significantly faster and uses less memory when only delay bounds are needed rather than complete path enumeration.
Definition at line 207 of file LongestPathAnalysis.h.
Referenced by circt::synth::LongestPathAnalysis::LongestPathAnalysis().
bool circt::synth::LongestPathAnalysisOptions::lazyComputation = false |
Enable lazy computation mode for on-demand analysis.
Performs delay computations lazily and caches results, tracking IR changes. Better for iterative workflows where only specific paths are queried. Disables parallel processing.
Definition at line 201 of file LongestPathAnalysis.h.
Referenced by circt::synth::IncrementalLongestPathAnalysis::IncrementalLongestPathAnalysis(), and circt::synth::LongestPathAnalysis::LongestPathAnalysis().
StringAttr circt::synth::LongestPathAnalysisOptions::topModuleName = {} |
Name of the top module for the analysis.
If empty, the top module is inferred from the instance graph.
Definition at line 211 of file LongestPathAnalysis.h.