diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/place.cc | 7 | ||||
-rw-r--r-- | common/route.cc | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/common/place.cc b/common/place.cc index 55a4d021..dfca313f 100644 --- a/common/place.cc +++ b/common/place.cc @@ -122,6 +122,7 @@ static float get_wirelength(Chip *chip, NetInfo *net) return 0; consider_driver = chip->estimatePosition(driver_cell->bel, driver_x, driver_y); + WireId drv_wire = chip->getWireBelPin(driver_cell->bel, portPinFromId(net->driver.port)); if (!consider_driver) return 0; for (auto load : net->users) { @@ -131,8 +132,10 @@ static float get_wirelength(Chip *chip, NetInfo *net) int load_x = 0, load_y = 0; if (load_cell->bel == BelId()) continue; - chip->estimatePosition(load_cell->bel, load_x, load_y); - wirelength += std::abs(load_x - driver_x) + std::abs(load_y - driver_y); + //chip->estimatePosition(load_cell->bel, load_x, load_y); + WireId user_wire = chip->getWireBelPin(load_cell->bel, portPinFromId(load.port)); + //wirelength += std::abs(load_x - driver_x) + std::abs(load_y - driver_y); + wirelength += chip->estimateDelay(drv_wire, user_wire); } return wirelength; } diff --git a/common/route.cc b/common/route.cc index 247c8840..32212c7d 100644 --- a/common/route.cc +++ b/common/route.cc @@ -440,8 +440,8 @@ void route_design(Design *design, bool verbose) "routing.\n", int(netsQueue.size())); - ripup_pip_penalty *= 1.5; - ripup_wire_penalty *= 1.5; + ripup_pip_penalty += 5; + ripup_wire_penalty += 5; } } |