Difference between revisions of "How to save computer resources"

From Verific Design Automation FAQ
Jump to: navigation, search
Line 13: Line 13:
 
To prevent this, we provide this compile flag to quickly parse the file and see if it is actually required or not, without creating the parse tree. If it is not required we will ignore the file, otherwise we will fully parse it and pick the required modules.
 
To prevent this, we provide this compile flag to quickly parse the file and see if it is actually required or not, without creating the parse tree. If it is not required we will ignore the file, otherwise we will fully parse it and pick the required modules.
  
 +
- Compile flag VERIFIC_LINEFILE_INCLUDES_COLUMNS
 +
If you don't need the starting and ending locations including column info, turn this flag off.
 +
 +
For more details, see [[LineFile data from input files|LineFile data from input files]]
 
  - Runtime flag veri_improve_include_dir_processing_runtime_for_network_file_system
 
  - Runtime flag veri_improve_include_dir_processing_runtime_for_network_file_system
 
Adds directory caching for include directories with simple files (files without a directory specification).
 
Adds directory caching for include directories with simple files (files without a directory specification).

Revision as of 19:36, 15 March 2021

>>> This page is under construction. <<<

- Compile flag VERIFIC_MEMORY_MANAGER

Enables the new, zero-overhead, Verific memory manager. Typically reduces memory usage of the Verific software by an additional 20% over the default system memory manager.

- Compile flag DB_USE_PORT_ORDERED_PORTREF

Organizes the PortRef structures in an ordered array rather than a hash table. This saves a significant amount of memory since PortRefs are no longer individually allocated, and the overhead of a hash table is also saved.

- Compile flag VERILOG_QUICK_PARSE_V_FILES

Normally a -v file may contain multiple module definitions. The Verilog parser is supposed to pick only the required modules from that file.

However, the file may not contain any of the required modules; instead it is a large file containing many other modules of no interest. In such a case, analyzing and creating a parse tree for the full file will consume much time and memory.

To prevent this, we provide this compile flag to quickly parse the file and see if it is actually required or not, without creating the parse tree. If it is not required we will ignore the file, otherwise we will fully parse it and pick the required modules.

- Compile flag VERIFIC_LINEFILE_INCLUDES_COLUMNS

If you don't need the starting and ending locations including column info, turn this flag off.

For more details, see LineFile data from input files

- Runtime flag veri_improve_include_dir_processing_runtime_for_network_file_system

Adds directory caching for include directories with simple files (files without a directory specification).

We read the contents of the directory on first encountering it while checking for an include file. Subsequent searches will find the file in the cache instead of the actual disk.

The cache is automatically cleared at the end of the veri_file::Analyze() or veri_file::AnalyzeMultipleFiles() calls. Note that we cannot keep it alive after the two analyze calls since there could possibly be a chdir() call which would make the cache invalid.