diff options
Diffstat (limited to 'nexus/fasm.cc')
-rw-r--r-- | nexus/fasm.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/nexus/fasm.cc b/nexus/fasm.cc index 6aff3ae7..5da809c6 100644 --- a/nexus/fasm.cc +++ b/nexus/fasm.cc @@ -526,11 +526,17 @@ struct NexusFasmWriter { BelId bel = cell->bel; push_bel(bel); - write_bit(stringf("MODE.%s", ctx->nameOf(cell->type))); + if (cell->type != id_MULT18_CORE && cell->type != id_MULT18X36_CORE && cell->type != id_MULT36_CORE) + write_bit(stringf("MODE.%s", ctx->nameOf(cell->type))); for (auto param : sorted_cref(cell->params)) { const std::string ¶m_name = param.first.str(ctx); if (is_mux_param(param_name)) continue; + if (param.first == id_ROUNDBIT) { + // currently unsupported in oxide, but appears rarely used + NPNR_ASSERT(param.second.as_string() == "ROUND_TO_BIT0"); + continue; + } write_enum(cell, param_name); } write_cell_muxes(cell); |