Executar e verificar RTL empacotado na CPU
Envie uma solicitação de netlist combinacional com limites definidos e reproduza seu resultado salvo de forma independente.
Use o Altifigence CLI 0.1.9 no Linux para este fluxo de trabalho local.
Exija o status de saída 0 antes de ler um resultado salvo. Mantenha a saída de erro padrão separada e inspecione os campos do resultado descritos abaixo.
Salvar uma solicitação completa para CPU
Crie packed-request.json com o documento completo abaixo. Este exemplo usa uma lane e um frame: a palavra de entrada define o único bit de entrada, e a célula buffer o copia para a saída. O backend é explícito. Uma solicitação para CPU usa um orçamento de memória de dispositivo igual a zero. Mantenha o esquema e a estrutura da netlist intactos ao experimentar o exemplo pela primeira vez e ajuste depois o estímulo limitado para sua própria netlist combinacional.
{
"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
}Executar e salvar o resultado nativo
alti compute rtl-capabilities
alti compute rtl-simulate --request packed-request.json > packed-result.jsonLeia packed-result.json após um comando bem-sucedido. O resultado nativo inclui a solicitação, seu resumo criptográfico, um relatório de simulação, output_words e net_toggle_counts. Para esta solicitação de buffer de um bit, output_words é [1]. Preserve o arquivo de resultado inteiro: a verificação consome o artefato completo, em vez de um trecho. A saída de erro padrão contém o comprovante de execução da CLI separadamente do JSON nativo gravado na saída padrão.
Reproduzir o resultado salvo
alti compute rtl-verify --request packed-result.json{"schema":"altifigence.rtl.packed-verification.v1","valid":true,"cuda_executed":false}O documento de verificação exibido é um trecho; o documento completo também inclui o resumo criptográfico do artefato. A verificação reproduz o resultado matemático salvo na CPU. Mantenha essa saída junto da solicitação e do resultado originais para que outro revisor possa repetir a mesma verificação.
Corrigir um erro de contagem de lanes
Alterar lanes para 0 nesta solicitação produz o código de erro resource-limit com a mensagem packed request exceeds count, time or explicit device budget limits. Restaure lanes para 1 em packed-request.json, mantendo os demais campos do exemplo intactos. Em seguida, gere novamente o resultado completo e verifique-o usando estes comandos.
alti compute rtl-simulate --request packed-request.json > packed-result.json
alti compute rtl-verify --request packed-result.json