Merge pull request #1045 from yrabbit/unused-ports
gowin: mark the PLL ports that are not in use
This commit is contained in:
commit
c61d490bd4
@ -931,6 +931,14 @@ X(CLKOUTD)
|
|||||||
X(CLKOUTD3)
|
X(CLKOUTD3)
|
||||||
X(LOCK)
|
X(LOCK)
|
||||||
|
|
||||||
|
// PLL parameters
|
||||||
|
X(CLKOUTPS)
|
||||||
|
X(CLKOUTDIV)
|
||||||
|
X(CLKOUTDIV3)
|
||||||
|
X(PWDEN)
|
||||||
|
X(RSTEN)
|
||||||
|
X(FLOCK)
|
||||||
|
|
||||||
// timing
|
// timing
|
||||||
X(X0)
|
X(X0)
|
||||||
X(FX1)
|
X(FX1)
|
||||||
|
@ -1019,6 +1019,14 @@ static void pack_plls(Context *ctx)
|
|||||||
switch (ci->type.hash()) {
|
switch (ci->type.hash()) {
|
||||||
case ID_rPLL: {
|
case ID_rPLL: {
|
||||||
if (parm_device == "GW1N-1" || parm_device == "GW1NZ-1") {
|
if (parm_device == "GW1N-1" || parm_device == "GW1NZ-1") {
|
||||||
|
// Unused ports will be disabled during image generation. Here we add flags for such ports.
|
||||||
|
Property pr_enable("ENABLE"), pr_disable("DISABLE");
|
||||||
|
IdString ports[][2] = {{id_CLKOUTP, id_CLKOUTPS}, {id_CLKOUTD, id_CLKOUTDIV},
|
||||||
|
{id_CLKOUTD3, id_CLKOUTDIV3}, {id_LOCK, id_FLOCK},
|
||||||
|
{id_RESET_P, id_PWDEN}, {id_RESET, id_RSTEN}};
|
||||||
|
for (int i = 0; i < 6; ++i) {
|
||||||
|
ci->setParam(ports[i][1], port_used(ci, ports[i][0]) ? pr_enable : pr_disable);
|
||||||
|
}
|
||||||
// B half
|
// B half
|
||||||
std::unique_ptr<CellInfo> cell = create_generic_cell(ctx, id_RPLLB, ci->name.str(ctx) + "$rpllb");
|
std::unique_ptr<CellInfo> cell = create_generic_cell(ctx, id_RPLLB, ci->name.str(ctx) + "$rpllb");
|
||||||
reconnect_rpllb(ctx, ci, cell.get());
|
reconnect_rpllb(ctx, ci, cell.get());
|
||||||
|
Loading…
Reference in New Issue
Block a user