gowin: Add PLL support for the GW1NS-2C chip

Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
This commit is contained in:
YRabbit 2023-01-31 18:46:38 +10:00
parent aac36ecf3f
commit 5d5ea57e21
2 changed files with 8 additions and 1 deletions

View File

@ -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;

View File

@ -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");