Skip to content

Commit 18b1568

Browse files
committed
add more info from the ref file
1 parent 8f7c3a9 commit 18b1568

File tree

1 file changed

+28
-9
lines changed

1 file changed

+28
-9
lines changed

libs/librrgraph/src/base/rr_graph_view.h

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,33 @@
33

44
/**
55
* @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).
78
*
8-
* The RRGraph models the
9-
* programmable routing fabric of the FPGA as 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
1112
* the chip and electrical properties, to optimize algorithm efficiency, aid in visualizing the chip layout,
1213
* and estimate signal delays.
1314
*
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+
*
1433
*
1534
* \internal
1635
* A unified object that includes pointers to:
@@ -591,7 +610,7 @@ class RRGraphView {
591610
private:
592611
/// node-level storage including edge storages
593612
const t_rr_graph_storage& node_storage_;
594-
/// Fast look-up for rr nodes
613+
/// Fast look-up for rr nodes
595614
const RRSpatialLookup& node_lookup_;
596615

597616
/**
@@ -617,15 +636,15 @@ class RRGraphView {
617636
* - value: map of <attribute_name, attribute_value>
618637
*/
619638
const MetadataStorage<std::tuple<int, int, short>>& rr_edge_metadata_;
620-
/// rr_indexed_data_ and rr_segments_ are needed to lookup the segment information in node_coordinate_to_string()
639+
/// rr_indexed_data_ and rr_segments_ are needed to lookup the segment information in node_coordinate_to_string()
621640
const vtr::vector<RRIndexedDataId, t_rr_indexed_data>& rr_indexed_data_;
622641

623-
/// RC data for nodes. This is a flyweight data
642+
/// RC data for nodes. This is a flyweight data
624643
const std::vector<t_rr_rc_data>& rr_rc_data_;
625644

626-
/// Segment info for rr nodes
645+
/// Segment info for rr nodes
627646
const vtr::vector<RRSegmentId, t_segment_inf>& rr_segments_;
628-
/// switch info for rr nodes
647+
/// switch info for rr nodes
629648
const vtr::vector<RRSwitchId, t_rr_switch_inf>& rr_switch_inf_;
630649
};
631650

0 commit comments

Comments
 (0)