@@ -54,6 +54,9 @@ enum class NetUpdateState {
54
54
55
55
const int MAX_FANOUT_CROSSING_COUNT = 50 ;
56
56
57
+ double cong_matrix[400 ][400 ];
58
+ double cong_matrix_new[400 ][400 ];
59
+
57
60
/* *
58
61
* @brief Crossing counts for nets with different #'s of pins. From
59
62
* ICCAD 94 pp. 690 - 695 (with linear interpolation applied by me).
@@ -458,10 +461,6 @@ static double get_net_cost(ClusterNetId net_id, const t_bb& bb);
458
461
*/
459
462
static double get_net_wirelength_estimate (ClusterNetId net_id, const t_bb& bb);
460
463
461
- static void get_cong_matrix (ClusterNetId net_id, const t_bb& bb);
462
-
463
- static double get_cong_cost (double chan_width)
464
-
465
464
/* *
466
465
* @brief To mitigate round-off errors, every once in a while, the costs of nets are summed up from scratch.
467
466
* This functions is called to do that for bb cost. It doesn't calculate the BBs from scratch, it would only add the costs again.
@@ -1846,7 +1845,7 @@ static double get_net_wirelength_estimate(ClusterNetId net_id, const t_bb& bb) {
1846
1845
return (ncost);
1847
1846
}
1848
1847
1849
- static void get_cong_matrix (ClusterNetId net_id, const t_bb& bb) {
1848
+ void get_cong_matrix (ClusterNetId net_id, const t_bb& bb) {
1850
1849
/* Finds the cost due to one net by looking at its coordinate bounding *
1851
1850
* box. */
1852
1851
// auto& cluster_ctx = g_vpr_ctx.clustering();
@@ -1865,7 +1864,7 @@ static void get_cong_matrix(ClusterNetId net_id, const t_bb& bb) {
1865
1864
}
1866
1865
1867
1866
1868
- static double get_cong_cost (double chan_width) {
1867
+ double get_cong_cost (double chan_width) {
1869
1868
auto & device_ctx = g_vpr_ctx.device ();
1870
1869
double max = 0.0 ;
1871
1870
double avg = 1e-4 ,var=0.0 ;
0 commit comments