Files
retroSoC/publications/datasheets/sections/development-environment.typ
T
maksyuki 3ac9e73ab9 feat: refactor tests for mailbox and environment validation
- Updated mailbox purpose tests to reflect new write order and sequence handling.
- Added tests to ensure Linux-ready values match LP contract and constants match Linux helper.
- Introduced tests to verify that offset changes do not hide stale Linux helpers.
- Enhanced environment tests to report current locked launcher and runtime versions.
- Added checks for SBT launcher presence in environment labels.
- Improved full diagram tests to validate storage geometry and RSA vector configurations.
- Expanded register tests to ensure crypto interrupt registers publish all events and lifecycle annotations preserve security boundaries.
- Modified script tools tests to include Vexii generation validation and updated workflow assertions.
2026-09-30 10:51:04 +08:00

38 lines
2.9 KiB
Typst

#import "../style.typ": *
#change-start("v05-emphasis-development-environment","Selected body emphasis: development environment")
=== Development environment and reproducible inputs
#change-start("v05-refresh-development","Supported development environment and evidence stages")
#let environment=data.system_reference.development_environment
The supported open-source tool environment targets #environment.platform. The Docker image,
Nix application and manual Ubuntu #environment.ubuntu bootstrap share the repository's locked
installer. Docker and Nix use Python #environment.python to match the pinned requirement sets;
both provide Java #environment.java for the locked SBT launcher #environment.sbt_launcher.
Each project selects its SBT engine through its own pinned build properties; the launcher
version is not an engine-version claim. These are development prerequisites,
*not additional SoC functions* or a statement of target performance.
#ds-table("development-entrypoints",[Development entrypoints and their boundaries],
([Entrypoint],[Reproducible input],[Use and evidence boundary]),
(([Docker],[Digest-pinned Ubuntu base and the shared dependency lock.],[The image supplies tools. A mounted checkout supplies managed RTL, PDKs, application inputs and generated outputs.]),
([Nix],[Locked nixpkgs and a *Linux x86_64* FHS environment.],[The launcher uses the same bootstrap in the current checkout. A successful flake check does not establish runtime regression success.]),
([Manual Ubuntu],[Shared bootstrap, archive checksums and pinned Python requirements.],[Activate and check the installed environment, then prepare the selected profile's dependencies before building.])),
widths:(0.65fr,1.45fr,2.15fr))
The environment does not package PDK repositories, managed RTL, application archives,
build products or compiler caches. Follow the engineering guide's setup and doctor flows
for the selected checkout and profile. Preserve the installed environment manifest and
input hashes with each result; the full setup commands belong in that guide.
Record installation, environment checking and runtime regression as separate stages.
The hosted development-environment workflow currently runs the IHP130 behavioral-only
regression; it does not add synthesis, netlist, STA or silicon evidence. A failed runtime
stage remains a failure even when Docker build or Nix installation/checking succeeds.
See @release-verification for the commit-bound observation and its UTC sampling time.
#source-note("docs/development-environment.md",title:"Supported environment, setup commands and activation")
#source-note("dependencies/dependencies.lock.json",title:"Locked sources, tools, containers and Nix inputs")
#source-note(".github/workflows/development-environment.yml",title:"Actual installation and behavioral runtime stages")
#change-end("v05-refresh-development")
#change-end("v05-emphasis-development-environment")