aboutsummaryrefslogtreecommitdiffstats
path: root/gowin/arch.cc
diff options
context:
space:
mode:
authorYRabbit <rabbit@yrabbit.cyou>2022-07-05 19:43:24 +1000
committerYRabbit <rabbit@yrabbit.cyou>2022-07-05 19:43:24 +1000
commit3364a3b6746c6df62a36e1dd319afaa97259d6ad (patch)
treefe7e96804ecee6f46ffef4522a1a3bba290fd86a /gowin/arch.cc
parent5d915a550ba8a825fa29a2cab3851adea20f40fb (diff)
parent86396c41d64d2583ec1dffca4298e83d927f0762 (diff)
downloadnextpnr-3364a3b6746c6df62a36e1dd319afaa97259d6ad.tar.gz
nextpnr-3364a3b6746c6df62a36e1dd319afaa97259d6ad.tar.bz2
nextpnr-3364a3b6746c6df62a36e1dd319afaa97259d6ad.zip
Merge branch 'master' into clock-wip
Diffstat (limited to 'gowin/arch.cc')
-rw-r--r--gowin/arch.cc30
1 files changed, 30 insertions, 0 deletions
diff --git a/gowin/arch.cc b/gowin/arch.cc
index cdb932a6..82b44f91 100644
--- a/gowin/arch.cc
+++ b/gowin/arch.cc
@@ -1307,6 +1307,36 @@ Arch::Arch(ArchArgs args) : args(args)
snprintf(buf, 32, "R%dC%d_%s", row + 1, col + 1, portname.c_str(this));
addBelInput(belname, id_OSCEN, id(buf));
break;
+ case ID_RAM16:
+ snprintf(buf, 32, "R%dC%d_RAMW", row + 1, col + 1);
+ belname = id(buf);
+ addBel(belname, id_RAMW, Loc(col, row, BelZ::lutram_0_z), false);
+
+ snprintf(buf, 32, "R%dC%d_A%d", row + 1, col + 1, 4);
+ addBelInput(belname, id_A4, id(buf));
+ snprintf(buf, 32, "R%dC%d_B%d", row + 1, col + 1, 4);
+ addBelInput(belname, id_B4, id(buf));
+ snprintf(buf, 32, "R%dC%d_C%d", row + 1, col + 1, 4);
+ addBelInput(belname, id_C4, id(buf));
+ snprintf(buf, 32, "R%dC%d_D%d", row + 1, col + 1, 4);
+ addBelInput(belname, id_D4, id(buf));
+
+ snprintf(buf, 32, "R%dC%d_A%d", row + 1, col + 1, 5);
+ addBelInput(belname, id_A5, id(buf));
+ snprintf(buf, 32, "R%dC%d_B%d", row + 1, col + 1, 5);
+ addBelInput(belname, id_B5, id(buf));
+ snprintf(buf, 32, "R%dC%d_C%d", row + 1, col + 1, 5);
+ addBelInput(belname, id_C5, id(buf));
+ snprintf(buf, 32, "R%dC%d_D%d", row + 1, col + 1, 5);
+ addBelInput(belname, id_D5, id(buf));
+
+ snprintf(buf, 32, "R%dC%d_CLK%d", row + 1, col + 1, 2);
+ addBelInput(belname, id_CLK, id(buf));
+ snprintf(buf, 32, "R%dC%d_LSR%d", row + 1, col + 1, 2);
+ addBelInput(belname, id_LSR, id(buf));
+ snprintf(buf, 32, "R%dC%d_CE%d", row + 1, col + 1, 2);
+ addBelInput(belname, id_CE, id(buf));
+ break;
// fall through the ++
case ID_LUT7:
z++;