इम्प्लीमेंटेशन रिपोर्ट पार्स करें और रसीदें सहेजें

सहेजी गई टाइमिंग, एरिया, पावर, कंजेशन या सिमुलेशन रिपोर्ट को सामान्यीकृत JSON में पार्स करें, फिर रसीद को स्टोर करें, उसकी सूची देखें और उसे फिर खोलें।

Linux पर Altifigence CLI 0.1.9 से बंडल किए गए रिपोर्ट इंजन द्वारा सहेजी गई टेक्स्ट रिपोर्ट को altifigence.reports.parse.v1 रसीद में बदलें और रसीदें अपने प्रोजेक्ट में रखें।

रिपोर्ट फ़ॉर्मैट चुनें

रिपोर्ट से मेल खाने वाला --format मान चुनें। इनपुट अधिकतम 4194304 बाइट की सामान्य UTF-8 टेक्स्ट फ़ाइल होनी चाहिए। हर फ़ॉर्मैट अपना सामान्यीकृत स्कीमा बनाता है:

opensta-timing       timing-report.v1
yosys-area           area-report.v1
power                power-report.v1
openroad-congestion  congestion-report.v1
sim-result           sim-result.v1

रिपोर्ट पार्स करें

प्रोजेक्ट में टाइमिंग रिपोर्ट सहेजें और उसे पार्स करें। --input प्रोजेक्ट के सापेक्ष होता है।

PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
mkdir -p "$PROJECT/reports"
cat > "$PROJECT/reports/timing.rpt" <<'EOF'
Startpoint: in_reg
Endpoint: out_reg
slack (MET) 0.80
EOF
alti reports parse --project "$PROJECT" --format opensta-timing --input reports/timing.rpt > "$PROJECT/timing.parse.json"
jq -c '{status, schema: .normalized.schemaVersion, start: .normalized.paths[0].startpoint}' "$PROJECT/timing.parse.json"

सुनिश्चित करें कि एग्ज़िट स्टेटस 0 हो। jq वाली पंक्ति यह प्रिंट करती है:

{"status":"available","schema":"timing-report.v1","start":"in_reg"}

रसीद में operation_id reports.parse, इनपुट के source, byte_length और sha256, पार्सर का implementation_id, diagnostics और normalized रिपोर्ट भी दर्ज होती है। claims.execution_performed और claims.signoff_assessed false हैं: रसीद उस फ़ाइल का वर्णन करती है जिसे आपने पार्स किया।

रसीदें सहेजें और फिर खोलें

alti reports artifact store --project "$PROJECT" --input timing.parse.json > "$PROJECT/report-manifest.json"
ENTRY_ID="$(jq -r '.entryId' "$PROJECT/report-manifest.json")"
alti reports artifact list --project "$PROJECT"
alti reports artifact show --project "$PROJECT" --entry-id "$ENTRY_ID"

Store अधिकतम 16777216 बाइट की अपरिवर्तित altifigence.reports.parse.v1 रसीद स्वीकार करता है, उसकी इनपुट पहचान, पार्सर प्रोवेनेंस और दावे जाँचता है, और उसे प्रोजेक्ट में .altifigence/artifacts/reports/ के नीचे लिखता है। उसके altifigence.reports.artifact-manifest.v1 मैनिफ़ेस्ट में entryId, format, inputSha256, parserImplementationId और relativePath results/<entryId>.json शामिल हैं। List मैनिफ़ेस्ट को JSON ऐरे के रूप में प्रिंट करता है; show सहेजी गई रसीद प्रिंट करता है।

त्रुटियों के बाद सुधार करें

इंजन Error: के बाद त्रुटियाँ stderr में प्रिंट करता है और गैर-शून्य एग्ज़िट स्टेटस के साथ समाप्त होता है।

report input exceeds 4194304 bytes आने पर अधिकतम 4194304 बाइट की रिपोर्ट फ़ाइल पार्स करें।

report input must be a regular file and not a symbolic link आने पर रिपोर्ट फ़ाइल का ही पाथ दें।

report input is not valid UTF-8 आने पर रिपोर्ट को UTF-8 टेक्स्ट के रूप में सहेजें और उसे फिर पार्स करें।

सफल पार्स स्टेटस 0 के साथ समाप्त होता है और stdout में JSON लिखता है। टाइमिंग मान न होने पर इसका status unavailable होता है और इसकी diagnostics ऐरे में REPORT_TIMING_VALUES_NOT_FOUND चेतावनी होती है। टाइमिंग मानों वाली टाइमिंग रिपोर्ट दें, जैसे ऊपर की Startpoint:, Endpoint: और स्लैक पंक्तियाँ, और उसे --format opensta-timing से पार्स करें।

report parse receipt is invalid: unexpected operation schema or version आने पर फ़ाइल को ठीक वैसे ही स्टोर करें जैसी alti reports parse ने लिखी थी।

report artifact entry does not exist: के बाद कोई id आने पर alti reports artifact list से कोई entryId कॉपी करें।

CLI इंजन कमांड