Next: , Previous: Analysis command, Up: Building commands


3.1.2 Elaboration command

     $ ghdl -e [options] primary_unit [secondary_unit]

On GNU/Linux the elaboration command creates an executable containing the code of the VHDL sources, the elaboration code and simulation code to execute a design hierarchy. On Windows this command elaborates the design but does not generate anything.

The elaboration command is selected with -e switch, and must be followed by either:

Name of the units must be a simple name, without any dot. You can select the name of the ‘WORK’ library with the --work=NAME option, as described in GHDL options.

See Top entity, for the restrictions on the root design of a hierarchy.

On GNU/Linux the filename of the executable is the name of the primary unit, or for the later case, the concatenation of the name of the primary unit, a dash, and the name of the secondary unit (or architecture). On Windows there is no executable generated.

The -o followed by a filename can override the default executable filename.

For the elaboration command, GHDL re-analyzes all the configurations, entities, architectures and package declarations, and creates the default configurations and the default binding indications according to the LRM rules. It also generates the list of objects files required for the executable. Then, it links all these files with the runtime library.

The actual elaboration is performed at runtime.

On Windows this command can be skipped because it is also done by the run command.