aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nexus/fasm.cc6
-rw-r--r--nexus/pack.cc20
2 files changed, 4 insertions, 22 deletions
diff --git a/nexus/fasm.cc b/nexus/fasm.cc
index d6a3796a..c4eb9a1b 100644
--- a/nexus/fasm.cc
+++ b/nexus/fasm.cc
@@ -567,15 +567,11 @@ struct NexusFasmWriter
push_bel(bel);
write_enum(cell, "MODE");
write_enum(cell, "IDDRX1_ODDRX1.OUTPUT");
+ write_enum(cell, "IDDRX1_ODDRX1.TRISTATE");
write_enum(cell, "GSR", "DISABLED");
write_enum(cell, "TSREG.REGSET", "RESET");
write_cell_muxes(cell);
pop();
-
- // FIXME: Workaround for unknown bits
- push_tile(bel.tile);
- write_enum(cell, "UNKNOWN");
- pop();
}
// Write config for some kind of DSP cell
diff --git a/nexus/pack.cc b/nexus/pack.cc
index 5ada7ed3..319eba7a 100644
--- a/nexus/pack.cc
+++ b/nexus/pack.cc
@@ -2276,24 +2276,10 @@ struct NexusPacker
iol->params[id_SRMODE] = ff->params.at(id_SRMODE);
iol->params[id_REGSET] = ff->params.at(id_REGSET);
- iol->params[ctx->id("TSREG.REGSET")] = std::string("SET");
-
- // CEOUTMUX.1
+ // Enable the TSREG
iol->params[ctx->id("CEOUTMUX")] = std::string("1");
-
- // FIXME: Workaround for an unknown bit
- IdStringList belName = IdStringList::parse(ctx, iob->attrs[id_BEL].as_string());
- if (belName[2] == ctx->id("PIOA")) {
- // UNKNOWN.22.1 for A
- iol->params[ctx->id("UNKNOWN")] = std::string("22.1");
- }
- else if (belName[2] == ctx->id("PIOB")) {
- // UNKNOWN.77.1 for B
- iol->params[ctx->id("UNKNOWN")] = std::string("77.1");
- }
- else {
- log_error("Unknown IO BEL type '%s'\n", belName[2].c_str(ctx));
- }
+ iol->params[ctx->id("TSREG.REGSET")] = std::string("SET");
+ iol->params[ctx->id("IDDRX1_ODDRX1.TRISTATE")] = std::string("ENABLED");
}
// Disconnect the flip-flop