CIRCT 22.0.0git
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
aig.DataflowPath Class Reference
Collaboration diagram for aig.DataflowPath:
Collaboration graph
[legend]

Public Member Functions

int delay (self)
 
Object fan_in (self)
 
Object fan_out (self)
 
List[DebugPointhistory (self)
 
str root (self)
 
str to_flamegraph (self)
 

Protected Member Functions

str _build_hierarchy_string (self, Object obj, str prefix="")
 

Static Protected Attributes

_LongestPathDataflowPath _path
 

Detailed Description

  Represents a complete dataflow path from fan-out to fan-in.
  A dataflow path captures the complete timing path through a circuit,
  from an output point (fan-out) back to an input point (fan-in), including
  all intermediate debug points and the total delay.
  Attributes:
      fan_out: The output signal/object where this path ends
      path: The OpenPath containing the detailed path information
      root: The root module name for this analysis

Definition at line 117 of file aig.py.

Member Function Documentation

◆ _build_hierarchy_string()

str aig.DataflowPath._build_hierarchy_string (   self,
Object  obj,
str   prefix = "" 
)
protected
    Build a hierarchical string representation of an Object for FlameGraph format.
    This method constructs a semicolon-separated hierarchy string that represents
    the full path from the top-level module down to the specific signal. This
    format is compatible with FlameGraph visualization tools.
    Args:
        obj: Object to represent in the hierarchy
        prefix: Top-level prefix (typically "top:module_name")
    Returns:
        Hierarchical string in format: "top:root;module1:inst1;module2:inst2;signal[bit]"

Definition at line 202 of file aig.py.

Referenced by aig.DataflowPath.to_flamegraph().

◆ delay()

int aig.DataflowPath.delay (   self)
Get the total delay of this path in timing units.

Definition at line 132 of file aig.py.

References aig.DataflowPath._path.

Referenced by aig.DataflowPath.to_flamegraph().

◆ fan_in()

Object aig.DataflowPath.fan_in (   self)
Get the input signal/object where this path begins.

Definition at line 137 of file aig.py.

References aig.DataflowPath._path.

Referenced by aig.DataflowPath.to_flamegraph().

◆ fan_out()

Object aig.DataflowPath.fan_out (   self)
Get the output signal/object where this path ends.

Definition at line 142 of file aig.py.

References aig.DataflowPath._path.

Referenced by aig.DataflowPath.to_flamegraph().

◆ history()

List[DebugPoint] aig.DataflowPath.history (   self)
Get the history of debug points along this path.

Definition at line 147 of file aig.py.

References aig.DataflowPath._path.

Referenced by aig.LongestPathHistory.__iter__(), and aig.DataflowPath.to_flamegraph().

◆ root()

str aig.DataflowPath.root (   self)
Get the root module name for this analysis.

Definition at line 152 of file aig.py.

References aig.DataflowPath._path.

Referenced by circt::aig::DataflowPath.prependPaths(), circt::aig::DataflowPath.print(), and circt::aig::DataflowPath.printFanOut().

◆ to_flamegraph()

str aig.DataflowPath.to_flamegraph (   self)
    Convert this path to FlameGraph format for visualization.
    FlameGraphs are a visualization technique that shows call stacks or
    in this case, timing paths through the circuit hierarchy. Each line
    represents a segment of the path with its associated delay.
    The format is: "hierarchy_path delay_increment"
    where hierarchy_path uses semicolons to separate hierarchy levels.
    Returns:
        String in FlameGraph format showing the timing path progression

Definition at line 160 of file aig.py.

References aig.DataflowPath._build_hierarchy_string(), circt::aig::DebugPoint.delay, circt::aig::OpenPath.delay, circt::datapath::CompressorBit.delay, aig.DebugPoint.delay, aig.DataflowPath.delay(), DriveOperands.delay, Interval.delay, TechLibraryPattern.delay, aig.DataflowPath.fan_in(), aig.DataflowPath.fan_out(), circt::aig::OpenPath.history, aig.DataflowPath.history(), and aig.LongestPathHistory.history.

Member Data Documentation

◆ _path

_LongestPathDataflowPath aig.DataflowPath._path
staticprotected

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