CIRCT 22.0.0git
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
aig.LongestPathAnalysis Class Reference

Classes

struct  Impl
 Internal implementation for LongestPathAnalysis. More...
 

Public Member Functions

 __init__ (self, module, bool collect_debug_info=True, bool keep_only_max_delay_paths=False, bool lazy_computation=False)
 
LongestPathCollection get_paths (self, value, int bit_pos, bool elaborate_paths=True)
 
LongestPathCollection get_all_paths (self, str module_name, bool elaborate_paths=True)
 

Public Attributes

 analysis
 

Detailed Description

  Main interface for performing longest path analysis on AIG circuits.
  This class provides a Python wrapper around the C++ LongestPathAnalysis,
  enabling timing analysis of AIG (And-Inverter Graph) circuits. It can
  identify critical timing paths and provide detailed path information.
  Attributes:
      analysis: The underlying C++ analysis object

Definition at line 340 of file aig.py.

Constructor & Destructor Documentation

◆ __init__()

aig.LongestPathAnalysis.__init__ (   self,
  module,
bool   collect_debug_info = True,
bool   keep_only_max_delay_paths = False,
bool   lazy_computation = False 
)
    Initialize the longest path analysis for a given module.
    Args:
        module: The MLIR module to analyze
        collect_debug_info: Whether to include debug points in the analysis.
                            Debug points provide additional information about the path,
                            but increase analysis time and memory usage.
        keep_only_max_delay_paths: Keep only maximum-delay paths in collections.
        lazy_computation: Enable lazy (on-demand) computation.

Definition at line 350 of file aig.py.

Referenced by aig.LongestPathCollection.merge().

Member Function Documentation

◆ get_all_paths()

LongestPathCollection aig.LongestPathAnalysis.get_all_paths (   self,
str  module_name,
bool   elaborate_paths = True 
)
    Perform longest path analysis and return all timing paths inside
    the module hierarchy.
    This method analyzes the specified module and returns a collection
    of all timing paths, sorted by delay in descending order.
    Args:
        module_name: Name of the module to analyze
    Returns:
        LongestPathCollection containing all paths sorted by delay

Definition at line 386 of file aig.py.

References aig.LongestPathAnalysis.analysis, LongestPathAnalysisWrapper.analysis, DatapathCompressOpConversion.analysis, ArcInliner.analysis, and aig.LongestPathAnalysis.get_all_paths().

Referenced by aig.LongestPathAnalysis.get_all_paths().

◆ get_paths()

LongestPathCollection aig.LongestPathAnalysis.get_paths (   self,
  value,
int  bit_pos,
bool   elaborate_paths = True 
)
    Perform longest path analysis and return all timing paths to the
    specified value and bit position.
    Args:
        value: The value to analyze
        bit_pos: The bit position to analyze
        elaborate_paths: Whether to elaborate the paths with detailed information
    Returns:
        LongestPathCollection containing all paths sorted by delay

Definition at line 369 of file aig.py.

References aig.LongestPathAnalysis.analysis, LongestPathAnalysisWrapper.analysis, DatapathCompressOpConversion.analysis, ArcInliner.analysis, and aig.LongestPathAnalysis.get_paths().

Referenced by aig.LongestPathAnalysis.get_paths().

Member Data Documentation

◆ analysis

aig.LongestPathAnalysis.analysis

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