mirror of https://github.com/YosysHQ/nextpnr.git
nexus: Add a mapping for ODDRX2
Signed-off-by: gatecat <gatecat@ds0.me>
This commit is contained in:
parent
ab65039755
commit
452e75bad6
|
|
@ -536,18 +536,92 @@ X(ECLKOUT)
|
|||
|
||||
X(IDDRX1)
|
||||
X(ODDRX1)
|
||||
X(IDDRX2)
|
||||
X(IDDRX2DQ)
|
||||
X(ODDRX2)
|
||||
X(ODDRX2DQS)
|
||||
X(ODDRX2DQ)
|
||||
X(IDDRX4)
|
||||
X(IDDRX4DQ)
|
||||
X(ODDRX4)
|
||||
X(ODDRX4DQ)
|
||||
X(ODDRX4DQS)
|
||||
X(IDDRX5)
|
||||
X(ODDRX5)
|
||||
|
||||
X(OSHX2)
|
||||
X(OSHX4)
|
||||
|
||||
X(TSHX2DQ)
|
||||
X(TSHX2DQS)
|
||||
|
||||
X(TSHX4DQ)
|
||||
X(TSHX4DQS)
|
||||
|
||||
X(TXDATA0)
|
||||
X(TXDATA1)
|
||||
X(TXDATA2)
|
||||
X(TXDATA3)
|
||||
X(TXDATA4)
|
||||
X(TXDATA5)
|
||||
X(TXDATA6)
|
||||
X(TXDATA7)
|
||||
X(TXDATA8)
|
||||
X(TXDATA9)
|
||||
X(TSDATA0)
|
||||
X(TSDATA1)
|
||||
X(TSDATA2)
|
||||
X(TSDATA3)
|
||||
|
||||
X(RXDATA0)
|
||||
X(RXDATA1)
|
||||
X(RXDATA2)
|
||||
X(RXDATA3)
|
||||
X(RXDATA4)
|
||||
X(RXDATA5)
|
||||
X(RXDATA6)
|
||||
X(RXDATA7)
|
||||
X(RXDATA8)
|
||||
X(RXDATA9)
|
||||
|
||||
X(INDD)
|
||||
X(DOUT)
|
||||
X(TOUT)
|
||||
X(Q0)
|
||||
X(Q1)
|
||||
X(Q2)
|
||||
X(Q3)
|
||||
X(Q4)
|
||||
X(Q5)
|
||||
X(Q6)
|
||||
X(Q7)
|
||||
X(Q8)
|
||||
X(Q9)
|
||||
X(D2)
|
||||
X(D3)
|
||||
X(D4)
|
||||
X(D5)
|
||||
X(D6)
|
||||
X(D7)
|
||||
X(D8)
|
||||
X(D9)
|
||||
X(T0)
|
||||
X(T1)
|
||||
X(T2)
|
||||
X(T3)
|
||||
X(SCLK)
|
||||
|
||||
X(ALIGNWD)
|
||||
X(DQSR90)
|
||||
X(DQSW)
|
||||
X(DQSW270)
|
||||
X(RDPNTR0)
|
||||
X(RDPNTR1)
|
||||
X(RDPNTR2)
|
||||
X(WRPNTR0)
|
||||
X(WRPNTR1)
|
||||
X(WRPNTR2)
|
||||
|
||||
X(LOCAL_VCC)
|
||||
|
||||
X(DCS)
|
||||
|
|
|
|||
|
|
@ -681,6 +681,13 @@ struct NexusFasmWriter
|
|||
write_enum(cell, "INMUX");
|
||||
write_enum(cell, "OUTMUX");
|
||||
|
||||
if (cell->type == id_IOLOGIC) {
|
||||
write_enum(cell, "IDDRXN.DDRMODE");
|
||||
write_enum(cell, "ODDRXN.DDRMODE");
|
||||
write_enum(cell, "MODDRXN.DDRMODE");
|
||||
write_enum(cell, "MTDDRXN.DDRMODE");
|
||||
}
|
||||
|
||||
write_cell_muxes(cell);
|
||||
pop();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1303,6 +1303,18 @@ struct NexusPacker
|
|||
iol_rules[id_ODDRX1].port_xform[id_D0] = id_TXDATA0;
|
||||
iol_rules[id_ODDRX1].port_xform[id_D1] = id_TXDATA1;
|
||||
|
||||
iol_rules[id_ODDRX2].new_type = id_IOLOGIC;
|
||||
iol_rules[id_ODDRX2].set_params.emplace_back(id_MODE, std::string("ODDRXN"));
|
||||
iol_rules[id_ODDRX2].set_params.emplace_back(ctx->id("ODDRXN.DDRMODE"), std::string("ODDRX2"));
|
||||
iol_rules[id_ODDRX2].port_xform[id_ECLK] = id_ECLK;
|
||||
iol_rules[id_ODDRX2].port_xform[id_SCLK] = id_SCLKOUT;
|
||||
iol_rules[id_ODDRX2].port_xform[id_RST] = id_LSROUT;
|
||||
iol_rules[id_ODDRX2].port_xform[id_Q] = id_DOUT;
|
||||
iol_rules[id_ODDRX2].port_xform[id_D0] = id_TXDATA0;
|
||||
iol_rules[id_ODDRX2].port_xform[id_D1] = id_TXDATA1;
|
||||
iol_rules[id_ODDRX2].port_xform[id_D2] = id_TXDATA2;
|
||||
iol_rules[id_ODDRX2].port_xform[id_D3] = id_TXDATA3;
|
||||
|
||||
generic_xform(iol_rules, true);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -231,15 +231,16 @@ static const dict<IdString, Arch::CellPinsData> base_cell_pin_data = {
|
|||
}},
|
||||
{id_IOLOGIC,
|
||||
{
|
||||
{id_SCLKIN, PINSTYLE_IOL_CLK},
|
||||
{id_SCLKOUT, PINSTYLE_IOL_CLK},
|
||||
{id_LSRIN, PINSTYLE_IOL_CELSR},
|
||||
{id_LSROUT, PINSTYLE_IOL_CELSR},
|
||||
{id_CEIN, PINSTYLE_IOL_CELSR},
|
||||
{id_CEOUT, PINSTYLE_IOL_CELSR},
|
||||
{id_TXDATA0, PINSTYLE_CIB},
|
||||
{id_TXDATA1, PINSTYLE_CIB},
|
||||
{id_TSDATA0, PINSTYLE_CIB},
|
||||
{id_SCLKIN, PINSTYLE_IOL_CLK}, {id_SCLKOUT, PINSTYLE_IOL_CLK}, {id_LSRIN, PINSTYLE_IOL_CELSR},
|
||||
{id_LSROUT, PINSTYLE_IOL_CELSR}, {id_CEIN, PINSTYLE_IOL_CELSR}, {id_CEOUT, PINSTYLE_IOL_CELSR},
|
||||
{id_TXDATA0, PINSTYLE_CIB}, {id_TXDATA1, PINSTYLE_CIB}, {id_TXDATA2, PINSTYLE_CIB},
|
||||
{id_TXDATA3, PINSTYLE_CIB}, {id_TXDATA4, PINSTYLE_CIB}, {id_TXDATA5, PINSTYLE_CIB},
|
||||
{id_TXDATA6, PINSTYLE_CIB}, {id_TXDATA7, PINSTYLE_CIB}, {id_TXDATA8, PINSTYLE_CIB},
|
||||
{id_TXDATA9, PINSTYLE_CIB},
|
||||
|
||||
{id_TSDATA0, PINSTYLE_CIB}, {id_TSDATA1, PINSTYLE_CIB}, {id_TSDATA2, PINSTYLE_CIB},
|
||||
{id_TSDATA3, PINSTYLE_CIB},
|
||||
|
||||
}},
|
||||
{id_CONFIG_MULTIBOOT_CORE,
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue