Exécuter et vérifier du packed RTL sur le CPU
Soumettez une requête de netlist combinatoire bornée et rejouez indépendamment son résultat enregistré.
Utilisez Altifigence CLI 0.1.9 sous Linux pour ce processus local.
Exigez un statut de sortie 0 avant de lire un résultat enregistré. Conservez la sortie d’erreur standard séparément et examinez les champs du résultat décrits ci-dessous.
Enregistrer une requête CPU complète
Créez packed-request.json avec le document complet ci-dessous. Cet exemple utilise 1 lane et 1 frame : le mot d’entrée positionne l’unique bit d’entrée, et la cellule buffer le copie vers la sortie. Le backend est explicite. Une requête CPU utilise un budget de mémoire du périphérique égal à 0. Préservez le schéma et la structure de la netlist lors du premier essai de l’exemple, puis adaptez le stimulus borné à votre propre netlist combinatoire.
{
"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
}Exécuter et enregistrer le résultat natif
alti compute rtl-capabilities
alti compute rtl-simulate --request packed-request.json > packed-result.jsonLisez packed-result.json après la réussite de la commande. Le résultat natif comprend la requête, son empreinte, un rapport de simulation, output_words et net_toggle_counts. Pour cette requête de buffer de 1 bit, output_words vaut [1]. Préservez l’intégralité du fichier de résultat : la vérification utilise l’artefact complet plutôt qu’un extrait. La sortie d’erreur standard contient le reçu d’exécution de la CLI, séparément du JSON natif écrit sur la sortie standard.
Rejouer le résultat enregistré
alti compute rtl-verify --request packed-result.json{"schema":"altifigence.rtl.packed-verification.v1","valid":true,"cuda_executed":false}Le document de vérification affiché est un extrait ; le document complet comprend aussi l’empreinte de l’artefact. La vérification rejoue sur le CPU le résultat mathématique enregistré. Conservez cette sortie avec la requête et le résultat d’origine afin qu’une autre personne chargée de l’examen puisse répéter la même vérification.
Corriger une erreur de nombre de lanes
Si vous définissez lanes sur 0 dans cette requête, vous obtenez le code d’erreur resource-limit avec le message packed request exceeds count, time or explicit device budget limits. Rétablissez lanes à 1 dans packed-request.json, en préservant les autres champs de l’exemple. Régénérez ensuite le résultat complet et vérifiez-le avec ces commandes.
alti compute rtl-simulate --request packed-request.json > packed-result.json
alti compute rtl-verify --request packed-result.json