aboutsummaryrefslogtreecommitdiffstats
path: root/generic/viaduct/fabulous/fasm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'generic/viaduct/fabulous/fasm.cc')
-rw-r--r--generic/viaduct/fabulous/fasm.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/generic/viaduct/fabulous/fasm.cc b/generic/viaduct/fabulous/fasm.cc
index e4725555..e4b95f62 100644
--- a/generic/viaduct/fabulous/fasm.cc
+++ b/generic/viaduct/fabulous/fasm.cc
@@ -123,6 +123,14 @@ struct FabFasmWriter
write_bool(lc, "NEG_SR");
write_bool(lc, "ASYNC_SR");
}
+ if (lc->type.in(id_FABULOUS_MUX4, id_FABULOUS_MUX8)) {
+ // TODO: don't hardcode prefix
+ out << prefix << "I.c0" << std::endl;
+ }
+ if (lc->type == id_FABULOUS_MUX8) {
+ // TODO: don't hardcode prefix
+ out << prefix << "I.c1" << std::endl;
+ }
}
void write_io(const CellInfo *io)
@@ -161,7 +169,8 @@ struct FabFasmWriter
void write_cell(const CellInfo *ci)
{
out << stringf("# config for cell '%s'\n", ctx->nameOf(ci)) << std::endl;
- if (ci->type.in(id_FABULOUS_COMB, id_FABULOUS_FF, id_FABULOUS_LC))
+ if (ci->type.in(id_FABULOUS_COMB, id_FABULOUS_FF, id_FABULOUS_LC, id_FABULOUS_MUX2, id_FABULOUS_MUX4,
+ id_FABULOUS_MUX8))
write_logic(ci);
else if (ci->type == id_IO_1_bidirectional_frame_config_pass)
write_io(ci);