aboutsummaryrefslogtreecommitdiffstats
path: root/nexus
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2020-11-17 15:13:00 +0000
committerDavid Shah <dave@ds0.me>2020-11-30 08:45:28 +0000
commit54539b85191fc5292b1d342a0979f9f31a319998 (patch)
tree710f969e88600de0507fb3e119d888312856ebd7 /nexus
parent6b5277638bc63b592e30acb4f51a4df3a8bd59d8 (diff)
downloadnextpnr-54539b85191fc5292b1d342a0979f9f31a319998.tar.gz
nextpnr-54539b85191fc5292b1d342a0979f9f31a319998.tar.bz2
nextpnr-54539b85191fc5292b1d342a0979f9f31a319998.zip
nexus: Larger DSP tweaks
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus')
-rw-r--r--nexus/fasm.cc8
-rw-r--r--nexus/pins.cc16
2 files changed, 15 insertions, 9 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 &param_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);
diff --git a/nexus/pins.cc b/nexus/pins.cc
index 0cf5c3e2..78aa213e 100644
--- a/nexus/pins.cc
+++ b/nexus/pins.cc
@@ -128,19 +128,19 @@ static const std::unordered_map<IdString, Arch::CellPinsData> base_cell_pin_data
}},
{id_MULT18_CORE,
{
- {id_SFTCTRL0, PINSTYLE_CIB},
- {id_SFTCTRL1, PINSTYLE_CIB},
- {id_SFTCTRL2, PINSTYLE_CIB},
- {id_SFTCTRL3, PINSTYLE_CIB},
+ {id_SFTCTRL0, PINSTYLE_PU},
+ {id_SFTCTRL1, PINSTYLE_PU},
+ {id_SFTCTRL2, PINSTYLE_PU},
+ {id_SFTCTRL3, PINSTYLE_PU},
{id_ROUNDEN, PINSTYLE_CIB},
{{}, PINSTYLE_DEDI},
}},
{id_MULT18X36_CORE,
{
- {id_SFTCTRL0, PINSTYLE_CIB},
- {id_SFTCTRL1, PINSTYLE_CIB},
- {id_SFTCTRL2, PINSTYLE_CIB},
- {id_SFTCTRL3, PINSTYLE_CIB},
+ {id_SFTCTRL0, PINSTYLE_PU},
+ {id_SFTCTRL1, PINSTYLE_PU},
+ {id_SFTCTRL2, PINSTYLE_PU},
+ {id_SFTCTRL3, PINSTYLE_PU},
{id_ROUNDEN, PINSTYLE_CIB},
{{}, PINSTYLE_DEDI},
}}};