在 CPU 上執行並驗證 packed RTL
提交設有限制的組合邏輯網表請求,並獨立重播其已儲存的結果。
此本機工作流程使用 Linux 上的 Altifigence CLI 0.1.9。
讀取已儲存的結果之前,請先確認結束狀態為 0。另行保留標準錯誤輸出,並檢查下文說明的結果欄位。
儲存完整的 CPU 請求
使用下列完整文件建立 packed-request.json。此範例使用 1 個通道與 1 個影格:輸入字組設定單一輸入位元,緩衝單元再將其複製至輸出。後端已明確指定。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 上重播已儲存的數學結果。請將此輸出與原始請求及結果一併保留,讓其他審查人員可以重複執行相同檢查。
修正通道數錯誤
在此請求中將 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