Aller au contenu

Espaces de travail et projets

Tout ce que vous faites dans Subaya réside au sein d’un projet. Ce guide montre comment les projets sont organisés, comment les créer et les inspecter depuis la CLI, et comment le fichier local .subaya/config.toml relie un répertoire de travail à un projet.

Multi-locataires : org → espace de travail → projet

Section intitulée « Multi-locataires : org → espace de travail → projet »

Subaya imbrique trois niveaux de propriété :

  • Organisation — le locataire de plus haut niveau de votre compte. La facturation, les membres et les licences résident ici.
  • Espace de travail — un regroupement de projets au sein d’une org (une équipe ou une gamme de produits). Chaque projet appartient à exactement un espace de travail.
  • Projet — l’unité de travail : une conception typée (fpga ou embedded) avec ses propres exigences, simulations, dépôt et phase.

Pour une vue d’ensemble, voir Concepts fondamentaux.

Un projet est créé selon l’un des deux types, ce qui détermine les chaînes d’outils qui lui sont disponibles :

Type Pour Chaînes d’outils
fpga Conceptions RTL / FPGA RyuSim, Verilator, Icarus, Questa, Vivado xsim, Quartus
embedded Firmware MCU (p. ex. STM32) Pin-planning CubeMX, Renode

Créez un projet dans un espace de travail en choisissant son type :

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

Pour un projet embarqué, passez --type embedded. Vous pouvez éventuellement définir un slug d’URL ou rattacher un appareil au moment de la création :

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

suya project init est un alias de suya project create.

Listez les projets d’un espace de travail :

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

Affichez les détails d’un seul projet. Sans projet spécifié, cela utilise par défaut le projet enregistré dans le fichier local .subaya/config.toml (voir ci-dessous) :

Terminal window
suya project show

Lorsque vous travaillez sur un projet depuis un répertoire, Subaya enregistre l’identifiant du projet dans .subaya/config.toml. La plupart des commandes qui acceptent un drapeau --project utilisent cette valeur par défaut, de sorte que vous pouvez les exécuter sans répéter l’identifiant :

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

C’est ce qui permet à suya sim run, suya arch ..., suya rag search --scope project:<id> et autres commandes similaires de « savoir » à quel projet elles appartiennent.

Chaque projet traverse des phases qui façonnent l’interface et les outils disponibles :

Concept → Plan → Implement → Simulate → Verify

Obtenez ou définissez la phase actuelle :

Terminal window
suya project phase

Les projets peuvent être associés à un appareil matériel du catalogue. Recherchez dans le catalogue, inspectez un composant et affectez-en un à votre projet :

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

Vous pouvez également rattacher un appareil au moment de la création avec --device <device-id> sur suya project create.