In the context of FuseSoC some terms have special meaning. This glossary section explains some of the jargon used.


Short for “Core API version 2.” The schema or “language” used in core files. The ref_capi2 describes the syntax in detail.


A core is a reasonably self-contained, reusable piece of IP, such as a FIFO implementation. See also FuseSoC’s basic building block: cores.

core file
core description file

A file describing a core, including source files, available targets, etc. A core file is a YAML file which follows CAPI2 schema. Core files names must end in .core.

semantic versioning

Semantic versioning is a convention to give meaning to version numbers. See Semantic versioning (SemVer) and

build stage

See Build stages.


See Targets.

tool flow

See Tool flows.


Vendor, Library, Name, and Version: the format used for core names. In core names, the four parts are separated by colons, forming a name like vendor:library:name:version.

See also The core name, version, and description.


YAML is (among other things) a markup language, commonly used for configuration files. It is used in FuseSoC in various places, especially for core description files and for EDAM files.

Read more about YAML on Wikipedia or on