工作区与项目
你在 Subaya 中所做的一切都存在于一个项目内。本指南展示项目是如何组织的、如何从 CLI 创建和
检查它们,以及本地的 .subaya/config.toml 如何把一个工作目录绑定到一个项目。
租户层级:org → workspace → project
Section titled “租户层级:org → workspace → project”Subaya 嵌套了三层所有权:
- 组织 — 你账户的顶层租户。计费、成员和许可证都在这里。
- 工作区 — 组织内项目的分组(一个团队或一条产品线)。每个项目恰好属于一个工作区。
- 项目 — 工作单元:一个带类型(
fpga或embedded)的设计,拥有自己的需求、仿真、仓库和阶段。
更全面的图景请参见核心概念。
一个项目被创建为两种类型之一,这会塑造它可用的工具链:
| 类型 | 用于 | 工具链 |
|---|---|---|
fpga |
RTL / FPGA 设计 | RyuSim、Verilator、Icarus、Questa、Vivado xsim、Quartus |
embedded |
MCU 固件(例如 STM32) | CubeMX 引脚规划、Renode |
创建一个项目
Section titled “创建一个项目”在一个工作区内创建一个项目,并选择其类型:
suya project create --name <name> --workspace <workspace-id> --type fpga对于嵌入式项目,传入 --type embedded。你可以选择性地在创建时设置一个 URL slug 或固定一个设备:
suya project create \ --name blinky \ --workspace <workspace-id> \ --type embedded \ --slug blinky \ --device <device-id>suya project init 是 suya project create 的别名。
列出和检查项目
Section titled “列出和检查项目”列出工作区中的项目:
suya project list --workspace <workspace-id>显示单个项目的详情。若未给定项目,这会默认为记录在本地 .subaya/config.toml(见下文)中的项目:
suya project show本地配置:.subaya/config.toml
Section titled “本地配置:.subaya/config.toml”当你从一个目录针对某个项目工作时,Subaya 会把项目 id 记录在 .subaya/config.toml 中。
大多数接受 --project 标志的命令都会默认采用此值,因此你可以在不重复 id 的情况下运行它们:
# Both work the same once .subaya/config.toml points at a project:suya project showsuya project show --project <project-id>正是这一点让 suya sim run、suya arch ...、suya rag search --scope project:<id> 以及
类似命令“恰好知道”它们所属的项目。
每个项目都会经历一系列阶段,这些阶段塑造 UI 和可用的工具:
概念 → 规划 → 实现 → 仿真 → 验证
获取或设置当前阶段:
suya project phase项目可以与目录中的一个硬件设备关联。搜索目录、检查一个型号,并为你的项目分配一个:
suya device search --type embeddedsuya device show <device-id>suya device set <device-id>你也可以在创建时通过 suya project create 上的 --device <device-id> 固定一个设备。
- 运行仿真 — 端到端运行一次仿真。
- 云端工具链与 CubeMX — 云端工具链和嵌入式引脚规划。
- CLI: project — 完整的
suya project参考。 - CLI: device — 完整的
suya device参考。