CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
circt::synth::LongestPathAnalysisOptions Struct Reference

Configuration options for the longest path analysis. More...

#include <LongestPathAnalysis.h>

Collaboration diagram for circt::synth::LongestPathAnalysisOptions:
Collaboration graph
[legend]

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.
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ LongestPathAnalysisOptions()

circt::synth::LongestPathAnalysisOptions::LongestPathAnalysisOptions ( bool  collectDebugInfo = false,
bool  lazyComputation = false,
bool  keepOnlyMaxDelayPaths = false,
StringAttr  topModuleName = {} 
)
inline

Construct analysis options with the specified settings.

Definition at line 214 of file LongestPathAnalysis.h.

Member Data Documentation

◆ collectDebugInfo

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().

◆ keepOnlyMaxDelayPaths

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().

◆ lazyComputation

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().

◆ topModuleName

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.


The documentation for this struct was generated from the following file: