beirvin 发表于 2012-11-18 17:09:04

有没有朋友谁给一个EDK用户约束文件教程?

有没有朋友谁给一个EDK用户约束文件教程?使用EDK不知道UCF是怎么回事,如下:
#Spartan-3E Starter Board
Net fpga_0_RS232_DCE_RX_pin LOC=R7|IOSTANDARD = LVCMOS33;
Net fpga_0_RS232_DCE_TX_pin LOC=M14|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<0> LOC=F9|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<1> LOC=E9|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<2> LOC=D11|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<3> LOC=C11|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<4> LOC=F11|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<5> LOC=E11|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<6> LOC=E12|IOSTANDARD = LVCMOS33;
Net fpga_0_LEDs_8Bit_GPIO_IO_O_pin<7> LOC=F12|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<31> LOC=h17|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<30> LOC=j13|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<29> LOC=j12|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<28> LOC=j14|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<27> LOC=j15|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<26> LOC=j16|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<25> LOC=j17|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<24> LOC=k14|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<23> LOC=k15|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<22> LOC=k12|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<21> LOC=k13|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<20> LOC=l15|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<19> LOC=l16|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<18> LOC=t18|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<17> LOC=r18|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<16> LOC=t17|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<15> LOC=u18|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<14> LOC=t16|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<13> LOC=u15|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<12> LOC=v15|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<11> LOC=t12|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<10> LOC=v13|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<9> LOC=v12|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_A_pin<8> LOC=n11|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_CEN_pin LOC=d16|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_OEN_pin LOC=c18|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_WEN_pin LOC=d17|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<7> LOC=n10|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<6> LOC=p10|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<5> LOC=r10|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<4> LOC=v9|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<3> LOC=u9|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<2> LOC=r9|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<1> LOC=m9|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_Mem_DQ_pin<0> LOC=n9|IOSTANDARD = LVCMOS33;
Net fpga_0_FLASH_BEN_pin LOC=c17|IOSTANDARD = LVCMOS33;
Net fpga_0_DDR_SDRAM_DDR_Clk_pin LOC=J5|IOSTANDARD = DIFF_SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Clk_n_pin LOC=J4|IOSTANDARD = DIFF_SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_CE_pin LOC=K3|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_CS_n_pin LOC=K4|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_RAS_n_pin LOC=C1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_CAS_n_pin LOC=C2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_WE_n_pin LOC=D1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_BankAddr_pin<0> LOC=K5|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_BankAddr_pin<1> LOC=K6|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<0> LOC=T1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<1> LOC=R3|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<2> LOC=R2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<3> LOC=P1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<4> LOC=F4|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<5> LOC=H4|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<6> LOC=H3|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<7> LOC=H1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<8> LOC=H2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<9> LOC=N4|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<10> LOC=T2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<11> LOC=N5|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_Addr_pin<12> LOC=P2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<0> LOC=L2|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<1> LOC=L1|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<2> LOC=L3|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<3> LOC=L4|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<4> LOC=M3|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<5> LOC=M4|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<6> LOC=M5|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<7> LOC=M6|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<8> LOC=E2|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<9> LOC=E1|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<10> LOC=F1|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<11> LOC=F2|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<12> LOC=G6|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<13> LOC=G5|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<14> LOC=H6|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DQ_pin<15> LOC=H5|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_DDR_DM_pin<0> LOC=J2|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_DM_pin<1> LOC=J1|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_DQS_pin<0> LOC=L6|IOSTANDARD = SSTL2_I;
Net fpga_0_DDR_SDRAM_DDR_DQS_pin<1> LOC=G3|IOSTANDARD = SSTL2_I|PULLUP;
Net fpga_0_DDR_SDRAM_ddr_dqs_div_io_pin LOC=P13|IOSTANDARD = LVCMOS33;
Net fpga_0_clk_1_sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 50000 kHz;
Net fpga_0_clk_1_sys_clk_pin LOC=c9|IOSTANDARD = LVCMOS33;
Net fpga_0_rst_1_sys_rst_pin TIG;
Net fpga_0_rst_1_sys_rst_pin LOC=K17|IOSTANDARD = LVCMOS33|PULLDOWN;

###### DDR_SDRAM

############################################################################
# Placement constraints for luts in tap delay ckt
############################################################################

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l0"RLOC=X0Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l0"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l1" RLOC=X0Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l1"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l2" RLOC=X0Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l2"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l3" RLOC=X0Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l3"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l4" RLOC=X1Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l4"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l5" RLOC=X1Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l5"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l6" RLOC=X1Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l6"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l7" RLOC=X1Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l7"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l8" RLOC=X0Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l8"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l9" RLOC=X0Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l9"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l10" RLOC=X0Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l10"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l11" RLOC=X0Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l11"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l12" RLOC=X1Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l12"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l13" RLOC=X1Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l13"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l14" RLOC=X1Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l14"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l15" RLOC=X1Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l15"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l16" RLOC=X0Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l16"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l17" RLOC=X0Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l17"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l18" RLOC=X0Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l18"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l19" RLOC=X0Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l19"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l20" RLOC=X1Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l20"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l21" RLOC=X1Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l21"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l22" RLOC=X1Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l22"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l23" RLOC=X1Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l23"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l24" RLOC=X0Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l24"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l25" RLOC=X0Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l25"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l26" RLOC=X0Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l26"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l27" RLOC=X0Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l27"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l28" RLOC=X1Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l28"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l29" RLOC=X1Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l29"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l30" RLOC=X1Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l30"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l31" RLOC=X1Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l31"U_SET = "tap_dly0_u_set";

#######################################################################################################################
# Placement constraints for first stage flops in tap delay ckt #
#######################################################################################################################

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"    RLOC=X0Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"   U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y6;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y6;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y7;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y4;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y5;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y2;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y3;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X0Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y0;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r" RLOC=X1Y1;
INST"*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.gen_tap1.r"U_SET = "tap_dly0_u_set";

#######################################################################################################################
# BEL constraints for luts in tap delay ckt #
#######################################################################################################################

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l0" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l1" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l2" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l3" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l4" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l5" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l6" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l7" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l8" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l9" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l10" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l11" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l12" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l13" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l14" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l15" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l16" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l17" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l18" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l19" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l20" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l21" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l22" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l23" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l24" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l25" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l26" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l27" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l28" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l29" BEL= F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l30" BEL= G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/gen_no_sim.l31" BEL= F;

##############################################################################
# Delay constraints
##############################################################################

###### maxdelay of 400 ps will not be met. This constraint is just to get a better delay####
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/tap"MAXDELAY = 400ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/tap" MAXDELAY = 400ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/tap" MAXDELAY = 400ps;

###### maxdelay of 460 ps will not be met. This constraint is just to get a better delay####
###### The reported delay will be in the range of 500 to 600 ps####
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/dqs_int_delay_in*"                           MAXDELAY = 480ps;

###### maxdelay of 160 ps will not be met. This constraint is just to get a better delay####
###### The reported delay will be in the range of 200 to 360 ps####
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs[*]*u_dqs_delay_col*/delay*"MAXDELAY = 200ps;

###################################################################################################
######constraint to place flop1 and flop2 close togather for the calibration logic###############
###################################################################################################
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/flop1[*]"               MAXDELAY = 3000ps;

NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/dqs_delayed_col*<*>"                         MAXDELAY = 1000ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/rst_dqs_div"            MAXDELAY = 2500ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed*"   MAXDELAY = 2000ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/fifo*_wr_en<*>"                              MAXDELAY = 2000ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/fifo_*_wr_addr_out<*><*>"          MAXDELAY = 2000ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/fifo_*_data_out[*]"                MAXDELAY = 2000ps;
NET "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/dq<*>"                                                 MAXDELAY = 480ps;

#######################################################################################################################
# Area Group Constraint For tap_dly and cal_ctl module #
#######################################################################################################################

#INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/cal_ctl/*" AREA_GROUP = cal_ctl;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/infrastructure/cal_top/tap_dly/*" AREA_GROUP = cal_ctl;
#AREA_GROUP "cal_ctl" RANGE = SLICE_X0Y10:SLICE_X15Y23; // Old values
AREA_GROUP "cal_ctl" RANGE = SLICE_X28Y70:SLICE_X39Y83;
AREA_GROUP "cal_ctl" GROUP = CLOSED;


##############################################################################
# IOB and AREA constraints
##############################################################################

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/datapath_iobs/gen_dqs[*].dqs_iob*"    IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/datapath_iobs/gen_dq[*].dq_iob*"      IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/gen_addr[*].addr_iob" IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/gen_ba[*].ba_iob"   IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/gen_cke[*].cke_iob"   IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/ras_iob"            IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/cas_iob"            IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/iobs/controller_iobs/we_iob"               IOB = TRUE;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/dqs_div/dqs_rst_iob"                     IOB = TRUE;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y36;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y37;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y36;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y37;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y32;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y33;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y32;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y33;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y24;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y25;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y24;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y25;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y20;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y21;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y20;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y21;



INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y82;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y83;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y82;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y83;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y76;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y77;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y76;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y77;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y68;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y69;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y68;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y69;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X0Y64;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X0Y65;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0/gen_data*u_fifo_bit"   LOC = SLICE_X2Y64;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_data*strobe0_n/gen_data*u_fifo_bit" LOC = SLICE_X2Y65;




#############################################################
## DQS 0 Col 0
#############################################################
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.one"   LOC = SLICE_X2Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.one"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.two"   LOC = SLICE_X2Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.two"   BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.three" LOC = SLICE_X2Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.three" BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.four"LOC = SLICE_X2Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.four"BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.five"LOC = SLICE_X3Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.five"BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.six"   LOC = SLICE_X3Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.six"   BEL = G;

#############################################################
## DQS 0 Col 1
#############################################################

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.one"   LOC = SLICE_X0Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.one"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.two"   LOC = SLICE_X0Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.two"   BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.three" LOC = SLICE_X0Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.three" BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.four"LOC = SLICE_X0Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.four"BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.five"LOC = SLICE_X1Y29;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.five"BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.six"   LOC = SLICE_X1Y28;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.six"   BEL = G;

#############################################################
## DQS 1 Col 0
#############################################################
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.one"   LOC = SLICE_X2Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.one"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.two"   LOC = SLICE_X2Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.two"   BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.three" LOC = SLICE_X2Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.three" BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.four"LOC = SLICE_X2Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.four"BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.five"LOC = SLICE_X3Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.five"BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.six"   LOC = SLICE_X3Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col0/gen_delay.six"   BEL = G;

#############################################################
## DQS 1 Col 1
#############################################################

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.one"   LOC = SLICE_X0Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.one"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.two"   LOC = SLICE_X0Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.two"   BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.three" LOC = SLICE_X0Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.three" BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.four"LOC = SLICE_X0Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.four"BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.five"LOC = SLICE_X1Y73;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.five"BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.six"   LOC = SLICE_X1Y72;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_dqs*u_dqs_delay_col1/gen_delay.six"   BEL = G;

#############################################################
## WR ADDR 0
#############################################################
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y30;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y30;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y31;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y31;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y30;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y30;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y31;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y31;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_wr.u_fifo_0_wr_en/*" LOC = SLICE_X1Y33;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_wr.u_fifo_1_wr_en/*" LOC = SLICE_X3Y33;

#############################################################
## WR ADDR 1
#############################################################
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y74;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y74;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y75;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_0_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X1Y75;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y74;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y74;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y75;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read/gen_wr_addr.u_fifo_1_wr_addr/gen_addr.u_addr_bit" LOC = SLICE_X3Y75;

INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_wr.u_fifo_0_wr_en/*" LOC = SLICE_X1Y77;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller/gen_wr.u_fifo_1_wr_en/*" LOC = SLICE_X3Y77;

#############################################################
## DQS Loopback
#############################################################
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.one"   LOC = SLICE_X0Y9;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.one"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.two"   LOC = SLICE_X0Y8;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.two"   BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.three" LOC = SLICE_X0Y9;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.three" BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.four"LOC = SLICE_X1Y8;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.four"BEL = F;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.five"LOC = SLICE_X1Y8;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.five"BEL = G;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.six"   LOC = SLICE_X1Y9;
INST "*/mpmc_core_0/gen_s3_ddr*.mpmc_phy_if_0/data_path/data_read_controller*rst_dqs_div_delayed/gen_delay.six"   BEL = G;

之前使用Verilog进行编程时约束文件都是一下形式写的:
NET "dataout" LOC = P3;//location:位置
NET "dataout" LOC = P4;
NET "dataout" LOC = P5;
NET "dataout" LOC = P8;
NET "dataout" LOC = P9;
NET "dataout" LOC = P11;
NET "dataout" LOC = P12;
NET "dataout" LOC = P28;
上面的看的不是很懂,有没有哪位大侠进行指导一下啊……




wangshaosh123 发表于 2012-11-18 22:16:49

{:titter:} 有手册的忘记叫啥名字了改天上传吧

beirvin 发表于 2012-11-19 17:26:51

wangshaosh123 发表于 2012-11-18 22:16 static/image/common/back.gif
有手册的忘记叫啥名字了改天上传吧

我这个问题搞明白了
页: [1]
查看完整版本: 有没有朋友谁给一个EDK用户约束文件教程?