CLI 引擎指令
使用本機設計引擎、原生 XLS 與 CUDA,以及 DDS 編寫功能,並遵守明確的限制與輸入契約。
概觀
本頁介紹本機設計引擎指令、主要引數及執行邊界。請使用已安裝指令的末端 --help 查看完整的選項與列舉值清單。在將結果用作工程證據前,請先閱讀結果本身的限制。
請先閱讀 CLI 指令介面。其中定義了下列各指令所依賴的路由、結束代碼、回執封套及同目錄解析規則。job 命名空間、analyze run,以及 evolve run 的說明位於 CLI 作業與雲端指令。
表格採用的慣例:
<ANGLE>是位置引數;[ANGLE]...是可重複指定的選用引數。「必填」欄中的選項必須提供,否則指令會在啟動任何內容前以
2結束。每個子指令也都接受
--json和-h/--help。各列不再重複列出。--project是--project<PROJECT>,即相對輸入與輸出路徑的選用工作目錄,除非該列另有說明。它必須解析為實際存在的目錄;無法解析的值會以2。
capabilities
alti capabilities 會檢查經過驗證的安裝配置,並回報其操作介面。請先完成 在 Linux 上安裝;0.1.9 的內嵌啟動程序提供了先前缺少的回執與承載內容配置。能力回應並不能證明核心或設計已實際執行。
rtl
共有 28 個子指令。rtl compile 和 rtl synthesize 是兩個帶有 --runner 的相容路徑;其餘各個 rtl 子指令均無條件在本機執行。
與 physical run 和 px analyze 不同,這兩個指令即使未提供直通引數,也會啟動引擎,因為各自都指定了固定的引擎操作。接著,引擎會回報自己的缺少引數錯誤,並原樣傳遞結束狀態。請在 -- 之後提供它們所需的引數。
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — |
| 委派至封裝編譯引擎的相容路徑 |
| — |
| 原始本機 synth 直通委派的相容名稱 |
| 至少一個 |
| 為已儲存的 RTL 原始碼輸出經編譯器確認的電路圖契約 |
| 至少一個 |
| 對指定原始碼執行封裝的分析操作 |
|
|
| 執行封裝的合成操作 |
|
|
| 執行封裝的技術映射操作 |
| — | — | 回報固定的目標分析契約及執行器可用性 |
| — | — | 回報不含路徑、唯讀的目標分析執行就緒狀態 |
| 下列 11 個選項 |
| 驗證由標準輸入 source-bundle JSON 提供的一個具型別准入請求 |
| 下列 11 個選項 |
| 對標準輸入的 source-bundle JSON 執行結構預檢 |
|
|
| 准入、預檢或執行一個有界的已儲存 RTL 模擬請求 |
| — | — | 回報固定的四態多時脈模擬契約 |
|
|
| 准入、預檢或執行一個有界的四態多時脈請求 |
|
|
| 將一份結果回執持久儲存至專案成品儲存區 |
| — |
| 列出已儲存的項目 |
|
|
| 讀取一個已儲存的項目 |
| — |
| 列出固定擁有者私有登錄中,有界且已驗證的識別資料 |
|
|
| 重新讀取從目前已驗證清單選出的一個識別資料 |
|
|
| 同上,適用於全域共用識別資料 |
|
|
| 同上,適用於映射時序識別資料 |
|
|
| 同上,適用於映射暫存器時序識別資料 |
--schematic 在這三個 rtl artifact 子指令上會選取固定的電路圖回執儲存區,而非 RTL 操作結果儲存區。
--entry-id 在已提交識別資料的末端指令上必須恰好為 64 個小寫十六進位字元。其他值都會以 2 結束,並回報 entry id must be exactly 64 lowercase hexadecimal characters。
rtl schematic 限制
rtl schematic 會在啟動任何內容前驗證路徑。每個原始碼檔案、引入目錄與巨集定義,只要違反以下任一限制,就會在准入時遭拒:
限制 | 值 |
|---|---|
原始碼檔案 | 最多 256 個 |
引入目錄( | 最多 128 個 |
巨集定義( | 最多 256 個 |
路徑長度 | 1 至 4096 位元組 |
路徑元件 | 1 至 128 個 |
單一路徑元件 | 最多 255 位元組 |
路徑必須相對於選取的專案,不得以 - 開頭,不得包含控制位元組,也不得包含 ..。--top 與巨集定義名稱必須是 1 至 128 位元組的 SystemVerilog 識別字;巨集定義可在 = 之後帶有值,總長度最多為 4096 位元組。
rtl target-analysis 選項
admit 和 preflight 都會從標準輸入讀取標準 source-bundle JSON,且需要相同的 11 個選項:--module <NAME>、--top <NAME>、--targets <CSV>、--primary-target <ID>、--tools <CSV>、--report-detail <LEVEL>、--profile <ID>、--cpu-slots <N>、--memory-bytes <N>、--max-wall-time-ms <N>,以及 --deadline-unix-ms <N>。--cell-decomposition 是選用的布林旗標。
選項 | 接受的值 |
|---|---|
|
|
| 以逗號分隔的子集,取自 |
| 以逗號分隔的子集,取自 |
|
|
--cpu-slots 是 32 位元無號整數;--memory-bytes、--max-wall-time-ms,以及 --deadline-unix-ms 都是 64 位元無號整數。
任一 CSV 中若有重複或未列出的值,都會在解析時遭拒,例如 targets must be a comma-separated subset of: generic-asic, sky130-asic, xc7-fpga。
模擬請求封套
<REQUEST_JSON> 是相對於專案的檔案路徑,CLI 會在啟動任何內容前讀取並檢查該檔案。路徑必須經過正規化且為相對路徑,任何元件都不得穿越符號連結,並且必須解析至專案根目錄內。檔案必須為一般檔案,大小不得超過 260 MiB。
其 JSON 必須是恰好包含四個鍵的物件:
{
"schema": "altifigence.rtl.operation-request.v1",
"version": 1,
"operationId": "altifigence.rtl.simulate.v1",
"request": {}
}
operationId 必須是 altifigence.rtl.simulate.v1,適用於 rtl simulate 和 altifigence.rtl.simulate.v2,適用於 rtl simulate-v2。不相符時會在啟動前遭拒,並回報 RTL simulation request must be the exact <id> envelope。
已提交識別資料的子指令無法執行
這八個 rtl *-committed-identities list 和 read 末端指令會派送至名為 alti-rtl-runner 的引擎。該二進位檔不在此版本建置並隨附的 24 個引擎二進位檔之中,因此在正確的安裝中,無法以 alti 的同目錄檔案或 PATH 上的檔案解析它。呼叫其中一個指令時,會產生本機引擎回執,其中包含 status: "unavailable" 和 exitCode: 127:
文字
$ alti --json rtl fanout-free-committed-identities list
{
"schema": "altifigence.local-engine-execution.v1",
"status": "unavailable",
"domain": "rtl",
"operation": "fanout-free-committed-identities-list",
"runner": "local",
"binary": "alti-rtl-runner",
...
}
請勿依據這八個指令建立自動化流程。
sv
共有 23 個子指令,全都無條件在本機執行,且均不接受 --runner。
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — |
| 為指定路徑建立前端索引 |
| — |
| 回報指定路徑的符號介面 |
| — |
| 第二代符號回應結構 |
| 位置 |
| 解析某個位置的定義 |
| 位置 |
| 解析某個位置的懸停回應 |
|
|
| 解析某個前綴的補全結果 |
| 位置 |
| 解析對某個位置之符號的參照 |
| 位置、 |
| 產生重新命名計畫,不編輯檔案 |
| 全部五個 |
| 套用重新命名,並以已審閱計畫的雜湊作為准入條件 |
| — | — | 審閱立即斷言,不編譯或模擬它們 |
| — | — | 審閱程序間同步,不編譯或模擬它 |
| — |
| 列出受限隨機參考目錄中的項目 |
|
| — | 顯示一個受限隨機目錄項目 |
| — |
| 列出 SVA 參考目錄中的項目 |
|
| — | 顯示一個 SVA 目錄項目 |
| — | — | 回報已編譯的 UVM 橋接契約 |
| — | — | 回報 UVM 橋接環境檢視 |
| — | — | 傳回已簽章的固定元件就緒回執,不載入或執行該元件 |
| — | — | 回報 UVM 橋接 ABI |
| — | — | 回報有界的 UVM 模擬契約 |
| — | — | 回報不含路徑的實作及外部執行權限就緒狀態 |
| 下列 13 個選項 | — | 驗證一個有界且失敗時封閉的 UVM 模擬請求 |
| 下列 16 個選項 |
| 預檢一個有界且失敗時封閉的 UVM 模擬請求 |
位置值規則:
<LINE>和<COLUMN>是從 1 起算的非零整數。0會以2。<REPLACEMENT>必須是 SystemVerilog 識別字:第一個字元是字母、_或$,其餘字元為英數字、_或$。<REVIEWED_PLAN_SHA256>必須是 64 個小寫十六進位字元。<STABLE_ID>必須是 1 至 128 個字元,且僅可使用小寫字母、數字與連字號。--filter必須是 1 至 128 個非控制位元組;--limit必須是 1 至 64 的整數,而--limit65會以2。
sv frontend rename-apply 是 sv 子指令中唯一需要 --project 的指令;其值必須是實際存在、且不是符號連結的目錄之絕對路徑。未提供時,指令會以 1 結束,並回報 SV rename apply requires --project <absolute-workspace>。
sv review immediate 和 sv review interprocess 會從標準輸入讀取 SystemVerilog 原始碼。它們是僅有的、由專屬引擎支援的 sv 子指令,其引擎為 alti-sv-immediate-review 和 alti-sv-interprocess-review;此命名空間中的其他指令均使用 alti-sv-frontend。
sv uvm simulation admit 需要 13 個選項:--bundle-id、--bundle-sha256、--source-count、--source-bytes、--test、--top、--clock、--period-ps、--cycles、--max-wall-time-ms、--max-cpu-cores、--max-memory-bytes,以及 --max-artifact-bytes。sv uvm simulation preflight 需要上述 13 個選項,再加上 --attempt-id、--observed-at-unix-ms,以及 --deadline-unix-ms,並另外接受布林選項 --cancellation-requested(預設為 false). --source-count 是 32 位元無號整數,--max-cpu-cores 是 16 位元無號整數,其餘數值選項都是 64 位元無號整數。
verification
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
|
|
| 從一份追蹤資料輸出比較設定檔 |
| 兩者皆須 |
| 將一份追蹤資料與參考資料比較 |
--tolerance-pct 必須是有限的非負數;負數或非數值會以 2 結束,並回報 tolerance-pct must be a finite non-negative number。
--format 在此選取引擎本身的輸出格式,與 CLI 層級的 --json 封套旗標彼此獨立。兩者可以同時使用。
trace
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
|
|
| 檢查一個追蹤檔案 |
| 兩者皆須 |
| 將一份追蹤資料的時間軸檢視寫入 |
| 三者皆須 |
| 匯出一份追蹤資料 |
|
|
| 由擁有者儲存區的成品識別資料具體產生一個 v1 審閱套件 |
| — |
| 列出擁有者儲存區中最新的最多五個審閱套件 |
|
|
| 顯示一份不含路徑的審閱套件摘要 |
|
|
| 回讀一個已驗證的審閱套件 |
<FORMAT> 在 trace export 上是 位置 列舉值,並非旗標,而且必須放在輸入路徑之前。其值為 vcd 和 chrome。
--reference 可重複指定,以列出其他參考成品。<TRACE_ARTIFACT_ID>、參考 ID 與 <PACKAGE_ID> 可以連字號開頭,無須使用 --。
請注意,alti trace 在沒有子指令時會進入本機解析器,並以 2 結束,要求提供子指令。因此,內嵌動作資訊清單中單一字詞的 trace 動作在此版本無法由指令列存取;請參閱 CLI 作業與雲端指令。
labs
唯讀描述資料與驗證。CLI 未提供工作流程執行功能。
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 檢查固定於編譯時的工作流程描述資料目錄 |
|
| — | 驗證一份已檢查的 JSON 邊界健康描述資料,不執行它 |
| — | — | 輸出具確定性、僅含描述資料的 Labs 狀態 |
labs validate 嚴格檢查其兩個輸入,且以下每項規則都會在引擎啟動前檢查:
--project必須是實際存在的目錄之絕對路徑,且不得為符號連結。<DESCRIPTOR>必須相對於工作區,不得包含..或根元件,且最多為 4096 位元組。必須使用
.json副檔名。必須解析為實際存在的一般檔案,大小最多為 1048576 位元組,且解析後的路徑仍須位於專案內。
tcl
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 回報 Tcl 執行階段能力描述資料 |
| — | — | 回報 Tcl 執行階段環境描述資料 |
| — | — | 回報有界的指令描述資料 |
| — | — | 傳回固定且已簽章的執行階段就緒回執,不載入 Tcl |
| — | — | 評估從標準輸入讀取的一份有界 Tcl 指令碼 |
前四個指令透過封裝的 alti-tcl 引擎,根據描述資料回應,並輸出標準的本機引擎封套。
tcl evaluate 有三點不同。它會從標準輸入讀取指令碼,上限為 4194304 位元組,且拒絕空白輸入。它要求 alti-tcl-local-runner 必須嚴格位於 alti 的同目錄中,不提供 PATH 備援,並依據已安裝的信任鏈加以檢查。0.1.9 啟動程序會安裝此路徑所需的固定已簽章 Tcl 元件;請使用已安裝的二進位檔。此外,它會輸出自己的回執結構 altifigence.cli.tcl-evaluation.v1,並使用自己的結束代碼;兩者都列於 CLI 指令介面。
eidb
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 回報 EIDB 邊界契約 |
| — |
| 列出專案底下的套件 |
|
|
| 從相對於工作區的成品建立一個具有明確擁有權的 R1 套件 |
|
|
| 產生一個套件的可攜式匯出 |
|
| — | 回讀一個套件 |
|
| — | 透過語意檢視回讀一個套件 |
eidb capabilities、eidb readback,以及 eidb semantic-readback 不接受 --project;就 CLI 而言,它們不涉及路徑。
physical
共有 42 個子指令。physical run 是帶有 --runner 的相容路徑;其餘指令均無條件在本機執行,且各自會將子指令名稱直接作為引擎操作傳遞給 alti-physical-runner。CLI 在此命名空間的職責是引數准入及回執封裝,因此可依規律將介面分成兩組。
群組 | 成員 | 引數 |
|---|---|---|
以專案為範圍的操作 |
|
|
以項目為範圍的後續操作 |
|
|
每個以項目為範圍的後續操作,都會讀取先前專案範圍操作產生的持久儲存項目。省略 --entry-id 會以 2 結束,且不啟動任何內容。42 個指令中有 36 個屬於此類,剩下的六個為:
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 列出目前專案底下有界的已提交識別資料 |
|
| — | 重新驗證從目前有界清單選取的恰好一個識別資料 |
|
|
| 將一份結果回執持久儲存至專案成品儲存區 |
| — |
| 列出已儲存的項目 |
|
|
| 讀取一個已儲存的項目 |
| — |
| 原始 runner 直通委派的相容路徑 |
physical route-evidence-closure read 是分成兩步的指令:CLI 先列出已提交識別資料,要求您的 --identity-key-sha256 位於該清單中,然後重新讀取該項資料。鍵若不是 64 個小寫十六進位字元,或不在目前清單中,就會在第二步前遭拒,並以 1 結束。列出清單的步驟不涉及路徑,也不接受 --project。
physical run 若未在 -- 之後提供引擎操作,就不會啟動。
文字
$ alti physical run
error: legacy local engine operation is required after `--`
這會以 1 結束。接受的舊版操作為 --capabilities-json、capabilities,以及 execute;其他值均會以 1 結束,並回報 legacy local engine operation ... is not in the public allowlist。
px
px analyze 是帶有 --runner 的相容路徑。位置引數若名為 <INPUTS_RELATIVE_...>,就會在專案的 inputs/ 目錄底下解析,而非相對於您的工作目錄。
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 回報 px 能力契約 |
| — | — | 輸出擁有者定義的 FDTD2D 能力契約 |
| — | — | 回報動態安裝執行就緒狀態,不取得 CPU 租約 |
|
|
| 驗證 FDTD2D 請求,並回報無法執行的原因 |
| — |
| 執行封裝的 px 執行操作 |
|
|
| 從一個專案輸入檔案執行有界、非簽核的單時脈靜態時序分析 |
|
|
| 驗證並編譯一個 |
|
|
| 從一個有界 SPEF 檔案回報被動擷取的 R/C,不具分析權限 |
| 兩者皆須 |
| 在呼叫端解析的一個製程角落下,執行有界且已設定的寄生與 IR 壓降分析 |
|
|
| 回讀一個已記錄的執行 |
|
|
| 將一份結果回執持久儲存至專案成品儲存區 |
| — |
| 列出已儲存的項目 |
|
|
| 讀取一個已儲存的項目 |
| — |
| 原始 runner 直通委派的相容路徑 |
其中三個指令會在各自的說明中列出限制,這些限制也是契約的一部分:px static-timing 明確為非簽核用途,px spef-summary 明確不具分析權限,而 px fdtd2d preflight 回報的是就緒阻礙,而非結果。請依此解讀其輸出。
如同 physical run、px analyze 需要在 -- 之後提供舊版操作,否則會以 1 結束。其允許清單為 capabilities 和 execute。
PX CPU 與 CUDA 操作
指令 | 後端與輸入 |
|---|---|
| 必填 |
| 後端與輸入規則相同 |
| 必填 |
| 相同的明確後端政策;有界的內建測試資料 |
| 相同的明確後端政策;有界的內建測試資料 |
這些指令接受 --project;前兩個也接受 --timeout-ms 1..300000。明確指定 cuda 要求可用的 CUDA 執行。auto 則另外允許引擎記錄的 CPU 備援;請檢查回報的後端。這些有界數值操作不能證明具備一般實體簽核能力,也不表示每個 PX 操作都受到 GPU 加速。
isa
六個子指令中的四個,只從標準輸入讀取 CX 原始碼。isa run 是帶有 --runner 的相容路徑。
指令 | 必填 | 其他選項 | 用途 |
|---|---|---|---|
| — | — | 展開從標準輸入讀取的 CX 原始碼 |
|
| — | 依據從標準輸入讀取的 CX 原始碼組譯一個指令 |
|
| — | 依據從標準輸入讀取的 CX 原始碼反組譯一個編碼字 |
| — | — | 使用從標準輸入讀取的原始碼執行有界 CX 協同模擬投影 |
|
|
| 對 CX 檔案執行一個指定檢查 |
| — |
| 原始允許清單中本機 CX 操作的相容路徑 |
--check 僅接受 elaboration、static-semantics、encoding-uniqueness,以及 decode-determinism。--bit-len 是 32 位元無號整數。--text 和 --bits 不得為空或僅包含空白字元。
與 physical run 和 px analyze 不同,isa run 帶有固定的引擎操作,因此沒有直通引數時也會啟動,再由引擎回報自己的要求:
文字
$ alti isa run
cx run: run requires --program <path> or --program-text
[failed] isa.run runner=local engine=alti-cx/run executable=alti-cx resolution=path exit=1 project=.
ide
桌面主機操作。運算仍由上面的引擎命名空間負責。
指令 | 必填 | 用途 |
|---|---|---|
|
| 在已安裝的 IDE 中開啟一個標準絕對專案目錄 |
ide open 會啟動另外安裝的桌面應用程式。下列原生工作區、Cloud、服務與專案建立指令會透過各自明確的後端運作。
--project 必須是標準絕對目錄:路徑為絕對路徑、目錄存在、不是符號連結,且等於自己的標準形式。若路徑透過符號連結解析,會遭拒,而不會默默跟隨連結。
ide open 不使用引擎二進位檔。它會先將名為 altifigence-ide 的可執行檔解析為 alti 的同目錄檔案,接著再搜尋 PATH,以 --project <canonical-dir> 啟動它,並輸出 altifigence.ide-launcher-receipt.v1 回執:
欄位 | 意義 |
|---|---|
| 一律為 |
|
|
| 子程序 ID,或 |
| 一律為 |
| 標準專案目錄;若標準化失敗,則為請求的值 |
|
|
| 解析後的路徑,或單純的名稱 |
| 當 |
結束狀態為 0,當狀態是 spawned;否則為 1。altifigence-ide 隨 Digital Design Studio 一起提供,不包含在 CLI 封存檔中,因此 ide open 在僅安裝 CLI 時會回報 unavailable。
原生專案與工作區操作
ide init --parent ABSOLUTE_DIR --name NAME 會在標準、由呼叫端擁有的父目錄底下建立新的基本架構。它不會覆寫現有專案。ide workspace 會操作已儲存的本機檔案,不開啟 UI:
下列前綴之後的指令: | 輸入與行為 |
|---|---|
| 回報平台契約 |
| 在提供工作區存取前,復原待處理交易 |
| 有界清單;預設 500,最多 20000 |
| 讀取一個允許存取的已儲存文字檔案 |
| 僅在目前 SHA-256 相符時取代現有文字 |
| 包含 |
| 審閱具型別的檔案建立、取代、刪除或目錄建立 |
| 套用完整且已審閱的檔案計畫 |
| 審閱擷取、移動、合併或常數標頭編寫 |
| 套用完整且已審閱的階層計畫 |
| 讀取持久儲存的 DDS 專案設定 |
| 遞迴合併一個有界 JSON 物件 |
原生計畫結果是完整、不透明的套用輸入。請在不使用全域 --json 的情況下儲存原始引擎輸出,審閱後將同一份文件傳給相對應的套用指令。例如,使用現有的絕對專案路徑與具型別的階層請求:
alti ide workspace hierarchy-plan --project "$PROJECT" \
--request "$HIERARCHY_REQUEST" > "$PLAN_FILE"
# Review the complete plan and changed source before the next command.
alti ide workspace hierarchy-apply --project "$PROJECT" --request "$PLAN_FILE"
請勿將失敗指令的輸出透過管線傳給 apply。請選擇新的計畫檔案,並檢查每個結束狀態。檔案編寫使用持久且序列化的交易及目前的原始碼雜湊;這不保證對不相關的寫入端具備整個檔案系統的即時原子性。衝突需要重新審閱。階層編寫只提供有界的原始碼選取與基本架構,不是完整的 SystemVerilog 語意重構或等價性證明。
設定保留 DDS 的 .alti/ide-settings.json 格式、未知鍵與原始 null 值。修補採用遞迴合併,而非 RFC 7396 刪除。請求/結果預算為 256 KiB,深度為 8;原生 UI 與 CLI 使用相同的 .alti/.ide-settings.lock。CLI 處理目前的專案格式,並非另一個獨立的桌面全域設定範圍。
原生交易與 Git 需要 Linux 契約。目前的復原會讀取 V1 與 V2 日誌。建立/刪除或階層套用中斷後,請先執行新 CLI 的 health,再開啟僅支援 V1 的舊 DDS 後端。舊後端會拒絕待處理的 V2 日誌,且不會清除它。正常完成的交易會清除其作用中的日誌;建議升級至支援透明復原的後端,但這不是每次已完成 CLI 編輯的必要條件。
Git
在 ide workspace git 底下,所有指令均接受 --project ABS:
指令 | 額外引數 |
|---|---|
| 無 |
| 選用 |
| 提交 ID |
| 提交 ID 與相對路徑 |
| 相對路徑,選用 |
| 1 至 128 個相對路徑 |
|
|
| 現有本機分支;拒絕有未提交變更的工作區或不支援的屬性/篩選器行為 |
這些操作會復原原生工作區交易,並與其序列化協調。它們不提供任意 Git 引數、掛鉤或遠端推送憑證。
搜尋已儲存原始碼
alti ide workspace search --project "$PROJECT" --query 'module' --limit 80
原生搜尋支援 --match-case、--whole-word、保守的固定寬度 --regex、1 至 500 筆符合結果限制,以及 --timeout-seconds 1..120。它透過原生 files/read 邊界讀取已儲存文字,預算為 500 個檔案、每個檔案 4 MiB、總計 16 MiB、輸出 1 MiB。請檢查截斷與內容證據。不會搜尋未儲存的編輯器緩衝區。Cloud 搜尋與舊版 HTTP 搜尋/取代是獨立的 服務操作。
xls
指令 | 請求與用途 |
|---|---|
| 回報原生子集與後端可用性 |
| 必填 |
| 旗標與大小限制相同;XLS EngineJobV1 封套,具有明確的本機配置/裝置政策 |
|
|
| 選用 |
| 必填的絕對新 |
| 必填的絕對 |
| 必填 |
原生路徑支援有界的 DSLX 與 XLS IR 函式,具有 1 至 64 位元的值、常數摺疊/死碼移除,以及組合 RTL 或包含 1 至 16 個輸出暫存器級的 RTL。請求會選擇 cpu,或明確的 cuda 來進行支援的批次評估。CUDA 後端不可用時會產生錯誤,不會自動改在 CPU 執行。請從 CPU 範例 開始。
獨立的上游路徑會安裝固定版本的公開 Google XLS Linux 工具鏈,驗證封存檔與工具/標準函式庫清單,並保留授權檔案。若選取的上游工具支援請求操作,即可使用匯入、參數化、結構、列舉、聚合與任意寬度型別,以及 proc。它不使用有界的 bits64 解析器,也不透過 CUDA 加速完整的 Google 工具鏈。
上游請求選擇 check、eval、convert、optimize 或 codegen。未明確提供向量/tick 的 DSLX eval 會執行實際模組測試;執行零個單元測試不能視為成功。基本封存檔不包含獨立的 IR/proc 評估器可執行檔。明確向量或通道 tick 需要額外經驗證的評估器套件,並於安裝時透過 --evaluator-bundle 和 --evaluator-manifest-sha256 准入。在請求這些操作前,請先檢查能力。上游管線程式碼產生支援 1 至 64 級;其單位延遲排程並非經特性化的矽晶時序。
compute
指令 | 用途 |
|---|---|
| 探索裝置,不執行 GPU 核心 |
| 檢查封裝 RTL 執行契約 |
| 有界的組合 RTL 執行,明確指定 |
| 有界的原生產生請求,明確指定 |
| 驗證已儲存的封裝 RTL 結果,不載入 CUDA |
請求指令接受 --project。Simulation/Evolve 輸入上限為 4 MiB;verify 輸入上限為 16 MiB。封裝的 alti-rtl-cuda 負責此路徑。compute rtl-evolve 接受 altifigence.rtl.evolve-request.v1,並將現有的原生產生請求嵌套於 request 底下;它不是 evolve run 操作封套。
Evolve CUDA 計算有界的組合活動診斷。候選產生、正確性檢查、合成與目標評估仍在 CPU 上進行。實際的 Icarus iverilog 和 vvp 必須透過主機工具設定提供。cpu-reference 需要 cuda_timeout_ms: 0 和 device_memory_bytes: 0;cuda 會拒絕不可用的執行,不會使用備援。請使用新的 request.run_dir,且其父目錄必須存在。
請求將世代與子代限制為 1 至 16、島嶼數限制為 1 至 4、總規劃評估次數限制為 256,LLM 子代則為零。裝置記憶體是有界的 worker 緩衝區預算,並非驅動程式總記憶體的限制。選用的本機 cancel_file 與期限支援合作式取消;原生工具呼叫仍遵守各自限制。成功的 CUDA 結果需要實際被接受的候選活動及已儲存的硬體來源資料,不能只靠裝置探索或初始探測。CPU/CUDA 功能一致不代表效能加速。
目前下載版本中缺少的指令
先前省略的 eda 和 reports 命名空間現已接入路由:
指令 | 輸入 |
|---|---|
|
|
|
|
|
|
| 選用 |
|
|
| 請使用末端說明查看具型別的報告格式與有界輸入 |
這些是有界的檢查、解析或繫結操作,並非一般 EDA 工具執行。ide init 與明確的原生 Evolve 指令也可使用。上述未隨附的 alti-rtl-runner 相容路徑仍是一項獨立限制;請勿只憑說明文字推定支援。
準備引擎工作流程
選擇操作,閱讀其已安裝能力回應與末端說明。
在選取的專案內建立一個小型已儲存輸入,並識別其頂層/模組或進入點。
提供所需的外部工具;當請求支援 CPU/CUDA 選擇時,使用明確的後端。
使用有界資源執行一次,並保留診斷資料與完整原生結果。
在建立較大的工作流程前,檢查實際後端、輸入、輸出成品與不支援的指標。
請使用 DDS 分析 進行圖形介面工作流程,並使用 Evolve 比較候選。CLI 引擎支援、桌面面板與 Cloud 路由是不同的整合;請檢查您實際會使用的工作流程。