CIRCT 24.0.0git
Loading...
Searching...
No Matches
synth.DataflowPath Class Reference

Public Member Functions

int delay (self)
Object start_point (self)
Object end_point (self)
List[DebugPoint] history (self)
str root (self)
str to_flamegraph (self)

Protected Member Functions

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

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 118 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 204 of file synth.py.

Referenced by to_flamegraph().

◆ delay()

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

Definition at line 133 of file synth.py.

Referenced by to_flamegraph().

◆ end_point()

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

Definition at line 143 of file synth.py.

Referenced by to_flamegraph().

◆ history()

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

Definition at line 148 of file synth.py.

Referenced by to_flamegraph().

◆ root()

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

Definition at line 153 of file synth.py.

◆ start_point()

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

Definition at line 138 of file synth.py.

Referenced by to_flamegraph().

◆ 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 161 of file synth.py.

References _build_hierarchy_string(), circt::datapath::CompressorBit.delay, circt::synth::DebugPoint.delay, circt::synth::OpenPath.delay, DriveOperands.delay, delay(), TechLibraryPattern.delay, end_point(), circt::synth::OpenPath.history, history(), synth.LongestPathHistory.history, and start_point().


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