Skip to content

Commit 7a850ca

Browse files
committed
gpl: Changed MBFF objective function to use total power.
Signed-off-by: Ted Hong <[email protected]>
1 parent 9492685 commit 7a850ca

File tree

5 files changed

+194
-172
lines changed

5 files changed

+194
-172
lines changed

src/gpl/src/mbff.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,7 +2091,7 @@ void MBFF::SetVars(const std::vector<Flop>& flops)
20912091
= std::min(single_bit_width_, master->getWidth() / multiplier_);
20922092
sta::PowerResult ff_power
20932093
= sta_->power(network_->dbToSta(insts_[flop.idx]), corner_);
2094-
single_bit_power_ = std::min(single_bit_power_, ff_power.leakage());
2094+
single_bit_power_ = std::min(single_bit_power_, ff_power.total());
20952095
}
20962096
}
20972097

@@ -2309,7 +2309,7 @@ void MBFF::ReadLibs()
23092309

23102310
if (tray_area_[array_mask][idx] > cur_area) {
23112311
tray_area_[array_mask][idx] = cur_area;
2312-
tray_power_[array_mask][idx] = tray_power.leakage();
2312+
tray_power_[array_mask][idx] = tray_power.total();
23132313
best_master_[array_mask][idx] = master;
23142314
pin_mappings_[array_mask][idx] = GetPinMapping(tmp_tray);
23152315
tray_width_[array_mask][idx] = master->getWidth() / multiplier_;

src/gpl/test/clust01.defok

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ BUSBITCHARS "[]" ;
44
DESIGN tray_test ;
55
UNITS DISTANCE MICRONS 1000 ;
66
DIEAREA ( 0 0 ) ( 10000 10000 ) ;
7-
COMPONENTS 2 ;
8-
- _tray_size2_6 DFFHQNV2Xx1_ASAP7_75t_L + PLACED ( 3350 3864 ) N ;
7+
COMPONENTS 3 ;
8+
- _tray_size2_5 DFFHQNV2Xx1_ASAP7_75t_L + PLACED ( 3350 3864 ) N ;
99
- _tray_size2_7 DFFHQNV2Xx1_ASAP7_75t_L + PLACED ( 5350 3864 ) N ;
10+
- _tray_size4_6 DFFHQNV4Xx1_ASAP7_75t_L + PLACED ( 3350 3864 ) N ;
1011
END COMPONENTS
1112
PINS 9 ;
1213
- clk1 + NET clk1 + DIRECTION INPUT + USE SIGNAL
@@ -47,14 +48,14 @@ PINS 9 ;
4748
+ FIXED ( 990 10090 ) N ;
4849
END PINS
4950
NETS 9 ;
50-
- clk1 ( PIN clk1 ) ( _tray_size2_6 CLK ) ( _tray_size2_7 CLK ) + USE SIGNAL ;
51+
- clk1 ( PIN clk1 ) ( _tray_size2_5 CLK ) ( _tray_size4_6 CLK ) ( _tray_size2_7 CLK ) + USE SIGNAL ;
5152
- d1 ( PIN d1 ) ( _tray_size2_7 D1 ) + USE SIGNAL ;
52-
- d2 ( PIN d2 ) ( _tray_size2_6 D1 ) + USE SIGNAL ;
53-
- d3 ( PIN d3 ) ( _tray_size2_6 D0 ) + USE SIGNAL ;
53+
- d2 ( PIN d2 ) ( _tray_size4_6 D3 ) + USE SIGNAL ;
54+
- d3 ( PIN d3 ) ( _tray_size2_5 D0 ) + USE SIGNAL ;
5455
- d4 ( PIN d4 ) ( _tray_size2_7 D0 ) + USE SIGNAL ;
5556
- o1 ( PIN o1 ) ( _tray_size2_7 QN1 ) + USE SIGNAL ;
56-
- o2 ( PIN o2 ) ( _tray_size2_6 QN1 ) + USE SIGNAL ;
57-
- o3 ( PIN o3 ) ( _tray_size2_6 QN0 ) + USE SIGNAL ;
57+
- o2 ( PIN o2 ) ( _tray_size4_6 QN3 ) + USE SIGNAL ;
58+
- o3 ( PIN o3 ) ( _tray_size2_5 QN0 ) + USE SIGNAL ;
5859
- o4 ( PIN o4 ) ( _tray_size2_7 QN0 ) + USE SIGNAL ;
5960
END NETS
6061
END DESIGN

src/gpl/test/clust01.ok

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@
1010
[INFO ODB-0131] Created 4 components and 20 component-terminals.
1111
[INFO ODB-0133] Created 9 nets and 12 connections.
1212
Alpha = 40.0, Beta = 1.0, #paths = 0, max size = -1
13-
Total ILP Cost: 97.228
13+
Total ILP Cost: 2.922
1414
Total Timing Critical Path Displacement: 0.0
15-
Average slot-to-flop displacement: 0.865
16-
Final Objective Value: 97.228
15+
Average slot-to-flop displacement: 0.730
16+
Final Objective Value: 2.922
1717
Sizes used
1818
2-bit: 2
19+
4-bit: 1
1920
No differences found.

0 commit comments

Comments
 (0)