コンテンツにスキップ

ワークスペースとプロジェクト

Subaya で行うことはすべてプロジェクトの中に存在します。このガイドでは、プロジェクトが どう編成されるか、CLI からどう作成・検査するか、そしてローカルの .subaya/config.toml が 作業ディレクトリをプロジェクトにどう結び付けるかを示します。

テナンシー: 組織 → ワークスペース → プロジェクト

Section titled “テナンシー: 組織 → ワークスペース → プロジェクト”

Subaya は所有権の 3 つのレベルを入れ子にします:

  • 組織 — お客様のアカウントの最上位テナント。課金、メンバー、ライセンスがここに存在します。
  • ワークスペース — 組織内のプロジェクトのグルーピング(チームや製品ライン)。 すべてのプロジェクトはちょうど 1 つのワークスペースに属します。
  • プロジェクト — 作業の単位: 独自の要件、シミュレーション、リポジトリ、フェーズを持つ タイプ付き(fpga または embedded)の設計。

全体像については コアコンセプト をご覧ください。

プロジェクトは 2 つのタイプのいずれかとして作成され、それが利用可能なツールチェーンを形作ります:

タイプ 対象 ツールチェーン
fpga RTL / FPGA 設計 RyuSim, Verilator, Icarus, Questa, Vivado xsim, Quartus
embedded MCU ファームウェア(例: STM32) CubeMX ピンプランニング, Renode

ワークスペース内にプロジェクトを作成し、そのタイプを選びます:

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

組み込みプロジェクトの場合は --type embedded を渡します。任意で、作成時に URL スラッグを 設定したりデバイスをピン留めしたりできます:

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

suya project initsuya project create のエイリアスです。

プロジェクトの一覧表示と検査

Section titled “プロジェクトの一覧表示と検査”

ワークスペース内のプロジェクトを一覧表示します:

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

単一のプロジェクトの詳細を表示します。プロジェクトが指定されない場合、これはローカルの .subaya/config.toml に記録されたプロジェクトをデフォルトとします(下記参照):

Terminal window
suya project show

ディレクトリからプロジェクトに対して作業すると、Subaya はプロジェクト id を .subaya/config.toml に記録します。--project フラグを取るほとんどのコマンドはこの値を デフォルトとするため、id を繰り返さずに実行できます:

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

これにより、suya sim runsuya arch ...suya rag search --scope project:<id>、そして 同様のコマンドが、自分がどのプロジェクトに属するかを「ただ知っている」ようになります。

すべてのプロジェクトは、UI と利用可能なツールを形作るフェーズを通過します:

Concept → Plan → Implement → Simulate → Verify

現在のフェーズを取得または設定します:

Terminal window
suya project phase

プロジェクトは、カタログのハードウェアデバイスに関連付けることができます。カタログを検索し、 部品を検査し、その 1 つをプロジェクトに割り当てます:

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

suya project create--device <device-id> で、作成時にデバイスをピン留めすることも できます。