diff options
author | gatecat <gatecat@ds0.me> | 2021-03-30 12:04:01 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2021-03-30 12:04:01 +0100 |
commit | 99298d0aba162255308f478c6909945c742f1da0 (patch) | |
tree | f81fef239ff91e9423bb8ee5bffe474bd892a873 /nexus | |
parent | 7ae3f636ef2a11db991d95ec34ad30c10c8f3f64 (diff) | |
download | nextpnr-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.cc | 4 |
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(); |