CPU에서 packed RTL 실행하고 검증하기

범위가 제한된 조합 넷리스트 요청을 제출하고 저장된 결과를 독립적으로 재실행하세요.

이 로컬 워크플로에는 Linux에서 Altifigence CLI 0.1.9를 사용하세요.

종료 상태가 0인지 확인한 뒤 저장된 결과를 읽으세요. 표준 오류를 별도로 보관하고 아래에 설명한 결과 필드를 확인하세요.

완전한 CPU 요청 저장하기

아래 전체 문서로 packed-request.json을 만드세요. 이 예제는 레인 1개와 프레임 1개를 사용해요. 입력 워드는 단일 입력 비트를 설정하고, 버퍼 셀은 이를 출력으로 복사해요. 백엔드는 명시되어 있어요. CPU 요청은 장치 메모리 예산을 0으로 사용해요. 예제를 처음 시도할 때는 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가 포함돼요. 이 1비트 버퍼 요청에서 output_words는 [1]이에요. 검증은 발췌본이 아닌 전체 아티팩트를 입력으로 사용하므로 결과 파일 전체를 보관하세요. 표준 오류는 표준 출력에 기록되는 엔진 원본 JSON과 별도로 CLI 실행 기록을 전달해요.

저장된 결과 재실행하기

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