Google XLS tramite Altifigence CLI

Un flusso CLI Linux separato esegue DSLX con una versione fissata di Google XLS upstream; gli strumenti MCP XLS locali offrono operazioni sul codice ai client compatibili.

In questa pagina

Altifigence CLI offre un flusso per Linux x86_64 che consente di installare ed eseguire una versione fissata della toolchain Google XLS upstream. Accetta richieste che identificano moduli sorgente e un’operazione, quindi restituisce i risultati degli strumenti installati. Con questo flusso da riga di comando puoi controllare DSLX, eseguire test dei moduli e generare SystemVerilog da una funzione selezionata.

Un secondo flusso collega i client MCP compatibili agli strumenti XLS locali per il codice sorgente. Questi strumenti usano il motore XLS nativo installato accanto a loro, eseguito sulla CPU, e accettano codice incluso direttamente nella richiesta. Il flusso della toolchain upstream e quello MCP XLS locale hanno passaggi di configurazione e formati di richiesta separati. Ciascuno offre un modo concreto per lavorare sul codice ed esaminarne gli output tramite l’installazione di Altifigence CLI.

Esegui la versione fissata della toolchain Google XLS upstream

Il percorso upstream inizia con un’installazione esplicita della toolchain. Altifigence CLI installa una versione fissata di Google XLS, verifica l’archivio e controlla l’inventario degli strumenti e della libreria standard. Conserva i file di licenza della versione e scrive una configurazione della toolchain dopo il superamento dei controlli. La CLI verifica nuovamente la versione installata prima dell’uso.

La configurazione identifica l’installazione usata per le richieste successive. La risposta sulle sue capacità descrive le operazioni e i tipi di input disponibili, insieme alle identità della versione e degli strumenti. Il lavoro sul codice ha così un contesto di esecuzione esplicito: una richiesta, un’installazione selezionata e un risultato che registra gli strumenti coinvolti.

  1. Installa Altifigence CLI su Linux x86_64. Esegui alti xls upstream install con il tuo normale account utente, scegliendo nuovi percorsi assoluti per la destinazione di installazione e la configurazione della toolchain all’interno di una cartella esistente.

  2. Consulta alti xls upstream capabilities con quella configurazione della toolchain. Esamina le operazioni, i tipi di input e l’identità della versione installata riportati per la tua installazione.

  3. Prepara una richiesta con operation, input_kind, entry e files. Per DSLX, files contiene i moduli con chiavi corrispondenti a percorsi relativi che terminano in .x, mentre entry identifica il modulo iniziale.

  4. Esegui alti xls upstream run con la configurazione della toolchain, una cartella work-root esistente e la richiesta. Scegli check per l’analisi sintattica e il controllo dei tipi, oppure eval per le funzioni di test e i proc di test del modulo entry.

  5. Per una funzione selezionata, includi top e scegli convert, optimize o codegen. Esamina gli artefatti restituiti e conserva il risultato insieme alla richiesta di codice per la revisione.

Una richiesta con più file rende esplicita la relazione tra un modulo e le sue importazioni. L’esempio pubblicato inserisce una funzione add in adder.x e la importa da main.x, dove un test del modulo controlla il risultato. entry indica il modulo di test da valutare. check ed eval operano su quel modulo entry e sulle sue importazioni; le richieste di generazione identificano la funzione tramite top.

Da un sommatore tipizzato agli output generati

Il sommatore documentato usa input u8 e un valore di ritorno u8. Il test somma u8:255 e u8:1 e si aspetta u8:0. È un piccolo esempio utile per una revisione perché mostra insieme il tipo nel codice e il comportamento atteso di ritorno a zero in caso di overflow. Puoi leggere la funzione, esaminare l’asserzione ed eseguire il test del modulo come parti dello stesso lavoro sul codice.

Per generare SystemVerilog con pipeline, l’esempio seleziona add come top e usa il modulo del sommatore come entry. La conversione produce una rappresentazione intermedia della funzione selezionata; l’ottimizzazione produce un artefatto IR ottimizzato; la generazione di codice produce il SystemVerilog e i relativi elementi di interfaccia, pianificazione e firma. Scegliere convert oppure optimize offre un punto in cui fermare la revisione a una fase intermedia.

Quel risultato codegen con pipeline include module.sv, converted.ir, optimized.ir, interface.textproto, schedule.textproto e signature.textproto. Ogni artefatto contiene il proprio testo, il numero di byte e lo SHA-256. Il risultato registra anche i processi degli strumenti, inclusi hash, argomenti, codici di uscita e output. Insieme, questi campi collegano i file generati agli strumenti e alla richiesta usati per l’esecuzione.

Una richiesta di generazione upstream può selezionare gli stadi della pipeline o usare SystemVerilog combinatorio. Considerala una scelta sulla struttura generata durante l’esplorazione del codice. Un esercizio utile per la revisione è tenere il DSLX accanto all’IR e al SystemVerilog restituiti, poi esaminare come appare la funzione selezionata nelle varie fasi. Questo confronto è un’attività di lettura guidata da te tramite gli artefatti generati.

Collega gli strumenti MCP XLS locali separati

Il flusso MCP XLS locale inizia con il pacchetto CLI verificato per Linux x86_64. Nelle impostazioni stdio di un client compatibile, imposta il comando sul percorso assoluto dell’eseguibile alti-mcp installato e lascia vuoti gli argomenti. Mantieni alti-xls accanto ad alti-mcp in quell’installazione verificata. Imposta la variabile d’ambiente ALTI_MCP_MODE del processo server su local-xls e connettiti.

Aggiorna l’elenco degli strumenti del client, poi chiama altifigence.local.xls.capabilities con un oggetto vuoto, {}. Esamina le capacità del motore e la ricevuta di esecuzione restituite. Questo passaggio definisce il contesto del motore prima di inviare operazioni sul codice dal client.

Il set di strumenti comprende altifigence.local.xls.capabilities, altifigence.local.xls.check, altifigence.local.xls.eval, altifigence.local.xls.optimize e altifigence.local.xls.codegen. Offre l’esame delle capacità, il controllo del codice, la valutazione con vettori di input, l’ottimizzazione di XLS IR e la generazione RTL. L’esecuzione usa il motore installato accanto agli strumenti, sulla CPU.

Per un’operazione sul codice, fornisci input_kind come dslx o xls-ir, il codice incluso direttamente in source e il nome della funzione principale in top. Per eval, fornisci anche vectors come array di valori stringa. Questo formato di richiesta si adatta a una funzione sorgente selezionata esplicitamente e a un insieme di input tipizzati preparati per quella funzione. Una chiamata al motore riuscita restituisce engine e receipt in structuredContent.

Scegli il flusso per il lavoro sul codice

Il percorso upstream è adatto se lavori con moduli DSLX, importazioni e test dei moduli e vuoi risultati da una versione fissata e installata della toolchain Google XLS. Il percorso MCP locale si presta all’uso di un client compatibile per inviare operazioni con codice incluso nella richiesta e vettori di valutazione al motore CPU nativo. Parti dalla risposta sulle capacità pertinente, identifica il codice e tieni a disposizione il risultato restituito per esaminarlo.

Per l’esempio del sommatore, conserva la richiesta di test del modulo e quella di generazione come input distinti per la revisione. La richiesta di test indica il modulo che contiene l’asserzione, mentre quella di generazione indica il modulo che contiene la funzione selezionata. Leggere le richieste insieme chiarisce quale codice viene valutato e quale funzione viene convertita in RTL. Conserva le corrispondenze tra i file insieme ai risultati, così da identificare facilmente il modulo importato ed entry.

Il client locale offre un altro esercizio pratico sul codice: invia una piccola funzione con tipi di input espliciti, controlla il codice e poi valutalo con vettori preparati. Confronta i valori restituiti con le aspettative che hai scritto per quegli input. Conserva il risultato del motore e la ricevuta di esecuzione insieme alla revisione. Avrai così materiale per un confronto tra codice, valori di input e output guidato da te, con ogni operazione scelta esplicitamente nel client.

Per saperne di più

Consulta la guida alla versione fissata di XLS upstream per l’installazione, i test dei moduli e gli artefatti SystemVerilog.

Usa la guida MCP XLS locale per configurare il client ed eseguire operazioni sul codice.

Leggi la guida di Altifigence CLI per il flusso di installazione su Linux.

Visita Altifigence Downloads per la distribuzione CLI e i download dei prodotti.