CPU पर पैक्ड RTL चलाएँ और सत्यापित करें

सीमाबद्ध कॉम्बिनेशनल नेटलिस्ट अनुरोध भेजें और उसके सहेजे गए परिणाम को स्वतंत्र रूप से दोबारा चलाएँ।

इस स्थानीय कार्यप्रवाह के लिए Linux पर Altifigence CLI 0.1.9 का उपयोग करें।

सहेजा गया परिणाम पढ़ने से पहले निकास स्थिति 0 होना आवश्यक है। मानक त्रुटि को अलग रखें और नीचे वर्णित परिणाम फ़ील्ड की जाँच करें।

एक पूर्ण CPU अनुरोध सहेजें

नीचे दिए गए पूर्ण दस्तावेज़ से packed-request.json बनाएँ। इस उदाहरण में एक lane और एक frame का उपयोग होता है: इनपुट वर्ड एकमात्र इनपुट बिट सेट करता है और बफ़र सेल उसे आउटपुट में कॉपी करता है। बैकएंड स्पष्ट रूप से दिया गया है। CPU अनुरोध में डिवाइस मेमोरी का बजट शून्य होता है। पहली बार उदाहरण आज़माते समय स्कीमा और नेटलिस्ट संरचना यथावत रखें, फिर अपनी कॉम्बिनेशनल नेटलिस्ट के लिए सीमाबद्ध स्टिम्युलस समायोजित करें।

{
  "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 पर दोबारा चलाता है। इस आउटपुट को मूल अनुरोध और परिणाम के साथ रखें ताकि कोई अन्य समीक्षक वही जाँच दोहरा सके।

lane की संख्या की त्रुटि ठीक करें

इस अनुरोध में 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