Getting started
Install from a GitHub Release, or clone and run the gold. Native desktop
target is Apple Silicon (aarch64-apple-darwin). CI is Linux
(x86_64-unknown-linux-gnu). rustc 1.85.0.
Download (v2.0.4)
Each vX.Y.Z tag publishes these files. Current release is
v2.0.4
(post-2.0 runtime/QoR grind: STA, bitgen, place-legalize, synth, parse;
same counter gold WNS_PS=9640; SOFT ≠ PASS).
| File | What |
|---|---|
Helion-2.0.4-macos-arm64.zip | Helion.app for Apple Silicon. Unsigned. Gatekeeper will warn. |
helion-2.0.4-aarch64-apple-darwin.tar.gz | CLI + IDE + HAD + examples |
helion-2.0.4-x86_64-unknown-linux-gnu.tar.gz | Linux CLI + headless IDE |
SHA256SUMS.txt | hashes |
Latest release Changelog Roadmap
Needs
- Rust 1.85+ (
rustup toolchain install 1.85.0thenrustup default 1.85.0) - Git
- On macOS: Xcode Command Line Tools for
Helion.app, andrustup target add aarch64-apple-darwin
Native arm64 only. No Rosetta, no vendor bitstream, no Docker.
Build and gold
git clone https://github.com/helion-fpga/helion.git
cd helion
cargo test --workspace
cargo run -p helion-cli -- doctor
cargo run -p helion-cli -- run examples/counter.sv --cycles 16
cargo run -p helion-gui --bin helion-ide -- --headless examples/counter.sv
Empty-XDC counter gold is WNS_PS=9640 and LED waveform
LED[16]=0000000111111110 (LED = cnt[3]).
helion doctor must print the HAD path, sites_clb=1024,
sites_iob=32, and FeatureMap lines for HL10T-C32-1.
Desktop IDE (macOS)
./scripts/build-macos-app.sh
open dist/Helion.app
dist/Helion.app/Contents/MacOS/Helion --version
dist/Helion.app/Contents/MacOS/Helion --doctor
dist/Helion.app/Contents/MacOS/helion-cli doctor
dist/Helion.app/Contents/MacOS/helion-cli run \
dist/Helion.app/Contents/Resources/examples/counter.sv --cycles 16
| Path in Helion.app | What |
|---|---|
Contents/MacOS/Helion | windowed IDE (helion-ide) |
Contents/MacOS/helion-cli | CLI (APFS-safe name beside Helion) |
Contents/Resources/devices/helion | HAD (FeatureMap / parts) |
Contents/Resources/examples | counter.sv, blinky.sv, … |
Contents/Info.plist | fpga.helion.ide, arm64-only |
The windowed binary is Contents/MacOS/Helion. Do not launch the CLI
as the app. Without the bundle:
cargo run -p helion-gui --release --target aarch64-apple-darwin --bin helion-ide
cargo run -p helion-cli --release --target aarch64-apple-darwin -- doctor
cargo run -p helion-cli --release --target aarch64-apple-darwin -- run examples/counter.sv --cycles 16
HELION_HAD overrides the part database. Otherwise the binary searches
Helion.app/Contents/Resources/devices/helion, then cwd, then the
compile-time tree.
Linux CI vs a Mac
Verified on Linux CI: workspace tests, headless IdeModel, helion-ide --headless, helion doctor, app layout assembly with scripts/build-macos-app.sh --layout-only.
Not verified on Linux: cargo build --release --target aarch64-apple-darwin, launching dist/Helion.app, codesign / notarization.
While you iterate
Run one test name, not the world:
cargo test -p helion-sv --lib TESTNAME
Large SystemVerilog
examples/ysyx_ibex.sv is in the tree (Open rail in the IDE). Ingest
is helion-sv preprocess + parse. Fitting a full SoC on HL10T-C32-1 is not the
synth bar. Do not abort the run because sv-parser is unhappy. Leftover
Helion-legal constructs still map.