Eseguire e verificare RTL packed sulla CPU
Invia una richiesta di netlist combinatoria con limiti definiti e riproducine in modo indipendente il risultato salvato.
Utilizza Altifigence CLI 0.1.9 su Linux per questo flusso di lavoro locale.
Verifica che lo stato di uscita sia 0 prima di leggere un risultato salvato. Conserva separatamente l'output di errore standard e ispeziona i campi del risultato descritti di seguito.
Salvare una richiesta CPU completa
Crea packed-request.json con il documento completo seguente. Questo esempio utilizza una lane e un frame: la parola di input imposta il singolo bit di input e la cella buffer lo copia sull'output. Il backend è esplicito. Una richiesta CPU utilizza un budget di memoria del dispositivo pari a zero. Mantieni intatti lo schema e la struttura della netlist quando provi l'esempio per la prima volta, quindi adatta lo stimolo con limiti definiti alla tua netlist combinatoria.
{
"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
}Eseguire e salvare il risultato nativo
alti compute rtl-capabilities
alti compute rtl-simulate --request packed-request.json > packed-result.jsonLeggi packed-result.json dopo un comando riuscito. Il risultato nativo include la richiesta, il relativo digest, un rapporto di simulazione, output_words e net_toggle_counts. Per questa richiesta di buffer a un bit, output_words è [1]. Conserva l'intero file del risultato: la verifica utilizza l'artefatto completo anziché un estratto. L'output di errore standard contiene la ricevuta di esecuzione della CLI separatamente dal JSON nativo scritto sull'output standard.
Riprodurre il risultato salvato
alti compute rtl-verify --request packed-result.json{"schema":"altifigence.rtl.packed-verification.v1","valid":true,"cuda_executed":false}Il documento di verifica visualizzato è un estratto; il documento completo include anche il digest dell'artefatto. La verifica riproduce sulla CPU il risultato matematico salvato. Conserva questo output accanto alla richiesta e al risultato originali affinché un altro revisore possa ripetere lo stesso controllo.
Correggere un errore nel numero di lane
La modifica di lanes a 0 in questa richiesta produce il codice di errore resource-limit con il messaggio packed request exceeds count, time or explicit device budget limits. Ripristina lanes a 1 in packed-request.json, mantenendo intatti gli altri campi dell'esempio. Quindi rigenera il risultato completo e verificalo utilizzando questi comandi.
alti compute rtl-simulate --request packed-request.json > packed-result.json
alti compute rtl-verify --request packed-result.json