clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
fcdaf3f86c
commit
9b51c6e337
@ -130,14 +130,12 @@ bool boolvec_populate(const dict<KeyType, Property> &ct, const KeyType &key, std
|
||||
auto found = ct.find(key);
|
||||
if (found == ct.end())
|
||||
return false;
|
||||
if (!found->second.is_string)
|
||||
{
|
||||
if (!found->second.is_string) {
|
||||
size_t val = found->second.as_int64();
|
||||
for (size_t i = 0; i < vec.size(); ++i, val >>= 1) {
|
||||
vec[i] = (val & 0x1) != 0;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
const std::string &str = found->second.as_string();
|
||||
size_t i = 0;
|
||||
for (auto it = str.crbegin(); it != str.crend() && i < vec.size(); ++i, ++it) {
|
||||
|
@ -325,14 +325,14 @@ class HeAPPlacer
|
||||
if (cell.second->isPseudo())
|
||||
continue;
|
||||
if (cell.second->bel == BelId()) {
|
||||
log_nonfatal_error("Found unbound cell '%s' of type '%s'\n", cell.first.c_str(ctx), cell.second->type.c_str(ctx));
|
||||
log_nonfatal_error("Found unbound cell '%s' of type '%s'\n", cell.first.c_str(ctx),
|
||||
cell.second->type.c_str(ctx));
|
||||
num_errors++;
|
||||
}
|
||||
else if (ctx->getBoundBelCell(cell.second->bel) != cell.second.get()) {
|
||||
log_nonfatal_error("Found mismatched binding for '%s' or type '%s'\n", cell.first.c_str(ctx), cell.second->type.c_str(ctx));
|
||||
} else if (ctx->getBoundBelCell(cell.second->bel) != cell.second.get()) {
|
||||
log_nonfatal_error("Found mismatched binding for '%s' or type '%s'\n", cell.first.c_str(ctx),
|
||||
cell.second->type.c_str(ctx));
|
||||
num_errors++;
|
||||
}
|
||||
else if (ctx->debug)
|
||||
} else if (ctx->debug)
|
||||
log_info("AP soln: %s -> %s\n", cell.first.c_str(ctx), ctx->nameOfBel(cell.second->bel));
|
||||
}
|
||||
if (num_errors > 0) {
|
||||
@ -899,7 +899,8 @@ class HeAPPlacer
|
||||
|
||||
while (!placed) {
|
||||
if (cfg.cell_placement_timeout > 0 && total_iters_for_cell > cfg.cell_placement_timeout)
|
||||
log_error("Unable to find legal placement for cell '%s' of type '%s' after %d attempts, check constraints and "
|
||||
log_error("Unable to find legal placement for cell '%s' of type '%s' after %d attempts, check "
|
||||
"constraints and "
|
||||
"utilisation. Use `--placer-heap-cell-placement-timeout` to change the number of "
|
||||
"attempts.\n",
|
||||
ctx->nameOf(ci), ci->type.c_str(ctx), total_iters_for_cell);
|
||||
|
@ -387,13 +387,12 @@ bool Arch::lookup_cell_delay(int type_idx, IdString from_port, IdString to_port,
|
||||
{
|
||||
NPNR_ASSERT(type_idx != -1);
|
||||
const auto &ct = speed_grade->cell_types[type_idx];
|
||||
int to_pin_idx = db_binary_search(
|
||||
ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, to_port.index);
|
||||
int to_pin_idx = db_binary_search(ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, to_port.index);
|
||||
if (to_pin_idx == -1)
|
||||
return false;
|
||||
const auto &tp = ct.pins[to_pin_idx];
|
||||
int arc_idx = db_binary_search(
|
||||
tp.comb_arcs, [](const CellPinCombArcPOD &arc) { return arc.input; }, from_port.index);
|
||||
int arc_idx =
|
||||
db_binary_search(tp.comb_arcs, [](const CellPinCombArcPOD &arc) { return arc.input; }, from_port.index);
|
||||
if (arc_idx == -1)
|
||||
return false;
|
||||
delay = DelayQuad(tp.comb_arcs[arc_idx].delay.fast_min, tp.comb_arcs[arc_idx].delay.slow_max);
|
||||
@ -404,8 +403,7 @@ const RelSlice<CellPinRegArcPOD> *Arch::lookup_cell_seq_timings(int type_idx, Id
|
||||
{
|
||||
NPNR_ASSERT(type_idx != -1);
|
||||
const auto &ct = speed_grade->cell_types[type_idx];
|
||||
int pin_idx = db_binary_search(
|
||||
ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, port.index);
|
||||
int pin_idx = db_binary_search(ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, port.index);
|
||||
if (pin_idx == -1)
|
||||
return nullptr;
|
||||
return &ct.pins[pin_idx].reg_arcs;
|
||||
@ -416,8 +414,7 @@ TimingPortClass Arch::lookup_port_tmg_type(int type_idx, IdString port, PortType
|
||||
|
||||
NPNR_ASSERT(type_idx != -1);
|
||||
const auto &ct = speed_grade->cell_types[type_idx];
|
||||
int pin_idx = db_binary_search(
|
||||
ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, port.index);
|
||||
int pin_idx = db_binary_search(ct.pins, [](const CellPinTimingPOD &pd) { return pd.pin; }, port.index);
|
||||
if (pin_idx == -1)
|
||||
return (dir == PORT_OUT) ? TMG_IGNORE : TMG_COMB_INPUT;
|
||||
auto &pin = ct.pins[pin_idx];
|
||||
|
@ -340,8 +340,7 @@ struct GowinGlobalRouter
|
||||
src = ctx->getBelPinWire(driver.cell->bel, driver.port);
|
||||
}
|
||||
|
||||
RouteResult route_result = route_direct_net(
|
||||
net, [&](PipId pip) { return global_DQCE_pip_filter(pip); }, src);
|
||||
RouteResult route_result = route_direct_net(net, [&](PipId pip) { return global_DQCE_pip_filter(pip); }, src);
|
||||
if (route_result == NOT_ROUTED) {
|
||||
log_error("Can't route the %s network.\n", ctx->nameOf(net));
|
||||
}
|
||||
@ -418,8 +417,7 @@ struct GowinGlobalRouter
|
||||
src = ctx->getBelPinWire(driver.cell->bel, driver.port);
|
||||
}
|
||||
|
||||
RouteResult route_result = route_direct_net(
|
||||
net, [&](PipId pip) { return global_DCS_pip_filter(pip); }, src);
|
||||
RouteResult route_result = route_direct_net(net, [&](PipId pip) { return global_DCS_pip_filter(pip); }, src);
|
||||
if (route_result == NOT_ROUTED) {
|
||||
log_error("Can't route the %s network.\n", ctx->nameOf(net));
|
||||
}
|
||||
@ -506,8 +504,7 @@ struct GowinGlobalRouter
|
||||
WireId src = ctx->getBelPinWire(driver.cell->bel, port);
|
||||
|
||||
std::vector<PipId> path;
|
||||
RouteResult route_result = route_direct_net(
|
||||
net, [&](PipId pip) { return global_pip_filter(pip); }, src, &path);
|
||||
RouteResult route_result = route_direct_net(net, [&](PipId pip) { return global_pip_filter(pip); }, src, &path);
|
||||
if (route_result == NOT_ROUTED) {
|
||||
log_error("Can't route the %s network.\n", ctx->nameOf(net));
|
||||
}
|
||||
@ -571,8 +568,7 @@ struct GowinGlobalRouter
|
||||
NetInfo *net_before_buf = buf_ci->getPort(id_I);
|
||||
NPNR_ASSERT(net_before_buf != nullptr);
|
||||
|
||||
RouteResult route_result = route_direct_net(
|
||||
net, [&](PipId pip) { return global_pip_filter(pip); }, src);
|
||||
RouteResult route_result = route_direct_net(net, [&](PipId pip) { return global_pip_filter(pip); }, src);
|
||||
if (route_result == NOT_ROUTED || route_result == ROUTED_PARTIALLY) {
|
||||
log_error("Can't route the %s net. It might be worth removing the BUFG buffer flag.\n", ctx->nameOf(net));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user