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
vpr: Updated class_size in cluster level pin feasibility check
Use the number of used pins in a class as the class_size if it is
already larger than the class_size multiplied by the external pin
utilization factor. This happens when the seed block chosen for
a cluster uses more inputs than the class_size multiplied by the
external pin utilization factor. Since when packing the seed block,
the external pin utilization factor is set to 1.0 to avoid large
molecules from failing packing.
Copy file name to clipboardExpand all lines: vpr/src/pack/pack_types.h
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
* Defines core data structures used in packing
8
8
*/
9
9
#include<map>
10
-
#include<unordered_set>
10
+
#include<unordered_map>
11
11
#include<vector>
12
12
13
13
#include"arch_types.h"
@@ -66,8 +66,8 @@ struct t_pb_stats {
66
66
std::map<AtomNetId, int> num_pins_of_net_in_pb;
67
67
68
68
/* Record of pins of class used */
69
-
std::vector<std::unordered_set<AtomNetId>> input_pins_used; /* [0..pb_graph_node->num_pin_classes-1] nets using this input pin class */
70
-
std::vector<std::unordered_set<AtomNetId>> output_pins_used; /* [0..pb_graph_node->num_pin_classes-1] nets using this output pin class */
69
+
std::vector<std::unordered_map<size_t, AtomNetId>> input_pins_used; /* [0..pb_graph_node->num_pin_classes-1] nets using this input pin class */
70
+
std::vector<std::unordered_map<size_t, AtomNetId>> output_pins_used; /* [0..pb_graph_node->num_pin_classes-1] nets using this output pin class */
71
71
72
72
/* Use vector because array size is expected to be small so runtime should be faster using vector than map despite the O(N) vs O(log(n)) behaviour.*/
73
73
std::vector<std::vector<AtomNetId>> lookahead_input_pins_used; /* [0..pb_graph_node->num_pin_classes-1] vector of input pins of this class that are speculatively used */
0 commit comments