iverilog/Documentation/usage/vhdlpp_flags.rst

60 lines
1.4 KiB
ReStructuredText
Raw Normal View History

2023-06-09 13:30:44 +02:00
vhdlpp Command Line Flags
=========================
* -D <token>
Debug flags. The token can be:
* yydebug | no-yydebug
* entities=<path>
2023-06-09 13:30:44 +02:00
* -L <path>
Library path. Add the directory name to the front of the library
search path. The library search path is initially empty.
2023-06-09 13:30:44 +02:00
* -V
Display version on stdout
2023-06-09 13:30:44 +02:00
* -v
Verbose: Display version on stderr, and enable verbose messages to
stderr.
2023-06-09 13:30:44 +02:00
* -w <path>
Work path. This is the directory where the working directory is.
2023-06-09 13:30:44 +02:00
Library Format
--------------
The vhdlpp program stores libraries as directory that contain
packages. The name of the directory (in lower case) is the name of the
library as used on the "import" statement. Within that library, there
2023-06-09 13:30:44 +02:00
are packages in files named <foo>.pkg. For example::
2011-08-05 21:11:54 +02:00
<directory>/...
sample/...
test1.pkg
test2.pkg
bar/...
test3.pkg
Use the "+vhdl-libdir+<directory>" record in a config file to tell
Icarus Verilog that <directory> is a place to look for libraries. Then
2023-06-09 13:30:44 +02:00
in your VHDL code, access packages like this::
2011-08-05 21:11:54 +02:00
library sample;
library bar;
use sample.test1.all;
use bar.test3.all;
2023-06-09 13:30:44 +02:00
The \*.pkg files are just VHDL code containing only the package with
2011-09-01 23:32:07 +02:00
the same name. When Icarus Verilog encounters the "use <lib>.<name>.*;"
2011-08-05 21:11:54 +02:00
statement, it looks for the <name>.pkg file in the <lib> library and
parses that file to get the package header declared therein.