Configure how the Vivado tool will display and manage specific messages, based on message ID, string, or severity.
Syntax
set_msg_config [‑id <arg>] [‑string <args>] [‑severity <arg>]
[‑limit <arg>] [‑new_severity <arg>] [‑suppress] [‑regexp] [‑quiet]
[‑verbose]
Usage
Name | Description |
---|---|
[-id]
|
A qualifier, apply the selected operation only to messages that match given message id. Example: '-id {Common 17-35}'. Default: match any id |
[-string]
|
A qualifier, apply the selected operation only to messages that contain the given list of strings. Default: none |
[-severity]
|
A qualifier, apply the selected operation only to messages at the given severity level. Example: '-severity INFO' Default: match any severity |
[-limit]
|
for the messages that match the qualifiers, limit the number of messages displayed to the given integer value. Can only be used in conjunction with one of -id or -severity. |
[-new_severity]
|
for the messages that match the qualifiers, change the severity to the given value for the current project |
[-suppress]
|
for the messages that match the qualifiers, suppress (do not display) any messages for the current project |
[-regexp]
|
The values used for -string are full regular expressions |
[-quiet]
|
Ignore command errors |
[-verbose]
|
Suspend message limits during command execution |
Categories
Description
This command lets you configure the messages returned by the Vivado tool in the current project. Use this command to change the severity of messages, to limit the number of times a message is reported, or to suppress the message altogether. However, you can only perform one of these actions at one time with set_msg_config
:
- Customize the severity of messages returned by the tool to specific levels appropriate to your usage. For instance, set the severity of a specified message ID from one type, such as WARNING, to another type, such as ERROR.
Important: You cannot downgrade a Vivado Design System ERROR message to make it less than an error.
- Define the number of messages that will be returned by the tool during a design session, or single invocation. You can specify the limit of a specific message ID, or the limit for a specific severity of messages.
Tip: The default message limit for all message IDs is set to 100, and is defined by the parameter
messaging.defaultLimit
. This is the limit applied to each separate message returned by the tool. You can report the current value of this parameter with theget_param
command, and change it as needed using theset_param
command. - Suppress a specific message ID from being reported by the tool at all. You can enable messages that were previously suppressed using the
reset_msg_config
command. - An error is returned if more than one action is attempted in a single
set_msg_config
command.
set_msg_config
command. You must supply at least one message qualifier to identify a message or group of messages to apply the command to. Multiple qualifiers have an AND relationship; the configuration rule will be applied only to messages matching all qualifiers.
set_msg_config
does not support the use of wildcards in message qualifiers.set_msg_config
in pre and post Tcl scripts.Use the get_msg_config
command to report the current configuration of a specific message, or the configuration rules defined in the current project. Restore messages to their default configurations using the reset_msg_config
command.
The set_msg_config
command is not supported by report_cdc
as that command does not generate messages through the message manager.
This command returns nothing if successful, or returns an error if it fails.
Arguments
-id
<arg> - (Optional) Specify a message ID pattern to find message IDs that match the specified argument. The specified <arg> is used as a search pattern. All message IDs that match the specified pattern will be affected by the set_msg_config
command. Every message delivered by the tool has a unique global message ID that consists of an application sub-system code and a message identifier. This results in a message ID that looks like the following:
[Common 17-54]
[Netlist 29-28]
[Synth 8-32]
[Synth 8-3295]
set_msg_config -id "Synth 8-32" -new_severity "CRITICAL WARNING"
set_msg_config -id {[Synth 8-32]} -new_severity "CRITICAL WARNING"
-string
<args> - (Optional) Apply the selected operation only to messages that contain the given list of strings. Strings must be enclosed in braces, and multiple strings can be specified separated by spaces:
{{Vivado} {Synthesis}}
-severity
- (Optional) The severity of the message. There are five message severities:
-
ERROR
- An ERROR condition implies an issue has been encountered which will render design results unusable and cannot be resolved without user intervention. -
{CRITICAL WARNING}
- A CRITICAL WARNING message indicates that certain input/constraints will either not be applied or are outside the best practices for a FPGA family. User action is strongly recommended.Note: Since this is a two word value, it must be enclosed in "" or {}. -
WARNING
- A WARNING message indicates that design results may be sub-optimal because constraints or specifications may not be applied as intended. User action may be taken or may be reserved. -
INFO
- An INFO message is the same as a STATUS message, but includes a severity and message ID tag. An INFO message includes a message ID to allow further investigation through answer records if needed. -
STATUS
- A STATUS message communicates general status of the process and feedback to the user regarding design processing. A STATUS message does not include a message ID.Note: Because STATUS messages do not have message IDs, you cannot change the severity level of a STATUS message.
-limit
<arg> - (Optional) Limit the display of the selected messages by the limit value specified as an integer >= 1. You can restore the message limit to the messaging.defaultLimit
by specifying a count of -1.
-new_severity
<arg> - (Optional) For the messages that match the qualifier, specify a new message severity. Valid values are defined above under the -severity
option.
-new_severity
with -id
or -string
may appear to let you downgrade an ERROR message when the command is run. However, the ERROR message is not downgraded. This will be correctly reported by the Vivado tool the next time the error is encountered. See the Examples section below for more information.-suppress
- (Optional) Suppress the specified messages from further reporting.
-regexp
- (Optional) Can be used with -string
to specify the string values as regular expressions. Regular expressions search strings are anchored to the start of the search string. You can add ".*" to the beginning and end of a string to widen the search to include a sub-string. See http://perldoc.perl.org/perlre.html for more information on regular expression syntax.
regexp
is not anchored, and works as a standard Tcl command. For more information refer to http://www.tcl.tk/man/tcl8.5/TclCmd/regexp.htm.-quiet
- (Optional) Execute the command quietly, returning no messages from the command. The command also returns TCL_OK regardless of any errors encountered during execution.
-verbose
- (Optional) Temporarily override any message limits and return all messages from this command.
set_msg_config
command.Examples
set_msg_config -id {[Common 17-81]} -new_severity "CRITICAL WARNING"
set_msg_config -id {[Common 17-69]} -new_severity WARNING
WARNING: [Common 17-239] ERROR Messages are prohibited to be downgraded.
Message 'Common 17-69' is not downgraded.
ERROR: [Common 17-69] Command failed: report_design_analysis
-critical_paths can be run only after synthesis has successfully completed.
set_msg_config -severity warning -string "clk" -id "17-35" \
-new_severity error
set_msg_config -id "Common 17-361" -severity INFO -new_severity WARNING
get_msg_config -rules
---------------------
Message control rules currently in effect are:
Rule Name Rule Current Message Count
1 set_msg_config -ruleid {1} -id {Common 17-361} -severity {INFO} -new_severity {WARNING} 0
---------------------
reset_msg_config -id "Common 17-361" -default_severity
reset_msg_config -ruleid {1}
reset_msg_config
commands is needed to reset the message.get_param messaging.defaultLimit
100
set_param messaging.defaultLimit 1000
set_msg_config -id {[Common 17-81]} -limit 1500