Blueprint

The blueprint is a file containing a list of files required for a particular back end. This single file is the main method Orbit uses to communicate information to a target's process.

When the blueprint is created, it is saved to the local ip's target output directory.

Formats

The currently supported formats are:

Specifications

Each blueprint format may contain different information and store it in a different way. Refer to each specification to see exactly how the data is communicated through their blueprint.

Attributes that are consistent across all formats are the fileset, library, and filepath.

The fileset is the group name for the file pattern that matched the given rule's file.

The library is the hdl defined library for the ip which the given file at this particular step was found.

The filepath is the absolute file system path to the given rule's file.

Built-in Filesets

The following filesets are already recognized by Orbit and are used for identifying hdl source code:

FilesetSupported file extensions
VHDL.vhd, .vhdl
VLOG.v, .vl, .verilog, .vlg, .vh
SYSV.sv, .svh

Tab-separated values

  • Advantages
    • Simple and easy to parse for back ends
  • Disadvantages
    • Limited information is sent

The file is divided into a series of steps, each separated by a newline character (\n).

STEP
STEP
...

A step contains information about a particular file. Every step always has 3 components: a fileset, a library, and a filepath. Each component in a step is separated by a tab character (\t).

FILESET	LIBRARY	FILEPATH

Examples

PYMDL	lc3b	/Users/chase/projects/lc3b/sim/models/alu_tb.py
VHDL	lc3b	/Users/chase/projects/lc3b/rtl/const_pkg.vhd
VHDL	base2	/Users/chase/.orbit/cache/base2-1.0.0-aac9159285/pkg/base2.vhd
VHDL	lc3b	/Users/chase/projects/lc3b/rtl/alu.vhd
VHDL	lc3b	/Users/chase/projects/lc3b/sim/alu_tb.vhd