From 5d5ea57e2123a6d66aa63bf82ac6110713ab8bc7 Mon Sep 17 00:00:00 2001 From: YRabbit Date: Tue, 31 Jan 2023 18:46:38 +1000 Subject: gowin: Add PLL support for the GW1NS-2C chip Signed-off-by: YRabbit --- gowin/arch.cc | 7 +++++++ gowin/pack.cc | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'gowin') 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 cell = create_generic_cell(ctx, id_rPLL, ci->name.str(ctx) + "$rpll"); -- cgit v1.2.3