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!

AR# 68088

Vivado IP Flows - Validating a design in IP Integrator returns: ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero

Description

I am using IP Integrator and have recently replaced a custom user IP with a module reference of the equivalent HDL.

Now when I validate the design I receive a number of errors indicating that a parameter is incorrectly set to 0.

For example: 

A Xilinx Kintex-7 TRD design has a custom IP cell "perf_app_mux_0". I replace it with a related module reference cell "perf_app_mux_1".

However, when I run "Validate Design", the following errors are issued:

ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
ERROR: [IP_Flow 19-3458] Validation failed for parameter 'Slave Interface TDATA Width (bytes)(S_TDATA_NUM_BYTES)' for BD Cell 'axis_interconnect_0/s00_couplers/auto_us'. Value '0' is out of the range (1,512)
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3438] Customization errors found on 'axis_interconnect_0/s00_couplers/auto_us'. Restoring to previous valid configuration.
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3447] Customization errors found during restoring IP 'axis_interconnect_0/s00_couplers/auto_us' to previous valid configuration.
ERROR: [IP_Flow 19-3439] Failed to restore IP 'axis_interconnect_0/s00_couplers/auto_us' customization to its previous valid configuration.
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3438] Customization errors found on 'axis_interconnect_0/s00_couplers/auto_us'. Restoring to previous valid configuration.
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3447] Customization errors found during restoring IP 'axis_interconnect_0/s00_couplers/auto_us' to previous valid configuration.
ERROR: [IP_Flow 19-3439] Failed to restore IP 'axis_interconnect_0/s00_couplers/auto_us' customization to its previous valid configuration.
divide by zero
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
ERROR: [IP_Flow 19-3458] Validation failed for parameter 'Slave Interface TDATA Width (bytes)(S_TDATA_NUM_BYTES)' for BD Cell 'axis_interconnect_0/s00_couplers/auto_us'. Value '0' is out of the range (1,512)
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3438] Customization errors found on 'axis_interconnect_0/s00_couplers/auto_us'. Restoring to previous valid configuration.
ERROR: [IP_Flow 19-3477] Update of parameter PARAM_VALUE.HAS_MI_TKEEP failed.divide by zero
INFO: [IP_Flow 19-3447] Customization errors found during restoring IP 'axis_interconnect_0/s00_couplers/auto_us' to previous valid configuration.
ERROR: [IP_Flow 19-3439] Failed to restore IP 'axis_interconnect_0/s00_couplers/auto_us' customization to its previous valid configuration.
ERROR: [Common 17-39] 'set_property' failed due to earlier errors.
ERROR: [BD 41-1273] Error running post_propagate TCL procedure: ERROR: [Common 17-39] 'set_property' failed due to earlier errors.
resolve_tdata_num_bytes Line 6
......

Solution

This situation can occur if there is a missing parameter on an interface port of the module reference.

In the example above, there was a missing TDATA_NUM_BYTES parameter that needs to exist on the AXI Stream interface. Because it was not set by the parameterization, the TDATA_NUM_BYTES was set to 0 for the interface s2c0_app.

This value was then propagated to the AXI Interconnect which caused the failures.

Because you cannot manually override IP pin/interface parameters, it is best to annotate the information back into the HDL to resolve the errors.

(* X_INTERFACE_INFO = "xilinx.com:interface:axis:1.0 s2c0_app TDEST" *)
(* X_INTERFACE_PARAMETER = "FREQ_HZ 250000000, TDATA_NUM_BYTES 16" *)

AR# 68088
Date Created 10/17/2016
Last Updated 11/01/2016
Status Active
Type General Article
Tools
  • Vivado Design Suite - 2016.3