From 2487e7bdf81db9293520b8ee65a53f2f865853c5 Mon Sep 17 00:00:00 2001 From: Wade Fife Date: Mon, 6 Apr 2020 17:55:15 -0500 Subject: [PATCH] fpga: e31x: Update constraints to avoid timing issues Xilinx changed the way [all_registers -edge_triggered] is treated such that set_max_delay constraints that use it can cause segmentation and cause clocks to not be propagated to all endpoints. Changing to [all_ffs] avoids this potential issue. Original-commit: 55e422535292c29de00b80f15b0a49ca3fb94f26 --- top/e31x/e31x_timing.xdc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/top/e31x/e31x_timing.xdc b/top/e31x/e31x_timing.xdc index f1e32e9..6f0a5d0 100644 --- a/top/e31x/e31x_timing.xdc +++ b/top/e31x/e31x_timing.xdc @@ -120,14 +120,14 @@ set_clock_groups -asynchronous \ # TCXO DAC SPI # 12 MHz SPI clock rate -set_max_delay -datapath_only -from [all_registers -edge_triggered] -to [get_ports TCXO_DAC*] 40.000 -set_min_delay -from [all_registers -edge_triggered] -to [get_ports TCXO_DAC*] 1.000 +set_max_delay -datapath_only -from [all_ffs] -to [get_ports TCXO_DAC*] 40.000 +set_min_delay -from [all_ffs] -to [get_ports TCXO_DAC*] 1.000 # User GPIO -set_max_delay -datapath_only -to [get_ports PL_GPIO*] -from [all_registers -edge_triggered] [expr 15.0] -set_min_delay -to [get_ports PL_GPIO*] -from [all_registers -edge_triggered] 5.0 -set_max_delay -datapath_only -from [get_ports PL_GPIO*] -to [all_registers -edge_triggered] [expr 15.0] -set_min_delay -from [get_ports PL_GPIO*] -to [all_registers -edge_triggered] 5.0 +set_max_delay -datapath_only -to [get_ports PL_GPIO*] -from [all_ffs] [expr 15.0] +set_min_delay -to [get_ports PL_GPIO*] -from [all_ffs] 5.0 +set_max_delay -datapath_only -from [get_ports PL_GPIO*] -to [all_ffs] [expr 15.0] +set_min_delay -from [get_ports PL_GPIO*] -to [all_ffs] 5.0 # GPIO muxing set_max_delay -from [get_pins e31x_core_inst/fp_gpio_src_reg_reg[*]/C] -to [get_clocks CAT_DATA_CLK] $cat_data_clk_period -datapath_only