Revert "verify inversion before/after assigning bridges"

This reverts commit 8613ee17c8.
This commit is contained in:
Miodrag Milanovic 2026-02-11 10:56:17 +01:00
parent b537372c7d
commit 6ebdf991af
3 changed files with 2 additions and 37 deletions

View File

@ -523,11 +523,4 @@ void GateMateImpl::write_bitstream(const std::string &device, const std::string
be.write_bitstream();
}
bool GateMateImpl::need_inversion_remove_me_later(CellInfo *cell, IdString port)
{
std::ofstream out("/dev/null");
BitstreamBackend be(ctx, this, "", out);
return be.need_inversion(cell, port);
}
NEXTPNR_NAMESPACE_END

View File

@ -23,7 +23,6 @@
#include "idstringlist.h"
#include "log.h"
#include "nextpnr_assertions.h"
#include "nextpnr_types.h"
#include "placer_heap.h"
#define GEN_INIT_CONSTIDS
@ -374,8 +373,7 @@ bool GateMateImpl::checkPipAvail(PipId pip) const
if (extra_data.value == 1 && IdString(extra_data.name).in(id_C_CLKSEL, id_C_ENSEL))
return false;
}
if (!use_cp_for_cpe && extra_data.type == PipExtra::PIP_EXTRA_MUX && extra_data.resource != 0 &&
extra_data.resource <= PipMask::C_PY2_I) {
if (!use_cp_for_cpe && extra_data.type == PipExtra::PIP_EXTRA_MUX && extra_data.resource !=0 && extra_data.resource <= PipMask::C_PY2_I) {
return false;
}
if (!use_bridges && extra_data.type == PipExtra::PIP_EXTRA_MUX &&
@ -595,18 +593,6 @@ void GateMateImpl::postRoute()
{
int num = 0;
dict<std::pair<IdString, IdString>, bool> inversion_before_bridges;
for (auto &pair : ctx->cells) {
auto *cell = pair.second.get();
for (auto &port : cell->ports) {
if (port.second.type != PORT_IN)
continue;
inversion_before_bridges.insert(
{std::make_pair(cell->name, port.first), need_inversion_remove_me_later(cell, port.first)});
}
}
pool<IdString> nets_with_bridges;
pool<IdString> nets_with_cplines;
@ -718,19 +704,6 @@ void GateMateImpl::postRoute()
}
}
for (auto &pair : inversion_before_bridges) {
auto cell_name = pair.first.first;
auto port = pair.first.second;
auto inversion_before = pair.second;
auto *cell = ctx->cells.at(cell_name).get();
auto inversion_after = need_inversion_remove_me_later(cell, port);
if (inversion_before != inversion_after) {
log_error("cell '%s.%s' of type '%s' differs in inversion!\n", cell_name.c_str(ctx), port.c_str(ctx),
cell->type.c_str(ctx));
}
}
dict<IdString, int> cfg;
dict<IdString, IdString> port_mapping;
auto add_input = [&](IdString orig_port, IdString port, bool merged) -> bool {

View File

@ -114,14 +114,13 @@ struct GateMateImpl : HimbaechelAPI
MultiDieStrategy strategy;
dict<int, IdString> index_to_die;
dict<IdString, int> die_to_index;
dict<IdString, dict<IdString, IdString>> pass_backtrace;
dict<IdString,dict<IdString, IdString>> pass_backtrace;
private:
bool getChildPlacement(const BaseClusterInfo *cluster, Loc root_loc,
std::vector<std::pair<CellInfo *, BelId>> &placement) const;
void write_bitstream(const std::string &device, const std::string &filename);
bool need_inversion_remove_me_later(CellInfo *cell, IdString port);
void parse_ccf(const std::string &filename);