You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: libs/librrgraph/src/base/rr_graph_view.h
+28-9Lines changed: 28 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,33 @@
3
3
4
4
/**
5
5
* @file
6
-
* @brief The RRGraphView encapsulates a read-only routing resource graph as most clients (router, timing analyzer, etc.) only need to read a routing-resource graph.
6
+
* @brief The RRGraphView encapsulates a read-only routing resource graph as most
7
+
* clients (router, timing analyzer, etc.) only need to read a routing-resource graph (RRGraph).
7
8
*
8
-
* The RRGraph models the
9
-
* programmable routing fabric of the FPGAas a graph, consisting of nodes (representing routing resources)
10
-
* and outgoing edges (representing connections between these resources). Each node and edge is supplemented with additional metadata, such as the physical location within
9
+
*
10
+
* The RRGraph models the FPGA's programmable routing fabric as a graph consisting of nodes and edges.
11
+
* Each node and edge is supplemented with additional metadata, such as the physical location within
11
12
* the chip and electrical properties, to optimize algorithm efficiency, aid in visualizing the chip layout,
12
13
* and estimate signal delays.
13
14
*
15
+
* @par RRGraph nodes
16
+
* Each node represents a routing resource, which can be:
17
+
* 1. A routing track (CHANX or CHANY).
18
+
* 2. An input/output of a logic block (IPIN or OPIN).
19
+
* 3. A virtual source or sink node (SOURCE or SINK).
20
+
*
21
+
* @par RRGraph edges
22
+
* Each edge represents a switch between resources, which can be:
23
+
* 1. A multiplexer.
24
+
* 2. A tri-state buffer.
25
+
* 3. A pass gate.
26
+
* 4. A non-configurable buffer.
27
+
* 5. A short (metal connection).
28
+
*
29
+
*
30
+
* @note All switch-related information (e.g., resistance R and capacitance C) is stored in
31
+
* `rr_switch_inf`, not directly in the edge-related data of RRGraph.
32
+
*
14
33
*
15
34
* \internal
16
35
* A unified object that includes pointers to:
@@ -591,7 +610,7 @@ class RRGraphView {
591
610
private:
592
611
/// node-level storage including edge storages
593
612
const t_rr_graph_storage& node_storage_;
594
-
/// Fast look-up for rr nodes
613
+
/// Fast look-up for rr nodes
595
614
const RRSpatialLookup& node_lookup_;
596
615
597
616
/**
@@ -617,15 +636,15 @@ class RRGraphView {
617
636
* - value: map of <attribute_name, attribute_value>
0 commit comments