iverilog/vhdlpp
Maciej Suminski abbcea64d0 vhdlpp: Array attributes can be evaluated in packages/functions. 2015-02-04 16:57:43 +01:00
..
Makefile.in Basic patch from github #44 2014-11-04 11:39:01 -08:00
README.txt
architec.cc
architec.h
architec_debug.cc
architec_elaborate.cc vhdlpp: Functions support unbounded vectors as return type and parameters. 2015-02-04 16:57:43 +01:00
architec_emit.cc vhdlpp: Emit use_types in Architecture. 2014-10-17 14:13:06 +02:00
compiler.cc
compiler.h
debug.cc
entity.cc
entity.h
entity_elaborate.cc
entity_emit.cc
entity_stream.cc
expression.cc vhdlpp: Added ExpNew class. 2015-02-04 16:57:43 +01:00
expression.h vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
expression_debug.cc vhdlpp: Added ExpNew class. 2015-02-04 16:57:43 +01:00
expression_elaborate.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
expression_emit.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
expression_evaluate.cc vhdlpp: Array attributes can be evaluated in packages/functions. 2015-02-04 16:57:43 +01:00
expression_stream.cc vhdlpp: Added ExpCast class. 2015-02-04 16:57:42 +01:00
ivl_assert.h
lexor.lex
lexor_keyword.gperf Basic patch from github #44 2014-11-04 11:39:01 -08:00
library.cc Add some implicit support for std and textio libraries 2014-12-18 08:20:19 -08:00
library.h
main.cc
package.cc
package.h
package_emit.cc vhdlpp: Corrected VTypeDef::emit_def() to allow typedefed names in function headers. 2015-02-04 16:57:43 +01:00
parse.y
parse_api.h
parse_misc.cc vhdlpp: VTypeArray stores parent type, in case it is a subtype. 2015-02-04 16:57:43 +01:00
parse_misc.h
parse_types.h
parse_wrap.h
scope.cc vhdlpp: Added ScopeBase::find_param() method. 2015-02-04 16:57:43 +01:00
scope.h vhdlpp: Added ScopeBase::find_param() method. 2015-02-04 16:57:43 +01:00
sequential.cc vhdlpp: Added ReturnStmt::cast_to() method. 2015-02-04 16:57:43 +01:00
sequential.h vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
sequential_debug.cc
sequential_elaborate.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
sequential_emit.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
subprogram.cc vhdlpp: VTypeArray::is_variable_length() uses ScopeBase to determine if variable has constant length. 2015-02-04 16:57:43 +01:00
subprogram.h vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
subprogram_emit.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
vhdlint.cc
vhdlint.h
vhdlnum.h
vhdlpp_config.h.in
vhdlreal.cc
vhdlreal.h
vsignal.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
vsignal.h vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
vtype.cc vhdlpp: VTypeArray::is_variable_length() uses ScopeBase to determine if variable has constant length. 2015-02-04 16:57:43 +01:00
vtype.h vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
vtype_elaborate.cc vhdlpp: Elaborate and emit functions work with ScopeBase instead of Architecture. 2015-02-04 16:57:43 +01:00
vtype_emit.cc vhdlpp: Corrected VTypeDef::emit_def() to allow typedefed names in function headers. 2015-02-04 16:57:43 +01:00
vtype_match.cc
vtype_stream.cc

README.txt

vhdlpp COMMAND LINE FLAGS:

-D <token>
  Debug flags. The token can be:

  * yydebug | no-yydebug

  * entities=<path>

-L <path>
  Library path. Add the directory name to the front of the library
  search path. The library search path is initially empty.

-V
  Display version on stdout

-v
  Verbose: Display version on stderr, and enable verbose messages to
  stderr.

-w <path>
  Work path. This is the directory where the working directory is.


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
are packages in files named <foo>.pkg. For example:

    <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
in your VHDL code, access packages like this:

    library sample;
    library bar;
    use sample.test1.all;
    use bar.test3.all;

The *.pkg files are just VHDL code containing only the package with
the same name. When Icarus Verilog encounters the "use <lib>.<name>.*;"
statement, it looks for the <name>.pkg file in the <lib> library and
parses that file to get the package header declared therein.