Tweaking placer and router

Signed-off-by: David Shah <davey1576@gmail.com>
This commit is contained in:
David Shah 2018-06-16 16:54:57 +02:00
parent ad0df6cea8
commit c4241db117
2 changed files with 7 additions and 4 deletions

View File

@ -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;
}

View File

@ -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;
}
}