
- Both the mode used by yosys and all Gowin primitive modes are supported. - The ALU always starts with a zero slice. - The maximum length of the ALU chain is limited to one line of the chip. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
454 lines
3.5 KiB
PHP
454 lines
3.5 KiB
PHP
X(A0)
|
|
X(B0)
|
|
X(C0)
|
|
X(D0)
|
|
X(A1)
|
|
X(B1)
|
|
X(C1)
|
|
X(D1)
|
|
X(A2)
|
|
X(B2)
|
|
X(C2)
|
|
X(D2)
|
|
X(A3)
|
|
X(B3)
|
|
X(C3)
|
|
X(D3)
|
|
X(A4)
|
|
X(B4)
|
|
X(C4)
|
|
X(D4)
|
|
X(A5)
|
|
X(B5)
|
|
X(C5)
|
|
X(D5)
|
|
X(A6)
|
|
X(B6)
|
|
X(C6)
|
|
X(D6)
|
|
X(A7)
|
|
X(B7)
|
|
X(C7)
|
|
X(D7)
|
|
X(F0)
|
|
X(F1)
|
|
X(F2)
|
|
X(F3)
|
|
X(F4)
|
|
X(F5)
|
|
X(F6)
|
|
X(F7)
|
|
X(Q0)
|
|
X(Q1)
|
|
X(Q2)
|
|
X(Q3)
|
|
X(Q4)
|
|
X(Q5)
|
|
X(Q6)
|
|
X(Q7)
|
|
X(OF0)
|
|
X(OF1)
|
|
X(OF2)
|
|
X(OF3)
|
|
X(OF4)
|
|
X(OF5)
|
|
X(OF6)
|
|
X(OF7)
|
|
X(X01)
|
|
X(X02)
|
|
X(X03)
|
|
X(X04)
|
|
X(X05)
|
|
X(X06)
|
|
X(X07)
|
|
X(X08)
|
|
X(N100)
|
|
X(SN10)
|
|
X(SN20)
|
|
X(N130)
|
|
X(S100)
|
|
X(S130)
|
|
X(E100)
|
|
X(EW10)
|
|
X(EW20)
|
|
X(E130)
|
|
X(W100)
|
|
X(W130)
|
|
X(N200)
|
|
X(N210)
|
|
X(N220)
|
|
X(N230)
|
|
X(N240)
|
|
X(N250)
|
|
X(N260)
|
|
X(N270)
|
|
X(S200)
|
|
X(S210)
|
|
X(S220)
|
|
X(S230)
|
|
X(S240)
|
|
X(S250)
|
|
X(S260)
|
|
X(S270)
|
|
X(E200)
|
|
X(E210)
|
|
X(E220)
|
|
X(E230)
|
|
X(E240)
|
|
X(E250)
|
|
X(E260)
|
|
X(E270)
|
|
X(W200)
|
|
X(W210)
|
|
X(W220)
|
|
X(W230)
|
|
X(W240)
|
|
X(W250)
|
|
X(W260)
|
|
X(W270)
|
|
X(N800)
|
|
X(N810)
|
|
X(N820)
|
|
X(N830)
|
|
X(S800)
|
|
X(S810)
|
|
X(S820)
|
|
X(S830)
|
|
X(E800)
|
|
X(E810)
|
|
X(E820)
|
|
X(E830)
|
|
X(W800)
|
|
X(W810)
|
|
X(W820)
|
|
X(W830)
|
|
X(CLK0)
|
|
X(CLK1)
|
|
X(CLK2)
|
|
X(LSR0)
|
|
X(LSR1)
|
|
X(LSR2)
|
|
X(CE0)
|
|
X(CE1)
|
|
X(CE2)
|
|
X(SEL0)
|
|
X(SEL1)
|
|
X(SEL2)
|
|
X(SEL3)
|
|
X(SEL4)
|
|
X(SEL5)
|
|
X(SEL6)
|
|
X(SEL7)
|
|
X(N101)
|
|
X(N131)
|
|
X(S101)
|
|
X(S131)
|
|
X(E101)
|
|
X(E131)
|
|
X(W101)
|
|
X(W131)
|
|
X(N201)
|
|
X(N211)
|
|
X(N221)
|
|
X(N231)
|
|
X(N241)
|
|
X(N251)
|
|
X(N261)
|
|
X(N271)
|
|
X(S201)
|
|
X(S211)
|
|
X(S221)
|
|
X(S231)
|
|
X(S241)
|
|
X(S251)
|
|
X(S261)
|
|
X(S271)
|
|
X(E201)
|
|
X(E211)
|
|
X(E221)
|
|
X(E231)
|
|
X(E241)
|
|
X(E251)
|
|
X(E261)
|
|
X(E271)
|
|
X(W201)
|
|
X(W211)
|
|
X(W221)
|
|
X(W231)
|
|
X(W241)
|
|
X(W251)
|
|
X(W261)
|
|
X(W271)
|
|
X(N202)
|
|
X(N212)
|
|
X(N222)
|
|
X(N232)
|
|
X(N242)
|
|
X(N252)
|
|
X(N262)
|
|
X(N272)
|
|
X(S202)
|
|
X(S212)
|
|
X(S222)
|
|
X(S232)
|
|
X(S242)
|
|
X(S252)
|
|
X(S262)
|
|
X(S272)
|
|
X(E202)
|
|
X(E212)
|
|
X(E222)
|
|
X(E232)
|
|
X(E242)
|
|
X(E252)
|
|
X(E262)
|
|
X(E272)
|
|
X(W202)
|
|
X(W212)
|
|
X(W222)
|
|
X(W232)
|
|
X(W242)
|
|
X(W252)
|
|
X(W262)
|
|
X(W272)
|
|
X(N804)
|
|
X(N814)
|
|
X(N824)
|
|
X(N834)
|
|
X(S804)
|
|
X(S814)
|
|
X(S824)
|
|
X(S834)
|
|
X(E804)
|
|
X(E814)
|
|
X(E824)
|
|
X(E834)
|
|
X(W804)
|
|
X(W814)
|
|
X(W824)
|
|
X(W834)
|
|
X(N808)
|
|
X(N818)
|
|
X(N828)
|
|
X(N838)
|
|
X(S808)
|
|
X(S818)
|
|
X(S828)
|
|
X(S838)
|
|
X(E808)
|
|
X(E818)
|
|
X(E828)
|
|
X(E838)
|
|
X(W808)
|
|
X(W818)
|
|
X(W828)
|
|
X(W838)
|
|
X(E110)
|
|
X(W110)
|
|
X(E120)
|
|
X(W120)
|
|
X(S110)
|
|
X(N110)
|
|
X(S120)
|
|
X(N120)
|
|
X(E111)
|
|
X(W111)
|
|
X(E121)
|
|
X(W121)
|
|
X(S111)
|
|
X(N111)
|
|
X(S121)
|
|
X(N121)
|
|
X(LB01)
|
|
X(LB11)
|
|
X(LB21)
|
|
X(LB31)
|
|
X(LB41)
|
|
X(LB51)
|
|
X(LB61)
|
|
X(LB71)
|
|
X(GB00)
|
|
X(GB10)
|
|
X(GB20)
|
|
X(GB30)
|
|
X(GB40)
|
|
X(GB50)
|
|
X(GB60)
|
|
X(GB70)
|
|
X(VCC)
|
|
X(VSS)
|
|
X(LT00)
|
|
X(LT10)
|
|
X(LT20)
|
|
X(LT30)
|
|
X(LT02)
|
|
X(LT13)
|
|
X(LT01)
|
|
X(LT04)
|
|
X(LBO0)
|
|
X(LBO1)
|
|
X(SS00)
|
|
X(SS40)
|
|
X(GT00)
|
|
X(GT10)
|
|
X(GBO0)
|
|
X(GBO1)
|
|
X(DI0)
|
|
X(DI1)
|
|
X(DI2)
|
|
X(DI3)
|
|
X(DI4)
|
|
X(DI5)
|
|
X(DI6)
|
|
X(DI7)
|
|
X(CIN0)
|
|
X(CIN1)
|
|
X(CIN2)
|
|
X(CIN3)
|
|
X(CIN4)
|
|
X(CIN5)
|
|
X(COUT0)
|
|
X(COUT1)
|
|
X(COUT2)
|
|
X(COUT3)
|
|
X(COUT4)
|
|
X(COUT5)
|
|
// slice items
|
|
X(SLICE)
|
|
X(CLK)
|
|
X(LSR)
|
|
X(CE)
|
|
X(Q)
|
|
X(F)
|
|
X(A)
|
|
X(B)
|
|
X(C)
|
|
X(D)
|
|
// iob items
|
|
X(IOB)
|
|
X(I)
|
|
X(O)
|
|
X(IO)
|
|
X(OE)
|
|
// bels
|
|
X(DFF0)
|
|
X(DFF1)
|
|
X(DFF2)
|
|
X(DFF3)
|
|
X(DFF4)
|
|
X(DFF5)
|
|
|
|
X(LUT0)
|
|
X(LUT1)
|
|
X(LUT2)
|
|
X(LUT3)
|
|
X(LUT4)
|
|
X(LUT5)
|
|
X(LUT6)
|
|
X(LUT7)
|
|
|
|
X(IOBA)
|
|
X(IOBB)
|
|
X(IOBC)
|
|
X(IOBD)
|
|
X(IOBE)
|
|
X(IOBF)
|
|
X(IOBG)
|
|
X(IOBH)
|
|
X(IOBI)
|
|
X(IOBJ)
|
|
|
|
// Wide LUTs
|
|
X(MUX2_LUT5)
|
|
X(MUX2_LUT6)
|
|
X(MUX2_LUT7)
|
|
X(MUX2_LUT8)
|
|
X(GW_MUX2_LUT5)
|
|
X(GW_MUX2_LUT6)
|
|
X(GW_MUX2_LUT7)
|
|
X(GW_MUX2_LUT8)
|
|
|
|
// ALU
|
|
X(ALU)
|
|
X(GND)
|
|
X(ALU_MODE)
|
|
|
|
// DFF types
|
|
X(DFF)
|
|
X(DFFE)
|
|
X(DFFS)
|
|
X(DFFSE)
|
|
X(DFFR)
|
|
X(DFFRE)
|
|
X(DFFP)
|
|
X(DFFPE)
|
|
X(DFFC)
|
|
X(DFFCE)
|
|
X(DFFN)
|
|
X(DFFNE)
|
|
X(DFFNS)
|
|
X(DFFNSE)
|
|
X(DFFNR)
|
|
X(DFFNRE)
|
|
X(DFFNP)
|
|
X(DFFNPE)
|
|
X(DFFNC)
|
|
X(DFFNCE)
|
|
|
|
// IOB types
|
|
X(IBUF)
|
|
X(OBUF)
|
|
X(IOBUF)
|
|
X(TBUF)
|
|
|
|
// primitive attributes
|
|
X(INIT)
|
|
X(FF_USED)
|
|
X(FF_TYPE)
|
|
X(INPUT_USED)
|
|
X(OUTPUT_USED)
|
|
X(ENABLE_USED)
|
|
X(BEL)
|
|
|
|
// ports
|
|
X(EN)
|
|
X(E)
|
|
X(Y)
|
|
X(PAD)
|
|
X(RESET)
|
|
X(SET)
|
|
X(PRESET)
|
|
X(CLEAR)
|
|
X(I0)
|
|
X(I1)
|
|
X(I2)
|
|
X(I3)
|
|
X(OEN)
|
|
X(S0)
|
|
X(SEL)
|
|
X(SUM)
|
|
X(CIN)
|
|
X(COUT)
|
|
X(OF)
|
|
|
|
// timing
|
|
X(X0)
|
|
X(FX1)
|
|
X(X2)
|
|
X(X8)
|
|
X(PIO_CENT_PCLK)
|
|
X(CENT_SPINE_PCLK)
|
|
X(SPINE_TAP_PCLK)
|
|
X(TAP_BRANCH_PCLK)
|
|
X(BRANCH_PCLK)
|
|
X(clksetpos)
|
|
X(clkholdpos)
|
|
X(clk_qpos)
|
|
X(a_f)
|
|
X(b_f)
|
|
X(c_f)
|
|
X(d_f)
|
|
X(fx_ofx1)
|
|
X(I01)
|
|
|