From 7c04e366562341b3586056d735e69bdb0b04604a Mon Sep 17 00:00:00 2001 From: Istvan Csomortani Date: Thu, 15 Feb 2018 14:13:49 +0000 Subject: [PATCH] scripts: Message severity changes on Vivado Vivado sometimes generates semi-valid or invalid warnings and critical warnings. In the past these messages were silenced, by changing its message severity. These setups were scattered in multiple scripts. This commit is an attempt to centralize it and make it more maintainable and easier to review it. --- library/scripts/adi_ip.tcl | 7 +-- projects/scripts/adi_project.tcl | 8 +-- projects/scripts/adi_xilinx_msg.tcl | 97 +++++++++++++++++++++++++++++ 3 files changed, 101 insertions(+), 11 deletions(-) create mode 100644 projects/scripts/adi_xilinx_msg.tcl diff --git a/library/scripts/adi_ip.tcl b/library/scripts/adi_ip.tcl index 533860bf1..6a6be20ae 100644 --- a/library/scripts/adi_ip.tcl +++ b/library/scripts/adi_ip.tcl @@ -171,11 +171,8 @@ proc adi_ip_create {ip_name} { create_project $ip_name . -force - set_msg_config -id {IP_Flow 19-3656} -new_severity INFO - set_msg_config -id {IP_Flow 19-2999} -new_severity INFO - set_msg_config -id {IP_Flow 19-1654} -new_severity INFO - set_msg_config -id {IP_Flow 19-4623} -new_severity INFO - set_msg_config -id {IP_Flow 19-459} -new_severity INFO + ## Load custom message severity definitions + source $ad_hdl_dir/projects/scripts/adi_xilinx_msg.tcl set ip_constr_files "" set lib_dirs $ad_hdl_dir/library diff --git a/projects/scripts/adi_project.tcl b/projects/scripts/adi_project.tcl index de10f13c6..5e227ff8a 100644 --- a/projects/scripts/adi_project.tcl +++ b/projects/scripts/adi_project.tcl @@ -113,12 +113,8 @@ proc adi_project_xilinx {project_name {mode 0}} { set_property ip_repo_paths $lib_dirs [current_fileset] update_ip_catalog - set_msg_config -id {BD 41-1348} -new_severity info - set_msg_config -id {BD 41-1343} -new_severity info - set_msg_config -id {BD 41-1306} -new_severity info - set_msg_config -id {IP_Flow 19-1687} -new_severity info - set_msg_config -id {filemgmt 20-1763} -new_severity info - set_msg_config -severity {CRITICAL WARNING} -quiet -id {BD 41-1276} -new_severity error + ## Load custom message severity definitions + source $ad_hdl_dir/projects/scripts/adi_xilinx_msg.tcl create_bd_design "system" source system_bd.tcl diff --git a/projects/scripts/adi_xilinx_msg.tcl b/projects/scripts/adi_xilinx_msg.tcl new file mode 100644 index 000000000..a8859247d --- /dev/null +++ b/projects/scripts/adi_xilinx_msg.tcl @@ -0,0 +1,97 @@ + +################################################################################ +## This file contains all the message severity changes for Vivado 20xx.x.x +## These should reviewed at each release and updated if necessary + +## A MUST: Every severity change must have a well defined and described role +## or purpose, and contains the instance of the original message. The main target +## here is to clean the log file from invalid CRITICAL WARNINGS. +## +## User should never change a CRITICAL WARNING to INFO, just to WARNING! + +## This file is source in two places: +# +## at ~/hdl/library/scripts/adi_ip.tcl +## and +## at ~/hdl/projects/scripts/adi_project.tcl +## +################################################################################ + +################################################################################ +## Block Design related messages +## IDs : [BD 41-xxxx] +################################################################################ + +## Temporally disabled - could not find and message with this ID +## set_msg_config -id {BD 41-1348} -new_severity WARNING + +## Reset pin A (associated clock X) is connected to reset source B (associated +## clock Y) -- this is a reset transfer between two clock domain, it should stay +## CRITICAL -- needs to be reviewed +set_msg_config -id {BD 41-1343} -new_severity WARNING + +## The connection to interface pin A is being overridden by the user. This pin +## will not be connected as a part of interface connection B (pin A is part of +## the B interface) +## In the future this should disappear, as we switch to using mostly interfaces +set_msg_config -id {BD 41-1306} -new_severity WARNING + +## Cannot set the parameter XXXXXX. It is read-only. | Parameter does not exist. +## To make sure that each and every IP is configured correctly we push this +## CRITICAL WARNING into the ERRORs domain. +set_msg_config -severity {CRITICAL WARNING} -quiet -id {BD 41-1276} -new_severity ERROR + +################################################################################ +## IP packaging and flow related messages [IP_Flow xx-xxxx] +## IDs : [IP_Flow 19-xxxx] +################################################################################ + +## Temporally disabled - could not find and message with this ID +## set_msg_config -id {IP_Flow 19-1687} -new_severity WARNING + +## If you move the project, the path for repository '~/hdl/library' may become +## invalid. A better location for the repository would be in a path adjacent to +## the project. -- Vivado does not like when library sources are outside the project +## directory. +set_msg_config -id {IP_Flow 19-3656} -new_severity INFO + +## Temporally disabled - could not find and message with this ID +## set_msg_config -id {IP_Flow 19-2999} -new_severity INFO + +## Temporally disabled - could not find and message with this ID +## set_msg_config -id {IP_Flow 19-1654} -new_severity INFO + +## Unrecognized family xxxxxxx. Please verify spelling and reissue command to +## set the supported files. -- the adi_ip.tcl script trying to add all the existent +## family to the supported family list. Apparently Xilinx has some inconsistent +## naming conventions for families. TODO:Maybe we should define exactly the supported +## architectures. +set_msg_config -id {IP_Flow 19-4623} -new_severity INFO + +## IP file '~/hdl/library/common/xxxx.v' appears to be outside of the project area. +## This is similar to 19-3656 +set_msg_config -id {IP_Flow 19-459} -new_severity INFO + +## Temporally disabled - could not find and message with this ID +## set_msg_config -id {filemgmt 20-1763} -new_severity WARNING + +################################################################################ +## Placer related messages +## IDs : [Place 30-xxxx] +################################################################################ + +## Invalid constraint on register */axi_spi/*/IOx_I_REG. It has the property IOB=TRUE, +## but is is not driving or driven by any IO element. -- The AXI_SPI IP after +## 2017.4 has a default constraint which setting the input registers property +## IOB=TRUE, this will cause a CRITICAL WARNING is the interface is not used. +set_msg_config -id {Place 30-73} -string "axi_spi" -new_severity WARNING + +################################################################################ +## Other ID less messages +################################################################################ + +## After Vivado 2017.4, the tool does not like negative DDR_DQS_TO_CLK_DELAY +## values on the DDRx interface, and throw a CRITICAL WARNING. Although a negative +## value is not necessarily invalid, the ZedBoard's interface is working this way. +set_msg_config -string "PCW_UIPARAM_DDR_DQS_TO_CLK_DELAY" -new_severity WARNING +