Comandos de engine da CLI

Use engines locais de projeto, XLS nativo e CUDA e criação DDS com limites e contratos de entrada explícitos.

Visão geral

Esta página aborda comandos de engines locais de projeto, seus principais argumentos e seus limites de execução. Use o --help do comando específico instalado para obter a lista completa de opções e valores enumerados. Leia os próprios limites do resultado antes de usá-lo como evidência de engenharia.

Leia primeiro Interface de comandos da CLI. Ela define o roteamento, os códigos de saída, os envelopes de comprovantes e a regra de resolução de executáveis irmãos da qual todos os comandos abaixo dependem. O namespace job, analyze run e evolve run estão em Comandos de jobs e Cloud da CLI.

Convenções usadas nas tabelas:

  • <ANGLE> é um argumento posicional; [ANGLE]... é um argumento opcional repetível.

  • As opções na coluna Obrigatório devem estar presentes, ou o comando sai com 2 antes de iniciar qualquer coisa.

  • Todo subcomando também aceita --json e -h/--help. Essas opções não são repetidas em cada linha.

  • --project é --project <PROJECT>, um diretório de trabalho opcional para caminhos relativos de entrada e saída, salvo indicação contrária na linha. Ele deve resolver para um diretório real; um valor que não possa ser resolvido sai com 2.

capabilities

alti capabilities examina a estrutura instalada autenticada e informa sua interface de operações. Conclua primeiro Instalar no Linux; o bootstrap embutido 0.1.9 fornece a estrutura de comprovantes e payload anteriormente ausente. Uma resposta de capacidade não é evidência de um kernel ou projeto executado.

rtl

Vinte e oito subcomandos. rtl compile e rtl synthesize são os dois caminhos de compatibilidade com --runner; todo outro subcomando de rtl é executado localmente e de forma incondicional.

Diferentemente de physical run e px analyze, esses dois iniciam sua engine sem argumentos de repasse, pois cada um fornece uma operação fixa de engine. A engine então informa seu próprio erro de argumento ausente, e seu status de saída é repassado sem alteração. Forneça os argumentos necessários após --.

Comando

Obrigatório

Outras opções

Finalidade

rtl compile

—

--runner <local|cloud|private> (padrão local), --project, -- <ENGINE_ARG>...

Caminho de compatibilidade que delega à engine de compilação empacotada

rtl synthesize

—

--runner (padrão local), --project, -- <ENGINE_ARG>...

Grafia de compatibilidade para a delegação local bruta original de síntese

rtl schematic <FILE>...

pelo menos um <FILE>

--project, --top <TOP>, --format <json|text> (padrão json), -I <DIR>, -D <NAME[=VALUE]>

Emite o contrato de esquemático comprovado pelo compilador para códigos-fonte RTL salvos

rtl analysis <PATH>...

pelo menos um <PATH>

--project

Executa a operação de análise empacotada nos códigos-fonte indicados

rtl synth [FILE]...

--top <TOP>

--project, --pretty, --netlist-only, --source <LOGICAL_PATH> <DISK_PATH>

Executa a operação de síntese empacotada

rtl map

--netlist <NETLIST>, --liberty <LIBERTY>

--project, --pretty

Executa a operação de mapeamento tecnológico empacotada

rtl target-analysis capabilities

—

—

Informa o contrato fixo de análise de alvo e a disponibilidade do executor

rtl target-analysis readiness

—

—

Informa a prontidão de execução da análise de alvo sem caminhos e somente leitura

rtl target-analysis admit

onze opções, abaixo

--cell-decomposition

Valida uma admissão tipada a partir do JSON de pacote de código-fonte em stdin

rtl target-analysis preflight

onze opções, abaixo

--cell-decomposition

Executa preflight estrutural a partir do JSON de pacote de código-fonte em stdin

rtl simulate admit|preflight|run <REQUEST_JSON>

<REQUEST_JSON>

--project

Admite, faz preflight ou executa uma solicitação limitada de simulação RTL salva

rtl simulate-v2 capabilities

—

—

Informa o contrato fixo de simulação de quatro estados e múltiplos clocks

rtl simulate-v2 admit|preflight|run <REQUEST_JSON>

<REQUEST_JSON>

--project

Admite, faz preflight ou executa uma solicitação limitada de quatro estados e múltiplos clocks

rtl artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project, --schematic

Persiste um comprovante de resultado no armazenamento de artefatos do projeto

rtl artifact list

—

--project, --schematic

Lista entradas armazenadas

rtl artifact show <ENTRY_ID>

<ENTRY_ID>

--project, --schematic

Lê uma entrada armazenada

rtl fanout-free-committed-identities list

—

--project

Lista as identidades verificadas limitadas no registro fixo privado do proprietário

rtl fanout-free-committed-identities read

--entry-id <SHA256>

--project

Relê uma identidade selecionada na lista verificada atual

rtl global-sharing-committed-identities list|read

read: --entry-id <SHA256>

--project

Como acima, para identidades de compartilhamento global

rtl mapped-timing-committed-identities list|read

read: --entry-id <SHA256>

--project

Como acima, para identidades de temporização mapeada

rtl mapped-register-timing-committed-identities list|read

read: --entry-id <SHA256>

--project

Como acima, para identidades de temporização de registradores mapeada

--schematic nos três subcomandos rtl artifact seleciona o armazenamento fixo de comprovantes de esquemático em vez do armazenamento de resultados de operações RTL.

--entry-id nos comandos específicos de identidade confirmada deve conter exatamente 64 caracteres hexadecimais minúsculos. Qualquer outra coisa sai com 2 e entry id must be exactly 64 lowercase hexadecimal characters.

Limites de rtl schematic

rtl schematic valida seus caminhos antes de iniciar qualquer coisa. Cada arquivo de código-fonte, diretório de include e define é rejeitado na admissão se violar um destes limites:

Limite

Valor

Arquivos de código-fonte

no máximo 256

Diretórios de include (-I)

no máximo 128

Defines (-D)

no máximo 256

Comprimento do caminho

1 a 4096 bytes

Componentes de caminho

1 a 128

Um componente de caminho

no máximo 255 bytes

Os caminhos devem ser relativos ao projeto selecionado, não devem começar com -, não devem conter bytes de controle nem conter ... --top e o nome de um define devem ser identificadores SystemVerilog de 1 a 128 bytes; um define pode conter um valor após = até 4096 bytes no total.

Opções de rtl target-analysis

admit e preflight leem JSON canônico de pacote de código-fonte de stdin e ambos exigem as mesmas onze opções: --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 é uma flag booleana opcional.

Opção

Valores aceitos

--primary-target

generic-asic, sky130-asic, xc7-fpga

--targets

subconjunto separado por vírgulas de generic-asic, sky130-asic, xc7-fpga, sem duplicatas

--tools

subconjunto separado por vírgulas de waveform, schematic, roofline, perf, timing, ppa, evidence, sem duplicatas

--report-detail

brief, standard, detailed

--cpu-slots é um inteiro sem sinal de 32 bits; --memory-bytes, --max-wall-time-ms e --deadline-unix-ms são inteiros sem sinal de 64 bits.

Um valor duplicado ou não listado em qualquer CSV é recusado durante a análise, por exemplo targets must be a comma-separated subset of: generic-asic, sky130-asic, xc7-fpga.

O envelope de solicitação de simulação

<REQUEST_JSON> é um caminho relativo ao projeto para um arquivo que a CLI lê e verifica antes de iniciar qualquer coisa. O caminho deve ser normalizado e relativo, não deve atravessar um link simbólico em nenhum componente e deve resolver dentro da raiz do projeto. O arquivo deve ser regular e ter no máximo 260 MiB.

Seu JSON deve ser um objeto com exatamente quatro chaves:

JSON
{
  "schema": "altifigence.rtl.operation-request.v1",
  "version": 1,
  "operationId": "altifigence.rtl.simulate.v1",
  "request": {}
}

operationId deve ser altifigence.rtl.simulate.v1 para rtl simulate e altifigence.rtl.simulate.v2 para rtl simulate-v2. Uma incompatibilidade é recusada antes da inicialização com RTL simulation request must be the exact <id> envelope.

Os subcomandos de identidade confirmada não podem ser executados

Os oito comandos específicos rtl *-committed-identities list e read despacham para uma engine chamada alti-rtl-runner. Esse binário não é um dos 24 binários de engine que a versão compila e distribui; portanto, não pode ser resolvido como irmão de alti nem em PATH a partir de uma instalação correta. Invocar um deles produz um comprovante de engine local com status: "unavailable" e exitCode: 127:

Texto

$ 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",
  ...
}

Não baseie automações nesses oito comandos.

sv

Vinte e três subcomandos, todos locais e incondicionais. Nenhum aceita --runner.

Comando

Obrigatório

Outras opções

Finalidade

sv frontend index [PATH]...

—

--project

Cria o índice do frontend nos caminhos indicados

sv frontend symbols [PATH]...

—

--project

Informa a interface de símbolos nos caminhos indicados

sv frontend symbols-v2 [PATH]...

—

--project

O formato de resposta de símbolos de segunda geração

sv frontend definition <PATH> <LINE> <COLUMN> [ANALYSIS_PATH]...

posições

--project

Resolve a definição em uma posição

sv frontend hover <PATH> <LINE> <COLUMN> [ANALYSIS_PATH]...

posições

--project

Resolve a resposta ao passar o mouse em uma posição

sv frontend complete <PREFIX> [PATH]...

<PREFIX>

--project

Resolve completações para um prefixo

sv frontend references <PATH> <LINE> <COLUMN> [ANALYSIS_PATH]...

posições

--project

Resolve referências ao símbolo em uma posição

sv frontend rename-plan <PATH> <LINE> <COLUMN> <REPLACEMENT> [ANALYSIS_PATH]...

posições, <REPLACEMENT>

--project

Produz um plano de renomeação sem editar arquivos

sv frontend rename-apply <PATH> <LINE> <COLUMN> <REPLACEMENT> <REVIEWED_PLAN_SHA256>

todos os cinco

--project <ABSOLUTE_WORKSPACE> obrigatórios

Aplica uma renomeação condicionada ao hash do plano revisado

sv review immediate

—

—

Revisa asserções imediatas sem compilá-las ou simulá-las

sv review interprocess

—

—

Revisa sincronização entre processos sem compilá-la ou simulá-la

sv library constrained-random list

—

--category <item|control|checker>, --filter <FILTER>, --limit <LIMIT> (padrão 64)

Lista entradas no catálogo de referência de aleatoriedade com restrições

sv library constrained-random show <STABLE_ID>

<STABLE_ID>

—

Mostra uma entrada do catálogo de aleatoriedade com restrições

sv library sva list

—

--category, --filter, --limit (padrão 64)

Lista entradas no catálogo de referência SVA

sv library sva show <STABLE_ID>

<STABLE_ID>

—

Mostra uma entrada do catálogo SVA

sv uvm capabilities

—

—

Informa o contrato compilado da ponte UVM

sv uvm environment

—

—

Informa a visualização de ambiente da ponte UVM

sv uvm readiness

—

—

Retorna o comprovante assinado de prontidão do componente fixo sem carregá-lo ou executá-lo

sv uvm abi

—

—

Informa a ABI da ponte UVM

sv uvm simulation capabilities

—

—

Informa o contrato limitado de simulação UVM

sv uvm simulation readiness

—

—

Informa a prontidão de implementação sem caminhos e de autoridade externa de execução

sv uvm simulation admit

treze opções, abaixo

—

Valida uma solicitação limitada de simulação UVM que recusa em caso de falha

sv uvm simulation preflight

dezesseis opções, abaixo

--cancellation-requested

Faz preflight de uma solicitação limitada de simulação UVM que recusa em caso de falha

Regras de valores posicionais:

  • <LINE> e <COLUMN> são inteiros não zero com base 1. 0 sai com 2.

  • <REPLACEMENT> deve ser um identificador SystemVerilog: o primeiro caractere é uma letra, _ ou $, e os demais são alfanuméricos, _ ou $.

  • <REVIEWED_PLAN_SHA256> deve conter 64 caracteres hexadecimais minúsculos.

  • <STABLE_ID> deve conter de 1 a 128 caracteres entre letras minúsculas, dígitos e hífens.

  • --filter deve conter de 1 a 128 bytes que não sejam de controle; --limit deve ser um inteiro de 1 a 64, e --limit 65 sai com 2.

sv frontend rename-apply é o único subcomando de sv que exige --project, e o valor deve ser um caminho absoluto para um diretório real que não seja link simbólico. Sem ele, o comando sai com 1 e SV rename apply requires --project <absolute-workspace>.

sv review immediate e sv review interprocess leem código-fonte SystemVerilog de stdin. São os únicos subcomandos de sv respaldados por suas próprias engines, alti-sv-immediate-review e alti-sv-interprocess-review; todo o resto no namespace usa alti-sv-frontend.

sv uvm simulation admit exige treze opções: --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 exige essas treze mais --attempt-id, --observed-at-unix-ms e --deadline-unix-ms e também aceita o booleano --cancellation-requested (padrão false). --source-count é um inteiro sem sinal de 32 bits, --max-cpu-cores é um inteiro sem sinal de 16 bits, e as demais opções numéricas são inteiros sem sinal de 64 bits.

verification

Comando

Obrigatório

Outras opções

Finalidade

verification golden-diff emit-profile <TRACE>

<TRACE>

--project, --tolerance-pct <TOLERANCE_PCT> (padrão 10)

Emite um perfil de comparação a partir de uma trilha

verification golden-diff check <REFERENCE> <TRACE>

ambos

--project, --format <text|json|json-v1> (padrão text)

Verifica uma trilha em relação a uma referência

--tolerance-pct deve ser um número finito não negativo; um valor negativo ou não numérico sai com 2 e tolerance-pct must be a finite non-negative number.

--format aqui seleciona o próprio formato de saída da engine e é independente da flag de envelope --json no nível da CLI. Ambas podem ser usadas juntas.

trace

Comando

Obrigatório

Outras opções

Finalidade

trace inspect <TRACE>

<TRACE>

--project, --format <json|text> (padrão json)

Examina um arquivo de trilha

trace timeline <TRACE> <OUTPUT>

ambos

--project

Escreve uma visualização de linha do tempo de uma trilha em <OUTPUT>

trace export <FORMAT> <TRACE> <OUTPUT>

todos os três

--project

Exporta uma trilha

trace review materialize <TRACE_ARTIFACT_ID>

<TRACE_ARTIFACT_ID>

--project, --reference <REFERENCE_ARTIFACT_IDS> (repetível)

Materializa um pacote de revisão v1 a partir de identidades de artefatos no armazenamento do proprietário

trace review list

—

--project

Lista no máximo os cinco pacotes de revisão mais recentes do armazenamento do proprietário

trace review show <PACKAGE_ID>

<PACKAGE_ID>

--project

Mostra um resumo sem caminhos de pacote de revisão

trace review readback <PACKAGE_ID>

<PACKAGE_ID>

--project

Relê um pacote de revisão verificado

<FORMAT> em trace export é um valor enumerado posicional, não uma flag, e vem antes do caminho de entrada. Seus valores são vcd e chrome.

--reference pode ser repetido para indicar artefatos de referência adicionais. <TRACE_ARTIFACT_ID>, os IDs de referência e <PACKAGE_ID> podem começar com hífen sem precisar de --.

Observe que alti trace sem subcomando chega ao analisador local e sai com 2 pedindo um subcomando. Portanto, a ação de uma palavra trace no manifesto de ações embutido não pode ser acessada pela linha de comando nesta versão; consulte Comandos de jobs e Cloud da CLI.

labs

Descritores e validação somente leitura. A execução de fluxos de trabalho não é exposta pela CLI.

Comando

Obrigatório

Outras opções

Finalidade

labs inspect

—

—

Examina o catálogo fixo de descritores de fluxo de trabalho definidos em tempo de compilação

labs validate <DESCRIPTOR>

<DESCRIPTOR>, --project <ABSOLUTE_WORKSPACE>

—

Valida um descritor JSON verificado de integridade de limites sem executá-lo

labs status

—

—

Emite o estado Labs determinístico, baseado apenas em descritores

labs validate é rigoroso com suas duas entradas, e todas as regras abaixo são verificadas antes de a engine iniciar:

  • --project deve ser um caminho absoluto para um diretório real, não um link simbólico.

  • <DESCRIPTOR> deve ser relativo ao espaço de trabalho, não deve conter .. nem componente de raiz e deve ter no máximo 4096 bytes.

  • Deve usar a extensão .json.

  • Deve resolver para um arquivo regular real de no máximo 1048576 bytes, e o caminho resolvido ainda deve estar dentro do projeto.

tcl

Comando

Obrigatório

Outras opções

Finalidade

tcl capabilities

—

—

Informa o descritor de capacidades do runtime Tcl

tcl environment

—

—

Informa o descritor de ambiente do runtime Tcl

tcl commands

—

—

Informa o descritor de comandos limitados

tcl readiness

—

—

Retorna o comprovante fixo de prontidão do runtime assinado sem carregar Tcl

tcl evaluate

—

—

Avalia um script Tcl limitado lido de stdin

Os quatro primeiros respondem a partir de descritores pela engine empacotada alti-tcl e emitem o envelope padrão de engine local.

tcl evaluate é diferente de três formas. Ele lê o script de stdin, com limite de 4194304 bytes; entrada vazia é recusada. Exige alti-tcl-local-runner como irmão estrito de alti, sem alternativa por PATH, e o verifica em relação à cadeia de confiança instalada. O bootstrap 0.1.9 instala o componente Tcl assinado fixo necessário para esse caminho; use o binário instalado. Ele também emite seu próprio esquema de comprovante, altifigence.cli.tcl-evaluation.v1, com seus próprios códigos de saída — ambos estão em Interface de comandos da CLI.

eidb

Comando

Obrigatório

Outras opções

Finalidade

eidb capabilities

—

—

Informa o contrato de limites EIDB

eidb list

—

--project

Lista pacotes dentro do projeto

eidb create

--source-artifact-ref <WORKSPACE_RELATIVE_ARTIFACT>

--project, --label <LABEL>

Cria um pacote R1 pertencente ao usuário a partir de um artefato relativo ao espaço de trabalho

eidb export

--bundle-key <BUNDLE_KEY>

--project

Produz uma exportação portátil de um pacote

eidb readback

--bundle-key <BUNDLE_KEY>

—

Relê um pacote

eidb semantic-readback

--bundle-key <BUNDLE_KEY>

—

Relê um pacote pela visualização semântica

eidb capabilities, eidb readback e eidb semantic-readback não recebem --project; não usam caminhos do ponto de vista da CLI.

physical

Quarenta e dois subcomandos. physical run é o caminho de compatibilidade com --runner; os demais são executados localmente e de forma incondicional, e cada um repassa seu próprio nome de subcomando diretamente para alti-physical-runner como operação de engine. O papel da CLI neste namespace é admitir argumentos e formatar comprovantes, portanto a interface é regular o suficiente para ser apresentada em dois grupos.

Grupo

Membros

Argumentos

Operações com escopo de projeto

pdn-stripe-plan, optimize-clock-tree, optimize-global-route, optimize-placement, placement-legalize, placement-pipeline-manifest, placement-pipeline-run, placement-seed-grid, single-clock-tree, two-pin-manhattan-route, two-pin-manhattan-route-congestion, two-pin-obstacle-route, two-pin-obstacle-route-bend-aware, multi-net-obstacle-route, multi-net-obstacle-route-bend-aware, multi-net-uniform-capacity-route, multi-net-edge-capacity-route, multi-net-congestion-cost-route, multi-net-congestion-cost-route-improve, multi-net-congestion-cost-route-improve-two-pass, multi-net-congestion-cost-route-improve-bounded

--project somente

Operações seguintes com escopo de entrada

optimize-detailed-route, verify-detailed-route, placement-pipeline-analyze, placement-pipeline-verify, multi-net-route-metrics, two-pin-manhattan-route-verify, two-pin-obstacle-route-verify, multi-net-obstacle-route-verify, multi-net-obstacle-route-bend-aware-verify, multi-net-uniform-capacity-route-verify, multi-net-edge-capacity-route-verify, multi-net-congestion-cost-route-verify, multi-net-congestion-cost-route-improve-verify, multi-net-congestion-cost-route-improve-two-pass-verify, multi-net-congestion-cost-route-improve-bounded-verify

--entry-id <ENTRY_ID> obrigatório, mais --project

Toda operação seguinte com escopo de entrada lê uma entrada persistida produzida por uma operação anterior com escopo de projeto. Omitir --entry-id sai com 2 antes de iniciar qualquer coisa. Isso corresponde a trinta e seis das quarenta e duas. As seis restantes são:

Comando

Obrigatório

Outras opções

Finalidade

physical route-evidence-closure list

—

—

Lista as identidades confirmadas limitadas dentro do projeto atual

physical route-evidence-closure read

--identity-key-sha256 <LOWERCASE_SHA256>

—

Revalida exatamente uma identidade selecionada na lista limitada atual

physical artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project

Persiste um comprovante de resultado no armazenamento de artefatos do projeto

physical artifact list

—

--project

Lista entradas armazenadas

physical artifact show <ENTRY_ID>

<ENTRY_ID>

--project

Lê uma entrada armazenada

physical run

—

--runner (padrão local), --project, -- <ENGINE_ARG>...

Caminho de compatibilidade para a delegação bruta original ao runner

physical route-evidence-closure read é um comando de duas etapas: a CLI primeiro lista as identidades confirmadas, exige que seu --identity-key-sha256 apareça nessa lista e então relê exatamente essa identidade. Uma chave que não contenha 64 caracteres hexadecimais minúsculos ou não esteja na lista atual é recusada com saída 1 antes da segunda etapa. A etapa de listagem não usa caminhos e não recebe --project.

physical run não inicia sem uma operação de engine após --:

Texto

$ alti physical run
error: legacy local engine operation is required after `--`

Isso sai com 1. As operações legadas aceitas são --capabilities-json, capabilities e execute; qualquer outra sai com 1 e legacy local engine operation ... is not in the public allowlist.

px

px analyze é o caminho de compatibilidade com --runner. Quando um argumento posicional se chama <INPUTS_RELATIVE_...>, ele é resolvido dentro do diretório inputs/ do projeto, não em relação ao seu diretório de trabalho.

Comando

Obrigatório

Outras opções

Finalidade

px capabilities

—

—

Informa o contrato de capacidades px

px fdtd2d capabilities

—

—

Imprime o contrato de capacidades FDTD2D definido pelo responsável

px fdtd2d readiness

—

—

Informa a prontidão dinâmica de execução instalada sem adquirir uma concessão de CPU

px fdtd2d preflight <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Valida uma solicitação FDTD2D e informa por que não pode ser executada

px execute

—

--project

Executa a operação de execução px empacotada

px static-timing <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Executa temporização estática limitada de clock único, sem signoff, a partir de um arquivo de entrada do projeto

px process-recipe <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Valida e compila o plano em ordem de declaração para um arquivo px-recipe-1 em JSON

px spef-summary <INPUTS_RELATIVE_SPEF>

<INPUTS_RELATIVE_SPEF>

--project

Informa R/C extraído passivo de um arquivo SPEF limitado, sem autoridade de análise

px spef-analyze <INPUTS_RELATIVE_SPEF> <INPUTS_RELATIVE_CONFIG_JSON>

ambos

--project

Executa análise limitada de parasitas e queda IR configurada sob um corner resolvido pelo chamador

px readback <RUN_ID>

<RUN_ID>

--project

Relê uma execução registrada

px artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project

Persiste um comprovante de resultado no armazenamento de artefatos do projeto

px artifact list

—

--project

Lista entradas armazenadas

px artifact show <ENTRY_ID>

<ENTRY_ID>

--project

Lê uma entrada armazenada

px analyze

—

--runner (padrão local), --project, -- <ENGINE_ARG>...

Caminho de compatibilidade para a delegação bruta original ao runner

Três desses comandos declaram seus próprios limites no texto de ajuda, e esses limites fazem parte do contrato: px static-timing explicitamente não é signoff, px spef-summary explicitamente não contém autoridade de análise, e px fdtd2d preflight informa um impedimento de prontidão em vez de um resultado. Trate suas saídas de acordo.

Assim como physical run, px analyze exige uma operação legada após -- e, caso contrário, sai com 1. Sua lista permitida é capabilities e execute.

Operações PX de CPU e CUDA

Comando

Backend e entrada

px fdtd2d execute <INPUT>

Obrigatório --backend com cpu, cuda ou auto; arquivo relativo ao espaço de trabalho inputs/

px fft-convolution <INPUT>

Mesmas regras de backend e entrada

px heat-pinn-jtr

Obrigatório --backend com cpu, cuda ou auto; fixture numérica embutida limitada

px hotspot-sensitivity

Mesma política explícita de backend; fixture embutida limitada

px csr-gmres

Mesma política explícita de backend; fixture embutida limitada

Esses comandos aceitam --project; os dois primeiros também aceitam --timeout-ms 1..300000. Selecionar explicitamente cuda exige execução CUDA utilizável. auto permite separadamente o fallback para CPU registrado pela engine; examine o backend informado. Essas operações numéricas limitadas não estabelecem signoff físico geral nem aceleração por GPU de toda operação PX.

isa

Quatro dos seis subcomandos leem código-fonte CX exclusivamente de stdin. isa run é o caminho de compatibilidade com --runner.

Comando

Obrigatório

Outras opções

Finalidade

isa elaborate

—

—

Elabora código-fonte CX lido de stdin

isa assemble

--text <TEXT>

—

Monta uma instrução a partir do código-fonte CX lido de stdin

isa disassemble

--bits <BITS>, --bit-len <BITS>

—

Desmonta uma palavra codificada a partir do código-fonte CX lido de stdin

isa cosimulate

—

—

Executa a projeção limitada de cossimulação CX com código-fonte lido de stdin

isa assistant verify

--check <CHECK>, --source <CX_FILE>

--project

Executa uma verificação indicada sobre um arquivo CX

isa run

—

--runner (padrão local), --project, -- <ENGINE_ARG>...

Caminho de compatibilidade para as operações CX locais originais da lista permitida

--check aceita exatamente elaboration, static-semantics, encoding-uniqueness e decode-determinism. --bit-len é um inteiro sem sinal de 32 bits. --text e --bits não devem estar vazios nem conter apenas espaços.

Diferentemente de physical run e px analyze, isa run contém uma operação fixa de engine, portanto inicia sem argumentos de repasse e a engine informa seus próprios requisitos:

Texto

$ 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

Operações do host Desktop. A computação permanece nos namespaces de engine acima.

Comando

Obrigatório

Finalidade

ide open

--project <ABSOLUTE_DIR>

Abre um diretório de projeto absoluto canônico na IDE instalada

ide open inicia o aplicativo de desktop instalado separadamente. Os comandos nativos de espaço de trabalho, Cloud, serviço e criação de projeto abaixo funcionam por seus próprios backends explícitos.

--project deve ser um diretório absoluto canônico: absoluto, existente, não um link simbólico e igual à sua própria forma canônica. Um caminho que resolve por um symlink é recusado em vez de seguido silenciosamente.

ide open não usa um binário de engine. Ele resolve um executável chamado altifigence-ide como irmão de alti e depois em PATH, inicia-o com --project <canonical-dir> e emite um comprovante altifigence.ide-launcher-receipt.v1:

Campo

Significado

schema

Sempre altifigence.ide-launcher-receipt.v1

status

spawned, unavailable ou failed

pid

O ID do processo filho, ou null

binary

Sempre altifigence-ide

project

O diretório canônico do projeto, ou o valor solicitado quando a canonicalização falha

resolution

sibling, path ou unresolved

executable

O caminho resolvido, ou o nome simples

error

Uma mensagem quando status não é spawned, caso contrário null

O status de saída é 0 para spawned e 1 nos demais casos. altifigence-ide é distribuído com Digital Design Studio, não com o arquivo da CLI, portanto ide open informa unavailable em uma instalação apenas da CLI.

Operações nativas de projeto e espaço de trabalho

ide init --parent ABSOLUTE_DIR --name NAME cria uma nova estrutura inicial dentro de uma pasta pai canônica pertencente ao chamador. Não sobrescreve um projeto existente. ide workspace opera em arquivos locais salvos sem abrir a UI:

Comando após ide workspace

Entradas e comportamento

capabilities

Informa o contrato da plataforma

health --project ABS

Recupera transações pendentes antes de expor o espaço de trabalho

files --project ABS [--limit N]

Listagem limitada; padrão 500, máximo 20000

read --project ABS PATH

Lê um arquivo de texto salvo permitido

write --project ABS PATH --expected-sha256 HASH --content FILE_OR_DASH

Substitui texto existente somente quando seu SHA-256 atual corresponde

edit --project ABS --request FILE_OR_DASH

Array com path, expected_sha256 e content para substituições

file-plan --project ABS --request FILE_OR_DASH

Revisa criação, substituição ou exclusão tipada de arquivos ou criação de diretórios

file-apply --project ABS --request FILE_OR_DASH

Aplica o plano completo revisado de arquivos

hierarchy-plan --project ABS --request FILE_OR_DASH

Revisa extração, movimentação, mesclagem ou criação de cabeçalho de constantes

hierarchy-apply --project ABS --request FILE_OR_DASH

Aplica o plano completo revisado de hierarquia

settings read --project ABS

Lê as configurações persistidas do projeto DDS

settings patch --project ABS --request FILE_OR_DASH

Mescla recursivamente um objeto JSON limitado

O resultado do plano nativo é uma entrada completa opaca para aplicação. Salve a saída bruta da engine sem o --json global, revise-a e passe o mesmo documento ao comando de aplicação correspondente. Por exemplo, com seu projeto absoluto existente e solicitação tipada de hierarquia:

Bash
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"

Não encaminhe a saída de um comando com falha para apply. Escolha um novo arquivo de plano e confira cada status de saída. A criação de arquivos usa transações duráveis e serializadas e hashes atuais do código-fonte; não oferece atomicidade instantânea em todo o sistema de arquivos contra processos de escrita não relacionados. Conflitos exigem uma nova revisão. A criação de hierarquias é seleção limitada de código-fonte e criação de estrutura inicial, não refatoração semântica completa de SystemVerilog nem prova de equivalência.

As configurações preservam o formato DDS .alti/ide-settings.json, chaves desconhecidas e valores literais null. O patch é uma mesclagem recursiva, não uma exclusão RFC 7396. O orçamento de solicitação/resultado é 256 KiB e profundidade 8; a UI nativa e a CLI usam o mesmo .alti/.ide-settings.lock. A CLI aborda o formato atual de projeto, não um segundo escopo independente de configurações globais do desktop.

Transações nativas e Git exigem o contrato Linux. A recuperação atual lê diários V1 e V2. Após uma criação/exclusão ou aplicação de hierarquia interrompida, execute health da nova CLI antes de abrir um backend DDS antigo que só suporte V1. Um backend antigo recusa um diário V2 pendente sem limpá-lo. Transações normalmente concluídas limpam seu diário ativo; uma atualização do backend com recuperação transparente é recomendada, não um pré-requisito para toda edição concluída pela CLI.

Git

Em ide workspace git, todos os comandos recebem --project ABS:

Comandos

Argumentos adicionais

status, refs, worktrees

Nenhum

history

Opcional --limit 1..200 e --skip 0..100000

commit-detail

ID do commit

commit-file

ID do commit e caminho relativo

diff

Caminho relativo, opcionalmente --staged

stage, unstage

1–128 caminhos relativos

commit

--message TEXT

switch

Branch local existente; recusa espaço de trabalho com alterações ou comportamento de atributos/filtros não suportado

Essas operações recuperam e serializam em relação às transações nativas do espaço de trabalho. Elas não expõem argumentos Git arbitrários, hooks ou credenciais de push remoto.

Busca em código-fonte salvo

Bash
alti ide workspace search --project "$PROJECT" --query 'module' --limit 80

A busca nativa suporta --match-case, --whole-word, um --regex conservador de largura fixa, limites de 1–500 correspondências e --timeout-seconds 1..120. Ela lê texto salvo pelo limite nativo files/read, com orçamentos de 500 arquivos, 4 MiB por arquivo, 16 MiB no total e 1 MiB de saída. Confira o truncamento e as evidências de conteúdo. Buffers não salvos do editor não são pesquisados. A busca Cloud e a busca/substituição HTTP legada são operações de serviço separadas.

xls

Comando

Solicitação e finalidade

xls capabilities

Informa a disponibilidade do subconjunto nativo e dos backends

xls check, eval, optimize, codegen

Obrigatório --request FILE_OR_DASH, opcional --project; JSON de operação nativa, no máximo 16 KiB

xls run

Mesmas flags e limite de tamanho; um envelope XLS EngineJobV1 com política explícita de posicionamento local/dispositivo

xls artifact store

--request FILE_OR_DASH, opcional --project

xls artifact list, xls artifact show ID

Opcional --project; resultado armazenado e releitura limitados

xls upstream install

Obrigatórios, novos e absolutos: --destination e --toolchain-config; opcional, o arquivo original fixado em --archive

xls upstream capabilities

Obrigatório --toolchain-config absoluto; informa a cobertura real de ferramentas instaladas

xls upstream run

Obrigatório --toolchain-config, --work-root existente e --request FILE_OR_DASH; solicitação de até 2 MiB

O caminho nativo suporta funções DSLX e XLS IR limitadas com valores de 1–64 bits, avaliação de constantes/remoção de código morto e RTL combinacional ou RTL com 1–16 estágios de registradores de saída. A solicitação seleciona cpu ou explicitamente cuda para avaliação em lote suportada. Um backend CUDA indisponível é um erro, não uma execução automática na CPU. Comece com o exemplo de CPU.

O caminho upstream separado instala uma toolchain pública Google XLS Linux fixada, verifica seu arquivo e inventário de ferramentas/stdlib e preserva os arquivos de licença. Suporta imports, parâmetros, structs, enums, tipos agregados e de largura arbitrária e procs quando a ferramenta upstream selecionada suporta a operação solicitada. Não usa o analisador limitado bits64 nem acelera toda a toolchain Google com CUDA.

Solicitações upstream selecionam check, eval, convert, optimize ou codegen. Uma avaliação DSLX sem vetores/ticks explícitos executa testes reais do módulo; zero testes unitários executados não é sucesso. O arquivo base não contém executáveis independentes de avaliadores IR/proc. Vetores explícitos ou ticks de canal exigem um pacote adicional verificado de avaliadores admitido durante a instalação com --evaluator-bundle e --evaluator-manifest-sha256. Examine as capacidades antes de solicitar essas operações. A geração de código de pipeline upstream suporta 1–64 estágios; sua programação de atraso unitário não é temporização de silício caracterizada.

compute

Comando

Finalidade

compute capabilities

Descobre dispositivos sem executar um kernel de GPU

compute rtl-capabilities

Examina o contrato de execução RTL compactado

compute rtl-simulate --request FILE_OR_DASH

Execução RTL combinacional limitada com cpu ou cuda

compute rtl-evolve --request FILE_OR_DASH

Solicitação limitada de geração nativa com backend de atividade cpu-reference ou cuda explícito

compute rtl-verify --request FILE_OR_DASH

Verifica um resultado RTL compactado armazenado sem carregar CUDA

Os comandos de solicitação aceitam --project. A entrada de Simulation/Evolve é limitada a 4 MiB; a de verify, a 16 MiB. O componente empacotado alti-rtl-cuda é responsável por esse caminho. compute rtl-evolve recebe altifigence.rtl.evolve-request.v1, com a solicitação nativa de geração existente aninhada em request; não é um envelope de operação evolve run.

O Evolve CUDA calcula diagnósticos limitados de atividade combinacional. A geração de candidatos, as verificações de correção, a síntese e a avaliação do objetivo permanecem na CPU. Os executáveis reais Icarus iverilog e vvp devem estar disponíveis pela configuração de ferramentas do host. cpu-reference exige cuda_timeout_ms: 0 e device_memory_bytes: 0; cuda recusa execução indisponível em vez de usar fallback. Use um novo request.run_dir com uma pasta pai existente.

A solicitação limita gerações e filhos a 1–16, ilhas a 1–4, avaliações planejadas totais a 256 e filhos de LLM a zero. A memória de dispositivo é um orçamento limitado de buffer do worker, não um limite de memória total do driver. O cancel_file local opcional e os prazos suportam cancelamento cooperativo; chamadas de ferramentas nativas mantêm seus próprios limites. Um resultado CUDA bem-sucedido exige atividade real aceita de candidatos e proveniência de hardware armazenada, não apenas descoberta de dispositivos ou uma sondagem inicial. A concordância funcional CPU/CUDA não é uma alegação de aceleração.

Comandos ausentes do download atual

Os namespaces anteriormente omitidos eda e reports agora são roteados:

Comando

Entradas

eda inspect

--project ABS --format FORMAT PROJECT_RELATIVE_INPUT

eda sdc-bind

--project ABS --constraints PATH --logic-netlist PATH

eda artifact store, reports artifact store

--input RECEIPT_JSON, opcional --project

eda artifact list, reports artifact list

Opcional --project

eda artifact show, reports artifact show

--entry-id SHA256, opcional --project

reports parse

Use a ajuda do comando específico para o formato tipado de relatório e a entrada limitada

Essas operações são de inspeção, análise sintática ou vinculação limitadas, não de execução geral de ferramentas EDA. ide init e os comandos explícitos nativos do Evolve também estão disponíveis. O caminho de compatibilidade não distribuído alti-rtl-runner descrito acima continua sendo uma limitação separada; não infira suporte apenas pela ajuda.

Prepare um fluxo de engine

  1. Escolha a operação e leia sua resposta de capacidades instaladas e a ajuda do comando específico.

  2. Crie uma pequena entrada salva dentro do projeto selecionado e identifique seu topo/módulo ou ponto de entrada.

  3. Forneça as ferramentas externas necessárias e use um backend explícito quando a solicitação suportar seleção CPU/CUDA.

  4. Execute uma vez com recursos limitados e mantenha os diagnósticos e o resultado nativo completo.

  5. Examine o backend real, as entradas, os artefatos de saída e as métricas não suportadas antes de montar um fluxo maior.

Use Análise DDS para o fluxo gráfico e Evolve para comparação de candidatos. O suporte de engine da CLI, um painel de desktop e uma rota Cloud são integrações separadas; confira o fluxo que realmente usará.