콘텐츠로 이동

워크스페이스 및 프로젝트

Subaya에서 수행하는 모든 작업은 프로젝트 안에 존재합니다. 이 가이드는 프로젝트가 어떻게 구성되는지, CLI에서 프로젝트를 생성하고 검사하는 방법, 그리고 로컬 .subaya/config.toml이 작업 디렉터리를 프로젝트에 연결하는 방식을 보여줍니다.

테넌시: 조직 → 워크스페이스 → 프로젝트

섹션 제목: “테넌시: 조직 → 워크스페이스 → 프로젝트”

Subaya는 세 단계의 소유권을 중첩합니다.

  • 조직(Organization) — 계정의 최상위 테넌트입니다. 결제, 멤버, 라이선스가 여기에 존재합니다.
  • 워크스페이스(Workspace) — 조직 내 프로젝트의 그룹입니다(팀 또는 제품 라인). 모든 프로젝트는 정확히 하나의 워크스페이스에 속합니다.
  • 프로젝트(Project) — 작업 단위입니다. 자체 요구사항, 시뮬레이션, 레포, 단계를 가진 유형이 지정된(fpga 또는 embedded) 설계입니다.

더 큰 그림은 Core concepts를 참조하십시오.

프로젝트는 두 가지 유형 중 하나로 생성되며, 이는 해당 프로젝트에서 사용 가능한 툴체인을 결정합니다.

Type For Toolchains
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의 별칭입니다.

워크스페이스의 프로젝트를 나열합니다.

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 run, suya arch ..., suya rag search --scope project:<id> 및 유사한 명령들이 자신이 어떤 프로젝트에 속하는지 “그냥 알 수 있게” 해주는 요소입니다.

모든 프로젝트는 UI와 사용 가능한 도구를 형성하는 단계들을 거칩니다.

Concept → Plan → Implement → Simulate → Verify

현재 단계를 가져오거나 설정합니다.

Terminal window
suya project phase

프로젝트는 카탈로그의 하드웨어 디바이스와 연결될 수 있습니다. 카탈로그를 검색하고, 부품을 검사하고, 프로젝트에 하나를 할당합니다.

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

또한 suya project create에서 --device <device-id>로 생성 시점에 디바이스를 고정할 수도 있습니다.