Needs Python 3.11 or newer.
pip install https://app.tryakrida.com/cli/akrida-0.4.0-py3-none-any.whlIf pip says externally-managed-environment (Homebrew's Python does), use pipx or a virtual environment:
pipx install https://app.tryakrida.com/cli/akrida-0.4.0-py3-none-any.whlCheck it with akrida --version.
Akrida is invite-only for now. No invite code? Join the waitlist.
akrida loginEnter your email and invite code, then the 6-digit code we email you (good for 10 minutes). Next time, only your email and a new code.
Use the email you use on this site, so checks from the terminal show up on the home page.
From a script, in two steps:
akrida login --email you@example.com --code INVITE_CODEakrida login --email you@example.com --verify 123456akrida whoami shows who is signed in and the runs left. akrida logout signs this machine out.
Set up your project folder once, then check the design:
akrida initAsks for the spec, the Verilog and the GitHub repository, and saves them in akrida.toml. Tab completes file names.
akrida runThe spec: a .pdf, .md or .txt file, up to 10 MB. The Verilog (optional): .v, .sv, .vh and .svh files, folders or globs, up to 512 KB in all. Without it you still get the test plan and the testbench. Akrida finds the top module, or asks if it can't tell.
Flags on akrida run override akrida.toml for one run. akrida status shows the settings, your sign-in and the latest check.
Checks run in Akrida's cloud, so you don't need a simulator. The terminal shows each step and a link to follow the check here. Ctrl+C stops following, not the check: akrida run --resume CHECK_ID picks it up again (the first 8 characters of the id are enough).
Every file is saved in your project as the check goes, in .akrida/checks/DESIGN-ID/: each plan revision, the testbench, logs, waveforms, coverage, and check.json (what was checked and how far it got). akrida pull CHECK_ID fetches them later, for example for a check started on this site.
When the check ends, we email you what it found, and your terminal rings if it is still open.
Options:
--no-plan skips the review. With neither, it asks.--no-testbench-review runs it straight away, the default.testplan.md..akrida/issues, off GitHub.With review on, the check stops after the test plan, before any test is written. The terminal shows the requirements; you can approve, ask for changes in plain words, edit it yourself, read it in full, or stop and come back later. Each change makes a new revision that shows what changed.
Edit it yourself opens the plan in $EDITOR. What you save becomes the next revision, still waiting for your approval. No AI is involved.
The same review is on the check's page here: approve in the browser and the terminal carries on. Nothing runs while a plan waits.
With --review-testbench, or review_testbench = true in akrida.toml, the check stops again once the testbench is written, before anything runs. The terminal shows the file, its size and what changed since the revision before. You can approve it, ask a question about it, ask for changes in plain words, edit it yourself, read it, or stop and come back later.
A question, such as why a check waits two cycles, gets a short answer, and the testbench stays as it is. A change request makes a new revision, still waiting for you. A rewrite that can't run is not kept: you keep the revision you had, with a note on why.
Edit it yourself opens the testbench in $EDITOR. What you save becomes the next revision. It must keep the tb_top module and the akrida_test class. No AI is involved.
The same review is on the check's page here, with every question and its answer: approve in the browser and the terminal carries on. With --yes, the testbench is approved as written.
akrida github connectConnect once and each design bug becomes an issue, with the spec's rule, what should have happened, what happened, the log line and a waveform. Issues go to the --repo repository, or else the one in akrida.toml (akrida init suggests this folder's GitHub remote). To change it:
akrida github repo owner/name--none keeps design bugs as drafts.
The repository must already exist. No repository yet? Create one (for example with gh repo create), add it as this folder's remote, and run akrida github repo again.
Issues are filed from your machine with your own GitHub token, which stays there: your gh auth login sign-in, GITHUB_TOKEN, or a token with the repo scope:
akrida github connect --token TOKENWithout GitHub, every issue is written to .akrida/issues, ready to file yourself.
The AI sees only your top module's port list, never the rest of the RTL, so its tests can't copy the design's mistakes. When a test fails, the spec decides who is right. More in How it works.
Exit codes from akrida run, for CI:
Each check, from the terminal or this site, uses one run from your invite code. Everyone signed in with the same code shares its runs. akrida whoami and the home page show how many are left.
A check that fails on our side gives its run back, for example when the AI model is down. A check you cancel, or one whose Verilog doesn't compile, still counts.
Need more runs? Email founders@tryakrida.com.
--max-rounds.At the time or money limit, a check writes no new tests. It finishes the round it is in and reports every design bug found so far; coverage may end below your target.
When every machine is busy, a new check waits in a queue and shows its place in line.
akrida.toml..akrida/checks/. No id: the latest check.repo, status and disconnect.Questions, or something broken? Email founders@tryakrida.com with the check's link.