Команды движков 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, подтверждённый компилятором |
| как минимум один |
| Выполнить упакованную операцию анализа указанных исходников |
|
|
| Выполнить упакованную операцию синтеза |
|
|
| Выполнить упакованную операцию технологического отображения |
| — | — | Сообщить фиксированный контракт целевого анализа и доступность исполнителя |
| — | — | Сообщить готовность выполнения целевого анализа только для чтения, без путей |
| одиннадцать параметров, см. ниже |
| Проверить один типизированный запрос допуска из JSON пакета исходников в stdin |
| одиннадцать параметров, см. ниже |
| Выполнить структурную предварительную проверку JSON пакета исходников из stdin |
|
|
| Допустить, предварительно проверить или выполнить один ограниченный запрос моделирования сохранённого RTL |
| — | — | Сообщить фиксированный контракт четырёхсостоянийного моделирования с несколькими тактовыми сигналами |
|
|
| Допустить, предварительно проверить или выполнить один ограниченный четырёхсостоянийный запрос с несколькими тактовыми сигналами |
|
|
| Сохранить одну квитанцию результата в хранилище артефактов проекта |
| — |
| Перечислить сохранённые записи |
|
|
| Прочитать одну сохранённую запись |
| — |
| Перечислить ограниченный набор проверенных идентификаторов в фиксированном закрытом реестре владельца |
|
|
| Повторно прочитать один идентификатор, выбранный из текущего проверенного списка |
|
|
| То же для идентификаторов глобального совместного использования |
|
|
| То же для идентификаторов временных характеристик после отображения |
|
|
| То же для идентификаторов временных характеристик регистров после отображения |
--schematic в трёх подкомандах rtl artifact выбирает фиксированное хранилище квитанций схем вместо хранилища результатов операций RTL.
--entry-id в конечных командах зафиксированных идентификаторов должен состоять ровно из 64 строчных шестнадцатеричных символов. Любое другое значение приводит к завершению с кодом 2 и entry id must be exactly 64 lowercase hexadecimal characters.
Ограничения rtl schematic
rtl schematic проверяет пути до запуска чего-либо. Каждый исходный файл, каталог включения и определение отклоняются при допуске, если нарушают одно из следующих условий:
Ограничение | Значение |
|---|---|
Исходные файлы | не более 256 |
Каталоги включения ( | не более 128 |
Определения ( | не более 256 |
Длина пути | от 1 до 4096 байт |
Компоненты пути | от 1 до 128 |
Один компонент пути | не более 255 байт |
Пути должны быть относительными к выбранному проекту, не должны начинаться с -, содержать управляющие байты или ... --top и имя определения должны быть идентификаторами 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 — необязательный логический флаг.
Параметр | Допустимые значения |
|---|---|
|
|
| подмножество значений, разделённых запятыми: |
| подмножество значений, разделённых запятыми: |
|
|
--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 должен быть объектом ровно с четырьмя ключами:
{
"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.
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — |
| Построить индекс фронтенда по указанным путям |
| — |
| Сообщить доступные символы для указанных путей |
| — |
| Форма ответа о символах второго поколения |
| позиции |
| Найти определение в одной позиции |
| позиции |
| Получить ответ при наведении в одной позиции |
|
|
| Получить варианты дополнения для одного префикса |
| позиции |
| Найти ссылки на символ в одной позиции |
| позиции, |
| Создать план переименования без изменения файлов |
| все пять |
| Применить переименование при совпадении хеша проверенного плана |
| — | — | Проверить немедленные утверждения без компиляции или моделирования |
| — | — | Проверить межпроцессную синхронизацию без компиляции или моделирования |
| — |
| Перечислить записи справочного каталога ограниченно-случайных проверок |
|
| — | Показать одну запись каталога ограниченно-случайных проверок |
| — |
| Перечислить записи справочного каталога SVA |
|
| — | Показать одну запись каталога SVA |
| — | — | Сообщить контракт скомпилированного моста UVM |
| — | — | Сообщить представление среды моста UVM |
| — | — | Вернуть подписанную квитанцию готовности фиксированного компонента без его загрузки или запуска |
| — | — | Сообщить ABI моста UVM |
| — | — | Сообщить ограниченный контракт моделирования UVM |
| — | — | Сообщить готовность реализации и внешних полномочий на выполнение без путей |
| тринадцать параметров, см. ниже | — | Проверить один ограниченный запрос моделирования UVM с запретом выполнения при неполной проверке |
| шестнадцать параметров, см. ниже |
| Предварительно проверить один ограниченный запрос моделирования UVM с запретом выполнения при неполной проверке |
Правила позиционных значений:
<LINE>и<COLUMN>— ненулевые целые числа с нумерацией от 1.0завершается с кодом2.<REPLACEMENT>должен быть идентификатором SystemVerilog: первый символ — буква,_или$, а остальные — буквы, цифры,_или$.<REVIEWED_PLAN_SHA256>должен состоять из 64 строчных шестнадцатеричных символов.<STABLE_ID>должен содержать от 1 до 128 символов: строчные буквы, цифры и дефисы.--filterдолжен содержать от 1 до 128 байт без управляющих символов;--limitдолжен быть целым числом от 1 до 64, а--limit65завершается с кодом2.
sv frontend rename-apply — единственная подкоманда sv, требующая --project, причём значение должно быть абсолютным путём к существующему каталогу, который не является символической ссылкой. Без него команда завершается с кодом 1 и SV rename apply requires --project <absolute-workspace>.
sv review immediate и sv review interprocess читают исходный код SystemVerilog из 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
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
|
|
| Выдать профиль сравнения по одной трассе |
| оба |
| Проверить одну трассу по эталону |
--tolerance-pct должен быть конечным неотрицательным числом; отрицательное или нечисловое значение приводит к завершению с кодом 2 и tolerance-pct must be a finite non-negative number.
--format здесь выбирает собственный формат вывода движка и не зависит от флага оболочки CLI --json. Их можно использовать вместе.
trace
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
|
|
| Проверить один файл трассы |
| оба |
| Записать представление временной шкалы одной трассы в |
| все три |
| Экспортировать одну трассу |
|
|
| Сформировать один пакет проверки v1 из идентификаторов артефактов хранилища владельца |
| — |
| Перечислить не более пяти последних пакетов проверки хранилища владельца |
|
|
| Показать одну сводку пакета проверки без путей |
|
|
| Повторно прочитать один проверенный пакет проверки |
<FORMAT> в trace export — позиционное перечислимое значение, а не флаг; оно указывается перед входным путём. Его значения: vcd и chrome.
--reference можно повторять, чтобы указать дополнительные эталонные артефакты. <TRACE_ARTIFACT_ID>, идентификаторы эталонов и <PACKAGE_ID> могут начинаться с дефиса без необходимости указывать --.
Учтите, что alti trace без подкоманды доходит до локального парсера и завершается с кодом 2 с запросом подкоманды. Поэтому однословное действие trace из встроенного манифеста действий недоступно из командной строки в этом выпуске; см. Команды заданий и облака CLI.
labs
Описатели и проверка только для чтения. Выполнение рабочих процессов через CLI не предоставляется.
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — | — | Проверить фиксированный каталог описателей рабочих процессов, заданный при компиляции |
|
| — | Проверить один проверяемый JSON-описатель состояния границ без его выполнения |
| — | — | Выдать детерминированный статус Labs, основанный только на описателях |
labs validate строго проверяет два входных значения; все приведённые ниже правила проверяются до запуска движка:
--projectдолжен быть абсолютным путём к существующему каталогу, а не символической ссылкой.<DESCRIPTOR>должен быть относительным к рабочей области, не содержать..или корневого компонента и иметь длину не более 4096 байт.Он должен иметь расширение
.json.Он должен разрешаться в существующий обычный файл размером не более 1048576 байт, причём разрешённый путь должен оставаться внутри проекта.
tcl
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — | — | Сообщить описатель возможностей среды выполнения Tcl |
| — | — | Сообщить описатель среды выполнения Tcl |
| — | — | Сообщить описатель ограниченной команды |
| — | — | Вернуть фиксированную квитанцию готовности подписанной среды выполнения без загрузки Tcl |
| — | — | Выполнить один ограниченный скрипт 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 |
| — |
| Перечислить пакеты внутри проекта |
|
|
| Создать один принадлежащий владельцу пакет R1 из артефакта, относительного к рабочей области |
|
|
| Создать переносимый экспорт одного пакета |
|
| — | Повторно прочитать один пакет |
|
| — | Повторно прочитать один пакет через семантическое представление |
eidb capabilities, eidb readback и eidb semantic-readback не принимают --project; с точки зрения CLI они не используют пути.
physical
Сорок две подкоманды. physical run — путь совместимости, принимающий --runner; остальные выполняются локально без дополнительных условий и каждая передаёт имя своей подкоманды напрямую в alti-physical-runner как операцию движка. Роль CLI в этом пространстве имён — допуск аргументов и оформление квитанций, поэтому команды достаточно единообразны для представления в двух группах.
Группа | Участники | Аргументы |
|---|---|---|
Операции в области проекта |
|
|
Последующие операции в области записи |
|
|
Каждая последующая операция в области записи читает сохранённую запись, созданную предшествующей операцией в области проекта. Отсутствие --entry-id завершается с кодом 2 приводит к завершению до запуска чего-либо. Таких команд тридцать шесть из сорока двух. Остальные шесть:
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — | — | Перечислить ограниченный набор зафиксированных идентификаторов внутри текущего проекта |
|
| — | Повторно проверить ровно один идентификатор, выбранный из текущего ограниченного списка |
|
|
| Сохранить одну квитанцию результата в хранилище артефактов проекта |
| — |
| Перечислить сохранённые записи |
|
|
| Прочитать одну сохранённую запись |
| — |
| Путь совместимости для исходной прямой передачи выполнения исполнителю |
physical route-evidence-closure read — двухэтапная команда: CLI сначала перечисляет зафиксированные идентификаторы, требует наличия вашего --identity-key-sha256 в этом списке, затем повторно читает ровно этот идентификатор. Ключ, который не состоит из 64 строчных шестнадцатеричных символов или отсутствует в текущем списке, отклоняется с кодом завершения 1 до второго этапа. Этап получения списка не использует пути и не принимает --project.
physical run не запускается без операции движка после --:
Текст
$ alti physical run
error: legacy local engine operation is required after `--`
Это приводит к завершению с кодом 1. Допустимые устаревшие операции: --capabilities-json, capabilities и execute; всё остальное приводит к завершению с кодом 1 и legacy local engine operation ... is not in the public allowlist.
px
px analyze — путь совместимости, принимающий --runner — путь совместимости, принимающий этот параметр. Если позиционный аргумент называется <INPUTS_RELATIVE_...>, он разрешается внутри каталога проекта inputs/, а не относительно вашего рабочего каталога.
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — | — | Сообщить контракт возможностей px |
| — | — | Вывести определённый владельцем контракт возможностей FDTD2D |
| — | — | Сообщить динамическую готовность установленной среды к выполнению без получения аренды CPU |
|
|
| Проверить запрос FDTD2D и сообщить, почему он не может выполняться |
| — |
| Выполнить упакованную операцию выполнения px |
|
|
| Выполнить ограниченный статический временной анализ с одним тактовым сигналом по одному входному файлу проекта, без статуса signoff |
|
|
| Проверить и скомпилировать план в порядке объявлений для одного файла |
|
|
| Сообщить пассивные извлечённые R/C из одного ограниченного файла SPEF без полномочий на анализ |
| оба |
| Выполнить ограниченный настроенный анализ паразитных параметров и падения IR в одном углу, определённом вызывающей стороной |
|
|
| Повторно прочитать один записанный запуск |
|
|
| Сохранить одну квитанцию результата в хранилище артефактов проекта |
| — |
| Перечислить сохранённые записи |
|
|
| Прочитать одну сохранённую запись |
| — |
| Путь совместимости для исходной прямой передачи выполнения исполнителю |
Три команды описывают свои ограничения в собственной справке, и эти ограничения являются частью контракта: px static-timing явно не имеет статуса signoff, px spef-summary явно не предоставляет полномочий на анализ, а px fdtd2d preflight сообщает препятствие готовности вместо результата. Учитывайте это при использовании вывода.
Как и physical run, px analyze, требует устаревшую операцию после -- и иначе завершается с кодом 1. Список разрешённых значений: capabilities и execute.
Операции PX на CPU и CUDA
Команда | Бэкенд и входные данные |
|---|---|
| Обязателен |
| Те же правила для бэкенда и входных данных |
| Обязателен |
| Та же явная политика выбора бэкенда; ограниченный встроенный тестовый набор |
| Та же явная политика выбора бэкенда; ограниченный встроенный тестовый набор |
Эти команды принимают --project; первые две также принимают --timeout-ms 1..300000. Явный выбор cuda требует работоспособного выполнения CUDA. auto отдельно разрешает зафиксированный движком переход на CPU; проверяйте указанный бэкенд. Эти ограниченные численные операции не подтверждают общий физический signoff или ускорение всех операций PX на GPU.
isa
Четыре из шести подкоманд читают исходный код CX исключительно из stdin. isa run — путь совместимости, принимающий --runner — путь совместимости, принимающий
Команда | Обязательные | Другие параметры | Назначение |
|---|---|---|---|
| — | — | Развернуть исходный код CX, прочитанный из stdin |
|
| — | Ассемблировать одну инструкцию по исходному коду CX из stdin |
|
| — | Дизассемблировать одно закодированное слово по исходному коду CX из stdin |
| — | — | Выполнить ограниченную проекцию совместного моделирования CX с исходным кодом из stdin |
|
|
| Выполнить одну именованную проверку файла CX |
| — |
| Путь совместимости для исходных разрешённых локальных операций CX |
--check принимает ровно elaboration, static-semantics, encoding-uniqueness и decode-determinism. --bit-len — 32-разрядное беззнаковое целое. --text и --bits не должен быть пустым или состоять только из пробелов.
В отличие от physical run и px analyze, isa run задаёт фиксированную операцию движка, поэтому запускается без передаваемых далее аргументов, после чего движок сообщает собственные требования:
Текст
$ alti isa run
cx run: run requires --program <path> or --program-text
[failed] isa.run runner=local engine=alti-cx/run executable=alti-cx resolution=path exit=1 project=.
ide
Операции настольного хоста. Вычисления выполняются в пространствах имён движков, описанных выше.
Команда | Обязательные | Назначение |
|---|---|---|
|
| Открыть один канонический абсолютный каталог проекта в установленной IDE |
ide open запускает отдельно установленное настольное приложение. Приведённые ниже нативные команды рабочей области, Cloud, сервисов и создания проектов работают через собственные явные бэкенды.
--project должен быть каноническим абсолютным каталогом: путь абсолютный, каталог существует, не является символической ссылкой и совпадает со своей канонической формой. Путь, разрешаемый через символическую ссылку, отклоняется, а не молча прослеживается.
ide open не использует исполняемый файл движка. Команда ищет исполняемый файл с именем altifigence-ide рядом с alti, а затем в PATH, запускает его с --project <canonical-dir> и выдаёт квитанцию altifigence.ide-launcher-receipt.v1:
Поле | Значение |
|---|---|
| Всегда |
|
|
| Идентификатор дочернего процесса либо |
| Всегда |
| Канонический каталог проекта либо запрошенное значение при неудачной канонизации |
|
|
| Разрешённый путь либо простое имя |
| Сообщение, если |
Код завершения — 0 для spawned и 1 в остальных случаях. altifigence-ide поставляется вместе с Digital Design Studio, а не с архивом CLI, поэтому ide open сообщает unavailable в установке только CLI.
Нативные операции проектов и рабочих областей
ide init --parent ABSOLUTE_DIR --name NAME создаёт новый каркас внутри канонического родительского каталога, принадлежащего вызывающей стороне. Существующий проект не перезаписывается. ide workspace работает с сохранёнными локальными файлами без открытия интерфейса:
Команда после | Входные данные и поведение |
|---|---|
| Сообщить контракт платформы |
| Восстановить незавершённые транзакции до предоставления рабочей области |
| Ограниченный список; по умолчанию 500, максимум 20000 |
| Прочитать один разрешённый сохранённый текстовый файл |
| Заменить существующий текст только при совпадении текущего SHA-256 |
| Массив |
| Проверить типизированное создание, замену, удаление файлов или создание каталогов |
| Применить полный проверенный план файлов |
| Проверить извлечение, перемещение, объединение или создание заголовка констант |
| Применить полный проверенный план иерархии |
| Прочитать сохранённые настройки проекта DDS |
| Рекурсивно объединить ограниченный JSON-объект |
Результат нативного планирования — непрозрачные полные входные данные для применения. Сохраните исходный вывод движка без глобального --json, проверьте его, затем передайте тот же документ соответствующей команде применения. Например, для существующего абсолютного проекта и типизированного запроса иерархии:
alti ide workspace hierarchy-plan --project "$PROJECT" \
--request "$HIERARCHY_REQUEST" > "$PLAN_FILE"
# Review the complete plan and changed source before the next command.
alti ide workspace hierarchy-apply --project "$PROJECT" --request "$PLAN_FILE"
Не передавайте вывод неудачной команды на вход команды применения. Выберите новый файл плана и проверяйте каждый код завершения. Редактирование файлов использует устойчивые сериализованные транзакции и текущие хеши исходников; оно не обеспечивает мгновенную атомарность всей файловой системы относительно посторонних записывающих процессов. Конфликты требуют новой проверки. Редактирование иерархии — ограниченный выбор исходников и создание каркаса, а не полный семантический рефакторинг 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:
Команды | Дополнительные аргументы |
|---|---|
| Нет |
| Необязательно |
| Идентификатор коммита |
| Идентификатор коммита и относительный путь |
| Относительный путь, необязательно |
| От 1 до 128 относительных путей |
|
|
| Существующая локальная ветка; отклоняет грязную рабочую область или неподдерживаемое поведение атрибутов/фильтров |
Эти операции выполняют восстановление и сериализацию относительно нативных транзакций рабочей области. Они не предоставляют произвольные аргументы Git, хуки или учётные данные для удалённого push.
Поиск по сохранённым исходникам
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 EngineJobV1 с явной политикой локального размещения и устройства |
|
|
| Необязательно |
| Обязательный новый абсолютный |
| Обязательный абсолютный |
| Обязателен |
Нативный путь поддерживает ограниченные функции 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
Команда | Назначение |
|---|---|
| Обнаружить устройства без выполнения ядра GPU |
| Проверить контракт упакованного выполнения RTL |
| Ограниченное выполнение комбинационного RTL с явным |
| Ограниченный запрос нативной генерации с явным |
| Проверить сохранённый результат упакованного 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. ide init и явные нативные команды Evolve также доступны. Не поставляемый путь совместимости alti-rtl-runner, описанный выше, остаётся отдельным ограничением; не делайте вывод о поддержке по одной лишь справке.
Подготовка рабочего процесса движка
Выберите операцию и изучите ответ о возможностях установленной версии и справку конечной команды.
Создайте небольшой сохранённый входной файл внутри выбранного проекта и укажите верхний модуль или точку входа.
Обеспечьте необходимые внешние инструменты и используйте явный бэкенд, если запрос поддерживает выбор CPU/CUDA.
Выполните один запуск с ограниченными ресурсами и сохраните диагностику вместе с полным нативным результатом.
Проверьте фактический бэкенд, входные данные, выходные артефакты и неподдерживаемые метрики до создания более крупного рабочего процесса.
Используйте Анализ DDS для графического рабочего процесса и Evolve для сравнения кандидатов. Поддержка движка CLI, панель настольного приложения и маршрут Cloud — отдельные интеграции; проверяйте именно тот рабочий процесс, которым будете пользоваться.