nextpnr/ice40/constids.inc
Sylvain Munaut 49ae495344 ice40: Add support for PLL ICEGATE function
Technically you can enable it independently on CORE and GLOBAL
output, but this is not exposed in the classic primitive, so
we do the same as icecube2 and enable/disable it for both output
path depending on the argument

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2023-02-01 11:41:35 +01:00

618 lines
6.7 KiB
C++

// pin and port names
X(I0)
X(I1)
X(I2)
X(I3)
X(O)
X(LO)
X(CIN)
X(COUT)
X(CEN)
X(CLK)
X(SR)
X(MASK_0)
X(MASK_1)
X(MASK_2)
X(MASK_3)
X(MASK_4)
X(MASK_5)
X(MASK_6)
X(MASK_7)
X(MASK_8)
X(MASK_9)
X(MASK_10)
X(MASK_11)
X(MASK_12)
X(MASK_13)
X(MASK_14)
X(MASK_15)
X(RDATA_0)
X(RDATA_1)
X(RDATA_2)
X(RDATA_3)
X(RDATA_4)
X(RDATA_5)
X(RDATA_6)
X(RDATA_7)
X(RDATA_8)
X(RDATA_9)
X(RDATA_10)
X(RDATA_11)
X(RDATA_12)
X(RDATA_13)
X(RDATA_14)
X(RDATA_15)
X(WDATA_0)
X(WDATA_1)
X(WDATA_2)
X(WDATA_3)
X(WDATA_4)
X(WDATA_5)
X(WDATA_6)
X(WDATA_7)
X(WDATA_8)
X(WDATA_9)
X(WDATA_10)
X(WDATA_11)
X(WDATA_12)
X(WDATA_13)
X(WDATA_14)
X(WDATA_15)
X(WADDR_0)
X(WADDR_1)
X(WADDR_2)
X(WADDR_3)
X(WADDR_4)
X(WADDR_5)
X(WADDR_6)
X(WADDR_7)
X(WADDR_8)
X(WADDR_9)
X(WADDR_10)
X(RADDR_0)
X(RADDR_1)
X(RADDR_2)
X(RADDR_3)
X(RADDR_4)
X(RADDR_5)
X(RADDR_6)
X(RADDR_7)
X(RADDR_8)
X(RADDR_9)
X(RADDR_10)
X(WCLK)
X(WCLKE)
X(WE)
X(RCLK)
X(RCLKE)
X(RE)
X(PACKAGE_PIN)
X(LATCH_INPUT_VALUE)
X(CLOCK_ENABLE)
X(INPUT_CLK)
X(OUTPUT_CLK)
X(OUTPUT_ENABLE)
X(D_OUT_0)
X(D_OUT_1)
X(D_IN_0)
X(D_IN_1)
X(USER_SIGNAL_TO_GLOBAL_BUFFER)
X(GLOBAL_BUFFER_OUTPUT)
X(REFERENCECLK)
X(EXTFEEDBACK)
X(DYNAMICDELAY_0)
X(DYNAMICDELAY_1)
X(DYNAMICDELAY_2)
X(DYNAMICDELAY_3)
X(DYNAMICDELAY_4)
X(DYNAMICDELAY_5)
X(DYNAMICDELAY_6)
X(DYNAMICDELAY_7)
X(LOCK)
X(PLLOUT_A)
X(PLLOUT_B)
X(PLLOUT_A_GLOBAL)
X(PLLOUT_B_GLOBAL)
X(BYPASS)
X(RESETB)
X(LATCHINPUTVALUE)
X(SDO)
X(SDI)
X(SCLK)
X(BOOT)
X(S0)
X(S1)
X(ADDSUBBOT)
X(ADDSUBTOP)
X(AHOLD)
X(A_0)
X(A_1)
X(A_10)
X(A_11)
X(A_12)
X(A_13)
X(A_14)
X(A_15)
X(A_2)
X(A_3)
X(A_4)
X(A_5)
X(A_6)
X(A_7)
X(A_8)
X(A_9)
X(BHOLD)
X(B_0)
X(B_1)
X(B_10)
X(B_11)
X(B_12)
X(B_13)
X(B_14)
X(B_15)
X(B_2)
X(B_3)
X(B_4)
X(B_5)
X(B_6)
X(B_7)
X(B_8)
X(B_9)
X(CE)
X(CHOLD)
X(CI)
X(CO)
X(C_0)
X(C_1)
X(C_10)
X(C_11)
X(C_12)
X(C_13)
X(C_14)
X(C_15)
X(C_2)
X(C_3)
X(C_4)
X(C_5)
X(C_6)
X(C_7)
X(C_8)
X(C_9)
X(DHOLD)
X(D_0)
X(D_1)
X(D_10)
X(D_11)
X(D_12)
X(D_13)
X(D_14)
X(D_15)
X(D_2)
X(D_3)
X(D_4)
X(D_5)
X(D_6)
X(D_7)
X(D_8)
X(D_9)
X(IRSTBOT)
X(IRSTTOP)
X(OHOLDBOT)
X(OHOLDTOP)
X(OLOADBOT)
X(OLOADTOP)
X(ORSTBOT)
X(ORSTTOP)
X(O_0)
X(O_1)
X(O_10)
X(O_11)
X(O_12)
X(O_13)
X(O_14)
X(O_15)
X(O_16)
X(O_17)
X(O_18)
X(O_19)
X(O_2)
X(O_20)
X(O_21)
X(O_22)
X(O_23)
X(O_24)
X(O_25)
X(O_26)
X(O_27)
X(O_28)
X(O_29)
X(O_3)
X(O_30)
X(O_31)
X(O_4)
X(O_5)
X(O_6)
X(O_7)
X(O_8)
X(O_9)
X(SIGNEXTIN)
X(SIGNEXTOUT)
X(ACCUMCI)
X(ACCUMCO)
X(CLKHF)
X(CLKHFEN)
X(CLKHFPU)
X(CLKHF_FABRIC)
X(TRIM0)
X(TRIM1)
X(TRIM2)
X(TRIM3)
X(TRIM4)
X(TRIM5)
X(TRIM6)
X(TRIM7)
X(TRIM8)
X(TRIM9)
X(CLKLF)
X(CLKLFEN)
X(CLKLFPU)
X(CLKLF_FABRIC)
X(I2CIRQ)
X(I2CWKUP)
X(SBACKO)
X(SBADRI0)
X(SBADRI1)
X(SBADRI2)
X(SBADRI3)
X(SBADRI4)
X(SBADRI5)
X(SBADRI6)
X(SBADRI7)
X(SBCLKI)
X(SBDATI0)
X(SBDATI1)
X(SBDATI2)
X(SBDATI3)
X(SBDATI4)
X(SBDATI5)
X(SBDATI6)
X(SBDATI7)
X(SBDATO0)
X(SBDATO1)
X(SBDATO2)
X(SBDATO3)
X(SBDATO4)
X(SBDATO5)
X(SBDATO6)
X(SBDATO7)
X(SBRWI)
X(SBSTBI)
X(SCLI)
X(SCLO)
X(SCLOE)
X(SDAI)
X(SDAO)
X(SDAOE)
X(MCSNO0)
X(MCSNO1)
X(MCSNO2)
X(MCSNO3)
X(MCSNOE0)
X(MCSNOE1)
X(MCSNOE2)
X(MCSNOE3)
X(MI)
X(MO)
X(MOE)
X(SCKI)
X(SCKO)
X(SCKOE)
X(SCSNI)
X(SI)
X(SO)
X(SOE)
X(SPIIRQ)
X(SPIWKUP)
X(PU_ENB)
X(WEAK_PU_ENB)
X(LEDDADDR0)
X(LEDDADDR1)
X(LEDDADDR2)
X(LEDDADDR3)
X(LEDDCLK)
X(LEDDCS)
X(LEDDDAT0)
X(LEDDDAT1)
X(LEDDDAT2)
X(LEDDDAT3)
X(LEDDDAT4)
X(LEDDDAT5)
X(LEDDDAT6)
X(LEDDDAT7)
X(LEDDDEN)
X(LEDDEXE)
X(LEDDON)
X(PWMOUT0)
X(PWMOUT1)
X(PWMOUT2)
X(LEDPU)
X(EN)
X(RGBPU)
X(CURREN)
X(RGB0PWM)
X(RGB1PWM)
X(RGB2PWM)
X(RGBLEDEN)
X(RGB0)
X(RGB1)
X(RGB2)
X(ADDRESS_0)
X(ADDRESS_1)
X(ADDRESS_10)
X(ADDRESS_11)
X(ADDRESS_12)
X(ADDRESS_13)
X(ADDRESS_2)
X(ADDRESS_3)
X(ADDRESS_4)
X(ADDRESS_5)
X(ADDRESS_6)
X(ADDRESS_7)
X(ADDRESS_8)
X(ADDRESS_9)
X(CHIPSELECT)
X(CLOCK)
X(DATAIN_0)
X(DATAIN_1)
X(DATAIN_10)
X(DATAIN_11)
X(DATAIN_12)
X(DATAIN_13)
X(DATAIN_14)
X(DATAIN_15)
X(DATAIN_2)
X(DATAIN_3)
X(DATAIN_4)
X(DATAIN_5)
X(DATAIN_6)
X(DATAIN_7)
X(DATAIN_8)
X(DATAIN_9)
X(DATAOUT_0)
X(DATAOUT_1)
X(DATAOUT_10)
X(DATAOUT_11)
X(DATAOUT_12)
X(DATAOUT_13)
X(DATAOUT_14)
X(DATAOUT_15)
X(DATAOUT_2)
X(DATAOUT_3)
X(DATAOUT_4)
X(DATAOUT_5)
X(DATAOUT_6)
X(DATAOUT_7)
X(DATAOUT_8)
X(DATAOUT_9)
X(MASKWREN_0)
X(MASKWREN_1)
X(MASKWREN_2)
X(MASKWREN_3)
X(POWEROFF)
X(SLEEP)
X(STANDBY)
X(WREN)
// cell and bel types
X(ICESTORM_LC)
X(ICESTORM_RAM)
X(SB_IO)
X(SB_GB)
X(ICESTORM_PLL)
X(SB_WARMBOOT)
X(ICESTORM_DSP)
X(ICESTORM_HFOSC)
X(ICESTORM_LFOSC)
X(SMCCLK)
X(SB_I2C)
X(SB_SPI)
X(IO_I3C)
X(SB_LEDDA_IP)
X(SB_RGBA_DRV)
X(ICESTORM_SPRAM)
X(SB_LED_DRV_CUR)
X(SB_RGB_DRV)
// cell parameters
X(DFF_ENABLE)
X(CARRY_ENABLE)
X(NEG_CLK)
X(IO_STANDARD)
X(A)
X(ASYNC_SR)
X(A_REG)
X(A_SIGNED)
X(BEL)
X(BEL_PAD_INPUT)
X(BOTADDSUB_CARRYSELECT)
X(BOTADDSUB_LOWERINPUT)
X(BOTADDSUB_UPPERINPUT)
X(BOTOUTPUT_SELECT)
X(BOT_8x8_MULT_REG)
X(BUS_ADDR74)
X(B_REG)
X(B_SIGNED)
X(C)
X(CARRY_IN_MUX)
X(CIN_CONST)
X(CIN_SET)
X(CLKHF_DIV)
X(CURRENT_MODE)
X(C_REG)
X(D)
X(DELAY_ADJMODE_FB)
X(DELAY_ADJMODE_REL)
X(DELAY_ADJUSTMENT_MODE_FEEDBACK)
X(DELAY_ADJUSTMENT_MODE_RELATIVE)
X(DIVF)
X(DIVQ)
X(DIVR)
X(D_REG)
X(E)
X(ENABLE_ICEGATE_PORTA)
X(ENABLE_ICEGATE_PORTB)
X(FDA_FEEDBACK)
X(FDA_RELATIVE)
X(FEEDBACK_PATH)
X(FILTER_RANGE)
X(FOR_PAD_IN)
X(GLB2LOCAL)
X(GLB_NETWK)
X(GLOBAL)
X(GND)
X(GRID_X)
X(GRID_Y)
X(GRID_Z)
X(I)
X(I2C_SLAVE_INIT_ADDR)
X(INDEX)
X(LEDDRST)
X(LOCAL)
X(LUTFF_COUT)
X(LUTFF_GLOBAL)
X(LUTFF_IN)
X(LUTFF_IN_LUT)
X(LUTFF_LOUT)
X(LUTFF_OUT)
X(LUT_INIT)
X(MODE_8x8)
X(NEG_CLK_R)
X(NEG_CLK_W)
X(NEG_TRIGGER)
X(PACKAGEPIN)
X(PIN_TYPE)
X(PIPELINE_16x16_MULT_REG1)
X(PIPELINE_16x16_MULT_REG2)
X(PLLOUTCORE)
X(PLLOUTCOREA)
X(PLLOUTCOREB)
X(PLLOUTGLOBAL)
X(PLLOUTGLOBALA)
X(PLLOUTGLOBALB)
X(PLLOUT_SELECT)
X(PLLOUT_SELECT_A)
X(PLLOUT_SELECT_B)
X(PLLOUT_SELECT_PORTA)
X(PLLOUT_SELECT_PORTB)
X(PLLTYPE)
X(PULLUP)
X(PULLUP_RESISTOR)
X(Q)
X(R)
X(RCLKN)
X(READ_MODE)
X(RGB0_CURRENT)
X(RGB1_CURRENT)
X(RGB2_CURRENT)
X(ROUTE_THROUGH_FABRIC)
X(S)
X(SB_CARRY)
X(SB_DFF)
X(SB_DFFE)
X(SB_DFFER)
X(SB_DFFES)
X(SB_DFFESR)
X(SB_DFFESS)
X(SB_DFFN)
X(SB_DFFNE)
X(SB_DFFNER)
X(SB_DFFNES)
X(SB_DFFNESR)
X(SB_DFFNESS)
X(SB_DFFNR)
X(SB_DFFNS)
X(SB_DFFNSR)
X(SB_DFFNSS)
X(SB_DFFR)
X(SB_DFFS)
X(SB_DFFSR)
X(SB_DFFSS)
X(SB_GB_IO)
X(SB_HFOSC)
X(SB_LFOSC)
X(SB_LUT4)
X(SB_MAC16)
X(SB_PLL40_2F_CORE)
X(SB_PLL40_2F_PAD)
X(SB_PLL40_2_PAD)
X(SB_PLL40_CORE)
X(SB_PLL40_PAD)
X(SB_RAM40_4K)
X(SB_RAM40_4KNR)
X(SB_RAM40_4KNRNW)
X(SB_RAM40_4KNW)
X(SB_SPRAM256KA)
X(SDA_INPUT_DELAYED)
X(SDA_OUTPUT_DELAYED)
X(SET_NORESET)
X(SHIFTREG_DIVMODE)
X(SHIFTREG_DIV_MODE)
X(SP12_H)
X(SP12_V)
X(SP4_H)
X(SP4_V)
X(TEST_MODE)
X(TOPADDSUB_CARRYSELECT)
X(TOPADDSUB_LOWERINPUT)
X(TOPADDSUB_UPPERINPUT)
X(TOPOUTPUT_SELECT)
X(TOP_8x8_MULT_REG)
X(TRIM_EN)
X(TYPE)
X(VCC)
X(WCLKN)
X(WRITE_MODE)
X(Y)
X(hx1k)
X(hx4k)
X(hx8k)
X(lp1k)
X(lp384)
X(lp4k)
X(lp8k)
X(no_promote_globals)
X(opt_timing)
X(pack)
X(pcf_allow_unconstrained)
X(place)
X(placer)
X(promote_logic)
X(route)
X(router)
X(u1k)
X(u2k)
X(u4k)
X(up3k)
X(up5k)