Files
b210-k7-fpga/top/x300/timing.ucf
T
Ashish Chaudhari adf2da6ac7 fpga: Multiple X300 FPGA bugfixes and enhancements
- Fixed 10GigE firmware communication issues and sequence errors for TX
- Multiple changes to help ease timing closure
- Cleaned up build scripts
- Switched to Xilinx ISE 14.7 as the default build tool for X300


Original-commit: 64d71dcbc5fa6790385b288de25224d386b047b0
2014-09-24 18:45:31 -07:00

46 lines
2.2 KiB
Plaintext

NET "FPGA_CLK_p" TNM_NET = "FPGA_CLK_p";
TIMESPEC "TS_FPGA_CLK_p" = PERIOD "FPGA_CLK_p" 5000 ps HIGH 50%;
NET "FPGA_CLK_n" TNM_NET = "FPGA_CLK_n";
TIMESPEC TS_FPGA_CLK_n = PERIOD "FPGA_CLK_n" TS_FPGA_CLK_p HIGH 50%;
NET "FPGA_REFCLK_10MHz_p" TNM_NET = "FPGA_REFCLK_10MHz_p";
TIMESPEC "TS_FPGA_REFCLK_10MHz_p" = PERIOD "FPGA_REFCLK_10MHz_p" 100 ns HIGH 50%;
NET "FPGA_REFCLK_10MHz_n" TNM_NET = "FPGA_REFCLK_10MHz_n";
TIMESPEC TS_FPGA_REFCLK_10MHz_n = PERIOD "FPGA_REFCLK_10MHz_n" TS_FPGA_REFCLK_10MHz_p HIGH 50%;
NET "FPGA_125MHz_CLK" TNM_NET = "FPGA_125MHz_CLK";
TIMESPEC "TS_FPGA_125MHz_CLK" = PERIOD "FPGA_125MHz_CLK" 8000 ps HIGH 50 %;
NET "DB0_ADC_DCLK_P" TNM_NET = "DB0_ADC_DCLK_P";
TIMESPEC "TS_DB0_ADC_DCLK_P" = PERIOD "DB0_ADC_DCLK_P" 5000 ps HIGH 50 %;
#OFFSET = IN 0.75ns VALID 1.5nS BEFORE "DB0_ADC_DCLK_P" RISING;
#OFFSET = IN 0.75ns VALID 1.5nS BEFORE "DB0_ADC_DCLK_P" FALLING;
NET "DB0_ADC_DCLK_N" TNM_NET = DB0_ADC_DCLK_N;
TIMESPEC TS_DB0_ADC_DCLK_N = PERIOD "DB0_ADC_DCLK_N" TS_DB0_ADC_DCLK_P HIGH 50%;
NET "DB1_ADC_DCLK_P" TNM_NET = "DB1_ADC_DCLK_P";
TIMESPEC "TS_DB1_ADC_DCLK_P" = PERIOD "DB1_ADC_DCLK_P" 5000 ps HIGH 50 %;
#OFFSET = IN 0.75ns VALID 1.5nS BEFORE "DB1_ADC_DCLK_P" RISING;
#OFFSET = IN 0.75ns VALID 1.5nS BEFORE "DB1_ADC_DCLK_P" FALLING;
NET "DB1_ADC_DCLK_N" TNM_NET = DB1_ADC_DCLK_N;
TIMESPEC TS_DB1_ADC_DCLK_N = PERIOD "DB1_ADC_DCLK_N" TS_DB1_ADC_DCLK_P HIGH 50%;
NET "bus_clk" TNM = bus_clk_grp;
NET "ioport2_clk" TNM = ioport2_clk_grp;
NET "rio40_clk" TNM = rio40_clk_grp;
TIMESPEC TS_BUS_CLK_TO_IOPORT2_CLK_FALEPATH = FROM bus_clk_grp TO ioport2_clk_grp TIG;
TIMESPEC TS_IOPORT2_CLK_TO_BUS_CLK_FALEPATH = FROM ioport2_clk_grp TO bus_clk_grp TIG;
TIMESPEC TS_IOPORT2_CLK_TO_RIO40_CLK_FALEPATH = FROM ioport2_clk_grp TO rio40_clk_grp TIG;
TIMESPEC TS_RIO40_CLK_TO_IOPORT2_CLK_FALEPATH = FROM rio40_clk_grp TO ioport2_clk_grp TIG;
# FPGA_CLK_p/n is externally phase shifted to allow for crossing from the ADC clock domain
# to the radio_clk (aka FPGA_CLK_p/n) clock domain. To ensure this timing is consistent,
# lock the locations of the MMCM and BUFG to generate radio_clk.
INST "radio_clk_gen/mmcm_adv_inst" LOC = MMCME2_ADV_X0Y0;
INST "radio_clk_gen/clkout1_buf" LOC = BUFGCTRL_X0Y8;