diff options
author | gatecat <gatecat@ds0.me> | 2023-02-21 14:21:30 +0100 |
---|---|---|
committer | gatecat <gatecat@ds0.me> | 2023-02-21 14:41:48 +0100 |
commit | 0ed964247e8f3efba4a2569ddf7131b54736b632 (patch) | |
tree | 5281ecc7ec9cd7045c7dc201933636887f4c6d1e /generic/viaduct/fabulous/fasm.cc | |
parent | 03b6fb3ddb29b6487ba5a14a1ac191a368a14c51 (diff) | |
download | nextpnr-0ed964247e8f3efba4a2569ddf7131b54736b632.tar.gz nextpnr-0ed964247e8f3efba4a2569ddf7131b54736b632.tar.bz2 nextpnr-0ed964247e8f3efba4a2569ddf7131b54736b632.zip |
fabulous: Add support for packing carry chains
Signed-off-by: gatecat <gatecat@ds0.me>
Diffstat (limited to 'generic/viaduct/fabulous/fasm.cc')
-rw-r--r-- | generic/viaduct/fabulous/fasm.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/generic/viaduct/fabulous/fasm.cc b/generic/viaduct/fabulous/fasm.cc index e4b95f62..047ffcbd 100644 --- a/generic/viaduct/fabulous/fasm.cc +++ b/generic/viaduct/fabulous/fasm.cc @@ -107,11 +107,15 @@ struct FabFasmWriter } } + void add_feature(const std::string &name) { out << prefix << name << std::endl; } + void write_logic(const CellInfo *lc) { prefix = format_name(ctx->getBelName(lc->bel)) + "."; if (lc->type.in(id_FABULOUS_LC, id_FABULOUS_COMB)) { write_int_vector_param(lc, "INIT", 0U, 1U << cfg.clb.lut_k); // todo lut depermute and thru + if (bool_or_default(lc->params, id_I0MUX, false)) + add_feature("IOmux"); // typo in FABulous? } if (lc->type == id_FABULOUS_LC) { write_bool(lc, "FF"); |