Skip to content

Commit d1f989e

Browse files
doxygen comment for t_rr_switch_inf
1 parent a1aaf6e commit d1f989e

File tree

1 file changed

+22
-28
lines changed

1 file changed

+22
-28
lines changed

libs/librrgraph/src/base/rr_switch.h

Lines changed: 22 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,54 +5,48 @@
55

66
#include "physical_types.h"
77

8-
/* Lists all the important information about an rr switch type. *
9-
* The s_rr_switch_inf describes a switch derived from a switch described *
10-
* by s_arch_switch_inf. This indirection allows us to vary properties of a *
11-
* given switch, such as varying delay with switch fan-in. *
12-
* buffered: Does this switch isolate it's input/output into separate *
13-
* DC-connected sub-circuits? *
14-
* configurable: Is this switch is configurable (i.e. can the switch can be *
15-
* turned on or off)?. This allows modelling of non-optional *
16-
* switches (e.g. fixed buffers, or shorted connections) which *
17-
* must be used (e.g. expanded by the router) if a connected *
18-
* segment is used. *
19-
* R: Equivalent resistance of the buffer/switch. *
20-
* Cin: Input capacitance. *
21-
* Cout: Output capacitance. *
22-
* Cinternal: Internal capacitance, see the definition above. *
23-
* Tdel: Intrinsic delay. The delay through an unloaded switch is *
24-
* Tdel + R * Cout. *
25-
* mux_trans_size: The area of each transistor in the segment's driving mux *
26-
* measured in minimum width transistor units *
27-
* buf_size: The area of the buffer. If set to zero, area should be *
28-
* calculated from R
29-
* intra_tile: Indicate whether this rr_switch is a switch type used inside *
30-
* clusters. These switch types are not specified in the *
31-
* architecture description file and are added when flat router *
32-
* is enabled */
8+
/**
9+
* @brief Lists all the important information about an RR switch type.
10+
*
11+
* The t_rr_switch_inf describes a switch derived from a switch described
12+
* by t_arch_switch_inf. This indirection allows us to vary properties of a
13+
* given switch, such as varying delay with switch fan-in.
14+
*/
3315
struct t_rr_switch_inf {
16+
/// Equivalent resistance of the buffer/switch.
3417
float R = 0.;
18+
/// Input capacitance.
3519
float Cin = 0.;
20+
/// Output capacitance.
3621
float Cout = 0.;
22+
/// Internal capacitance.
3723
float Cinternal = 0.;
24+
/// Intrinsic delay. The delay through an unloaded switch is Tdel + R * Cout.
3825
float Tdel = 0.;
26+
/// The area of each transistor in the segment's driving mux measured in minimum width transistor units
3927
float mux_trans_size = 0.;
28+
/// The area of the buffer. If set to zero, area should be calculated from R
4029
float buf_size = 0.;
4130
std::string name;
4231
e_power_buffer_type power_buffer_type = POWER_BUFFER_TYPE_UNDEFINED;
4332
float power_buffer_size = 0.;
4433

34+
/// Indicate whether this rr_switch is a switch type used inside clusters.
35+
/// These switch types are not specified in the architecture description file
36+
/// and are added when flat router is enabled.
4537
bool intra_tile = false;
4638

47-
public:
39+
public: // Getters
4840
/// Returns the type of switch
4941
e_switch_type type() const;
5042

5143
/// Returns true if this switch type isolates its input and output into
5244
/// separate DC-connected subcircuits
5345
bool buffered() const;
5446

55-
/// Returns true if this switch type is configurable
47+
/// Returns true if this switch type is configurable (i.e. can the switch can be turned on or off)
48+
/// This allows modelling of non-optional switches (e.g. fixed buffers, or shorted connections)
49+
/// which must be used (e.g. expanded by the router) if a connected segment is used.
5650
bool configurable() const;
5751

5852
bool operator==(const t_rr_switch_inf& other) const;
@@ -67,7 +61,7 @@ struct t_rr_switch_inf {
6761
std::size_t operator()(const t_rr_switch_inf& s) const;
6862
};
6963

70-
public:
64+
public: // Setters
7165
void set_type(e_switch_type type_val);
7266

7367
private:

0 commit comments

Comments
 (0)