Выполнение и проверка упакованного RTL на CPU
Отправьте запрос комбинационного списка соединений с ограничениями и независимо воспроизведите сохранённый результат.
Для этого локального рабочего процесса используйте Altifigence CLI 0.1.9 в Linux.
Перед чтением сохранённого результата убедитесь, что код завершения равен 0. Сохраняйте стандартный поток ошибок отдельно и проверяйте поля результата, описанные ниже.
Сохранение полного запроса для CPU
Создайте packed-request.json с полным документом, приведённым ниже. В этом примере используются 1 полоса и 1 кадр: входное слово устанавливает единственный входной бит, а буферная ячейка копирует его на выход. Вычислительный механизм указан явно. Запрос для CPU использует нулевой бюджет памяти устройства. При первом запуске примера сохраните схему и структуру списка соединений без изменений, затем адаптируйте ограниченные входные воздействия для собственного комбинационного списка соединений.
{
"schema": "altifigence.rtl.packed-request.v1",
"backend": "cpu",
"netlist": {
"schema": "logic-netlist-0",
"top": "buffer",
"input_sha256": "ce4c5490bac02643968670ee055c3575a7ed23bad13bd33b1057e8d9b17a1c3a",
"ports": [
{
"name": "a",
"direction": "input",
"bits_lsb0": [
{
"net": 0
}
]
},
{
"name": "y",
"direction": "output",
"bits_lsb0": [
{
"net": 1
}
]
}
],
"nets": [
{
"id": 0
},
{
"id": 1
}
],
"cells": [
{
"id": 0,
"name": "buffer",
"output": 1,
"kind": {
"op": "buf",
"a": {
"net": 0
}
}
}
]
},
"lanes": 1,
"frames": 1,
"stimulus": [
1
],
"timeout_ms": 1000,
"device_memory_bytes": 0
}Запуск и сохранение исходного результата
alti compute rtl-capabilities
alti compute rtl-simulate --request packed-request.json > packed-result.jsonПосле успешного выполнения команды прочитайте packed-result.json. Исходный результат содержит запрос, его хеш, отчёт моделирования, output_words и net_toggle_counts. Для этого запроса однобитного буфера output_words равен [1]. Сохраните весь файл результата: проверка использует полный артефакт, а не выдержку. Стандартный поток ошибок содержит квитанцию выполнения CLI отдельно от исходного JSON, записанного в стандартный поток вывода.
Воспроизведение сохранённого результата
alti compute rtl-verify --request packed-result.json{"schema":"altifigence.rtl.packed-verification.v1","valid":true,"cuda_executed":false}Показанный документ проверки представляет собой выдержку; полный документ также содержит хеш артефакта. Проверка воспроизводит сохранённый математический результат на CPU. Храните этот вывод рядом с исходным запросом и результатом, чтобы другой проверяющий мог повторить ту же проверку.
Исправление ошибки количества полос
Изменение lanes на 0 в этом запросе приводит к коду ошибки resource-limit с сообщением packed request exceeds count, time or explicit device budget limits. Верните lanes значение 1 в packed-request.json, сохранив остальные поля примера без изменений. Затем заново создайте полный результат и проверьте его следующими командами.
alti compute rtl-simulate --request packed-request.json > packed-result.json
alti compute rtl-verify --request packed-result.json