Guide
A quickstart guide to Boson, Partcl's GPU-accelerated physical design toolchain.
Core concepts
Your company's account. May be abbreviated to org.
e.g. Partcl, Acme Corp
The atomic billable unit. Roughly one cell evaluated by Boson during a static-timing-analysis pass.
A picorv32 STA = ~7,000 gate-runs. An NVDLA partition STA = ~7.7 Mgate-runs.
A convenience unit for one million gate-runs.
Deployment
We understand that our software runs on sensitive IP. That's why we ship images that run on your premises.
Direct
This is the simplest and recommended way to use Boson. Simply use an API key (psk_*) and Boson will meter every STA run.
Mint keys via the Dashboard's "API keys" button on your organization. The plaintext is shown once, at creation time. Revoking is instant. Anyone holding a key can spend against the org's balance, so treat it like a password.
This method means the image is metered online: each session authenticates with your Partcl API key and meters usage against your account. Without the key or outbound HTTPS to api.partcl.com sessions refuse to start and timing runs fail.
Downloading a release
There are two ways to get the Boson image:
- Web download — This is the simplest and preferred path. Just click Download button and copy the one-liner. If the image says expired, just contact your Partcl operator and it will be available shortly.
- docker pull — if your environment can authenticate to Google Artifact Registry: request pull access via your organization card's Image pulls, then pull like any registry image. The image arrives unencrypted.
The decryption key only unlocks the archive. It is not your API key.
Running a release
Once docker load has imported the image as boson-release:v<version> (whether from the steps above or the one-line install):
# Sanity check that needs no API key, network, or GPU:
docker run --rm boson-release:v<version> --versionTiming needs a GPU and your API key. Export it once (see Direct for how it's issued):
export PARTCL_API_KEY=<your API key>Run a single script
Point Boson at one script (i.e. flow.tcl in the current directory) with its inputs alongside it. Mounting $PWD at the same path inside the container keeps the paths in your script valid:
docker run --rm --gpus all -e PARTCL_API_KEY \
-v "$PWD":"$PWD" -w "$PWD" boson-release:v<version> -s -f flow.tclIf inputs live outside the current directory (a shared PDK or Liberty tree), add another -v /path:/path so they resolve at the same path inside the container.
Open the Boson REPL
Drop into the interactive partcl> prompt to run commands by hand — same mounts, add -it and omit -s -f:
docker run --rm -it --gpus all -e PARTCL_API_KEY \
-v "$PWD":"$PWD" -w "$PWD" boson-release:v<version>Limits & safeguards
- Penny rounding: overage rounds up to the cent, not to whole Mgate-runs.
- Append-only ingest: usage reports include a sequence number and Merkle root; Partcl detects gaps but never silently drops data.
- Signed bundles: every credit grant is signed by Partcl's Cloud KMS master key. Daemons reject anything not signed by the pinned master pubkey.
Questions? Email contact@partcl.com.