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

Public Member Functions

int delay (self)
 
Object start_point (self)
 
Object end_point (self)
 
List[DebugPointhistory (self)
 
str root (self)
 
str to_flamegraph (self)
 

Public Attributes

 start_point
 

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 end point to start point.
  A dataflow path captures the complete timing path through a circuit,
  from an output point (end-point) back to an input point (start-point), including
  all intermediate debug points and the total delay.
  Attributes:
      end_point: 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 synth.py.

Member Function Documentation

◆ _build_hierarchy_string()

str synth.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 203 of file synth.py.

Referenced by synth.DataflowPath.to_flamegraph().

◆ delay()

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

Definition at line 132 of file synth.py.

References synth.DataflowPath._path.

◆ end_point()

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

Definition at line 142 of file synth.py.

References synth.DataflowPath._path.

◆ history()

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

Definition at line 147 of file synth.py.

References synth.DataflowPath._path.

Referenced by synth.LongestPathHistory.__iter__().

◆ root()

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

Definition at line 152 of file synth.py.

References synth.DataflowPath._path.

Referenced by circt::synth::DataflowPath.prependPaths(), circt::synth::DataflowPath.print(), and circt::synth::DataflowPath.printEndPoint().

◆ start_point()

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

Definition at line 137 of file synth.py.

References synth.DataflowPath._path.

◆ to_flamegraph()

str synth.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 synth.py.

References synth.DataflowPath._build_hierarchy_string().

Member Data Documentation

◆ _path

_LongestPathDataflowPath synth.DataflowPath._path
staticprotected

◆ start_point

synth.DataflowPath.start_point

Definition at line 176 of file synth.py.


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