Design features

Project files and exports

Where project files live, bringing a repository with its own layout (tapeo.json), and what you can download.

The project tree#

Project files live in a virtual project tree and are stored with their project. Generated flows and results use project-relative folders such as rtl/, tb/, analysis/, generated/, and signoff/. Exact paths depend on the project and flow; the workspace's Where should files go? guide lists the paths each workflow reads.

PathWhat it is
tapeo.jsonOptional: sources, top, testbenches, constraints, blocks, and resets.
analysis/physical_settings.jsonSettings of the standard physical flow; analysis/openroad_flow.tcl is generated from them.
analysis/memory_settings.jsonSRAM macro mapping: off, keep named memories in registers, or restrict the macros.
constraints/cdc_waivers.jsonReviewed clock-domain-crossing waivers, each with a reason.
generated/Tool outputs: netlists/, reports/ (saved checks), memory/ (the memory plan), blocks/ (hardened blocks), and layouts. Written by tools, not by hand.
signoff/Layout-extracted netlists (layout_extracted/) and LVS references (reference/); DRC, timing, and structural reports are under generated/signoff/.
docs/Reference documents the Architect reads.
ip/Tapeo Hub blocks added to the project.
fpga/<board>/board_top.svThe board wrapper for an FPGA build.

Note

Files generated by a tool or AI are kept visible as project artifacts. Review generated constraints, flow scripts, mapped netlists, and reports before relying on them for a design decision.

Your own layout: tapeo.json#

By default Tapeo treats every Verilog/SystemVerilog file outside testbench folders as the design and finds the top module and testbench itself. Bringing a repository with its own layout? Add tapeo.json at the project root to say instead:

FieldMeaning
topThe design's top module.
sourcesPatterns such as hw/**/*.sv, with ! to leave files out.
filelistA file list (.f), instead of or with sources.
includeDirsInclude folders.
definesMacros.
verificationShared verification files.
testbenchesNamed testbenches.
constraintsThe timing constraints file.
blocksModules hardened on their own and placed as macros by the top (SkyWater 130; up to two levels).
resetsReset signals: which is active low or high, asynchronous or synchronous, and to which clocks, for the reset-domain checks.
json
{
  "top": "soc_top",
  "filelist": "hw/files.f",
  "sources": ["hw/extra/**/*.sv", "!hw/legacy/**"],
  "includeDirs": ["hw/include"],
  "defines": ["WIDTH=32"],
  "verification": ["verif/common/**/*.sv"],
  "testbenches": { "default": "verif/tb_soc.sv", "uart": { "files": ["verif/uart/*.sv"], "top": "tb_uart" } },
  "constraints": "constraints/soc.sdc"
}
  • Lint, simulation, synthesis, the FPGA build, and timing then all use it.
  • Workflow shows what it resolved to, and a mistake in it stops the stages with a message saying what to fix.
  • Without the file nothing changes.

Exports#

Project ZIP

Downloads the project files so they can be inspected or continued outside the app.

Engineering handoff ZIP

Available from Workflow when the export can be built. It packages current project files and saved evidence for engineering review; it is not automatically a foundry submission package.

See also VS Code and terminal to work on the same files locally.