# Locate the Tri-Mode Ethernet MAC instance ## Commented out the INST modules... Need to move them for SFP ##INST "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/xgbe2_block_inst/xgbe2_inst?v6_emac" LOC = TEMAC_X0Y2; ##INST "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?ramgen" LOC = RAMB36_X6Y28; ##INST "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?rx_fifo_i?ramgen" LOC = RAMB36_X6Y29; NET "*u_xgbe2_ll_wrapper/clk125_o" TNM_NET = "u_xgbe2_ll_wrapper_clk125_o"; ##INST "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/xgbe2_block_inst/v6_gtxwizard_top_inst/v6_gtxwizard_inst?gtx0_v6_gtxwizard_i?gtxe1_i" LOC = GTXE1_X0Y14; ############################################################################### # LOCALLINK FIFO CONSTRAINTS # The following constraints are necessary for proper operation of the LocalLink # FIFO. If you choose to not use the LocalLink level of wrapper hierarchy, # these constraints should be removed. ############################################################################### # LocalLink client FIFO transmit-side constraints # ----------------------------------------------------------------------------- ## Modified from version 12100803 # Group the clock crossing signals into timing groups NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_tran_frame_tog" TNM = "tx_fifo_rd_to_wr"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_retran_frame_tog" TNM = "tx_fifo_rd_to_wr"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_col_window_pipe?1*" TNM = "tx_fifo_rd_to_wr"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_addr_txfer*" TNM = "tx_fifo_rd_to_wr"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_txfer_tog" TNM = "tx_fifo_rd_to_wr"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_frame_in_fifo" TNM = "tx_fifo_wr_to_rd"; TIMESPEC TS_tx_fifo_rd_to_wr = FROM "tx_fifo_rd_to_wr" TO "u_xgbe2_ll_wrapper_clk125_o" 8 ns DATAPATHONLY; TIMESPEC TS_tx_fifo_wr_to_rd = FROM "tx_fifo_wr_to_rd" TO "u_xgbe2_ll_wrapper_clk125_o" 8 ns DATAPATHONLY; # Reduce clock period to allow for metastability settling time NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_tran_frame_tog" TNM = "tx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_addr*" TNM = "tx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_txfer_tog" TNM = "tx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?frame_in_fifo" TNM = "tx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_retran_frame_tog*" TNM = "tx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_col_window_pipe?0*" TNM = "tx_metastable"; TIMESPEC TS_tx_meta_protect = FROM "tx_metastable" 5 ns DATAPATHONLY; # Transmit-side client FIFO address bus timing NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?rd_addr_txfer*" TNM = "tx_addr_rd"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?tx_fifo_i?wr_addr*" TNM = "tx_addr_wr"; TIMESPEC TS_tx_fifo_addr = FROM "tx_addr_rd" TO "tx_addr_wr" 10 ns; # LocalLink client FIFO receive-side constraints # ----------------------------------------------------------------------------- # Group the clock crossing signals into timing groups NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?rx_fifo_i?wr_store_frame_tog" TNM = "rx_fifo_wr_to_rd"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?rx_fifo_i?rd_addr_gray*" TNM = "rx_fifo_rd_to_wr"; TIMESPEC TS_rx_fifo_wr_to_rd = FROM "rx_fifo_wr_to_rd" TO "u_xgbe2_ll_wrapper_clk125_o" 8 ns DATAPATHONLY; TIMESPEC TS_rx_fifo_rd_to_wr = FROM "rx_fifo_rd_to_wr" TO "u_xgbe2_ll_wrapper_clk125_o" 8 ns DATAPATHONLY; # Reduce clock period to allow for metastability settling time NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?rx_fifo_i?wr_rd_addr_gray_sync*" TNM = "rx_metastable"; NET "*u_xgbe2_ll_wrapper/u_xgbe2_locallink/client_side_FIFO?rx_fifo_i?rd_store_frame_tog" TNM = "rx_metastable"; TIMESPEC TS_rx_meta_protect = FROM "rx_metastable" 5 ns;