Quartus® Prime Pro Edition User Guide: Third-party Simulation

ID 683870
Date 9/30/2024
Public
Document Table of Contents

1.3.1. Specifying Logical Libraries

Some simulator commands for compilation and elaboration require you to specify a logical library name as input.

A Logical library is simply a name (typically short and readable) that represents a physical library directory. For example, logical library name foo can represent physical directory /users/jsmith/design1/bar. The simulator commands translate the logical library name to a physical directory name by reading in a library mapping file. The simulator commands require only the physical directory names.

The mapping of logical library names to physical directory names is known as library mapping, which you must define. You typically store the library mapping in a separate text file in a proprietary text format, with each line containing a single logical library name and the corresponding library directory path. You can either update the file manually, or by using a simulator specific command (if available). This library mapping file often has a fixed simulator specific name and a fixed location. Therefore, you do not generally specify the library mapping file as an argument to simulator commands, even though the file is read by the commands.

A logical library name is an optional argument to many simulator commands. If you do not specify a logical library name for such commands, the default value is work. Therefore, you must map the logical library name work to a physical directory name. Some simulators add a default library mapping for the work library if you do not specify a mapping in a library mapping file. It is legal to map multiple logical library names to a single library directory.

Example library mapping file with logical library names foo_lib and common_sim_lib:

foo_lib  :   /users/john/designs/foo_dir
common_sim_lib  : /usr/sim/common/libraries
Note: syntax of library mapping file varies with simulator