Flow ArenaSmoketest

LibreLane Smoketest

Install LibreLane, run a sanity check, and package DEF files for Flow Arena

Linux / Nix Flow

This guide follows LibreLane's Linux Nix installation path and adds the Flow Arena-specific packaging step: generate final DEF files, zip them, and submit the archive for scoring.

LibreLane Docs
1

Install curl and Nix

LibreLane recommends Nix on Ubuntu 22.04+ and warns against installing Nix from apt because that package is often outdated.

sudo apt-get install -y curl
curl --proto '=https' --tlsv1.2 -fsSL https://artifacts.nixos.org/nix-installer | sh -s -- install --no-confirm --extra-conf "
    extra-substituters = https://nix-cache.fossi-foundation.org
    extra-trusted-public-keys = nix-cache.fossi-foundation.org:3+K59iFwXqKsL7BNu6Guy0v+uTlwsxYQxjspXzqLYQs=
    extra-experimental-features = nix-command flakes
"
2

Open a fresh terminal

Close existing shells after installation so the Nix profile and daemon environment are loaded cleanly.

nix --version
3

Clone LibreLane

Enter the LibreLane repository with nix-shell. The first shell entry can take several minutes while cached binaries are fetched.

git clone https://github.com/librelane/librelane
cd librelane
nix-shell
4

Verify LibreLane

Run the upstream smoke test before spending time on benchmark designs.

librelane --smoke-test
5

Download Flow Arena Inputs

Use the Download page to fetch Verilog and the SKY130 PDK bundle, then unpack them into your local flow workspace.

mkdir -p flow-arena-inputs
unzip benchmark-verilog.zip -d flow-arena-inputs
unzip sky130-pdk.zip -d flow-arena-inputs
6

Run Your LibreLane Flow

Create one LibreLane design directory per benchmark, point it at the downloaded Verilog, select SKY130, and run the flow. The exact config is intentionally yours.

# Example shape only. Keep the top module name equal to the benchmark name.
librelane ./designs/<design_name>/config.json
7

Collect DEF Files

Flow Arena expects one DEF file per design. Keep the DEF stem equal to the benchmark name so scoring can match it.

mkdir -p def
cp ./designs/<design_name>/runs/*/final/def/<design_name>.def def/
zip -r def.zip def
8

Submit and Inspect Logs

Upload def.zip on the Submit page. Use Profile or Global Queue to watch stages: DEF to netlist, CVC, RCX, OpenSTA, KLayout DRC, and scoring.

Submit page -> choose SKY130 -> upload def.zip
Expected Upload

Submit a single ZIP archive containing DEF files. For example, `def/gcd.def`, `def/xtea.def`, and other benchmark DEFs. Names must match benchmark design names so hidden/public scoring can map each result.