Run and verify packed RTL on the CPU

Submit a bounded combinational netlist request and independently replay its saved result.

Use Altifigence CLI 0.1.9 on Linux for this local workflow.

Require exit status 0 before reading a saved result. Keep standard error separately and inspect the result fields described below.

Save a complete CPU request

Create packed-request.json with the complete document below. This example uses one lane and one frame: the input word sets the single input bit, and the buffer cell copies it to the output. The backend is explicit. A CPU request uses a zero device-memory budget. Keep the schema and the netlist structure intact when first trying the example, then adjust the bounded stimulus for your own combinational netlist.

{
  "schema": "altifigence.rtl.packed-request.v1",
  "backend": "cpu",
  "netlist": {
    "schema": "logic-netlist-0",
    "top": "buffer",
    "input_sha256": "ce4c5490bac02643968670ee055c3575a7ed23bad13bd33b1057e8d9b17a1c3a",
    "ports": [
      {
        "name": "a",
        "direction": "input",
        "bits_lsb0": [
          {
            "net": 0
          }
        ]
      },
      {
        "name": "y",
        "direction": "output",
        "bits_lsb0": [
          {
            "net": 1
          }
        ]
      }
    ],
    "nets": [
      {
        "id": 0
      },
      {
        "id": 1
      }
    ],
    "cells": [
      {
        "id": 0,
        "name": "buffer",
        "output": 1,
        "kind": {
          "op": "buf",
          "a": {
            "net": 0
          }
        }
      }
    ]
  },
  "lanes": 1,
  "frames": 1,
  "stimulus": [
    1
  ],
  "timeout_ms": 1000,
  "device_memory_bytes": 0
}

Run and save the native result

alti compute rtl-capabilities
alti compute rtl-simulate --request packed-request.json > packed-result.json

Read packed-result.json after a successful command. The native result includes the request, its digest, a simulation report, output_words, and net_toggle_counts. For this one-bit buffer request, output_words is [1]. Preserve the whole result file: verification consumes the complete artifact rather than an excerpt. Standard error carries the CLI execution receipt separately from the native JSON written to standard output.

Replay the saved result

alti compute rtl-verify --request packed-result.json
{"schema":"altifigence.rtl.packed-verification.v1","valid":true,"cuda_executed":false}

The displayed verification document is an excerpt; the full document also includes the artifact digest. Verification replays the saved mathematical result on the CPU. Keep this output beside the original request and result so another reviewer can repeat the same check.

Correct a lane-count error

Changing lanes to 0 in this request produces error code resource-limit with message packed request exceeds count, time or explicit device budget limits. Restore lanes to 1 in packed-request.json, keeping the other example fields intact. Then regenerate the complete result and verify it using these commands.

alti compute rtl-simulate --request packed-request.json > packed-result.json
alti compute rtl-verify --request packed-result.json