Paths
You can specify absolute or relative paths.
Relative paths are resolved relative to the compilation root. By default the compilation root is the project directory. However, when using the -F
directive to include another argument file the compilation root might change (for more details see Including Other Argument Files).
You can use environment variables when specifying paths.
You can use ant-like path patterns when specifying top files and incdirs:
? matches a single character, for example top?.sv matches top1.sv and topA.sv but not top_1.sv
* matches a sequence of characters from a file or directory name, for example top*/*.sv matches all files with .sv extension from all the directories starting with top, +incdir+/path/to/incdir_* will set as incdirs all directories from /path/to/ having the incdir_ prefix
** matches a sequence of directories from a path (recursively), for example **/*.sv matches all files with .sv extension from the whole project directory tree
When multiple files are specified using path patterns, a shallow analysis is performed in order to figure out the proper compilation order.
Tip
Computing all files that match a given path pattern might be time consuming, especially on slow filesystems or when using recursive patterns (like **/*.sv). By default, the filesystem scan times out after 5 seconds. Use +dvt_path_pattern_timeout+<timeout> to control the timeout value(in seconds) of this operation.
Tip
Figuring out the proper compilation order of files expanded from a path pattern might be time consuming, especially when the wildcard matches hundreds/thousands of files. By default, sorting times out after 5 seconds. Use +dvt_path_pattern_sorting_timeout+<timeout> to control the timeout value(in seconds) of this operation.