
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>
618 lines
6.7 KiB
C++
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)
|