Files
Ethernet-IP-Core/designer/top/synthesis.fdc

55 lines
5.6 KiB
Plaintext

# Microchip Technology Inc.
# Date: 2026-Apr-15 22:44:52
# This file was generated based on the following SDC source files:
# E:/AbhishekV/rising/ethernet_tpsram_test/constraint/top_derived_constraints.sdc
# E:/AbhishekV/rising/ethernet_tpsram_test/constraint/timing_user_constraints.sdc
#
create_clock -name {REF_CLK_0} -period 20 [ get_ports { REF_CLK_0 } ]
create_clock -name {PF_IOD_CDR_C0_0/PF_LANECTRL_0/I_LANECTRL/CLK_OUT_R} -period 8 -waveform {0 3.2 } [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.CLK_OUT_R } ]
create_clock -name {REFCLK_P} -period 8 [ get_ports { REFCLK_P } ]
create_clock -name {TCK} -period 100 -waveform {0 50 } [ get_ports { TCK } ]
create_generated_clock -name {PF_CCC_0_0/PF_CCC_0_0/pll_inst_0/OUT0} -multiply_by 8 -divide_by 5 -source [ get_pins { PF_CCC_0_0.PF_CCC_0_0.pll_inst_0.REF_CLK_0 } ] [ get_pins { PF_CCC_0_0.PF_CCC_0_0.pll_inst_0.OUT0 } ]
create_generated_clock -name {PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT0} -multiply_by 5 -source [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.REF_CLK_0 } ] [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.OUT0 } ]
create_generated_clock -name {PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT1} -multiply_by 5 -source [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.REF_CLK_0 } ] [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.OUT1 } ]
create_generated_clock -name {PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT2} -multiply_by 5 -source [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.REF_CLK_0 } ] [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.OUT2 } ]
create_generated_clock -name {PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT3} -multiply_by 5 -source [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.REF_CLK_0 } ] [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.pll_inst_0.OUT3 } ]
create_generated_clock -name {PF_IOD_CDR_CCC_C0_0/PF_CLK_DIV_0/I_CD/Y_DIV} -edges {1 7 11} -source [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CLK_DIV_0.I_CD.A } ] [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CLK_DIV_0.I_CD.Y_DIV } ]
create_generated_clock -name {PHY_MDC_CLOCK} -divide_by 28 -source [ get_pins { PF_CCC_0_0.PF_CCC_0_0.pll_inst_0.OUT0 } ] [ get_ports { PHY_MDC } ]
set_input_delay 0 -min -add_delay -clock { REF_CLK_0 } [ get_ports { RESET_N } ]
set_input_delay 20 -max -add_delay -clock { REF_CLK_0 } [ get_ports { RESET_N } ]
set_input_delay 0 -min -add_delay -clock { PHY_MDC_CLOCK } [ get_ports { PHY_MDIO } ]
set_input_delay 20 -max -add_delay -clock { PHY_MDC_CLOCK } [ get_ports { PHY_MDIO } ]
set_output_delay 10 -max -clock { PHY_MDC_CLOCK } [ get_ports { PHY_MDIO } ]
set_output_delay -10 -min -clock { PHY_MDC_CLOCK } [ get_ports { PHY_MDIO } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.RESET } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.HS_IO_CLK_PAUSE } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.SWITCH } ]
set_false_path -to [ get_cells { PF_IOD_CDR_C0_0.CDR4_CNTL_TIP_0.dll_90_code*[*] } ]
set_false_path -to [ get_cells { PF_IOD_CDR_C0_0.CDR4_CNTL_TIP_0.valid_flag*[1] } ]
set_false_path -to [ get_cells { PF_IOD_CDR_C0_0.CDR4_CNTL_TIP_0.early_flag*[1] } ]
set_false_path -to [ get_cells { PF_IOD_CDR_C0_0.CDR4_CNTL_TIP_0.late_flag*[1] } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_TX_0.I_IOD_0.ARST_N } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_P_0.I_IOD_0.ARST_N } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_N_0.I_IOD_0.ARST_N } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_TX_0.I_IOD_0.RX_SYNC_RST } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_P_0.I_IOD_0.RX_SYNC_RST } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_N_0.I_IOD_0.RX_SYNC_RST } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_TX_0.I_IOD_0.TX_SYNC_RST } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_P_0.I_IOD_0.TX_SYNC_RST } ]
set_false_path -to [ get_pins { PF_IOD_CDR_C0_0.PF_IOD_CDR_RX_N_0.I_IOD_0.TX_SYNC_RST } ]
set_false_path -from [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.HS_IO_CLK* } ] -through [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.CLK_OUT_R } ]
set_false_path -through [ get_pins { PF_IOD_CDR_C0_0.PF_LANECTRL_0.I_LANECTRL.CDR_CLK } ]
set_false_path -to [ get_cells { PF_IOD_CDR_CCC_C0_0.PF_COREDELAYCODE_TIP_0.lock_sync*[1] } ]
set_false_path -to [ get_cells { PF_IOD_CDR_CCC_C0_0.PF_COREDELAYCODE_TIP_0.diff_sync*[1] } ]
set_false_path -to [ get_pins { PF_IOD_CDR_CCC_C0_0.PF_CCC_0.dll_inst_0.CODE_UPDATE } ]
set_false_path -from [ get_cells { PF_IOD_CDR_CCC_C0_0.PF_COREDELAYCODE_TIP_0.move_lane* } ]
set_clock_groups -name {SGMII_CDR_0_0_CLK_OUT_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_C0_0/PF_LANECTRL_0/I_LANECTRL/CLK_OUT_R } ]
set_clock_groups -name {Y_DIV_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_CCC_C0_0/PF_CLK_DIV_0/I_CD/Y_DIV } ]
set_clock_groups -name {NWC_PLL_OUT0_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT0 } ]
set_clock_groups -name {NWC_PLL_OUT1_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT1 } ]
set_clock_groups -name {NWC_PLL_OUT2_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT2 } ]
set_clock_groups -name {NWC_PLL_OUT3_GRP} -asynchronous -group [ get_clocks { PF_IOD_CDR_CCC_C0_0/PF_CCC_0/pll_inst_0/OUT3 } ]
set_clock_groups -name {PF_CCC_0_OUT0_GRP} -asynchronous -group [ get_clocks { PF_CCC_0_0/PF_CCC_0_0/pll_inst_0/OUT0 } ]
set_clock_groups -name {JTAG_Async} -asynchronous -group [ get_clocks { PF_CCC_0_0/PF_CCC_0_0/pll_inst_0/OUT0 } ] -group [ get_clocks { TCK } ]