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;
|
return 0;
|
||||||
consider_driver =
|
consider_driver =
|
||||||
chip->estimatePosition(driver_cell->bel, driver_x, driver_y);
|
chip->estimatePosition(driver_cell->bel, driver_x, driver_y);
|
||||||
|
WireId drv_wire = chip->getWireBelPin(driver_cell->bel, portPinFromId(net->driver.port));
|
||||||
if (!consider_driver)
|
if (!consider_driver)
|
||||||
return 0;
|
return 0;
|
||||||
for (auto load : net->users) {
|
for (auto load : net->users) {
|
||||||
@ -131,8 +132,10 @@ static float get_wirelength(Chip *chip, NetInfo *net)
|
|||||||
int load_x = 0, load_y = 0;
|
int load_x = 0, load_y = 0;
|
||||||
if (load_cell->bel == BelId())
|
if (load_cell->bel == BelId())
|
||||||
continue;
|
continue;
|
||||||
chip->estimatePosition(load_cell->bel, load_x, load_y);
|
//chip->estimatePosition(load_cell->bel, load_x, load_y);
|
||||||
wirelength += std::abs(load_x - driver_x) + std::abs(load_y - driver_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;
|
return wirelength;
|
||||||
}
|
}
|
||||||
|
@ -440,8 +440,8 @@ void route_design(Design *design, bool verbose)
|
|||||||
"routing.\n",
|
"routing.\n",
|
||||||
int(netsQueue.size()));
|
int(netsQueue.size()));
|
||||||
|
|
||||||
ripup_pip_penalty *= 1.5;
|
ripup_pip_penalty += 5;
|
||||||
ripup_wire_penalty *= 1.5;
|
ripup_wire_penalty += 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user