3.6.3.2 Message Format

Each SmartHLS message consists of a severity level, a unique message ID, and a detailed description, it appears as

<SEVERITY LEVEL>:   (<MESSAGE ID>) <MESSAGE DESCRIPTION>
  • SEVERITY LEVEL will be one of the following, listed top to bottom in ascending order of severity:
    Severity Level
    InfoInformation message.
    WarningPotential problem that users should be aware of, but synthesis can still proceed.
    ErrorCritical problem that blocks synthesis from being completed, most likely due to input design problem.
    Fatal ErrorUnexpected problem that blocks synthesis from being completed.
  • MESSAGE ID uniquely identifies a message within SmartHLS™, and it is prefixed with 'SHLS-'.
  • MESSAGE DESCRIPTION provides additional detailed information, such as the associated source code location.

When specifying MESSAGE DESCRIPTION, variable placeholders enclosed in curly braces, such as {location}, are used to denote message-specific information. The table below provides a list of symbols that are frequently used in message descriptions throughout this section.

SymbolDescriptionExample
{location} Source code locationline 6 of test.cpp
{function} {variable}Source symbol name foo
{loop} Loop identifier for.loop:test.cpp:6:5

As we transition from the previous messaging system, SmartHLS in this release currently displays a combination of messages in both the old and new formats. Messages annotated with a 'SHLS-' ID indicate that they are in the new format, and a selection of these messages is documented in this section. As we continue migrating to the new messaging system, we will also enhance this section to provide improved support for users.

Each message documented in this section begins with its format, followed by an example code that generates the message. Where applicable, we also offer advice to help users avoid encountering the message. Please note that this section is intended to help users understand the cause of the messages and does not provide design advice.

To execute the example code, users may import it into SmartHLS and run the 'Compile Software to Hardware' (shls hw) command, unless a different command is specified in the header of the example code, such as 'SW/HW Co-Simulation' (shls cosim), as indicated in SHLS-89 and SHLS-99. All examples are device-independent unless otherwise specified. For example, on Linux, users can:

  1. Copy the example code into a file named test.cpp and place this file in a new folder.
  2. Generate Makefile by
    > shls init
  3. Execute the code by
    > shls hw