Chạy và xác minh packed RTL trên CPU

Gửi yêu cầu netlist tổ hợp có giới hạn và chạy lại độc lập kết quả đã lưu.

Sử dụng Altifigence CLI 0.1.9 trên Linux cho quy trình cục bộ này.

Chỉ đọc kết quả đã lưu khi trạng thái thoát là 0. Lưu riêng luồng lỗi chuẩn và kiểm tra các trường kết quả được mô tả bên dưới.

Lưu yêu cầu CPU đầy đủ

Tạo packed-request.json với tài liệu đầy đủ bên dưới. Ví dụ này sử dụng 1 lane và 1 frame: từ đầu vào đặt bit đầu vào duy nhất, và ô buffer sao chép bit đó ra đầu ra. Backend được chỉ định tường minh. Yêu cầu CPU sử dụng ngân sách bộ nhớ thiết bị bằng 0. Giữ nguyên schema và cấu trúc netlist khi thử ví dụ lần đầu, sau đó điều chỉnh kích thích có giới hạn cho netlist tổ hợp của riêng bạn.

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

Chạy và lưu kết quả gốc

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

Đọc packed-result.json sau khi lệnh thành công. Kết quả gốc bao gồm yêu cầu, giá trị băm của yêu cầu, báo cáo mô phỏng, output_words và net_toggle_counts. Với yêu cầu buffer 1 bit này, output_words là [1]. Giữ toàn bộ tệp kết quả: việc xác minh sử dụng toàn bộ hiện vật thay vì một đoạn trích. Luồng lỗi chuẩn mang biên nhận thực thi CLI riêng với JSON gốc được ghi ra luồng xuất chuẩn.

Chạy lại kết quả đã lưu

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

Tài liệu xác minh được hiển thị là một đoạn trích; tài liệu đầy đủ còn bao gồm giá trị băm của hiện vật. Việc xác minh chạy lại kết quả toán học đã lưu trên CPU. Giữ đầu ra này cạnh yêu cầu và kết quả ban đầu để người xem xét khác có thể lặp lại cùng phép kiểm tra.

Sửa lỗi số lượng lane

Đổi lanes thành 0 trong yêu cầu này sẽ tạo mã lỗi resource-limit với thông báo packed request exceeds count, time or explicit device budget limits. Khôi phục lanes thành 1 trong packed-request.json, giữ nguyên các trường khác của ví dụ. Sau đó tạo lại kết quả đầy đủ và xác minh bằng các lệnh này.

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