Skip to content
Dave edited this page Apr 7, 2024 · 7 revisions

Welcome to the GHDL wiki!

Although the core of GHDL is written in Ada (which isn't very popular), other languages are used in the project:

  • C++ is used for interfacing with LLVM and GCC backends, and also for the Yosys plugin (see ghdl-yosys-plugin).
  • C is used for some low-level routines.
  • Python is used for some internal tools. There also a Python API that is used in the language server (see subdir pyGHDL).
  • TypeScript is used in the VSCode extension of the language server (see ghdl-language-server).
  • Shell scripts are used to build vendor libraries, to build packages/artifacts, and for CI.
  • reStructuredText, Markdown, HTML/CSS/JavaScript and LaTeX are used for documentation.
  • VHDL is used to write examples and Minimal (non-)Working Examples (MWE).
  • Verilog can be used to instantiate primitives and for mixed-language synthesis through ghdl-yosys-plugin.

What could be done?

If you'd like to contribute, please see Contributing. Then, you can try to pick any issue. Note that you can filter them by labels. Precisely, there is Good First Issue to mark the ones that are expected to be easy. Some of the repos have pinned issues too.

See also Ideas: GSOC and Ideas: Documentation.

The manual contains a brief description of the internals of GHDL.

Do not hesitate to ask questions either by creating an issue or in the chat (Gitter).

Roadmap

The following is a vague list of ideas that core developers would like to work on in the future:

  • Language support
    • Full support of VHDL-2008
    • Support of VHDL-2019
  • Performance (improving simulation speed)
  • Style checks for VHDL
  • Graphical tools