LineFile data from input files

From Verific Design Automation FAQ
Revision as of 14:45, 7 October 2020 by Hoa (Talk | contribs)

Jump to: navigation, search

Verific uses the 'LineFile' manager to preserve line/file origination information from HDL source files. This info is annotated on all objects in parse trees and netlist databases, as well as used in the message handler, so that from any object that Verific creates from a RTL design, information is available as to where it came from in the original user RTL designs.

We have the following compile flags (see util/LineFile.h):

  1. VERIFIC_LINEFILE_INCLUDES_COLUMNS
    We define a class ColLineFile to have both the starting and ending locations including column info.
    Valid values of NUM_LINE_BITS, NUM_COL_BITS and NUM_FILE_BITS are 1 to 31 bits.
    Use as per your requirements. Making (NUM_LINE_BITS + NUM_COL_BITS) <=32 consumes less memory.
    You can use 31 as NUM_FILE_BITS without any extra memory overhead.
  2. VERIFIC_LARGE_LINEFILE
    We still define the class ColLineFile, but it has only a single starting or ending location and does not include column info.
    Valid values of NUM_LINE_BITS and NUM_FILE_BITS are 1 to 31 bits.
    Use as per your requirements. Making (NUM_LINE_BITS + NUM_FILE_BITS) <=32 bit consumes less memory.
  3. VERIFIC_LARGE_LINEFILE_FOR_64 (only for 64 bit windows since long is 4 byte there)
    Same as (2) above but without the class and only for 64 bit windows systems.

These compile flags are mutually exclusive. You should have only one of them defined according to your requirements.

If you do not define any of the above compile flags, by default we use the following:

  • On a 64 bit (non-windows) system, line number and file-id are encoded into a 64 bit unsigned long. You need to set (NUM_LINE_BITS + NUM_FILE_BITS) <= 64
  • On a 32 bit (and 64 bit windows) system, line number and file-id are encoded into a 32 bit unsigned long. You need to set (NUM_LINE_BITS + NUM_FILE_BITS) <= 32

If you do not need column numbers or both starting and ending locations, you can turn off column info.

If the number of files overflows NUM_FILE_BITS, we do issue "WARNING: number of file names exceeded maximum of %d" for too many files. However, producing the same warning for lines/columns will produce too many of them.