The simple path

Start in one hour.

01 / Orient

What you are looking at.

HASLAB is building an open inference engine from exact software behavior outward. Run the numerical model, command simulator, and conformance tests first. Then explore the calibrated YOLOv8n workload and its first two complete Conv-SiLU blocks.

Tested

Reference model

The executable definition of arithmetic, layouts, activations, and edge cases.

Tested

Command simulator

The executable definition of v0 commands, memory behavior, completion, reset, and errors.

In progress

Conformance corpus

46 independent binary fixtures another implementation can consume without private model helpers.

02 / Run it

Verify what exists.

With Git, Python 3, and Make installed, clone the repository and run its checks. The source-independent suite covers reference, simulator, compiler, runtime, and conformance behavior without downloading model weights or COCO images.

STEP 1

Clone

git clone https://github.com/z00bean/HaslabSilicon.git
cd HaslabSilicon
STEP 2

Check

make check
make test
OPTIONAL

Run only conformance

make conformance

This exercises the 46 stored binary fixture cases and the simulator runner.

WHAT PASSING MEANS

Agreement, not hardware proof

Passing demonstrates agreement for tested software cases. It is not an FPGA result, silicon result, or performance measurement.

03 / See the workload

Follow one real model.

The pinned YOLOv8n 320×320 workload now has FLOAT and calibrated INT8 software baselines. Its first two Conv-SiLU blocks compile to 16,245 commands; all 614,400 retained INT8 values match the golden model.

Tested

Compare the evidence

The INT8 software proxy loses 0.887 mAP points, within the one-point budget. Separately, all 614,400 retained outputs of the first two blocks match the integer golden path.

Understand the results →
In progress

Reproduce the first two blocks

Use the workload guide to prepare the pinned Python 3.11 export environment, model, and calibration artifacts. Then run this from the repository root:

PYTHONPATH=reference:simulation:compiler:runtime \
python benchmarks/tools/compile_yolov8n_first_two_layers.py
Artifact setup + reproduction guide ↗
04 / Pick a first task

Follow your curiosity.

Each path is useful on its own. Start small, follow the linked source, and return to the architecture page when you want the full-system view.

20–40 MIN

Study the arithmetic

  1. Read the numerical semantics.
  2. Inspect the Python reference model.
  3. Run the reference tests.
  4. Try an edge case: rounding, saturation, or layout.
Open numerical semantics ↗
30–60 MIN

Study the command interface

  1. Read the v0 software/hardware contract.
  2. Inspect the simulator behavior.
  3. Open one conformance fixture.
  4. Trace command bytes to expected state.
Open the v0 contract ↗
45–90 MIN

Review independent evidence

  1. Read the conformance format.
  2. Inspect fixture provenance and hashes.
  3. Run the corpus.
  4. Look for an uncovered boundary case.
Open conformance ↗
NEXT

Understand the complete machine

When you are ready for DMA, SRAM, tensor operations, the vector path, planned RISC-V control, and the route toward FPGA, continue to the architecture guide.

Architecture guide →
!

Do not start by writing broad RTL.

The stable v0 ABI still awaits independent review. Useful hardware work starts with reviewed contracts, independent vectors, and a narrow vertical slice—not a speculative full accelerator.