aboutsummaryrefslogtreecommitdiffstats
path: root/nexus
diff options
context:
space:
mode:
authorgatecat <gatecat@ds0.me>2021-03-30 12:04:01 +0100
committergatecat <gatecat@ds0.me>2021-03-30 12:04:01 +0100
commit99298d0aba162255308f478c6909945c742f1da0 (patch)
treef81fef239ff91e9423bb8ee5bffe474bd892a873 /nexus
parent7ae3f636ef2a11db991d95ec34ad30c10c8f3f64 (diff)
downloadnextpnr-99298d0aba162255308f478c6909945c742f1da0.tar.gz
nextpnr-99298d0aba162255308f478c6909945c742f1da0.tar.bz2
nextpnr-99298d0aba162255308f478c6909945c742f1da0.zip
nexus: Fix some IO FASM gen
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'nexus')
-rw-r--r--nexus/fasm.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/nexus/fasm.cc b/nexus/fasm.cc
index 6ca5c9f3..0afefa4b 100644
--- a/nexus/fasm.cc
+++ b/nexus/fasm.cc
@@ -385,9 +385,13 @@ struct NexusFasmWriter
} else if (tmux == PINMUX_1 || t == nullptr) {
is_input = true;
}
+ auto &bank = bank_cfg[ctx->get_bel_pad(bel)->bank];
+ if (is_lifcl_17 && (is_output || !is_input))
+ bank.diff_used = true; // what exactly should this bit be called?
const char *iodir = is_input ? "INPUT" : (is_output ? "OUTPUT" : "BIDIR");
write_bit(stringf("BASE_TYPE.%s_%s", iodir, str_or_default(cell->attrs, id_IO_TYPE, "LVCMOS18H").c_str()));
write_ioattr(cell, "PULLMODE", "NONE");
+ write_ioattr(cell, "SLEWRATE", "MED");
pop();
write_cell_muxes(cell);
pop();