Ingegneria del software e programmazione
Applicare Algebra Boolean per automatizzare la generazione del modello di prova logica
Table of Contents
Fondamenti di Boolean Algebra in Digital Design
L’algebra booleana, introdotta da George Boole nel XIX secolo, fornisce la base matematica per il design della logica digitale. Funziona su variabili binarie che possono assumere solo due valori: 0[FLT: ottimizzazione] (false, bassa tensione) e 1]] (vero, alta tensione).
Il ruolo della generazione del modello di prova nella verifica del circuito digitale
Dopo che un circuito digitale è fabbricato, deve essere testato per garantire nessun difetto fisico — come i pantaloncini, si apre, o transistor bloccati-a guasti — comprometterne la funzionalità. Logic test pattern generation[] è il processo di creazione di un insieme di vettori di input che, quando applicato al circuito, producono output che possono essere confrontati con i valori previsti.
Modelli di guasto e loro rappresentazione booleana
Il modello di guasto più comune è il ]stuck-at fault, dove una linea di segnale è permanentemente bloccata a logica 0 o logica 1. Per un dato circuito, un circuito bloccato-a guasto trasforma la funzione Boolean originale di controllo in una funzione difettosa.
Altri modelli di guasti includono guasti di rottura[] (corti brevi tra due reti) e [ difetti di ritardo[[], entrambi i quali possono essere espressi anche usando algebra booleana quando si modella il comportamento difettoso come un'operazione logica alterata.
Passos sistemici per automatizzare la generazione del modello di prova utilizzando algebra booleana
Gli algoritmi moderni ATPG si basano su algebra booleana ad ogni passo, il flusso generale può essere suddiviso in quattro fasi, ma dietro ogni ragionamento algebrico.
1. Modellare il circuito come espressioni booleane
Per un semplice e di un cancello con ingressi e e l'output , l'espressione è . Per un nodo interno che fa scattare i ventilatori a più cancelli, ogni ramo di fanout porta lo stesso valore logico se non è presente un difetto.
2. Semplifica le espressioni con Algebra booleana
Prima di generare modelli di test, le espressioni Boolean del circuito sono spesso semplificate per ridurre la ridondanza. Questo non è solo per l'ottimizzazione dell'hardware - espressioni semplificate rendono anche il problema della generazione di test più facile da risolvere. Tecniche come Cartine di Karin] e
3. Rilevamento dei vettori di prova attraverso il ragionamento booleano
Una volta che il circuito è modellato e semplificato, lo strumento ATPG formula la generazione di test come un satisfiability (SAT) problema] o utilizza algoritmi come il D-algorith istanza, PODEM (Path-Oriented Decision Making), o FAN (Fanout-Oriented). Tutti questi metodi si affidano al motore Boolean per assegnare i valori agli input primari
Esempio: Stuck-at-0 Fault su un NAND Gate Output
Considerare un cancello NAND a due ingressi con ingressi e , output . Buon circuito: . Fault bloccato a 0: circuito difettoso sempre esegue 0. Per rilevare questo difetto, abbiamo bisogno di input che fanno la buona uscita 1 (così l'uscita difettosa meno differisce).
4. Automazione della generazione e della compattazione del modello
Dopo aver derivato i vettori di prova individuali per ogni difetto, lo strumento ATPG utilizza simulazione di errore per valutare quali vettori coprono i difetti aggiuntivi. Algebra booleana gioca ancora un ruolo: la simulazione di guasto è accelerata valutando le funzioni booleane su molti modelli di input contemporaneamente utilizzando operazioni bitwise.
Vantaggi di Boolean Algebra in prova Pattern Automation
- Dimensioni del set di test redotto:[ La semplificazione booleana elimina i cubi di prova ridondanti, portando a meno cicli di prova e a costi di prova inferiori.
- Copertura di guasto elevata:[] I metodi algebrici formali garantiscono che non vengano mancati errori non rilevabili (fornito che il modello di guasto sia accurato).
- Efficienza algoritmica:[] Risolutori e BDD (Diagrammi di decisione) integrati su algebra booleana possono gestire circuiti con milioni di cancelli.
- Flessibilità:[] Boolean algebra supporta più modelli di guasto e generazione di test gerarchici senza cambiare fondamentalmente la matematica sottostante.
- Automazione dello strumento:[[] Gli strumenti ATPG possono eseguire modelli di test non presidiati e generanti in pochi minuti che richiederebbero settimane di ingegneri umani.
Sfide e miglioramenti moderni
Mentre l'algebra booleana fornisce un solido framework teorico, il pratico ATPG affronta le sfide. La complessità esponenziale della satisfiabilità booleana può causare gli strumenti per eseguire indefinitamente per alcuni difetti difficili da testare. Gli ingegneri affrontano questo usando generazione di test casuali] combinata con euristica algebrica, o impiegando [FLT:
Conclusioni
La nuova tecnologia di progettazione di sistemi di controllo e di controllo, che si basano su un sistema di controllo di tipo elettronico, è un'esperienza di tipo più complessa.