Zum Inhalt springen

Workspaces & Projekte

Alles, was Sie in Subaya tun, lebt innerhalb eines Projekts. Dieser Leitfaden zeigt, wie Projekte organisiert sind, wie Sie sie über die CLI erstellen und inspizieren und wie die lokale .subaya/config.toml ein Arbeitsverzeichnis mit einem Projekt verbindet.

Mandantenstruktur: Organisation → Workspace → Projekt

Abschnitt betitelt „Mandantenstruktur: Organisation → Workspace → Projekt“

Subaya verschachtelt drei Ebenen der Zugehörigkeit:

  • Organisation — der oberste Mandant Ihres Kontos. Abrechnung, Mitglieder und Lizenzen leben hier.
  • Workspace — eine Gruppierung von Projekten innerhalb einer Organisation (ein Team oder eine Produktlinie). Jedes Projekt gehört zu genau einem Workspace.
  • Projekt — die Arbeitseinheit: ein typisierter (fpga oder embedded) Entwurf mit eigenen Anforderungen, Simulationen, Repository und Phase.

Den größeren Zusammenhang finden Sie unter Kernkonzepte.

Ein Projekt wird als einer von zwei Typen erstellt, was die ihm zur Verfügung stehenden Toolchains bestimmt:

Typ Für Toolchains
fpga RTL-/FPGA-Entwürfe RyuSim, Verilator, Icarus, Questa, Vivado xsim, Quartus
embedded MCU-Firmware (z. B. STM32) CubeMX-Pin-Planung, Renode

Erstellen Sie ein Projekt innerhalb eines Workspace und wählen Sie seinen Typ:

Terminal window
suya project create --name <name> --workspace <workspace-id> --type fpga

Für ein Embedded-Projekt übergeben Sie --type embedded. Optional können Sie einen URL-Slug festlegen oder bei der Erstellung ein Gerät anheften:

Terminal window
suya project create \
--name blinky \
--workspace <workspace-id> \
--type embedded \
--slug blinky \
--device <device-id>

suya project init ist ein Alias von suya project create.

Listen Sie die Projekte in einem Workspace auf:

Terminal window
suya project list --workspace <workspace-id>

Zeigen Sie die Details eines einzelnen Projekts an. Ohne angegebenes Projekt wird standardmäßig das in der lokalen .subaya/config.toml erfasste Projekt verwendet (siehe unten):

Terminal window
suya project show

Wenn Sie aus einem Verzeichnis heraus an einem Projekt arbeiten, erfasst Subaya die Projekt-ID in .subaya/config.toml. Die meisten Befehle, die ein --project-Flag annehmen, greifen standardmäßig auf diesen Wert zurück, sodass Sie sie ausführen können, ohne die ID zu wiederholen:

Terminal window
# Both work the same once .subaya/config.toml points at a project:
suya project show
suya project show --project <project-id>

Genau dies ermöglicht es Befehlen wie suya sim run, suya arch ..., suya rag search --scope project:<id> und ähnlichen, „einfach zu wissen“, zu welchem Projekt sie gehören.

Jedes Projekt durchläuft Phasen, die die Benutzeroberfläche und die verfügbaren Tools bestimmen:

Concept → Plan → Implement → Simulate → Verify

Aktuelle Phase abrufen oder setzen:

Terminal window
suya project phase

Projekte können mit einem Hardwaregerät aus dem Katalog verknüpft werden. Durchsuchen Sie den Katalog, inspizieren Sie ein Bauteil und weisen Sie eines Ihrem Projekt zu:

Terminal window
suya device search --type embedded
suya device show <device-id>
suya device set <device-id>

Sie können ein Gerät auch bei der Erstellung mit --device <device-id> bei suya project create anheften.