The rtlpp.toml manifest
The rtlpp.toml file that names a project's top module, board, device, constraint file and build settings, and where to change each one.
The manifest is the project's settings as a small TOML file. It is written beside the files when you export, read back when you import, and shown live in the Inspector under rtlpp.toml.
The manifest of a project for the iCEBreaker:
name = "Blink" top = "blink" board = "icebreaker" constraints = "icebreaker.pcf" [device] family = "ice40" part = "up5k" package = "sg48" [build] seed = 1
name- The project name.
top- The module synthesized for the device. Without one, RTL++ picks the first design module that no other module instantiates.
board- The board, which also sets the device. Omitted for a simulation-only project.
constraints- The pin constraint file in the project:
.pcffor iCE40,.lpffor ECP5,.cstfor Gowin. [device]- The FPGA as nextpnr names it:
family,partandpackage. Omitted for a simulation-only project. [build]- The placement
seedand, when set, the target clock frequencyfreq_mhz. See Seeds and target frequency.
Change the top module, board, device and constraints in the Inspector (⌘E), and the seed and target frequency in the Build view. The command bar also offers to set the top module when it finds a likelier one.