diff options
-rw-r--r-- | gowin/arch.cc | 7 | ||||
-rw-r--r-- | gowin/pack.cc | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gowin/arch.cc b/gowin/arch.cc index 734ff911..fbe26cdd 100644 --- a/gowin/arch.cc +++ b/gowin/arch.cc @@ -2123,6 +2123,13 @@ void Arch::bind_pll_to_bel(CellInfo *ci, PLL loc) bel = id("R1C18_rPLL"); break; } + if (family == "GW1NS-2") { + if (loc == PLL::left) { + return; + } + bel = id("R10C20_rPLL"); + break; + } if (family == "GW1N-4") { bel = loc == PLL::left ? id("R1C10_rPLL") : id("R1C28_rPLL"); break; diff --git a/gowin/pack.cc b/gowin/pack.cc index bed0a8df..fc870890 100644 --- a/gowin/pack.cc +++ b/gowin/pack.cc @@ -1044,7 +1044,7 @@ static void pack_plls(Context *ctx) switch (ci->type.hash()) { case ID_rPLL: { if (parm_device == "GW1N-1" || parm_device == "GW1NZ-1" || parm_device == "GW1NR-9C" || - parm_device == "GW1NR-9" || parm_device == "GW1N-4") { + parm_device == "GW1NR-9" || parm_device == "GW1N-4" || parm_device == "GW1NS-2C") { pll_disable_unused_ports(ctx, ci); // A cell std::unique_ptr<CellInfo> cell = create_generic_cell(ctx, id_rPLL, ci->name.str(ctx) + "$rpll"); |