UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
3,331 Views
Registered: ‎03-18-2008

CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[3]' to be timing startpoint.

set_max_delay -datapath_only -from [get_pins  -hier {*STARTUP*_inst/DI[*]}] -to [get_cells -hier {*Mem_DQ_I_v_reg[*]}] 1.500
set_max_delay -datapath_only -from [get_cells -hier {*mem_dq_o_reg_reg[*]}] -to [get_pins -hier *STARTUP*_inst/DO[*]] 1.500
set_max_delay -datapath_only -from [get_cells -hier {*mem_dq_t_reg_reg[*]}] -to [get_pins -hier *STARTUP*_inst/DTS[*]] 1.500

 

 

axi_emc_0 axi_emc_0 (
  .s_axi_aclk(clk_flash50),              
  .s_axi_aresetn(mresetn),        
  .rdclk(clk_flash50),                        
  .s_axi_mem_awid(s_axi_mem_awid),      
  .s_axi_mem_awaddr(s_axi_mem_awaddr),  
  .s_axi_mem_awlen(s_axi_mem_awlen),    
  .s_axi_mem_awsize(s_axi_mem_awsize),  
  .s_axi_mem_awburst(s_axi_mem_awburst),
  .s_axi_mem_awlock(s_axi_mem_awlock),  
  .s_axi_mem_awcache(s_axi_mem_awcache),
  .s_axi_mem_awprot(s_axi_mem_awprot),  
  .s_axi_mem_awvalid(s_axi_mem_awvalid),
  .s_axi_mem_awready(s_axi_mem_awready),
  .s_axi_mem_wdata(s_axi_mem_wdata),    
  .s_axi_mem_wstrb(s_axi_mem_wstrb),    
  .s_axi_mem_wlast(s_axi_mem_wlast),    
  .s_axi_mem_wvalid(s_axi_mem_wvalid),  
  .s_axi_mem_wready(s_axi_mem_wready),  
  .s_axi_mem_bid(s_axi_mem_bid),        
  .s_axi_mem_bresp(s_axi_mem_bresp),    
  .s_axi_mem_bvalid(s_axi_mem_bvalid),  
  .s_axi_mem_bready(s_axi_mem_bready),  
  .s_axi_mem_arid(s_axi_mem_arid),      
  .s_axi_mem_araddr(s_axi_mem_araddr),  
  .s_axi_mem_arlen(s_axi_mem_arlen),    
  .s_axi_mem_arsize(s_axi_mem_arsize),  
  .s_axi_mem_arburst(s_axi_mem_arburst),
  .s_axi_mem_arlock(s_axi_mem_arlock),  
  .s_axi_mem_arcache(s_axi_mem_arcache),
  .s_axi_mem_arprot(s_axi_mem_arprot),  
  .s_axi_mem_arvalid(s_axi_mem_arvalid),
  .s_axi_mem_arready(s_axi_mem_arready),
  .s_axi_mem_rid(s_axi_mem_rid),        
  .s_axi_mem_rdata(s_axi_mem_rdata),    
  .s_axi_mem_rresp(s_axi_mem_rresp),    
  .s_axi_mem_rlast(s_axi_mem_rlast),    
  .s_axi_mem_rvalid(s_axi_mem_rvalid),  
  .s_axi_mem_rready(s_axi_mem_rready),  
  .mem_dq_i(dq_i_e),                  
  .mem_dq_o(dq_o_e),                  
  .mem_dq_t(dq_t_e),                  
  .mem_a(mem_a),                        
  .mem_ce(mem_ce),                      
  .mem_oen(mem_oen),                    
  .mem_wen(mem_wen),                    
  .mem_ben(mem_ben),                    
  .mem_qwen(mem_qwen),                  
  .mem_rpn(mem_rpn),                    
  .mem_adv_ldn(mem_adv_ldn),            
  .mem_lbon(mem_lbon),                  
  .mem_cken(mem_cken),                  
  .mem_rnw(mem_rnw),                    
  .mem_cre(mem_cre),                    
  .mem_wait(mem_wait),                  
  .cfgclk(),                      
  .cfgmclk(),                    
  .eos(),                            
  .gsr(1'b0),                            
  .gts(1'b0),                            
  .keyclearb(1'b1),                
  .usrcclkts(1'b0),                
  .usrdoneo(1'b1),                  
  .usrdonets(1'b1)                 
);

There is some warnings for the above constrain.

 

CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[3]' to be timing startpoint.
Resolution: Use valid startpoint to avoid path segmentation such as the clock pin of a register.
CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[2]' to be timing startpoint.
Resolution: Use valid startpoint to avoid path segmentation such as the clock pin of a register.
CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[1]' to be timing startpoint.
Resolution: Use valid startpoint to avoid path segmentation such as the clock pin of a register.
CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[0]' to be timing startpoint.
Resolution: Use valid startpoint to avoid path segmentation such as the clock pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DO[3]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DO[2]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DO[1]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DO[0]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DTS[0]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DTS[1]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DTS[2]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DTS[3]' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.
CRITICAL WARNING: [Constraints 18-514] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/USRCCLKO' to be timing endpoint. There will be no hold timing paths to this pin unless set_min_delay is used to constrain the paths.
Resolution: Use valid endpoint to avoid path segmentation such as the data pin of a register.

0 Kudos
2 Replies
Highlighted
Historian
Historian
3,298 Views
Registered: ‎01-23-2009

Re: CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[3]' to be timing startpoint.

A set_max_delay exception (like other exceptions) must be applied to a static timing path. The path needs to be enumerated using a combination of -from -through and -to options. A static timing path is defined as starting at the clock pin of a clocked element and ending at a data input pin of another clocked element. In all cases, the cell can be used instead of the pin of the cell (for both startpoints and endpoints).

 

In other exceptions, if you specify the path incorrectly (i.e. specify a -from that is not a valid startpoint or a -end that is not a valid endpoint) you get an error and the command is ignored. However, with the set_max_delay command, instead of being ignored this does something called path segmentation - segmenting the path into two or more paths based on the -from and -to of the set_max_delay. Except in very unusual circumstances, this is not what you want to do, and hence it is flagged as a critical warning.

 

In your cases, you certainly have problem with your first constraint:

  - the DI pin is an output pin, and hence is not a valid startpoint - it is an output data pin

    - in this (odd) case, the cell does not have an input clock, so you cannot specify the path from the clock pin

    - normally you could use -through the DI pin (instead of -from it), but the set_max_delay -datapath_only must have a -from

     - your only option would be to use -from [get_cells -hier *STARTUP*_inst]

 

Oddly, the DO and DTS, which (otherwise) would be cells of clocked endpoints should be legal, but the tool is complaining about it. Clearly the STARTUPE3 is an odd module - probably because it doesn't have a clock input... You could try changing the constraints to also use -to [get_cells -hier *STARTUP*_inst] - that might help.

 

On the other hand, I have never tried applying constraints to this cell...

 

All this being said, (and I have never used the STARTUPE3 in UltraScale). I would assume the DO and DI are synchronous interfaces to one of the clocks coming cput (CFGCLK or CFGMCLK)- are you sure that it is valid to put exceptions on these paths

 

Avrum

Tags (2)
0 Kudos
Explorer
Explorer
3,292 Views
Registered: ‎03-18-2008

Re: CRITICAL WARNING: [Constraints 18-515] set_max_delay: Path segmentation by forcing 'axi_emc64/axi_emc_0/U0/STARTUP_GEN.STARTUP_BLOCK/STARTUP3_inst/DI[3]' to be timing startpoint.

This constrain is from xapp1282 with VCU108. I am only porting to the VCU118 board.
0 Kudos