File tree Expand file tree Collapse file tree 6 files changed +24
-20
lines changed Expand file tree Collapse file tree 6 files changed +24
-20
lines changed Original file line number Diff line number Diff line change @@ -77,7 +77,6 @@ struct t_pin_to_pin_annotation;
7777struct t_interconnect ;
7878class t_pb_graph_pin ;
7979class t_pb_graph_edge ;
80- struct t_cluster_placement_primitive ;
8180struct t_arch ;
8281enum class e_sb_type ;
8382struct t_interposer_cut_inf ;
Original file line number Diff line number Diff line change 1010#include < queue>
1111#include < unordered_set>
1212#include < vector>
13- #include " cad_types.h"
1413#include " logic_types.h"
14+ #include " pack_patterns.h"
15+ #include " physical_types.h"
1516#include " prepack.h"
1617#include " vtr_assert.h"
1718#include " vtr_log.h"
Original file line number Diff line number Diff line change 1717#include < vector>
1818#include " atom_lookup.h"
1919#include " atom_netlist.h"
20- #include " cad_types.h"
2120#include " cluster_placement.h"
2221#include " cluster_router.h"
2322#include " globals.h"
Original file line number Diff line number Diff line change 1212// Forward declarations
1313class AtomBlockId ;
1414
15+ /* *
16+ * Keeps track of locations that a primitive can go to during packing
17+ * Linked list for easy insertion/deletion
18+ */
19+ struct t_cluster_placement_primitive {
20+ t_cluster_placement_primitive () {
21+ pb_graph_node = nullptr ;
22+ }
23+ t_pb_graph_node* pb_graph_node;
24+ bool valid;
25+ float base_cost; /* cost independent of current status of packing */
26+ float incremental_cost; /* cost dependent on current status of packing */
27+ };
28+
1529/* *
1630 * @brief Stats keeper for placement within the cluster during packing
1731 *
Original file line number Diff line number Diff line change 11#pragma once
22/*
3- * Data types used to give architectural hints for the CAD algorithm
3+ * Data types used to give architectural hints for the CAD algorithm through pack
4+ * patterns.
45 */
56
6- #include " physical_types.h "
7+ #include < vector >
78
9+ struct t_pb_type ;
10+ struct t_pb_graph_pin ;
811struct t_pack_pattern_connections ;
912
1013/* *
@@ -112,17 +115,3 @@ struct t_pack_patterns {
112115 is_chain = false ;
113116 }
114117};
115-
116- /* *
117- * Keeps track of locations that a primitive can go to during packing
118- * Linked list for easy insertion/deletion
119- */
120- struct t_cluster_placement_primitive {
121- t_cluster_placement_primitive () {
122- pb_graph_node = nullptr ;
123- }
124- t_pb_graph_node* pb_graph_node;
125- bool valid;
126- float base_cost; /* cost independent of current status of packing */
127- float incremental_cost; /* cost dependent on current status of packing */
128- };
Original file line number Diff line number Diff line change 99 */
1010
1111#include < algorithm>
12+ #include < map>
1213#include " atom_netlist_fwd.h"
13- #include " cad_types .h"
14+ #include " pack_patterns .h"
1415#include " vtr_assert.h"
1516#include " vtr_range.h"
1617#include " vtr_strong_id.h"
2122class t_pack_molecule ;
2223class LogicalModels ;
2324struct t_logical_block_type ;
25+ struct t_pb_graph_node ;
2426
2527// A unique ID used to identify a molecule generated by the prepacker.
2628typedef vtr::StrongId<struct pack_molecule_id_tag , size_t > PackMoleculeId;
You can’t perform that action at this time.
0 commit comments