Clone wiki

PSHDL.commandline / Home

This is the command line version of the PSHDL compiler. You can use this version if you, or your employeer don't want to use the online version. If you don't have strong reasons for using the online REST API, I would highly recommend you to do so, as using it will help the development of future versions of PSHDL. Your data on the server will not be make public in any way.

This said, if you still want to use the command line version, you can download it here.

Executing it with

java -jar pshdl.jar

Will yield a usage information that currently looks like this:

Compiler [OPTIONS] <psex|vhdl> [GENERATOR_OPTIONS]
 -help      Print the usage options of this compiler
 -nocheck   Don't check for an updated version of the command line
 -version   Print the version of this compiler
psex usage: [OPTIONS] MODULE <files>
 -ir                    dump the intermediate PSHDL code
 -noEm                  disable the output of the byte-code .em file
 -o,--outputDir <arg>   Specify the directory to which the files will be
                        written, default is: src-gen/psex/[type]
 -type <c|dart|java>    The output type to generate. Valid options are: c,
                        dart, java. Each type may require additional
                        command line arguments
Options for the Java type:
 -d,--debug       If debug is specified, the source will contain support
                  for a IDebugListener
 -p,--pkg <arg>   The package the generated source will use. If non is
                  specified the package from the module is used
vhdl usage: [OPTIONS] <files>
 -i,--interface         Generate pshdl interface declarations for vhdl
                        file arguments
 -o,--outputDir <arg>   Specify the directory to which the files will be
                        written, default is: src-gen

A typical use-case would be to generate VHDL code from some PSHDL files. For this you call:

java -jar pshdl.jar vhdl *.pshdl

This will generate all vhdl files into a folder named "src-gen" unless specified otherwise. If you instantiated some VHDL entities, you can include them like any pshdl file.

If you have a VHDL file and you want to get an interface declaration for instantiation, you can call it like this:

java -jar pshdl.jar vhdl -i MyEntity.vhdl

You will then find a MyEntity.vhdl.pshdl file in src-gen that you can use to instantiate it.