Tweaking placer and router
Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
parent
ad0df6cea8
commit
c4241db117
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user