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
constexpr std::array<e_side, NUM_2D_SIDES> TOTAL_2D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT}}; //Set of all side orientations
48
-
constexpr std::array<constchar*, NUM_2D_SIDES> TOTAL_2D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT"}}; //String versions of side orientations
47
+
constexpr std::array<e_side, NUM_2D_SIDES> TOTAL_2D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT}}; //Set of all side orientations
48
+
constexpr std::array<constchar*, NUM_2D_SIDES> TOTAL_2D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT"}}; //String versions of side orientations
49
49
50
-
constexpr std::array<e_side, NUM_3D_SIDES> TOTAL_3D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT, ABOVE, UNDER}}; //Set of all side orientations including different layers
51
-
constexpr std::array<constchar*, NUM_3D_SIDES> TOTAL_3D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT", "ABOVE", "UNDER"}}; //String versions of side orientations including different layers
50
+
constexpr std::array<e_side, NUM_3D_SIDES> TOTAL_3D_SIDES = {{TOP, RIGHT, BOTTOM, LEFT, ABOVE, UNDER}}; //Set of all side orientations including different layers
51
+
constexpr std::array<constchar*, NUM_3D_SIDES> TOTAL_3D_SIDE_STRINGS = {{"TOP", "RIGHT", "BOTTOM", "LEFT", "ABOVE", "UNDER"}}; //String versions of side orientations including different layers
52
52
53
-
/* Specifies what part of the FPGA a custom switchblock should be built in (i.e. perimeter, core, everywhere) */
53
+
/**
54
+
* @brief Specifies what part of the FPGA a custom switchblock should be built in (i.e. perimeter, core, everywhere)
55
+
*
56
+
*/
54
57
enumclasse_sb_location {
55
58
E_PERIMETER = 0,
56
59
E_CORNER,
@@ -77,10 +80,13 @@ struct t_sb_loc_spec {
77
80
int end = -1;
78
81
};
79
82
80
-
/* represents a connection between two sides of a switchblock */
83
+
/**
84
+
* @brief represents a connection between two sides of a switchblock
85
+
*
86
+
*/
81
87
classSBSideConnection {
82
88
public:
83
-
/* specify the two SB sides that form a connection*/
89
+
// Specify the two SB sides that form a connection
84
90
enum e_side from_side = TOP;
85
91
enum e_side to_side = TOP;
86
92
@@ -96,7 +102,7 @@ class SBSideConnection {
96
102
, to_side(to) {
97
103
}
98
104
99
-
/* overload < operator which will be used by std::map*/
105
+
// Overload < operator which will be used by std::map
FIXED, //Switchpoints are ordered as specified in architecture
119
-
SHUFFLED //Switchpoints are shuffled (more diversity)
124
+
FIXED, ///< Switchpoints are ordered as specified in architecture
125
+
SHUFFLED ///< Switchpoints are shuffled (more diversity)
120
126
};
121
127
122
-
//A collection of switchpoints associated with a segment
128
+
/**
129
+
* @brief A collection of switchpoints associated with a segment
130
+
*
131
+
*/
123
132
structt_wire_switchpoints {
124
-
std::string segment_name; //The type of segment
125
-
std::vector<int> switchpoints; //The indices of wire points along the segment
133
+
std::string segment_name; ///< The type of segment
134
+
std::vector<int> switchpoints; ///< The indices of wire points along the segment
126
135
};
127
136
128
-
/* Used to list information about a set of track segments that should connect through a switchblock */
137
+
/**
138
+
* @brief Used to list information about a set of track segments that should connect through a switchblock
139
+
*
140
+
*/
129
141
structt_wireconn_inf {
130
-
std::vector<t_wire_switchpoints> from_switchpoint_set; //The set of segment/wirepoints representing the 'from' set (union of all t_wire_switchpoints in vector)
131
-
std::vector<t_wire_switchpoints> to_switchpoint_set; //The set of segment/wirepoints representing the 'to' set (union of all t_wire_switchpoints in vector)
int switch_override_indx = DEFAULT_SWITCH; // index in switch array of the switch used to override wire_switch of the 'to' set.
135
-
// DEFAULT_SWITCH is a sentinel value (i.e. the usual driving switch from a wire for the receiving wire will be used)
142
+
std::vector<t_wire_switchpoints> from_switchpoint_set; ///< The set of segment/wirepoints representing the 'from' set (union of all t_wire_switchpoints in vector)
143
+
std::vector<t_wire_switchpoints> to_switchpoint_set; ///< The set of segment/wirepoints representing the 'to' set (union of all t_wire_switchpoints in vector)
144
+
SwitchPointOrder from_switchpoint_order = SwitchPointOrder::FIXED; ///< The desired from_switchpoint_set ordering
145
+
SwitchPointOrder to_switchpoint_order = SwitchPointOrder::FIXED; ///< The desired to_switchpoint_set ordering
146
+
int switch_override_indx = DEFAULT_SWITCH; ///< index in switch array of the switch used to override wire_switch of the 'to' set.
147
+
///< DEFAULT_SWITCH is a sentinel value (i.e. the usual driving switch from a wire for the receiving wire will be used)
136
148
137
149
std::string num_conns_formula; /* Specifies how many connections should be made for this wireconn.
138
150
*
@@ -150,7 +162,7 @@ struct t_wireconn_inf {
150
162
* larger than 'to')
151
163
*/
152
164
153
-
std::vector<e_side> sides; // Used for scatter-gather wireconns determining which sides to gather from / scatter to, ignored in other usages.
165
+
std::vector<e_side> sides; ///< Used for scatter-gather wireconns determining which sides to gather from / scatter to, ignored in other usages.
154
166
};
155
167
156
168
/* Use a map to index into the string permutation functions used to connect from one side to another */
0 commit comments