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