mirror of https://github.com/YosysHQ/nextpnr.git
Revert "verify inversion before/after assigning bridges"
This reverts commit 8613ee17c8.
This commit is contained in:
parent
b537372c7d
commit
6ebdf991af
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue