aboutsummaryrefslogtreecommitdiffstats
path: root/gowin/arch.h
diff options
context:
space:
mode:
authorYRabbit <rabbit@yrabbit.cyou>2023-04-12 13:42:16 +1000
committermyrtle <gatecat@ds0.me>2023-04-12 14:35:17 +0200
commitfddacb3dc1dd4c977d48bd91fc73b8177e44a632 (patch)
tree2ab54633423e38a6f1651ed59997cfd079d15a68 /gowin/arch.h
parent7557d33dc670f0863c5a085e1d755ff693e05fbf (diff)
downloadnextpnr-fddacb3dc1dd4c977d48bd91fc73b8177e44a632.tar.gz
nextpnr-fddacb3dc1dd4c977d48bd91fc73b8177e44a632.tar.bz2
nextpnr-fddacb3dc1dd4c977d48bd91fc73b8177e44a632.zip
gowin: implement IDES16 and OSER16 primitives
These are very cumbersome primitives that take up two cells and consequently 4 IOLOGIC bels. The primitives are implemented for the chips that contain them and are supported by apicula GW1NSR-4C, GW1NR-9 and GW1NR-9C. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
Diffstat (limited to 'gowin/arch.h')
-rw-r--r--gowin/arch.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gowin/arch.h b/gowin/arch.h
index 595c82a0..23da3661 100644
--- a/gowin/arch.h
+++ b/gowin/arch.h
@@ -532,6 +532,8 @@ struct Arch : BaseArch<ArchRanges>
namespace BelZ {
enum
{
+ ioba_z = 0, // IOBA
+ iobb_z = 1, // IOBB
mux_0_z = 10, // start Z for the MUX2LUT5 bels
oddr_0_z = 20, // XXX start Z for the ODDR bels
lutram_0_z = 30, // start Z for the LUTRAM bels
@@ -542,7 +544,9 @@ enum
pll_z = 289, // PLL
pllvr_z = 290, // PLLVR
iologic_z = 291, // IOLOGIC
- free_z = 293 // Must be the last, one can use z starting from this value, adjust accordingly.
+ oser16_z = 293, // OSER16
+ ides16_z = 294, // IDES16
+ free_z = 295 // Must be the last, one can use z starting from this value, adjust accordingly.
};
}