Comandi dei motori CLI
Usare i motori di progettazione locali, XLS e CUDA nativi e gli strumenti di creazione DDS con limiti espliciti e contratti di input.
Panoramica
Questa pagina descrive i comandi dei motori di progettazione locali, i loro argomenti principali e i limiti di esecuzione. Usare l'opzione --help del sottocomando installato per l'elenco completo di opzioni e valori enumerati. Leggere i limiti dichiarati dal risultato prima di usarlo come prova ingegneristica.
Leggere Interfaccia dei comandi CLI per prima cosa. Definisce l'instradamento, i codici di uscita, gli involucri delle ricevute e la regola di risoluzione nella stessa directory da cui dipendono tutti i comandi seguenti. Il namespace job e il comando analyze run e il comando evolve run sono descritti in Comandi CLI per job e Cloud.
Convenzioni usate nelle tabelle:
<ANGLE>è un argomento posizionale;[ANGLE]...è un argomento facoltativo ripetibile.Le opzioni nella colonna Obbligatorio devono essere presenti, altrimenti il comando termina con
2prima di avviare qualsiasi operazione.Ogni sottocomando accetta anche
--jsone-h/--help. Non vengono ripetute in ogni riga.--projectè--project<PROJECT>, una directory di lavoro facoltativa per i percorsi relativi di input e output, salvo diversa indicazione nella riga. Deve risolversi in una directory reale; un valore non risolvibile termina con2.
capabilities
alti capabilities esamina la struttura installata autenticata e ne descrive le operazioni disponibili. Completare prima Installazione su Linux; il bootstrap incorporato della versione 0.1.9 fornisce la ricevuta e la struttura del payload precedentemente mancanti. Una risposta sulle capacità non dimostra l'esecuzione di un kernel o di un progetto.
rtl
Ventotto sottocomandi. rtl compile e rtl synthesize sono i due percorsi di compatibilità che accettano --runner; ogni altro sottocomando rtl viene eseguito localmente e senza condizioni.
A differenza di physical run e px analyze, questi due avviano il proprio motore anche senza argomenti inoltrati, poiché ciascuno fornisce un'operazione fissa del motore. Il motore segnala quindi il proprio errore di argomenti mancanti e il suo stato di uscita viene trasmesso senza modifiche. Specificare gli argomenti necessari dopo --.
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — |
| Percorso di compatibilità che delega al motore di compilazione incluso |
| — |
| Nome compatibile per la delega locale diretta originale della sintesi |
| almeno un |
| Generare il contratto dello schema comprovato dal compilatore per sorgenti RTL salvati |
| almeno un |
| Eseguire l'operazione di analisi inclusa sui sorgenti indicati |
|
|
| Eseguire l'operazione di sintesi inclusa |
|
|
| Eseguire l'operazione inclusa di mappatura tecnologica |
| — | — | Descrivere il contratto fisso di analisi del target e la disponibilità dell'esecutore |
| — | — | Descrivere la disponibilità all'esecuzione dell'analisi del target, in sola lettura e senza percorsi |
| undici opzioni, sotto |
| Validare un'ammissione tipizzata dal JSON del bundle sorgente su stdin |
| undici opzioni, sotto |
| Eseguire il controllo strutturale preliminare dal JSON del bundle sorgente su stdin |
|
|
| Ammettere, verificare preliminarmente o eseguire una richiesta limitata di simulazione RTL salvata |
| — | — | Descrivere il contratto fisso di simulazione a quattro stati e più clock |
|
|
| Ammettere, verificare preliminarmente o eseguire una richiesta limitata a quattro stati e più clock |
|
|
| Salvare una ricevuta di risultato nell'archivio degli artefatti del progetto |
| — |
| Elencare le voci archiviate |
|
|
| Leggere una voce archiviata |
| — |
| Elencare le identità verificate entro i limiti del registro fisso privato del proprietario |
|
|
| Rileggere un'identità selezionata dall'elenco verificato corrente |
|
|
| Come sopra, per le identità di condivisione globale |
|
|
| Come sopra, per le identità di temporizzazione mappata |
|
|
| Come sopra, per le identità di temporizzazione dei registri mappati |
--schematic sui tre sottocomandi rtl artifact seleziona l'archivio fisso delle ricevute degli schemi invece dell'archivio dei risultati delle operazioni RTL.
--entry-id nei sottocomandi finali delle identità confermate deve contenere esattamente 64 caratteri esadecimali minuscoli. Qualsiasi altro valore termina con 2 con entry id must be exactly 64 lowercase hexadecimal characters.
Limiti di rtl schematic
rtl schematic valida i percorsi prima di avviare qualsiasi operazione. Ogni file sorgente, directory di inclusione e definizione viene rifiutato all'ammissione se viola uno di questi limiti:
Limite | Valore |
|---|---|
File sorgente | al massimo 256 |
Directory di inclusione ( | al massimo 128 |
Definizioni ( | al massimo 256 |
Lunghezza del percorso | da 1 a 4096 byte |
Componenti del percorso | da 1 a 128 |
Un componente del percorso | al massimo 255 byte |
I percorsi devono essere relativi al progetto selezionato, non devono iniziare con -, non devono contenere byte di controllo e non devono contenere ... --top e il nome di una definizione devono essere identificatori SystemVerilog da 1 a 128 byte; una definizione può contenere un valore dopo = per un totale massimo di 4096 byte.
Opzioni di rtl target-analysis
admit e preflight leggono il JSON canonico del bundle sorgente da stdin ed entrambi richiedono le stesse undici opzioni: --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> e --deadline-unix-ms <N>. --cell-decomposition è un flag booleano facoltativo.
Opzione | Valori accettati |
|---|---|
|
|
| sottoinsieme separato da virgole di |
| sottoinsieme separato da virgole di |
|
|
--cpu-slots è un intero senza segno a 32 bit; --memory-bytes, --max-wall-time-ms e --deadline-unix-ms sono interi senza segno a 64 bit.
Un valore duplicato o non elencato in uno dei due CSV viene rifiutato durante il parsing, per esempio targets must be a comma-separated subset of: generic-asic, sky130-asic, xc7-fpga.
L'involucro della richiesta di simulazione
<REQUEST_JSON> è un percorso relativo al progetto verso un file che la CLI legge e controlla prima di avviare qualsiasi operazione. Il percorso deve essere normalizzato e relativo, non deve attraversare collegamenti simbolici in alcun componente e deve risolversi all'interno della radice del progetto. Il file deve essere un file regolare di dimensioni non superiori a 260 MiB.
Il suo JSON deve essere un oggetto con esattamente quattro chiavi:
{
"schema": "altifigence.rtl.operation-request.v1",
"version": 1,
"operationId": "altifigence.rtl.simulate.v1",
"request": {}
}
operationId deve essere altifigence.rtl.simulate.v1 per rtl simulate e altifigence.rtl.simulate.v2 per rtl simulate-v2. Una mancata corrispondenza viene rifiutata prima dell'avvio con RTL simulation request must be the exact <id> envelope.
I sottocomandi delle identità confermate non possono essere eseguiti
Gli otto sottocomandi rtl *-committed-identities list e read inoltrano l'operazione a un motore chiamato alti-rtl-runner. Questo binario non è uno dei 24 binari dei motori compilati e distribuiti dalla release, quindi non può essere risolto né nella stessa directory di alti né tramite PATH in un'installazione corretta. Invocarne uno produce una ricevuta del motore locale con status: "unavailable" e exitCode: 127:
Testo
$ 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",
...
}
Non basare l'automazione su questi otto comandi.
sv
Ventitré sottocomandi, tutti locali e senza condizioni. Nessuno accetta --runner.
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — |
| Creare l'indice del frontend sui percorsi indicati |
| — |
| Descrivere i simboli disponibili per i percorsi indicati |
| — |
| Struttura di seconda generazione della risposta dei simboli |
| posizioni |
| Risolvere la definizione in una posizione |
| posizioni |
| Risolvere la risposta al passaggio del mouse in una posizione |
|
|
| Risolvere i completamenti per un prefisso |
| posizioni |
| Risolvere i riferimenti al simbolo in una posizione |
| posizioni, |
| Produrre un piano di rinomina senza modificare i file |
| tutti e cinque |
| Applicare una rinomina subordinata all'hash del piano esaminato |
| — | — | Esaminare le asserzioni immediate senza compilarle né simularle |
| — | — | Esaminare la sincronizzazione tra processi senza compilarla né simularla |
| — |
| Elencare le voci del catalogo di riferimento constrained-random |
|
| — | Mostrare una voce del catalogo constrained-random |
| — |
| Elencare le voci del catalogo di riferimento SVA |
|
| — | Mostrare una voce del catalogo SVA |
| — | — | Descrivere il contratto compilato del bridge UVM |
| — | — | Descrivere l'ambiente del bridge UVM |
| — | — | Restituire la ricevuta firmata di disponibilità del componente fisso senza caricarlo né eseguirlo |
| — | — | Descrivere l'ABI del bridge UVM |
| — | — | Descrivere il contratto limitato della simulazione UVM |
| — | — | Descrivere, senza percorsi, la disponibilità dell'implementazione e dell'autorità di esecuzione esterna |
| tredici opzioni, sotto | — | Validare una richiesta limitata di simulazione UVM con rifiuto in caso di errore |
| sedici opzioni, sotto |
| Verificare preliminarmente una richiesta limitata di simulazione UVM con rifiuto in caso di errore |
Regole per i valori posizionali:
<LINE>e<COLUMN>sono interi non nulli con base 1.0termina con2.<REPLACEMENT>deve essere un identificatore SystemVerilog: il primo carattere è una lettera,_oppure$, e i successivi sono alfanumerici,_oppure$.<REVIEWED_PLAN_SHA256>deve contenere 64 caratteri esadecimali minuscoli.<STABLE_ID>deve contenere da 1 a 128 caratteri tra lettere minuscole, cifre e trattini.--filterdeve contenere da 1 a 128 byte non di controllo;--limitdeve essere un intero da 1 a 64 e--limit65termina con2.
sv frontend rename-apply è l'unico sottocomando sv che richiede --project, il cui valore deve essere un percorso assoluto verso una directory reale che non sia un collegamento simbolico. Senza di esso il comando termina con 1 con SV rename apply requires --project <absolute-workspace>.
sv review immediate e sv review interprocess leggono il sorgente SystemVerilog da stdin. Sono gli unici sottocomandi sv supportati da motori propri, alti-sv-immediate-review e alti-sv-interprocess-review; tutti gli altri nel namespace usano alti-sv-frontend.
sv uvm simulation admit richiede tredici opzioni: --bundle-id, --bundle-sha256, --source-count, --source-bytes, --test, --top, --clock, --period-ps, --cycles, --max-wall-time-ms, --max-cpu-cores, --max-memory-bytes e --max-artifact-bytes. sv uvm simulation preflight richiede queste tredici più --attempt-id, --observed-at-unix-ms e --deadline-unix-ms, e accetta inoltre il booleano --cancellation-requested (predefinito: false). --source-count è un intero senza segno a 32 bit, --max-cpu-cores è un intero senza segno a 16 bit e le restanti opzioni numeriche sono interi senza segno a 64 bit.
verification
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
|
|
| Generare un profilo di confronto da una traccia |
| entrambi |
| Verificare una traccia rispetto a un riferimento |
--tolerance-pct deve essere un numero finito non negativo; un valore negativo o non numerico termina con 2 con tolerance-pct must be a finite non-negative number.
--format qui seleziona il formato di output del motore ed è indipendente dal flag --json dell'involucro a livello CLI. Entrambi possono essere usati insieme.
trace
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
|
|
| Esaminare un file di traccia |
| entrambi |
| Scrivere una vista cronologica di una traccia in |
| tutti e tre |
| Esportare una traccia |
|
|
| Materializzare un pacchetto di revisione v1 dalle identità degli artefatti nell'archivio del proprietario |
| — |
| Elencare al massimo i cinque pacchetti di revisione più recenti nell'archivio del proprietario |
|
|
| Mostrare il riepilogo senza percorsi di un pacchetto di revisione |
|
|
| Rileggere un pacchetto di revisione verificato |
<FORMAT> su trace export è un valore enumerato posizionale, non un flag, e precede il percorso di input. I suoi valori sono vcd e chrome.
--reference può essere ripetuto per indicare ulteriori artefatti di riferimento. <TRACE_ARTIFACT_ID>, gli ID di riferimento e <PACKAGE_ID> possono iniziare con un trattino senza richiedere --.
Si osservi che alti trace senza sottocomandi raggiunge il parser locale e termina con 2 richiedendo un sottocomando. L'azione di una sola parola trace nel manifesto incorporato delle azioni non è quindi raggiungibile dalla riga di comando in questa release; vedere Comandi CLI per job e Cloud.
labs
Descrittori e validazione in sola lettura. La CLI non espone l'esecuzione dei flussi di lavoro.
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Esaminare il catalogo fisso dei descrittori dei flussi di lavoro definiti in compilazione |
|
| — | Validare un descrittore JSON controllato dello stato delle interfacce senza eseguirlo |
| — | — | Generare lo stato Labs deterministico basato solo su descrittori |
labs validate impone requisiti rigorosi ai due input e ogni regola seguente viene controllata prima dell'avvio del motore:
--projectdeve essere un percorso assoluto verso una directory reale, non un collegamento simbolico.<DESCRIPTOR>deve essere relativo all'area di lavoro, non deve contenere..né componenti di radice e deve avere una lunghezza massima di 4096 byte.Deve usare l'estensione
.json.Deve risolversi in un file regolare reale di al massimo 1048576 byte e il percorso risolto deve rimanere all'interno del progetto.
tcl
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Descrivere le capacità del runtime Tcl |
| — | — | Descrivere l'ambiente del runtime Tcl |
| — | — | Descrivere il comando limitato |
| — | — | Restituire la ricevuta fissa di disponibilità del runtime firmato senza caricare Tcl |
| — | — | Valutare uno script Tcl limitato letto da stdin |
I primi quattro rispondono tramite descrittori usando il motore incluso alti-tcl e generano l'involucro standard del motore locale.
tcl evaluate differisce per tre aspetti. Legge lo script da stdin con un limite di 4194304 byte; l'input vuoto viene rifiutato. Richiede alti-tcl-local-runner rigorosamente nella stessa directory di alti senza ripiego su PATH e lo verifica rispetto alla catena di fiducia installata. Il bootstrap 0.1.9 installa il componente Tcl fisso e firmato necessario per questo percorso; usare il binario installato. Genera inoltre il proprio schema di ricevuta, altifigence.cli.tcl-evaluation.v1, con i propri codici di uscita: entrambi sono descritti in Interfaccia dei comandi CLI.
eidb
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Descrivere il contratto dell'interfaccia EIDB |
| — |
| Elencare i bundle all'interno del progetto |
|
|
| Creare un bundle R1 di proprietà da un artefatto relativo all'area di lavoro |
|
|
| Produrre un'esportazione portabile di un bundle |
|
| — | Rileggere un bundle |
|
| — | Rileggere un bundle tramite la vista semantica |
eidb capabilities, eidb readback e eidb semantic-readback non accettano --project; per la CLI non usano percorsi.
physical
Quarantadue sottocomandi. physical run è il percorso di compatibilità che accetta --runner; gli altri vengono eseguiti localmente e senza condizioni e ciascuno inoltra direttamente il nome del proprio sottocomando a alti-physical-runner come operazione del motore. In questo namespace il ruolo della CLI è l'ammissione degli argomenti e la costruzione delle ricevute, quindi l'interfaccia è abbastanza regolare da essere presentata in due gruppi.
Gruppo | Membri | Argomenti |
|---|---|---|
Operazioni nell'ambito del progetto |
|
|
Operazioni successive nell'ambito di una voce |
|
|
Ogni operazione successiva nell'ambito di una voce legge una voce persistente prodotta da una precedente operazione nell'ambito del progetto. Omettere --entry-id termina con 2 prima di avviare qualsiasi operazione. Si tratta di trentasei dei quarantadue sottocomandi. I sei rimanenti sono:
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Elencare le identità confermate entro i limiti del progetto corrente |
|
| — | Validare nuovamente una sola identità selezionata dall'elenco limitato corrente |
|
|
| Salvare una ricevuta di risultato nell'archivio degli artefatti del progetto |
| — |
| Elencare le voci archiviate |
|
|
| Leggere una voce archiviata |
| — |
| Percorso di compatibilità per la delega diretta originale al runner |
physical route-evidence-closure read è un comando in due passaggi: la CLI elenca prima le identità confermate, richiede che --identity-key-sha256 compaia nell'elenco e rilegge poi esattamente quella voce. Una chiave che non contiene 64 caratteri esadecimali minuscoli o che non è nell'elenco corrente viene rifiutata con uscita 1 prima del secondo passaggio. Il passaggio di elenco non usa percorsi e non accetta --project.
physical run non si avvia senza un'operazione del motore dopo --:
Testo
$ alti physical run
error: legacy local engine operation is required after `--`
Il comando termina con 1. Le operazioni legacy accettate sono --capabilities-json, capabilities e execute; qualsiasi altra termina con 1 con legacy local engine operation ... is not in the public allowlist.
px
px analyze è il percorso di compatibilità che accetta --runner. Quando un argomento posizionale si chiama <INPUTS_RELATIVE_...>, viene risolto nella directory inputs/ del progetto, non rispetto alla directory di lavoro.
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Descrivere il contratto delle capacità px |
| — | — | Stampare il contratto delle capacità FDTD2D definito dal proprietario |
| — | — | Descrivere la disponibilità dinamica all'esecuzione dell'installazione senza acquisire una concessione CPU |
|
|
| Validare una richiesta FDTD2D e spiegare perché non può essere eseguita |
| — |
| Eseguire l'operazione di esecuzione px inclusa |
|
|
| Eseguire un'analisi temporale statica limitata a un singolo clock, non valida per il signoff, da un file di input del progetto |
|
|
| Validare e compilare il piano nell'ordine delle dichiarazioni per un file JSON di tipo |
|
|
| Descrivere R/C passivi estratti da un file SPEF limitato senza autorità di analisi |
| entrambi |
| Eseguire l'analisi configurata e limitata dei parassiti e della caduta IR in un corner risolto dal chiamante |
|
|
| Rileggere un'esecuzione registrata |
|
|
| Salvare una ricevuta di risultato nell'archivio degli artefatti del progetto |
| — |
| Elencare le voci archiviate |
|
|
| Leggere una voce archiviata |
| — |
| Percorso di compatibilità per la delega diretta originale al runner |
Tre di questi dichiarano i propri limiti nel testo della propria guida e quei limiti fanno parte del contratto: px static-timing esclude esplicitamente il signoff, px spef-summary esclude esplicitamente qualsiasi autorità di analisi e px fdtd2d preflight segnala un impedimento alla disponibilità anziché un risultato. Interpretare l'output di conseguenza.
Come physical run, px analyze richiede un'operazione legacy dopo -- e altrimenti termina con 1. Il suo elenco consentito è capabilities e execute.
Operazioni PX su CPU e CUDA
Comando | Backend e input |
|---|---|
| Obbligatorio |
| Stesse regole per backend e input |
| Obbligatorio |
| Stessa politica esplicita del backend; fixture incorporata e limitata |
| Stessa politica esplicita del backend; fixture incorporata e limitata |
Questi comandi accettano --project; i primi due accettano anche --timeout-ms 1..300000. Il valore esplicito cuda richiede un'esecuzione CUDA utilizzabile. auto consente separatamente il ripiego sulla CPU registrato dal motore; controllare il backend riportato. Queste operazioni numeriche limitate non dimostrano un signoff fisico generale né l'accelerazione GPU di ogni operazione PX.
isa
Quattro dei sei sottocomandi leggono il sorgente CX esclusivamente da stdin. isa run è il percorso di compatibilità che accetta --runner.
Comando | Obbligatorio | Altre opzioni | Scopo |
|---|---|---|---|
| — | — | Elaborare il sorgente CX letto da stdin |
|
| — | Assemblare un'istruzione usando il sorgente CX letto da stdin |
|
| — | Disassemblare una parola codificata usando il sorgente CX letto da stdin |
| — | — | Eseguire la proiezione limitata di co-simulazione CX con il sorgente letto da stdin |
|
|
| Eseguire un controllo nominato su un file CX |
| — |
| Percorso di compatibilità per le operazioni CX locali originali consentite |
--check accetta esattamente elaboration, static-semantics, encoding-uniqueness e decode-determinism. --bit-len è un intero senza segno a 32 bit. --text e --bits non devono essere vuoti né contenere soltanto spazi.
A differenza di physical run e px analyze, isa run fornisce un'operazione fissa del motore, quindi si avvia senza argomenti inoltrati e il motore segnala i propri requisiti:
Testo
$ 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
Operazioni dell'host desktop. Il calcolo rimane nei namespace dei motori descritti sopra.
Comando | Obbligatorio | Scopo |
|---|---|---|
|
| Aprire una directory di progetto assoluta e canonica nell'IDE installato |
ide open avvia l'applicazione desktop installata separatamente. I comandi nativi per area di lavoro, Cloud, servizio e creazione di progetti riportati sotto usano ciascuno un backend esplicito.
--project deve essere una directory assoluta e canonica: assoluta, esistente, priva di collegamenti simbolici e uguale alla propria forma canonica. Un percorso che si risolve attraverso un collegamento simbolico viene rifiutato anziché seguito implicitamente.
ide open non usa un binario di motore. Risolve un eseguibile chiamato altifigence-ide nella stessa directory di alti e poi tramite PATH, lo avvia con --project <canonical-dir>, e genera una ricevuta altifigence.ide-launcher-receipt.v1:
Campo | Significato |
|---|---|
| Sempre |
|
|
| L'ID del processo figlio, oppure |
| Sempre |
| La directory canonica del progetto, oppure il valore richiesto quando la canonicalizzazione non riesce |
|
|
| Il percorso risolto, oppure il solo nome |
| Un messaggio quando |
Lo stato di uscita è 0 per spawned e 1 negli altri casi. altifigence-ide è distribuito con Digital Design Studio, non con l'archivio della CLI, quindi ide open segnala unavailable in un'installazione della sola CLI.
Operazioni native su progetti e aree di lavoro
ide init --parent ABSOLUTE_DIR --name NAME crea una nuova struttura iniziale in una directory padre canonica di proprietà del chiamante. Non sovrascrive un progetto esistente. ide workspace opera sui file locali salvati senza aprire l'interfaccia:
Comando dopo | Input e comportamento |
|---|---|
| Descrivere il contratto della piattaforma |
| Recuperare le transazioni in sospeso prima di rendere accessibile l'area di lavoro |
| Elenco limitato; predefinito 500, massimo 20000 |
| Leggere un file di testo salvato consentito |
| Sostituire il testo esistente solo se il suo SHA-256 corrente corrisponde |
| Array di sostituzioni con |
| Esaminare la creazione, sostituzione o eliminazione tipizzata di file oppure la creazione di directory |
| Applicare l'intero piano di file esaminato |
| Esaminare estrazione, spostamento, fusione o creazione di un header di costanti |
| Applicare l'intero piano gerarchico esaminato |
| Leggere le impostazioni persistenti del progetto DDS |
| Unire ricorsivamente un oggetto JSON limitato |
Il risultato del piano nativo è un input completo e opaco per l'applicazione. Salvare l'output grezzo del motore senza l'opzione globale --json, esaminarlo e passare poi lo stesso documento al comando di applicazione corrispondente. Per esempio, usando il progetto assoluto esistente e la richiesta gerarchica tipizzata:
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"
Non inoltrare l'output di un comando fallito a un comando di applicazione. Scegliere un nuovo file di piano e controllare ogni stato di uscita. La creazione dei file usa transazioni durevoli e serializzate e gli hash correnti dei sorgenti; non fornisce atomicità istantanea sull'intero filesystem rispetto a scritture estranee. I conflitti richiedono una nuova revisione. La creazione gerarchica comprende selezione limitata dei sorgenti e strutture iniziali, non un refactoring semantico completo di SystemVerilog né una prova di equivalenza.
Le impostazioni mantengono il formato DDS .alti/ide-settings.json, le chiavi sconosciute e i valori letterali null. La patch esegue una fusione ricorsiva, non la cancellazione di RFC 7396. Il budget di richiesta/risultato è 256 KiB con profondità 8; l'interfaccia nativa e la CLI usano lo stesso .alti/.ide-settings.lock. La CLI gestisce il formato del progetto corrente, non un secondo ambito indipendente di impostazioni globali desktop.
Le transazioni native e Git richiedono il contratto Linux. Il recupero corrente legge i journal V1 e V2. Dopo una creazione/eliminazione o un'applicazione gerarchica interrotta, eseguire il comando health della nuova CLI prima di aprire un backend DDS precedente che supporta solo V1. Un backend precedente rifiuta un journal V2 in sospeso senza cancellarlo. Le transazioni normalmente completate cancellano il journal attivo; è consigliato un aggiornamento del backend con recupero trasparente, ma non è un requisito per ogni modifica CLI già completata.
Git
Nel namespace ide workspace git, tutti i comandi accettano --project ABS:
Comandi | Argomenti aggiuntivi |
|---|---|
| Nessuno |
| Facoltativo |
| ID del commit |
| ID del commit e percorso relativo |
| Percorso relativo, facoltativamente |
| da 1 a 128 percorsi relativi |
|
|
| Branch locale esistente; rifiuta un'area di lavoro modificata o comportamenti di attributi/filtri non supportati |
Queste operazioni recuperano le transazioni native dell'area di lavoro e si serializzano rispetto a esse. Non espongono argomenti Git arbitrari, hook o credenziali di push remoto.
Ricerca nei sorgenti salvati
alti ide workspace search --project "$PROJECT" --query 'module' --limit 80
La ricerca nativa supporta --match-case, --whole-word, un'espressione conservativa a larghezza fissa --regex, limiti da 1 a 500 corrispondenze e --timeout-seconds 1..120. Legge il testo salvato tramite l'interfaccia nativa files/read, con budget di 500 file, 4 MiB per file, 16 MiB totali e 1 MiB di output. Controllare il troncamento e le prove sul contenuto. I buffer non salvati dell'editor non vengono cercati. La ricerca Cloud e la ricerca/sostituzione HTTP legacy sono operazioni di servizio separate.
xls
Comando | Richiesta e scopo |
|---|---|
| Descrivere il sottoinsieme nativo e la disponibilità dei backend |
| Obbligatorio |
| Stessi flag e limite di dimensione; un involucro XLS EngineJobV1 con collocazione locale e politica del dispositivo esplicite |
|
|
| Facoltativo |
| Obbligatorio un nuovo percorso assoluto |
| Obbligatorio un percorso assoluto |
| Obbligatorio |
Il percorso nativo supporta funzioni DSLX e XLS IR limitate con valori da 1 a 64 bit, valutazione delle costanti/rimozione del codice morto e RTL combinatorio oppure RTL con da 1 a 16 stadi di registri di uscita. La richiesta seleziona cpu, oppure esplicitamente cuda per la valutazione in batch supportata. Un backend CUDA non disponibile è un errore, non un'esecuzione automatica sulla CPU. Iniziare con l'esempio CPU.
Il percorso upstream separato installa una toolchain Linux pubblica di Google XLS fissata a una versione, verifica l'archivio e l'inventario degli strumenti/stdlib e conserva i file di licenza. Supporta importazioni, parametri, strutture, enum, tipi aggregati e a larghezza arbitraria e procs quando lo strumento upstream selezionato supporta l'operazione richiesta. Non usa il parser bits64 limitato e non accelera l'intera toolchain Google con CUDA.
Le richieste upstream selezionano check, eval, convert, optimize, oppure codegen. La valutazione DSLX senza vettori/tick espliciti esegue i test reali del modulo; zero test unitari eseguiti non costituisce un successo. L'archivio base non contiene gli eseguibili autonomi di valutazione IR/proc. Vettori espliciti o tick dei canali richiedono un bundle di valutazione verificato aggiuntivo, ammesso durante l'installazione con --evaluator-bundle e --evaluator-manifest-sha256. Esaminare le capacità prima di richiedere queste operazioni. La generazione di codice pipeline upstream supporta da 1 a 64 stadi; la pianificazione con ritardo unitario non è una temporizzazione del silicio caratterizzata.
compute
Comando | Scopo |
|---|---|
| Rilevare i dispositivi senza eseguire un kernel GPU |
| Esaminare il contratto di esecuzione RTL impacchettata |
| Esecuzione RTL combinatoria limitata con backend esplicito |
| Richiesta di generazione nativa limitata con |
| Verificare un risultato RTL impacchettato archiviato senza caricare CUDA |
I comandi di richiesta accettano --project. L'input di simulazione/Evolve è limitato a 4 MiB; quello di verifica a 16 MiB. Il componente incluso alti-rtl-cuda gestisce questo percorso. compute rtl-evolve accetta altifigence.rtl.evolve-request.v1, con la richiesta di generazione nativa esistente annidata in request; non è un involucro di operazione evolve run.
Evolve CUDA calcola diagnostica limitata dell'attività combinatoria. Generazione dei candidati, controlli di correttezza, sintesi e valutazione degli obiettivi rimangono sulla CPU. Gli strumenti Icarus effettivi iverilog e vvp devono essere disponibili nella configurazione degli strumenti dell'host. cpu-reference richiede cuda_timeout_ms: 0 e device_memory_bytes: 0; cuda rifiuta l'esecuzione non disponibile anziché usare un ripiego. Usare un nuovo request.run_dir con una directory padre esistente.
La richiesta limita generazioni e figli a 1–16, isole a 1–4, valutazioni pianificate totali a 256 e figli LLM a zero. La memoria del dispositivo è un budget limitato per i buffer del worker, non un limite alla memoria totale del driver. Il valore locale facoltativo cancel_file e le scadenze supportano l'annullamento cooperativo; le chiamate agli strumenti nativi mantengono i propri limiti. Un risultato CUDA riuscito richiede attività effettiva dei candidati accettati e provenienza hardware archiviata, non il semplice rilevamento del dispositivo o una verifica iniziale. L'accordo funzionale CPU/CUDA non dimostra un incremento di velocità.
Comandi mancanti nel download corrente
I namespace precedentemente omessi eda e reports sono ora instradati:
Comando | Input |
|---|---|
|
|
|
|
|
|
| Facoltativo |
|
|
| Usare la guida del sottocomando per il formato tipizzato del rapporto e l'input limitato |
Si tratta di operazioni limitate di ispezione, parsing o associazione, non di esecuzione generale di strumenti EDA. ide init e i comandi Evolve nativi espliciti sono anch'essi disponibili. Il percorso di compatibilità alti-rtl-runner non distribuito descritto sopra rimane una limitazione distinta; non dedurre il supporto dalla sola guida.
Preparare un flusso di lavoro del motore
Scegliere l'operazione e leggere la risposta delle capacità installate e la guida del sottocomando.
Creare un piccolo input salvato nel progetto selezionato e identificarne il top/modulo o il punto di ingresso.
Fornire gli strumenti esterni richiesti e usare un backend esplicito quando la richiesta supporta la selezione CPU/CUDA.
Eseguire una volta con risorse limitate e conservare la diagnostica e il risultato nativo completo.
Esaminare il backend effettivo, gli input, gli artefatti di output e le metriche non supportate prima di costruire un flusso più ampio.
Usare Analisi DDS per il flusso grafico ed Evolve per il confronto dei candidati. Il supporto dei motori CLI, un pannello desktop e un percorso Cloud sono integrazioni distinte; verificare il flusso che verrà effettivamente usato.