Команды движков 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

Двадцать восемь подкоманд. rtl compile и rtl synthesize — два пути совместимости, принимающие --runner; все остальные подкоманды rtl выполняются локально без дополнительных условий.

В отличие от physical run и px analyze, эти две команды запускают движок и без передаваемых далее аргументов, поскольку каждая задаёт фиксированную операцию движка. После этого движок сообщает собственную ошибку отсутствующих аргументов, а его код завершения передаётся без изменений. Укажите нужные аргументы после --.

Команда

Обязательные

Другие параметры

Назначение

rtl compile

—

--runner <local|cloud|private> (по умолчанию local), --project, -- <ENGINE_ARG>...

Путь совместимости, передающий выполнение упакованному движку компиляции

rtl synthesize

—

--runner (по умолчанию local), --project, -- <ENGINE_ARG>...

Совместимое написание исходной команды прямого локального синтеза

rtl schematic <FILE>...

как минимум один <FILE>

--project, --top <TOP>, --format <json|text> (по умолчанию json), -I <DIR>, -D <NAME[=VALUE]>

Выдать контракт схемы для сохранённых исходников RTL, подтверждённый компилятором

rtl analysis <PATH>...

как минимум один <PATH>

--project

Выполнить упакованную операцию анализа указанных исходников

rtl synth [FILE]...

--top <TOP>

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

Выполнить упакованную операцию синтеза

rtl map

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

--project, --pretty

Выполнить упакованную операцию технологического отображения

rtl target-analysis capabilities

—

—

Сообщить фиксированный контракт целевого анализа и доступность исполнителя

rtl target-analysis readiness

—

—

Сообщить готовность выполнения целевого анализа только для чтения, без путей

rtl target-analysis admit

одиннадцать параметров, см. ниже

--cell-decomposition

Проверить один типизированный запрос допуска из JSON пакета исходников в stdin

rtl target-analysis preflight

одиннадцать параметров, см. ниже

--cell-decomposition

Выполнить структурную предварительную проверку JSON пакета исходников из stdin

rtl simulate admit|preflight|run <REQUEST_JSON>

<REQUEST_JSON>

--project

Допустить, предварительно проверить или выполнить один ограниченный запрос моделирования сохранённого RTL

rtl simulate-v2 capabilities

—

—

Сообщить фиксированный контракт четырёхсостоянийного моделирования с несколькими тактовыми сигналами

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

<REQUEST_JSON>

--project

Допустить, предварительно проверить или выполнить один ограниченный четырёхсостоянийный запрос с несколькими тактовыми сигналами

rtl artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project, --schematic

Сохранить одну квитанцию результата в хранилище артефактов проекта

rtl artifact list

—

--project, --schematic

Перечислить сохранённые записи

rtl artifact show <ENTRY_ID>

<ENTRY_ID>

--project, --schematic

Прочитать одну сохранённую запись

rtl fanout-free-committed-identities list

—

--project

Перечислить ограниченный набор проверенных идентификаторов в фиксированном закрытом реестре владельца

rtl fanout-free-committed-identities read

--entry-id <SHA256>

--project

Повторно прочитать один идентификатор, выбранный из текущего проверенного списка

rtl global-sharing-committed-identities list|read

read: --entry-id <SHA256>

--project

То же для идентификаторов глобального совместного использования

rtl mapped-timing-committed-identities list|read

read: --entry-id <SHA256>

--project

То же для идентификаторов временных характеристик после отображения

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

read: --entry-id <SHA256>

--project

То же для идентификаторов временных характеристик регистров после отображения

--schematic в трёх подкомандах rtl artifact выбирает фиксированное хранилище квитанций схем вместо хранилища результатов операций RTL.

--entry-id в конечных командах зафиксированных идентификаторов должен состоять ровно из 64 строчных шестнадцатеричных символов. Любое другое значение приводит к завершению с кодом 2 и entry id must be exactly 64 lowercase hexadecimal characters.

Ограничения rtl schematic

rtl schematic проверяет пути до запуска чего-либо. Каждый исходный файл, каталог включения и определение отклоняются при допуске, если нарушают одно из следующих условий:

Ограничение

Значение

Исходные файлы

не более 256

Каталоги включения (-I)

не более 128

Определения (-D)

не более 256

Длина пути

от 1 до 4096 байт

Компоненты пути

от 1 до 128

Один компонент пути

не более 255 байт

Пути должны быть относительными к выбранному проекту, не должны начинаться с -, содержать управляющие байты или ... --top и имя определения должны быть идентификаторами SystemVerilog длиной от 1 до 128 байт; определение может содержать значение после = с общей длиной не более 4096 байт.

Параметры rtl target-analysis

admit и preflight читают канонический JSON пакета исходников из stdin и обе требуют одни и те же одиннадцать параметров: --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 — необязательный логический флаг.

Параметр

Допустимые значения

--primary-target

generic-asic, sky130-asic, xc7-fpga

--targets

подмножество значений, разделённых запятыми: generic-asic, sky130-asic, xc7-fpga, без дубликатов

--tools

подмножество значений, разделённых запятыми: waveform, schematic, roofline, perf, timing, ppa, evidence, без дубликатов

--report-detail

brief, standard, detailed

--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 МиБ.

Его JSON должен быть объектом ровно с четырьмя ключами:

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

Двадцать три подкоманды, все локальные и безусловные. Ни одна не принимает --runner.

Команда

Обязательные

Другие параметры

Назначение

sv frontend index [PATH]...

—

--project

Построить индекс фронтенда по указанным путям

sv frontend symbols [PATH]...

—

--project

Сообщить доступные символы для указанных путей

sv frontend symbols-v2 [PATH]...

—

--project

Форма ответа о символах второго поколения

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

позиции

--project

Найти определение в одной позиции

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

позиции

--project

Получить ответ при наведении в одной позиции

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

<PREFIX>

--project

Получить варианты дополнения для одного префикса

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

позиции

--project

Найти ссылки на символ в одной позиции

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

позиции, <REPLACEMENT>

--project

Создать план переименования без изменения файлов

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

все пять

--project <ABSOLUTE_WORKSPACE> обязательны

Применить переименование при совпадении хеша проверенного плана

sv review immediate

—

—

Проверить немедленные утверждения без компиляции или моделирования

sv review interprocess

—

—

Проверить межпроцессную синхронизацию без компиляции или моделирования

sv library constrained-random list

—

--category <item|control|checker>, --filter <FILTER>, --limit <LIMIT> (по умолчанию 64)

Перечислить записи справочного каталога ограниченно-случайных проверок

sv library constrained-random show <STABLE_ID>

<STABLE_ID>

—

Показать одну запись каталога ограниченно-случайных проверок

sv library sva list

—

--category, --filter, --limit (по умолчанию 64)

Перечислить записи справочного каталога SVA

sv library sva show <STABLE_ID>

<STABLE_ID>

—

Показать одну запись каталога SVA

sv uvm capabilities

—

—

Сообщить контракт скомпилированного моста UVM

sv uvm environment

—

—

Сообщить представление среды моста UVM

sv uvm readiness

—

—

Вернуть подписанную квитанцию готовности фиксированного компонента без его загрузки или запуска

sv uvm abi

—

—

Сообщить ABI моста UVM

sv uvm simulation capabilities

—

—

Сообщить ограниченный контракт моделирования UVM

sv uvm simulation readiness

—

—

Сообщить готовность реализации и внешних полномочий на выполнение без путей

sv uvm simulation admit

тринадцать параметров, см. ниже

—

Проверить один ограниченный запрос моделирования UVM с запретом выполнения при неполной проверке

sv uvm simulation preflight

шестнадцать параметров, см. ниже

--cancellation-requested

Предварительно проверить один ограниченный запрос моделирования UVM с запретом выполнения при неполной проверке

Правила позиционных значений:

  • <LINE> и <COLUMN> — ненулевые целые числа с нумерацией от 1. 0 завершается с кодом 2.

  • <REPLACEMENT> должен быть идентификатором SystemVerilog: первый символ — буква, _ или $, а остальные — буквы, цифры, _ или $.

  • <REVIEWED_PLAN_SHA256> должен состоять из 64 строчных шестнадцатеричных символов.

  • <STABLE_ID> должен содержать от 1 до 128 символов: строчные буквы, цифры и дефисы.

  • --filter должен содержать от 1 до 128 байт без управляющих символов; --limit должен быть целым числом от 1 до 64, а --limit 65 завершается с кодом 2.

sv frontend rename-apply — единственная подкоманда sv, требующая --project, причём значение должно быть абсолютным путём к существующему каталогу, который не является символической ссылкой. Без него команда завершается с кодом 1 и SV rename apply requires --project <absolute-workspace>.

sv review immediate и sv review interprocess читают исходный код SystemVerilog из stdin. Это единственные подкоманды sv, использующие собственные движки, alti-sv-immediate-review и alti-sv-interprocess-review; всё остальное в этом пространстве имён использует alti-sv-frontend.

sv uvm simulation admit требует тринадцать параметров: --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 требует эти тринадцать и дополнительно --attempt-id, --observed-at-unix-ms и --deadline-unix-ms, а также принимает логический флаг --cancellation-requested (по умолчанию false). --source-count — 32-разрядное беззнаковое целое, --max-cpu-cores — 16-разрядное беззнаковое целое, а остальные числовые параметры — 64-разрядные беззнаковые целые.

verification

Команда

Обязательные

Другие параметры

Назначение

verification golden-diff emit-profile <TRACE>

<TRACE>

--project, --tolerance-pct <TOLERANCE_PCT> (по умолчанию 10)

Выдать профиль сравнения по одной трассе

verification golden-diff check <REFERENCE> <TRACE>

оба

--project, --format <text|json|json-v1> (по умолчанию text)

Проверить одну трассу по эталону

--tolerance-pct должен быть конечным неотрицательным числом; отрицательное или нечисловое значение приводит к завершению с кодом 2 и tolerance-pct must be a finite non-negative number.

--format здесь выбирает собственный формат вывода движка и не зависит от флага оболочки CLI --json. Их можно использовать вместе.

trace

Команда

Обязательные

Другие параметры

Назначение

trace inspect <TRACE>

<TRACE>

--project, --format <json|text> (по умолчанию json)

Проверить один файл трассы

trace timeline <TRACE> <OUTPUT>

оба

--project

Записать представление временной шкалы одной трассы в <OUTPUT>

trace export <FORMAT> <TRACE> <OUTPUT>

все три

--project

Экспортировать одну трассу

trace review materialize <TRACE_ARTIFACT_ID>

<TRACE_ARTIFACT_ID>

--project, --reference <REFERENCE_ARTIFACT_IDS> (повторяемый)

Сформировать один пакет проверки v1 из идентификаторов артефактов хранилища владельца

trace review list

—

--project

Перечислить не более пяти последних пакетов проверки хранилища владельца

trace review show <PACKAGE_ID>

<PACKAGE_ID>

--project

Показать одну сводку пакета проверки без путей

trace review readback <PACKAGE_ID>

<PACKAGE_ID>

--project

Повторно прочитать один проверенный пакет проверки

<FORMAT> в trace export — позиционное перечислимое значение, а не флаг; оно указывается перед входным путём. Его значения: vcd и chrome.

--reference можно повторять, чтобы указать дополнительные эталонные артефакты. <TRACE_ARTIFACT_ID>, идентификаторы эталонов и <PACKAGE_ID> могут начинаться с дефиса без необходимости указывать --.

Учтите, что alti trace без подкоманды доходит до локального парсера и завершается с кодом 2 с запросом подкоманды. Поэтому однословное действие trace из встроенного манифеста действий недоступно из командной строки в этом выпуске; см. Команды заданий и облака CLI.

labs

Описатели и проверка только для чтения. Выполнение рабочих процессов через CLI не предоставляется.

Команда

Обязательные

Другие параметры

Назначение

labs inspect

—

—

Проверить фиксированный каталог описателей рабочих процессов, заданный при компиляции

labs validate <DESCRIPTOR>

<DESCRIPTOR>, --project <ABSOLUTE_WORKSPACE>

—

Проверить один проверяемый JSON-описатель состояния границ без его выполнения

labs status

—

—

Выдать детерминированный статус Labs, основанный только на описателях

labs validate строго проверяет два входных значения; все приведённые ниже правила проверяются до запуска движка:

  • --project должен быть абсолютным путём к существующему каталогу, а не символической ссылкой.

  • <DESCRIPTOR> должен быть относительным к рабочей области, не содержать .. или корневого компонента и иметь длину не более 4096 байт.

  • Он должен иметь расширение .json.

  • Он должен разрешаться в существующий обычный файл размером не более 1048576 байт, причём разрешённый путь должен оставаться внутри проекта.

tcl

Команда

Обязательные

Другие параметры

Назначение

tcl capabilities

—

—

Сообщить описатель возможностей среды выполнения Tcl

tcl environment

—

—

Сообщить описатель среды выполнения Tcl

tcl commands

—

—

Сообщить описатель ограниченной команды

tcl readiness

—

—

Вернуть фиксированную квитанцию готовности подписанной среды выполнения без загрузки Tcl

tcl evaluate

—

—

Выполнить один ограниченный скрипт Tcl, прочитанный из stdin

Первые четыре отвечают на основе описателей через упакованный движок alti-tcl и выдают стандартную оболочку локального движка.

tcl evaluate отличается в трёх отношениях. Команда читает скрипт из stdin с ограничением в 4194304 байта; пустой ввод отклоняется. Она требует alti-tcl-local-runner строго рядом с alti без резервного поиска в PATH и проверяет его по цепочке доверия установленного пакета. Начальная настройка 0.1.9 устанавливает фиксированный подписанный компонент Tcl, необходимый для этого пути; используйте установленный исполняемый файл. Кроме того, команда выдаёт собственную схему квитанции, altifigence.cli.tcl-evaluation.v1, со своими кодами завершения — оба описаны на странице Область команд CLI.

eidb

Команда

Обязательные

Другие параметры

Назначение

eidb capabilities

—

—

Сообщить контракт границ EIDB

eidb list

—

--project

Перечислить пакеты внутри проекта

eidb create

--source-artifact-ref <WORKSPACE_RELATIVE_ARTIFACT>

--project, --label <LABEL>

Создать один принадлежащий владельцу пакет R1 из артефакта, относительного к рабочей области

eidb export

--bundle-key <BUNDLE_KEY>

--project

Создать переносимый экспорт одного пакета

eidb readback

--bundle-key <BUNDLE_KEY>

—

Повторно прочитать один пакет

eidb semantic-readback

--bundle-key <BUNDLE_KEY>

—

Повторно прочитать один пакет через семантическое представление

eidb capabilities, eidb readback и eidb semantic-readback не принимают --project; с точки зрения CLI они не используют пути.

physical

Сорок две подкоманды. physical run — путь совместимости, принимающий --runner; остальные выполняются локально без дополнительных условий и каждая передаёт имя своей подкоманды напрямую в alti-physical-runner как операцию движка. Роль CLI в этом пространстве имён — допуск аргументов и оформление квитанций, поэтому команды достаточно единообразны для представления в двух группах.

Группа

Участники

Аргументы

Операции в области проекта

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 только

Последующие операции в области записи

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> обязательно, плюс --project

Каждая последующая операция в области записи читает сохранённую запись, созданную предшествующей операцией в области проекта. Отсутствие --entry-id завершается с кодом 2 приводит к завершению до запуска чего-либо. Таких команд тридцать шесть из сорока двух. Остальные шесть:

Команда

Обязательные

Другие параметры

Назначение

physical route-evidence-closure list

—

—

Перечислить ограниченный набор зафиксированных идентификаторов внутри текущего проекта

physical route-evidence-closure read

--identity-key-sha256 <LOWERCASE_SHA256>

—

Повторно проверить ровно один идентификатор, выбранный из текущего ограниченного списка

physical artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project

Сохранить одну квитанцию результата в хранилище артефактов проекта

physical artifact list

—

--project

Перечислить сохранённые записи

physical artifact show <ENTRY_ID>

<ENTRY_ID>

--project

Прочитать одну сохранённую запись

physical run

—

--runner (по умолчанию local), --project, -- <ENGINE_ARG>...

Путь совместимости для исходной прямой передачи выполнения исполнителю

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 capabilities

—

—

Сообщить контракт возможностей px

px fdtd2d capabilities

—

—

Вывести определённый владельцем контракт возможностей FDTD2D

px fdtd2d readiness

—

—

Сообщить динамическую готовность установленной среды к выполнению без получения аренды CPU

px fdtd2d preflight <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Проверить запрос FDTD2D и сообщить, почему он не может выполняться

px execute

—

--project

Выполнить упакованную операцию выполнения px

px static-timing <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Выполнить ограниченный статический временной анализ с одним тактовым сигналом по одному входному файлу проекта, без статуса signoff

px process-recipe <INPUTS_RELATIVE_JSON>

<INPUTS_RELATIVE_JSON>

--project

Проверить и скомпилировать план в порядке объявлений для одного файла px-recipe-1 в формате JSON

px spef-summary <INPUTS_RELATIVE_SPEF>

<INPUTS_RELATIVE_SPEF>

--project

Сообщить пассивные извлечённые R/C из одного ограниченного файла SPEF без полномочий на анализ

px spef-analyze <INPUTS_RELATIVE_SPEF> <INPUTS_RELATIVE_CONFIG_JSON>

оба

--project

Выполнить ограниченный настроенный анализ паразитных параметров и падения IR в одном углу, определённом вызывающей стороной

px readback <RUN_ID>

<RUN_ID>

--project

Повторно прочитать один записанный запуск

px artifact store <RESULT_JSON_OR_DASH>

<RESULT_JSON_OR_DASH>

--project

Сохранить одну квитанцию результата в хранилище артефактов проекта

px artifact list

—

--project

Перечислить сохранённые записи

px artifact show <ENTRY_ID>

<ENTRY_ID>

--project

Прочитать одну сохранённую запись

px analyze

—

--runner (по умолчанию local), --project, -- <ENGINE_ARG>...

Путь совместимости для исходной прямой передачи выполнения исполнителю

Три команды описывают свои ограничения в собственной справке, и эти ограничения являются частью контракта: px static-timing явно не имеет статуса signoff, px spef-summary явно не предоставляет полномочий на анализ, а px fdtd2d preflight сообщает препятствие готовности вместо результата. Учитывайте это при использовании вывода.

Как и physical run, px analyze, требует устаревшую операцию после -- и иначе завершается с кодом 1. Список разрешённых значений: capabilities и execute.

Операции PX на CPU и CUDA

Команда

Бэкенд и входные данные

px fdtd2d execute <INPUT>

Обязателен --backend и cpu, cuda или auto; файл относительно рабочей области inputs/

px fft-convolution <INPUT>

Те же правила для бэкенда и входных данных

px heat-pinn-jtr

Обязателен --backend и cpu, cuda или auto; ограниченный встроенный численный тестовый набор

px hotspot-sensitivity

Та же явная политика выбора бэкенда; ограниченный встроенный тестовый набор

px csr-gmres

Та же явная политика выбора бэкенда; ограниченный встроенный тестовый набор

Эти команды принимают --project; первые две также принимают --timeout-ms 1..300000. Явный выбор cuda требует работоспособного выполнения CUDA. auto отдельно разрешает зафиксированный движком переход на CPU; проверяйте указанный бэкенд. Эти ограниченные численные операции не подтверждают общий физический signoff или ускорение всех операций PX на GPU.

isa

Четыре из шести подкоманд читают исходный код CX исключительно из stdin. isa run — путь совместимости, принимающий --runner — путь совместимости, принимающий

Команда

Обязательные

Другие параметры

Назначение

isa elaborate

—

—

Развернуть исходный код CX, прочитанный из stdin

isa assemble

--text <TEXT>

—

Ассемблировать одну инструкцию по исходному коду CX из stdin

isa disassemble

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

—

Дизассемблировать одно закодированное слово по исходному коду CX из stdin

isa cosimulate

—

—

Выполнить ограниченную проекцию совместного моделирования CX с исходным кодом из stdin

isa assistant verify

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

--project

Выполнить одну именованную проверку файла CX

isa run

—

--runner (по умолчанию local), --project, -- <ENGINE_ARG>...

Путь совместимости для исходных разрешённых локальных операций 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 open

--project <ABSOLUTE_DIR>

Открыть один канонический абсолютный каталог проекта в установленной IDE

ide open запускает отдельно установленное настольное приложение. Приведённые ниже нативные команды рабочей области, Cloud, сервисов и создания проектов работают через собственные явные бэкенды.

--project должен быть каноническим абсолютным каталогом: путь абсолютный, каталог существует, не является символической ссылкой и совпадает со своей канонической формой. Путь, разрешаемый через символическую ссылку, отклоняется, а не молча прослеживается.

ide open не использует исполняемый файл движка. Команда ищет исполняемый файл с именем altifigence-ide рядом с alti, а затем в PATH, запускает его с --project <canonical-dir> и выдаёт квитанцию altifigence.ide-launcher-receipt.v1:

Поле

Значение

schema

Всегда altifigence.ide-launcher-receipt.v1

status

spawned, unavailable или failed

pid

Идентификатор дочернего процесса либо null

binary

Всегда altifigence-ide

project

Канонический каталог проекта либо запрошенное значение при неудачной канонизации

resolution

sibling, path или unresolved

executable

Разрешённый путь либо простое имя

error

Сообщение, если status не равно spawned, иначе null

Код завершения — 0 для spawned и 1 в остальных случаях. altifigence-ide поставляется вместе с Digital Design Studio, а не с архивом CLI, поэтому ide open сообщает unavailable в установке только CLI.

Нативные операции проектов и рабочих областей

ide init --parent ABSOLUTE_DIR --name NAME создаёт новый каркас внутри канонического родительского каталога, принадлежащего вызывающей стороне. Существующий проект не перезаписывается. ide workspace работает с сохранёнными локальными файлами без открытия интерфейса:

Команда после ide workspace

Входные данные и поведение

capabilities

Сообщить контракт платформы

health --project ABS

Восстановить незавершённые транзакции до предоставления рабочей области

files --project ABS [--limit N]

Ограниченный список; по умолчанию 500, максимум 20000

read --project ABS PATH

Прочитать один разрешённый сохранённый текстовый файл

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

Заменить существующий текст только при совпадении текущего SHA-256

edit --project ABS --request FILE_OR_DASH

Массив path, expected_sha256 и content замен

file-plan --project ABS --request FILE_OR_DASH

Проверить типизированное создание, замену, удаление файлов или создание каталогов

file-apply --project ABS --request FILE_OR_DASH

Применить полный проверенный план файлов

hierarchy-plan --project ABS --request FILE_OR_DASH

Проверить извлечение, перемещение, объединение или создание заголовка констант

hierarchy-apply --project ABS --request FILE_OR_DASH

Применить полный проверенный план иерархии

settings read --project ABS

Прочитать сохранённые настройки проекта DDS

settings patch --project ABS --request FILE_OR_DASH

Рекурсивно объединить ограниченный JSON-объект

Результат нативного планирования — непрозрачные полные входные данные для применения. Сохраните исходный вывод движка без глобального --json, проверьте его, затем передайте тот же документ соответствующей команде применения. Например, для существующего абсолютного проекта и типизированного запроса иерархии:

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"

Не передавайте вывод неудачной команды на вход команды применения. Выберите новый файл плана и проверяйте каждый код завершения. Редактирование файлов использует устойчивые сериализованные транзакции и текущие хеши исходников; оно не обеспечивает мгновенную атомарность всей файловой системы относительно посторонних записывающих процессов. Конфликты требуют новой проверки. Редактирование иерархии — ограниченный выбор исходников и создание каркаса, а не полный семантический рефакторинг SystemVerilog или доказательство эквивалентности.

Настройки сохраняют формат DDS .alti/ide-settings.json, неизвестные ключи и буквальные значения null. Патч выполняет рекурсивное объединение, а не удаление по RFC 7396. Ограничения запроса и результата — 256 КиБ и глубина 8; нативный интерфейс и CLI используют один и тот же .alti/.ide-settings.lock. CLI работает с текущим форматом проекта, а не с отдельной второй областью глобальных настроек настольного приложения.

Нативные транзакции и Git требуют контракта Linux. Текущий механизм восстановления читает журналы V1 и V2. После прерывания создания/удаления или применения иерархии выполните в новом CLI health перед открытием в старом бэкенде DDS, поддерживающем только V1. Старый бэкенд отклоняет незавершённый журнал V2, не очищая его. Нормально завершённые транзакции очищают активный журнал; обновление бэкенда для прозрачного восстановления рекомендуется, но не является обязательным условием каждой завершённой правки CLI.

Git

В ide workspace git все команды принимают --project ABS:

Команды

Дополнительные аргументы

status, refs, worktrees

Нет

history

Необязательно --limit 1..200 и --skip 0..100000

commit-detail

Идентификатор коммита

commit-file

Идентификатор коммита и относительный путь

diff

Относительный путь, необязательно --staged

stage, unstage

От 1 до 128 относительных путей

commit

--message TEXT

switch

Существующая локальная ветка; отклоняет грязную рабочую область или неподдерживаемое поведение атрибутов/фильтров

Эти операции выполняют восстановление и сериализацию относительно нативных транзакций рабочей области. Они не предоставляют произвольные аргументы Git, хуки или учётные данные для удалённого push.

Поиск по сохранённым исходникам

Bash
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 МиБ на файл, 16 МиБ суммарно и 1 МиБ вывода. Проверяйте усечение и свидетельства содержимого. Несохранённые буферы редактора не просматриваются. Поиск Cloud и устаревший поиск/замена HTTP — отдельные операции сервисов.

xls

Команда

Запрос и назначение

xls capabilities

Сообщить нативное подмножество и доступность бэкенда

xls check, eval, optimize, codegen

Обязателен --request FILE_OR_DASH, необязательно --project; JSON нативной операции, не более 16 КиБ

xls run

Те же флаги и ограничение размера; оболочка XLS EngineJobV1 с явной политикой локального размещения и устройства

xls artifact store

--request FILE_OR_DASH, необязательно --project

xls artifact list, xls artifact show ID

Необязательно --project; ограниченный сохранённый результат/повторное чтение

xls upstream install

Обязательный новый абсолютный --destination и --toolchain-config; необязательный исходный закреплённый --archive

xls upstream capabilities

Обязательный абсолютный --toolchain-config; сообщает фактический охват установленных инструментов

xls upstream run

Обязателен --toolchain-config, существующий --work-root и --request FILE_OR_DASH; запрос до 2 МиБ

Нативный путь поддерживает ограниченные функции DSLX и XLS IR со значениями от 1 до 64 бит, свёртку констант/удаление мёртвого кода и комбинационный RTL либо RTL с 1–16 ступенями выходных регистров. Запрос выбирает cpu или явно cuda для поддерживаемого пакетного вычисления. Недоступный бэкенд CUDA вызывает ошибку, а не автоматическое выполнение на CPU. Начните с примера для CPU.

Отдельный upstream-путь устанавливает закреплённый публичный набор инструментов Google XLS для Linux, проверяет архив и перечень инструментов/стандартной библиотеки и сохраняет файлы лицензий. Он поддерживает импорты, параметризацию, структуры, перечисления, составные типы и типы произвольной разрядности, а также procs, если выбранный upstream-инструмент поддерживает запрошенную операцию. Он не использует ограниченный парсер bits64 и не ускоряет полный набор инструментов Google с помощью CUDA.

Upstream-запросы выбирают check, eval, convert, optimize или codegen. Вычисление DSLX без явных векторов/тактов выполняет реальные тесты модуля; ноль выполненных модульных тестов не означает успех. Базовый архив не содержит отдельных исполняемых файлов вычислителей IR/proc. Явные векторы или такты каналов требуют дополнительного проверенного пакета вычислителей, допускаемого при установке через --evaluator-bundle и --evaluator-manifest-sha256. Проверьте возможности перед запросом этих операций. Upstream-генерация конвейерного кода поддерживает 1–64 ступени; расписание с единичной задержкой не является измеренными временными характеристиками кремния.

compute

Команда

Назначение

compute capabilities

Обнаружить устройства без выполнения ядра GPU

compute rtl-capabilities

Проверить контракт упакованного выполнения RTL

compute rtl-simulate --request FILE_OR_DASH

Ограниченное выполнение комбинационного RTL с явным cpu или cuda

compute rtl-evolve --request FILE_OR_DASH

Ограниченный запрос нативной генерации с явным cpu-reference или cuda бэкендом активности

compute rtl-verify --request FILE_OR_DASH

Проверить сохранённый результат упакованного RTL без загрузки CUDA

Команды запросов принимают --project. Ввод Simulation/Evolve ограничен 4 МиБ; ввод проверки — 16 МиБ. Упакованный 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 — нулём. Память устройства — ограниченный бюджет рабочего буфера, а не лимит всей памяти драйвера. Необязательный локальный cancel_file и сроки поддерживают кооперативную отмену; нативные вызовы инструментов сохраняют собственные ограничения. Успешный результат CUDA требует фактической активности принятых кандидатов и сохранённых данных об аппаратном происхождении, а не только обнаружения устройства или начальной пробы. Функциональное совпадение CPU/CUDA не является заявлением об ускорении.

Команды, отсутствующие в текущем пакете загрузки

Ранее пропущенные пространства имён eda и reports теперь маршрутизируются:

Команда

Входные данные

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, необязательно --project

eda artifact list, reports artifact list

Необязательно --project

eda artifact show, reports artifact show

--entry-id SHA256, необязательно --project

reports parse

Используйте справку конечной команды для типизированного формата отчёта и ограниченного ввода

Это ограниченные операции проверки, разбора или привязки, а не общее выполнение инструментов EDA. ide init и явные нативные команды Evolve также доступны. Не поставляемый путь совместимости alti-rtl-runner, описанный выше, остаётся отдельным ограничением; не делайте вывод о поддержке по одной лишь справке.

Подготовка рабочего процесса движка

  1. Выберите операцию и изучите ответ о возможностях установленной версии и справку конечной команды.

  2. Создайте небольшой сохранённый входной файл внутри выбранного проекта и укажите верхний модуль или точку входа.

  3. Обеспечьте необходимые внешние инструменты и используйте явный бэкенд, если запрос поддерживает выбор CPU/CUDA.

  4. Выполните один запуск с ограниченными ресурсами и сохраните диагностику вместе с полным нативным результатом.

  5. Проверьте фактический бэкенд, входные данные, выходные артефакты и неподдерживаемые метрики до создания более крупного рабочего процесса.

Используйте Анализ DDS для графического рабочего процесса и Evolve для сравнения кандидатов. Поддержка движка CLI, панель настольного приложения и маршрут Cloud — отдельные интеграции; проверяйте именно тот рабочий процесс, которым будете пользоваться.