在 CPU 上运行并验证打包 RTL

提交有界组合逻辑网表请求,并独立重放已保存的结果。

在 Linux 上使用 Altifigence CLI 0.1.9 执行此本地工作流。

读取已保存的结果之前,确认退出状态为 0。单独保留标准错误输出,并检查下文所述的结果字段。

保存完整的 CPU 请求

使用以下完整文档创建 packed-request.json。此示例使用 1 个通道和 1 帧:输入字将唯一的输入位置位,缓冲单元将其复制到输出。后端已显式指定。CPU 请求的设备内存预算为零。首次尝试此示例时,请保持 schema 和网表结构完整,再为您自己的组合逻辑网表调整有界激励。

{
  "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
}

运行并保存原生结果

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

命令成功后,读取 packed-result.json。原生结果包含请求、请求摘要、仿真报告、output_words 和 net_toggle_counts。对于此单比特缓冲器请求,output_words 为 [1]。请保留整个结果文件:验证使用完整工件,而不是摘录。标准错误单独承载 CLI 执行回执,与写入标准输出的原生 JSON 分开。

重放已保存的结果

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

所示验证文档为摘录;完整文档还包含工件摘要。验证会在 CPU 上重放已保存的数学结果。将此输出与原始请求和结果一同保存,以便其他审查者重复同一检查。

修正通道数错误

将此请求中的 lanes 改为 0,会产生错误码 resource-limit,消息为 packed request exceeds count, time or explicit device budget limits。将 packed-request.json 中的 lanes 恢复为 1,并保持示例中的其他字段不变。然后使用以下命令重新生成完整结果并进行验证。

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