• Non ci sono risultati.

L’analizzatore di stati logici 5

N/A
N/A
Protected

Academic year: 2021

Condividi "L’analizzatore di stati logici 5"

Copied!
24
0
0

Testo completo

(1)

L’ABC degli analizzatori di stati logici

(2)

Gli inizi 4

L’oscilloscopio digitale 4

L’analizzatore di stati logici 5

Funzionamento dell’analizzatore di stati logici ---6 – 13 Collegamento al sistema in esame 6

Sonda 6

Impostazioni 7

Impostazione delle modalità di clock 7

Impostazione del trigger 8

Acquisizione 9

State e Timing contemporanei 9

Memoria di acquisizione in tempo reale 10 Strumenti integrati di ricerca guasti analogici/digitali 11

Analisi e visualizzazione 12

Display delle forme d’onda 12

Display dei listati 13

Misure automatiche 14

Terminologia e considerazioni sulle prestazioni ---15 – 16 Frequenza di acquisizione Timing 15 Frequenza di acquisizione State 15 Frequenza di acquisizione MagniVu 15

Lunghezza di registrazione 15

Numero di canali e modularità 16

Requisiti del trigger 16

Requisiti delle sonde 16

Esempi di applicazioni dell’analizzatore di stati logici ----16 – 20

Misure generiche di timing 17

Rilevazione e visualizzazione di glitch intermittenti 18 Cattura delle violazioni di Setup & Hold 19 Uso della memorizzazione transizionale per massimizzare

la lunghezza di registrazione utilizzabile 20

Sommario ---21

Glossario ---22 – 23

(3)

Introduzione

Come nel caso di numerosi strumenti di test e misura elettronici, un analizzatore di stati logici è da utilizzare per una particolare classe di problemi. È uno strumento versatile che vi può aiutare nel debug di hardware digitale, nella verifica dei progetti e nel debug di software embedded.

L’analizzatore di stati logici è uno strumento indispensabile per i tecnici che progettano circuiti digitali.

Gli analizzatori di stati logici sono usati per le misure digitali che coinvolgono numerosi segnali o richiedono trigger complessi.

Descriveremo inizialmente l’oscilloscopio digitale e la

conseguente evoluzione dell’analizzatore di stati logici. Quindi vi mostreremo gli elementi fondamentali di un analizzatore di stati logici. Quindi, con questa conoscenza di base,

imparerete quali sono le caratteristiche essenziali di un analizzatore di stati logici e perché sono importanti nella scelta del corretto strumento per la vostra particolare applicazione.

Gli inizi

Gli analizzatori di stati logici si sono sviluppati

contemporaneamente all’immissione sul mercato dei primi microprocessori commerciali. I tecnici impegnati nella progettazione di sistemi basati su questi nuovi disposivi si accorsero ben presto che il debugging di distemi basati su microprocessori richiedeva più ingressi per i segnali di quanti non ne offrissero gli oscilloscopi.

Gli analizzatori di stati logici, con i loro ingressi multipli, risolsero questo problema. Questi strumenti hanno

costantemente aumentato sia le loro frequenze di acquisizione sia il numero di canali per stare al passo con i rapidi progressi della tecnologia digitale. L’analizzatore di stati logici è uno strumento fondamentale per lo sviluppo di sistemi digitali.

Tra oscilloscopi e analizzatori di stati logici esistono analogie e differenze. Per meglio comprendere come i due strumenti si comportano nelle rispettive applicazioni, è utile

confrontare le loro singole capacità.

L’oscilloscopio digitale

L’oscilloscopio digitale è lo strumento fondamentale per impieghi generali di visualizzazione dei segnali. Le sue elevate frequenze di campionamento e bande passanti gli consentono di acquisire numerosi punti di una forma d’onda su un dato intervallo di tempo, permettendo la misura delle transizioni dei segnali (fronti), di eventi transitori

Mentre l’oscilloscopio è certamente in grado di esaminare gli stessi segnali digitali di un analizzatore di stati logici, la maggior parte degli utilizzatori di oscilloscopi si occupa di misure analogiche come tempi di salita e di discesa, ampiezze di picco e intervalli di tempo tra fronti di impulsi.

Uno sguardo alla forma d’onda di Figura 1 permette di vedere i punti di forza di un oscilloscopio. La forma d’onda, sebbene provenga da un circuito digitale, rivela le

caratteristiche analogiche del segnale, che influiscono tutte sulla sua capacità di svolgere la propria funzione. In questo caso, l’oscilloscopio ha catturato dettagli che rivelano sovraelongazioni, sovraoscillazioni, fattore di decadimento (rolloff) del fronte di salita e altre aberrazioni che compaiono periodicamente.

Grazie agli strumenti di cui è dotato l’oscilloscopio, tra cui cursori e misure automatiche, è facile rintracciare i problemi di integrità del segnale che possono influire sul vostro progetto. Inoltre, le misure di timing, come il ritardo di propagazione e il tempo di setup/hold, sono più che naturali per un oscilloscopio. Ovviamente, esistono numerosi segnali puramente analogici, come l’uscita di un microfono o di un convertitore digitale/analogico, che devono essere visualizzati con uno strumento che registra i dettagli analogici.

Gli oscilloscopi hanno generalmente da due a quattro canali di ingresso. Cosa succede se dovete misurare

contemporaneamente cinque segnali digitali – o un sistema digitale con un bus dati a 32 bit e un bus indirizzi a 64 bit?

A questo punto nasce la necessità di uno strumento con molti più ingressi: l’analizzatore di stati logici.

Figura 1. L’oscilloscopio rivela i dettagli dell’ampiezza, del tempo di salita e di altre caratteristiche analogiche del segnale.

(4)

L’analizzatore di stati logici

L’analizzatore di stati logici ha capacità diverse da quelle dell’oscilloscopio. La differenza più evidente tra i due strumenti è il numero di canali (ingressi). I tipici oscilloscopi digitali hanno fino a quattro canali. Gli analizzatori di stati logici hanno da 34 a 136 canali. Ogni canale fa da ingresso a un segnale digitale. Alcuni progetti di sistemi complessi richiedono migliaia di canali di ingresso. Anche per queste applicazioni sono disponibili analizzatori di stati logici opportunamente dimensionati.

Un analizzatore di stati logici misura e analizza i segnali in modo diverso da un oscilloscopio. L’analizzatore di stati logici non misura dettagli analogici ma rileva livelli di soglie logiche. Quando collegate un analizzatore di stati logici a un circuito digitale, siete solo interessati allo stato logico del segnale. Un analizzatore di stati logici cerca solo due livelli logici, come mostrato in Figura 2.

pochi segnali alla volta, l’oscilloscopio digitale è la soluzione migliore. Quando dovete conoscere gli esatti valori di ampiezza, potenza, corrente o fase di un segnale, o effettuare misure sui fronti, come per i tempi di salita, l’oscilloscopio è lo strumento più adatto.

Usate un oscilloscopio digitale quando dovete:

Caratterizzare l’integrità del segnale come tempo di salita, sovraelongazione (overshoot) e sovraoscillazione (ringing), durante la verifica di dispositivi analogici e digitali Caratterizzare la stabilità del segnale (come jitter e spettro del jitter) su fino a quattro segnali contemporaneamente Misurare fronti e tensioni del segnale per valutare i margini di timing come setup/hold, ritardo di propagazione

Rilevare anomalie transitorie come glitch, impulsi runt, transizioni metastabili

Misurare parametri di ampiezza e tempo su pochi segnali alla volta

verifica e il debugging di progetti digitali. Un analizzatore di stati logici verifica che il circuito digitale stia lavorando correttamente ed aiuta a risolvere i problemi che possono insorgere. L’analizzatore di stati logici acquisisce

e visualizza numerosi segnali contemporaneamente e analizza le loro relazioni temporali. Per il debugging di problemi elusivi e intermittenti, alcuni analizzatori di stati logici possono rivelare i glitch e le violazioni dei tempi di setup/hold. Durante l’integrazione software/hardware, gli analizzatori di stati logici tracciano l’esecuzione del software embedded e analizzano l’efficienza

dell’esecuzione del programma. Alcuni analizzatori di stati logici mettono in relazione il codice sorgente con

specifiche attività hardware del progetto in esame.

Usate un analizzatore di stati logici quando avete bisogno di:

Effettuare il debug e verificare il funzionamento di sistemi digitali

Tracciare e correlare contemporaneamente numerosi segnali digitali

Rilevare e analizzare violazioni di timing e transitori sui bus

Tracciare l’esecuzione di software embedded

Figura 2. FUn analizzatore di stati logici determina valori logici relativamente a un livello di tensione di soglia.

(5)

Quando l’ingresso supera la tensione di soglia (V) il livello è chiamato “alto” o “1”; analogamente, il livello inferiore a V

th

è chiamato “basso” o “0.” Quando un analizzatore di stati logici campiona l’ingresso, memorizza un “1” o uno “0”

a seconda del livello del segnale relativamente alla tensione di soglia.

Il display di una forma d’onda in funzione del tempo su un analizzatore di stati logici è simile a quello di un diagramma temporale riportato su un foglio tecnico o prodotto da un simulatore. Tutti i segnali sono correlati nel tempo, per cui è possibile vedere tempi di setup/hold, larghezze di impulsi, dati estranei o sfuggiti. Oltre all’elevato numero di canali, gli analizzatori di stati logici possiedono importanti

caratteristiche utili per la verifica e il debugging di progetti digitali. Tra queste ricordiamo:

rigger sofisticati che consentono di specificare le condizioni di acquisizione dei dati da parte dell’analizzatore di stati logici

Sonde ad alta densità e adattatori che semplificano la connessione al sistema in esame

(SUT – System Under Test)

Capacità di analisi che traducono i dati acquisiti in istruzioni del processore e li correlano al codice sorgente

Funzionamento dell’analizzatore di stati logici

L’analizzatore di stati logici si collega a segnali digitali, li acquisisce e li analizza. L’uso dell’analizzatore di stati logici prevede tre fasi, come mostrato in Figura 3.

1 Connessione 2 Setup 3 Acquisizione

4 Analisi e visualizzazione

Collegamento al sistema in esame

Sonda

L’elevato numero di segnali che può essere acquisito contemporaneamente dall’analizzatore di stati logici è ciò che più lo differenzia dall’oscilloscopio. Le sonde di acquisizione si collegano al SUT (System Under Test).

Il comparatore interno della sonda confronta la tensione di ingresso con la tensione di soglia (V

th

) e decide lo stato logico (1 o 0) del segnale. Il valore di soglia si fissa impostando livelli TTL, CMOS, ECL o livelli definibili dall’operatore.

Figura 5.Sonda ad alta densità, multi canale per analizzatori di stati logici.

Connes- sione fase 1

Setup fase 2

Acquisi- zione fase 3

Analisi e Visualizza-

zione fase 4

Figura 3.Funzionamento semplificato di un analizzatore di stati logici.

Figura 4.Sonda di impiego generale.

(6)

Le sonde per gli analizzatori di stati logici si presentano in forme diverse:

Sonde per impiego generale con gruppi di cavetti volanti da utilizzare per ricerche guasti da punto a punto, come mostrato in Figura 4.

Sonde ad alta densità, multicanale, che richiedono connettori dedicati sulla scheda a circuito stampato come mostrato in Figura 5. Queste sonde acquisiscono segnali di alta qualità ed hanno un impatto minimo sul SUT.

Sonde ad alta densità a pressione che usano un dispositivo di accoppiamento senza connettore come mostrato in Figura 6. Questo tipo di sonda

è raccomandato per le applicazioni che operano con elevate densità dei segnali o richiedono un dispositivo di collegamento della sonda che consenta di collegarsi in modo rapido e affidabile al sistema in esame.

L’impedenza delle sonde dell’analizzatore di stati logici (capacità, resistenza e induttanza) diventa parte del carico generale sul circuito da esaminare. Tutte le sonde

presentano caratteristiche di carico. La sonda dell’analizzatore di stati logici dovrebbe introdurre il minimo carico sul SUT e inviare un segnale accurato all’analizzatore di stati logici.

La capacità della sonda tende ad arrotondare i fronti di salita dei segnali, come mostrato in Figura 7. Questo arrotondamento rallenta la transizione del fronte di un tempo pari a “t∆” come riportato in Figura 7. Perché questo effetto è importante? Perché un fronte più lento attraversa la soglia logica del circuito più tardi, introducendo errori di timing nel SUT. Questo è un problema che diventa più

grave all’aumentare delle frequenze di clock. Nei sistemi ad alta velocità, un’eccessiva capacità della sonda ha la possibilità potenziale di non permettere al SUT di funzionare! È indispensabile scegliere sempre una sonda con la più bassa capacità totale possible.

Inoltre, è importante notare che le pinzette e i cavetti della sonda aumentano i carichi capacitivi sui circuiti a cui sono connessi. Usate sempre adattatori adeguatamente compensati tutte le volte che potete.

Impostazione

Impostazione delle modalità di clock

Selezione della modalità di clock

Gli analizzatori di stati logici sono progettati per acquisire dati da dispositivi multi-pin e da bus. Il termine ”frequenza di acquisizione” si riferisce a quanto spesso gli ingressi sono campionati. È la stessa funzione che svolge la base dei tempi di un oscilloscopio. Notate che i termini

“campionare”, “acquisire” e “catturare” sono spesso equivalenti quando si descrive il funzionamento di un analizzatore di stati logici. Ci sono due tipi di acquisizione dei dati, o modalità di clock:

L’acquisizione Timing cattura le informazioni temporali del segnale. In questa modalità, per campionare i dati si usa un clock interno all’analizzatore di stati logici. Più rapidamente sono campionati i dati, maggiore è la risoluzione della misura. Non esiste una relazione temporale univoca tra il dispositivo in esame e i dati acquisiti dall’analizzatore di stati logici. Questa modalità di acquisizione è prevalentemente usata quando è di primaria importanza esaminare le relazioni temporali tra i vari segnali del SUT.

Figura 6.D-MaxTMsonda senza connettori per analizzatori.

Figura 7.L’impedenza della sonda di un analizzatore di stati logici può alterare le relazioni tra i tempi di salita dei segnali e le misure di timing.

(7)

L’acquisizione State è usata per acquisire lo “stato” del SUT. Un segnale dal SUT definisce il punto di

campionamento (cioè dove e quanto spesso i dati saranno acquisiti). Il segnale usato per scandire l’acquisizione può essere il clock del sistema, un segnale di controllo sul bus, o un segnale che fa cambiare gli stati al SUT. Il dato è campionato sul fronte attivo e rappresenta la condizione del SUT quando i segnali logici sono stabili. L’analizzatore di stati logici campiona quando, e solo quando, i segnali scelti sono validi. In questo caso, quello che succede negli intervalli tra gli eventi di clock non è rilevante.

Che cosa fa decidere il tipo di acquisizione da usare?

Il modo in cui si vogliono esaminare i dati. Se volete catturare un lungo record di dettagli adiacenti di timing, l’acquisizione Timing con il clock interno (asincrono) è quella che serve allo scopo.

Oppure potete voler acquisire i dati esattamente come il SUT li vede. In questo caso sceglierete l’acquisizione State (sincrona). Con l’acquisizione State, ogni stato consecutivo del SUT è visualizzato in sequenza

in una apposita finestra (listing window). Il segnale di clock esterno usato per l’acquisizione State può essere un qualsiasi segnale di caratteristiche adeguate.

Impostazione del trigger

Le capacità di trigger sono un’altra caratteristica che distingue l’analizzatore di stati logici da un oscilloscopio. Gli oscilloscopi hanno i trigger, ma la loro capacità di rispondere al verificarsi di determinate condizioni binarie è limitata. Invece, per stabilire quando il trigger dell’analizzatore di stati logici deve intervenire, si può prendere in considerazione una varietà di condizioni logiche (Booleane). Scopo del trigger è selezionare i dati che devono essere catturati

dall’analizzatore di stati logici. L’analizzatore di stati logici può monitorare gli stati logici del SUT e far scattare il trigger quando si verifica un evento stabilito dall’operatore.

Parlando di analizzatori di stati logici, è importante comprendere il termine “evento”, poiché può avere numerosi significati. Può essere una singola transizione, intenzionale o non, su un singolo canale. Se state cercando un glitch, sarà questo l’evento che vi interessa. Un evento può essere rappresentato dal momento in cui un particolare segnale, come “Increment” o “Enable”, diventa valido.

Oppure, un evento si può definire come la condizione logica che risulta da una combinazione di segnali attraverso

l’intero bus. Notate che, in tutti i casi, l’evento è qualcosa che si manifesta quando un segnale passa da un ciclo a quello successivo.

Numerose condizioni possono attivare il trigger di un analizzatore di stati logici. Ad esempio, l’analizzatore di stati logici può riconoscere uno specifico valore binario su un bus o sull’uscita di un contatore. Altre scelte di trigger comprendono:

Parole: specifici pattern logici definiti in codice binario, esadecimale, ecc.

Campi: eventi che occorrono tra un valore basso e uno alto

Contatore: il numero di eventi programmati dall’operatore rilevati da un contatore

Segnale: un segnale esterno, come un reset del sistema

Glitch: impulsi che si presentano tra un’acquisizione e la successiva

Timer: l’intervallo di tempo tra due eventi, o la durata di un singolo evento, rilevata da un timer

Consigli per l’impostazione delle modalità di clock

Bisogna seguire alcune linee guida per impostare l’acquisizione dei dati su un analizzatore di stati logici:

1. Acquisizione Timing (asincrona): la frequenza del clock di campionamento ha un ruolo importante nel determinare la risoluzione dell’acquisizione. La precisione di timing di qualsiasi misura sarà sempre pari a un intervallo di campionamento, più altri errori specificati dal costruttore dello strumento. Come esempio, quando la frequenza del clock di

campionamento è 2 ns, un nuovo campione dei dati è immagazzinato nella memoria di acquisizione ogni 2 ns. Le variazioni dei dati successive al

campionamento appena effettuato non vengono catturate fino al successivo clock di campionamento.

Poiché il momento esatto del cambiamento dei dati durante questo periodo di 2 ns non si può

conoscere, la risoluzione netta è di 2 ns.

2. Acquisizione State (sincrona): Quando si effettua

un’acquisizione State, l’analizzatore di stati logici,

come qualsiasi dispositivo sincrono, deve avere dati

stabili al suo ingresso prima e dopo l’impulso di

clock di campionamento per garantire la corretta

acquisizione dei dati.

(8)

Analogico: uso di un oscilloscopio per rilevare una caratteristica analogica e far scattare di conseguenza il trigger dell’analizzatore di stati logici Con tutte queste condizioni di trigger disponibili, è possibile individuare errori del sistema utilizzando una ricerca ad ampio raggio per i guasti di stato, quindi rifinire la ricerca impostando condizioni di trigger sempre più mirate.

Acquisizione

State e Timing contemporanei

Durante il debug hardware e software (integrazione del sistema), è utile avere informazioni di stato e di timing correlate. Un problema può essere causato da uno stato non valido sul bus. Questo può essere provocato, ad esempio, da una violazione del tempo di setup/hold. Se l’analizzatore di stati logici non è in grado di acquisire i dati sia di timing sia di stato contemporaneamente, isolare il problema può diventare difficile e richiedere parecchio tempo.

Con alcuni analizzatori di stati logici è necessario collegare una sonda separata per acquisire le informazioni di timing e usare un dispositivo di acquisizione addizionale. Questi strumenti richiedono il collegamento contemporaneo di due tipi di sonde al SUT, come mostrato in Figura 8. Una sonda collega il SUT ad un modulo di timing, mentre una seconda sonda collega gli stessi punti di test a un modulo di stato.

Questo costituisce un sistema di sondaggio doppio. È una

disposizione che può alterare i valori di impedenza che i segnali dovrebbero normalmente incontrare. Usando due sonde contemporaneamente si caricherà maggiormente il segnale, degradando le caratteristiche di tempi di salita e di discesa, ampiezza e rumore del SUT. Notate che la Figura 8 è una rappresentazione semplificata che mostra soltanto alcuni collegamenti significativi. In una misura reale, si possono collegare quattro, otto o più cavi costituiti da diversi conduttori.

È meglio acquisire dati di timing e di stato

contemporaneamente tramite la medesima sonda, come mostrato in Figura 9. Una connessione, un setup e una acquisizione sono da soli sufficienti per fornire i dati sia di timing sia di stato. In questo modo, si semplifica il

collegamento meccanico delle sonde e si riducono i problemi.

Con l’acquisizione contemporanea Timing e State, l’analizzatore di stati logici cattura tutte le informazioni necessarie a supportare le analisi sia di timing sia di stato.

Non sono necessarie altre operazioni e quindi esistono meno probabilità di compiere errori o di provocare danni meccanici come nel caso delle doppie sonde. Gli effetti di una singola sonda sul circuito sono inferiori, per cui si possono effettuare misure più accurate con un minore impatto sul funzionamento del circuito.

Maggiore la risoluzione temporale, maggiore il numero di dettagli che si possono vedere e su cui attivare il trigger, aumentando così le probabilità di scoprire i problemi sul vostro progetto.

Sonde di State

Sonde di Timing

Il disordine delle due sonde

Figura 8.L’impiego di due sonde su ciascun punto di test riduce la qualità della misura.

Sonda di Timing/State

La semplicità della singola sonda

Figura 9.Predisposizione di misura per l’acquisizione

contemporanea State e Timing con una sola sonda che, tra l’altro, permette all’operatore di lavorare più agevolmente.

(9)

Memoria di acquisizione in tempo reale I sistemi di sonde, trigger e clock dell’analizzatore di stati logici servono ad inviare dati alla memoria di acquisizione in tempo reale. Questa memoria è il cuore dello strumento – la destinazione di tutti i dati prelevati dal SUT e la sorgente per tutte le analisi e le schermate dello strumento.

Gli analizzatori di stati logici hanno una memoria in grado di memorizzare dati alla frequenza di campionamento dello strumento stesso. Questa memoria si può immaginare come una matrice che riporta il numero dei canali e la profondità di memoria, come mostrato in Figura 10.

Lo strumento accumula una registrazione di tutte le attività del segnale finché un evento di trigger o l’operatore gli dicono di fermarsi. Il risultato è un’acquisizione?

essenzialmente il display delle forme d’onda di più canali che vi permette di vedere tutte le interazioni dei segnali che avete acquisito, con una elevata precisione temporale.

Il numero di canali e la profondità di memoria sono elementi fondamentali nella scelta di un analizzatore di stati logici.

Riportiamo alcuni suggerimenti per aiutarvi a stabilire il numero di canali e la profondità di memoria:

Quanti segnali dovete acquisire e analizzare?

Il numero di canali del vostro analizzatore di stati logici è legato direttamente al numero di segnali he volete acquisire. I bus dei sistemi digitali hanno diverse ampiezze ed è spesso necessario esaminare altri segnali (clock, segnali di attivazione, ecc.) mentre il bus completo viene monitorato. Accertatevi di prendere in considerazione tutti i bus e i segnali che dovete acquisire contemporaneamente.

Quanto deve durare la vostra acquisizione?

Questo elemento determina la profondità di memoria necessaria dell’analizzatore di stati logici ed

è particolarmente importante per le acquisizioni Timing.

Per una data capacità di memoria, il tempo totale di acquisizione diminuisce con l’aumentare della frequenza di campionamento. Ad esempio, i dati memorizzati in una memoria da 1M coprono un intervallo di tempo di 1 secondo quando la frequenza di campionamento è 1 ms.La stessa memoria da 1M copre solo 10 ms di tempo con un periodo di clock di acquisizione di 10 ns.

Acquisire più campioni (tempo più lungo) aumenta le probabilità di catturare sia un errore sia la causa che lo ha prodotto (vedere la spiegazione che segue).

Gli analizzatori di stati logici campionano i dati in continuazione, riempiendo la memoria di acquisizione in tempo reale e scartando i dati in eccesso sul principio del

“primo dentro-primo fuori” (first-in, first-out) come mostrato in Figura 11. In questo modo, si ha un flusso costante di dati in tempo reale attraverso la memoria.

Quando si presenta un evento di trigger, inizia il processo di arresto dell’acquisizione che consente di conservare i dati al momento presenti in memoria. La posizione del trigger nella memoria si può fissare a piacere, per poter catturare ed esaminare eventi presentatisi prima, dopo o in prossimità dell’evento di trigger. Questa possibilità è molto importante per la ricerca dei guasti. Se fate scattare il trigger su un sintomo – normalmente un errore di un certo tipo – potete impostare l’analizzatore di stati logici per memorizzare i dati antecedenti il trigger (dati di pre-trigger) e catturare il difetto che ha provocato il sintomo. Potete anche impostare l’analizzatore in modo da memorizzare una certa quantità di dati dopo il trigger (dati di post-trigger) per vedere gli effetti conseguenti all’errore. Sono possibili altre

combinazioni di trigger, come mostrato nelle Figure 12 e 13.

Con l’impostazione del sistema di sonde, del clock e del trigger, l’analizzatore di stati logici è pronto per essere utilizzato. Come risultato avrete una memoria di acquisizione in tempo reale piena di dati che possono essere utilizzati per analizzare il comportamento del vostro SUT in vari modi.

La memoria principale di acquisizione dell’analizzatore conserva una lunga e completa registrazione dell’attività dei segnali. Alcuni degli attuali analizzatori di stati logici

Figura 10.L’analizzatore di stati logici conserva i dati acquisiti in un’ampia memoria, con un canale completo per ogni ingresso digitale.

(10)

possono acquisire dati a frequenze di diversi gigahertz su migliaia di canali, accumulando i risultati in una registrazione molto lunga. Questa possibilità è l’ideale per avere

un’ampia visuale dell’attività del bus su lunghi periodi.

Ogni transizione del segnale visualizzata si è verificata in un certo punto entro l’intervallo di campionamento definito dalla frequenza di clock utilizzata. Il fronte catturato può essersi presentato solo pochi picosecondi dopo il campione precedente, solo pochi picosecondi prima del campione successivo, oppure in un qualsiasi momento intermedio. In questo modo, l’intervallo di campionamento determina la risoluzione dello strumento. I bus ad alta velocità dei computer e dei dispositivi di comunicazione in via di sviluppo richiedono agli analizzatori di stati logici risoluzioni temporali sempre più elevate.

La tecnologia di acquisizione Tektronix MagniVu

TM

, una caratteristica standard della Serie TLA, è la risposta a questa esigenza. L’acquisizione MagniVu si basa su una memoria buffer ad alta velocità che cattura le informazioni su intervalli più ampi attorno al punto di trigger. Anche in questo caso, i nuovi campioni sostituiscono continuamente quelli più vecchi man mano che la memoria si riempie. Ogni canale ha la sua menoria di buffer MagniVu. L’acquisizione MagniVu mantiene una registrazione dinamica, ad alta risoluzione, delle transizioni e degli eventi che potrebbero risultare invisibili alla risoluzione più bassa con cui la memoria principale acquisisce.

L’acquisizione MagniVu è alla base della capacità della Serie TLA di rivelare errori di timing elusivi, come gli stretti glitch e le violazioni di setup/hold che sfuggono agli analizzatori di stati logici convenzionali. Come mostrato in Figura 14, questa registrazione ad alta risoluzione può essere visualizzata sul display perfettamente allineata con altre forme d’onda di timing presenti nella memoria principale.

Strumenti integrati per ricerche guasti analogiche-digitali

I progettisti che cercano di rilevare errori digitali devono tenere in considerazione anche il dominio analogico. Negli attuali sistemi, con fronti ripidi ed elevate frequenze dei dati, le caratteristiche analogiche dei segnali digitali hanno un impatto sempre maggiore sul comportamento del sistema, –in particolare riguardo affidabilità e ripetitività.

Figura 11.L’analizzatore di stati logici cattura e scarta i dati in base al principio del “primo dentro-primo fuori” (first-in, first-out) fino al verificarsi di un evento di trigger.

Figura 12.Cattura dei dati attorno al trigger: i dati alla sinistra del punto di trigger sono i dati di “pre-trigger” mentre i dati alla destra sono quelli di “post-trigger”. Il trigger può essere posizionato in un punto compreso tra lo 0% e il 100% della lunghezza di memoria.

Figura 13.Cattura dei dati presentatisi dopo un tempo specificato o dopo un certo numero di cicli rispetto al trigger.

Figura 14.L’acquisizione MagniVuTMmostra un glitch sul segnale di clock.

(11)

Le aberrazioni sul segnale possono sorgere da problemi nel dominio analogico: disaccoppiamenti di impedenza, effetti delle linee di trasmissione e altro. Analogamente, le

aberrazioni del segnale possono derivare da problemi digitali, come le violazioni di setup/hold. Esiste un elevato grado di interazione tra gli effetti dei segnali digitali e quelli analogici.

La scoperta iniziale di un’anomalia e il suo effetto nel dominio digitale avviene normalmente nell’analizzatore di stati logici. Questo è lo strumento che cattura decine o anche centinaia di canali contemporaneamente e per lunghi intervalli di tempo; quindi è lo strumento di acquisizione che più probabilmente viene collegato al segnale giusto al momento giusto.

La caratterizzazione delle aberrazioni del segnale, una volta scoperte, è compito dell’oscilloscopio in tempo reale che può acquisire tutti i glitch e le transizioni con dovizia di particolari, con precise informazioni sulle ampiezze e sui tempi. Rilevare queste caratteristiche analogiche è spesso la via più breve per risolvere un problema digitale.

Un’efficiente ricerca guasti richiede strumenti e metodi che possano operare in entrambi i domini. La cattura delle interazioni tra i due domini e la loro visualizzazione in formati sia analogici sia digitali sono fondamentali per un’efficiente ricerca guasti.

Alcune soluzioni moderne, in particolare gli analizzatori di stati logici Tektronix Serie TLA e gli oscilloscopi Serie TDS, possiedono le caratteristiche necessarie per integrare le due piattaforme. Il set di dispositivi Tektronix iLink

TM

permette all’analizzatore di stati logici e all’oscilloscopio di “collaborare,”

condividendo trigger e schermate correlate nel tempo.

Il set di dispositivi iLink

TM

è costituito da numerosi elementi progettati per accelerare i processi di rilevamento e ricerca guasti:

iCapture

TM

è un multiplexer che consente l’acquisizione contemporanea digitale e analogica tramite una singola sonda dell’analizzatore di stati logici.

iView

TM

invia una schermata delle misure correlate nel tempo eseguite dall’analizzatore di stati logici e dall’oscilloscopio sul display dell’analizzatore.

iVerify

TM

permette l’analisi su più canali di un bus e i test di validazione usando diagrammi a occhio generati dall’oscilloscopio.

La Figura 15 mostra una schermata iView sul display di un analizzatore di stati logici Serie TLA. Il segnale

è rappresentato in entrambe le sue forme, analogica e digitale, dato che l’analizzatore TLA mette in relazione temporale la traccia digitale con quella analogica proveniente dall’oscilloscopio TDS.

Analisi e visualizzazione

I dati conservati nella memoria di acquisizione in tempo reale possono essere utilizzati in una vasta gamma di modalità di visualizzazione e di analisi. Quando l’informazione

è memorizzata nel sistema, può essere visualizzata in formati che vanno dalle forme d’onda di timing agli menmonici di istruzione correlati al codice sorgente.

Visualizzazione delle forme d’onda La schermata delle forme d’onda è una visualizzazione particolareggiata su più canali che permette di vedere le relazioni temporali di tutti i segnali acquisiti, analogamente al display di un oscilloscopio. La Figura 16 è una riproduzione semplificata delle forme d’onda. In questa figura, sono stati aggiunti gli impulsi del clock di campionamento per mostrare i punti in cui i campioni sono stati prelevati.

Figura 15.Visualizzazione analogica-digitale correlata nel tempo di un’anomalia.

(12)

La visualizzazione delle forme d’onda viene comunemente usata nelle analisi di timing ed è indicata per:

Diagnosi di problemi di timing dell’hardware del SUT Verifica del corretto funzionamento dell’hardware tramite il confronto dei risultati registrati con l’uscita di un simulatore o con i diagrammi di timing di un documento tecnico

Misura delle caratteristiche hardware legate al timing:

– Condizioni di accesso multiplo (race conditions) – Ritardi di propagazione

– Assenza o presenza di impulsi

Visualizzazione dei listati

La schermata dei listati offre informazioni di stato in un formato alfa-numerico scelto dall’operatore. I valori dei dati nel listato derivano dai campioni prelevati su un intero bus e possono essere rappresentati in formato esadecimale o in altri formati. Immaginate di tagliare verticalmente tutte le forme d’onda di un bus, come mostrato in Figura 17.

Il taglio che attraversa il bus a quattro bit rappresenta un campione che è conservato nella memoria di acquisizione in tempo reale. Come riporta la Figura 17, i numeri nella sezione ombreggiata sono ciò che il display dell’analizzatore di stati logici mostrerebbe, normalmente in formato esadecimale.

Scopo del display dei listati è di mostrare lo stato del SUT.

Il display del listato in Figura 18 permette di vedere il flusso delle informazioni esattamente come lo vede il SUT – un flusso di parole di dati.

I dati di stato sono riportati in diversi formati. Il tracciamento delle istruzioni in tempo reale permette di disassemblare tutte le transizioni di bus e stabilire esattamente quali istruzioni sono state lette attraverso il bus, quindi di disporre i corretti mnenomici delle istruzioni, assieme ai loro indirizzi associati, sul display dell’analizzatore di stati logici. La Figura 19 è un esempio di display del tracciamento delle istruzioni in tempo reale.

Figura 16.Display delle forme d’onda di un analizzatore di stati logici (semplificato).

Figura 17.L’acquisizione State cattura una sezione di dati attraverso un bu quando il segnale di clock esterno abilita

un’acquisizione.

Campione Contatore Contatore Marcatura di tempo

0 1 2 3 4 5 6 7

0111 1111 0000 1000 0100 1100 0010 1010

7 F 0 8 4 C 2 A

0 ps 114.000 ns 228.000 ns 342.000 ns 457.000 ns 570.500 ns 685.000 ns 799.000 ns

Figura 18.Display di un listato.

(13)

Un ulteriore display, quello del debug del codice sorgente, rende più efficienti le operazioni di debug mediante la correlazione del codice sorgente con la cronistoria del tracciamento delle istruzioni. Questo display mostra istantaneamente quello che succede quando un’istruzione viene eseguita. La Figura 20 rappresenta il display di un codice sorgente correlato con il tracciamento delle istruzioni in tempo reale riportato in Figura 19.

Utilizzando un software di supporto specifico per il processore in esame, i dati dell’analisi State si possono rappresentare in forma mnemonica, facilitando in questo modo il debug di problemi software sul SUT. Con queste informazioni, è possibile utilizzare un display di stato a livello inferiore (come un display esadecimale) o il display di un diagramma di timing per risalire alle origini dell’errore.

La applicazioni delle analisi di stato comprendono:

Analisi parametrica e dei margini (es. valori di setup/hold) Rilevazione di violazioni temporali di setup/hold

Integrazione e debug hardware/software Debug degli stati dei canali

Ottimizzazione del sistema

Esame dei dati attraverso un intero progetto

Misure automatiche

Misure automatiche, effettuabili con semplici operazioni di

“drag and drop”, offrono la possibilità di eseguire sofisticate misure sui dati acquisiti dall’analizzatore di stati logici.

È disponibile un’ampia selezione di misure analoghe a quelle eseguibili con un oscilloscopio, comprese frequenza, periodo, larghezza degli impulsi, duty cycle e conteggio dei fronti. Le misure automatiche forniscono risultati veloci ed esaurienti in quanto danno rapidamente i risultati ricavati da intervalli di campionamento molto ampi. Le misure si effettuano facilmente: basta “cliccare” su un’icona di misura scelta tra un gruppo di icone correlate riportate su un pannello; trascinare l’icona sulla traccia di una forma d’onda nella finestra principale e rilasciarla sulla stessa.

L’analizzatore di stati logici imposta la misura, effettua tutte le analisi necessarie (ad esempio, calcola la larghezza dell’impulso), e riporta i risultati come mostrato in Figura 21.

Notate che queste operazioni sono completamente

automatiche, permettendovi di eliminare i precedenti metodi di misura manuali che richiedevano parecchio tempo per la loro esecuzione.

Figura 21.Le misure automatiche migliorano la produttività.

Figura 19.Display del tracciamento delle istruzioni in tempo reale.

Figura 20.Display del codice sorgente. La linea 27 in questo display è correlata con il campione 120 nel display del

tracciamento delle istruzioni di Figura 19.

(14)

L’analizzatore di stati logici ha un certo numero di indicatori quantitativi delle sue prestazioni e della sua efficienza, parecchi dei quali legati alla sua frequenza di

campionamento, che è riportata sull’asse di misura delle frequenze ed è analoga alla banda passante di un DSO (oscilloscopio a memoria digitale). Anche certi termini legati al sistema di sonde e al trigger risultano familiari

all’utilizzatore di DSO, ma parecchi altri elementi sono unici del dominio digitale in cui opera l’analizzatore di stati logici.

Poiché l’analizzatore di stati logici non cerca di catturare e ricostruire un segnale analogico, i fattori analogici, come la precisione verticale, sono di secondaria importanza mentre sono critiche questioni come il numero di canali e le modalità di sincronizzazione (clock).

Il seguente elenco di termini e di considerazioni sulle prestazioni si riferisce agli attuali analizzatori di stati logici Tektronix Serie TLA, strumenti ai vertici delle prestazioni utilizzabili per le più impegnative applicazioni di

progettazione digitale.

Frequenza di acquisizione Timing

Il compito principale di un analizzatore di stati logici è quello di produrre un diagramma di timing basato sui dati che ha acquisito. Se il DUT sta funzionando regolarmente

e i parametri di acquisizione sono correttamente impostati, il display di timing dell’analizzatore sarà di fatto identico al diagramma di timing del simulatore del progetto o della documentazione tecnica.

Ma questo dipende dalla risoluzione dell’analizzatore, –in effetti dalla sua frequenza di campionamento.

L’acquisizione Timing è asincrona; cioè la frequenza del clock di campionamento non è legata al segnale di ingresso. Più elevata la frequenza di campionamento, maggiore la probabilità che un campione riesca a rilevare con precisione il timing di un evento come una transizione.

Ad esempio, un analizzatore di stati logici Serie TLA con una frequenza di campionamento di 2 GHz, arriva ad una risoluzione di 500 ps. Quindi il display di timing è in grado di visualizzare, nel peggiore dei casi, posizionamenti del fronte entro 500 ps dalla posizione reale.

esterno proveniente dal DUT per potersi attivare.

L’acquisizione State aiuta a tenere traccia del flusso dei dati e dell’esecuzione del programma di processori e bus. Gli analizzatori di stati logici, come quelli della Serie TLA, possono offrire frequenze di acquisizione State di 450 MHz, con una finestra di setup/hold di 625 ps attraverso tutti i canali, per garantire un’accurata acquisizione dei dati.

Bisogna notare che questa frequenza è relativa al bus e alle transizioni di I/O che l’analizzatore deve monitorare, non alla frequenza del clock interno del DUT. Sebbene la frequenza del clock interno del dispositivo possa essere dell’ordine dei gigahertz, quella con cui comunica con bus e altri dispositivi è dello stesso ordine di grandezza della frequenza di acquisizione State dell’analizzatore di stati logici.

Frequenza di acquisizione MagniVu L’acquisizione MagniVu è applicabile sia alla modalità di acquizione Timing sia a quella State. L’acquisizione MagniVu offre una maggiore risoluzione di campionamento su tutti i canali per risolvere più facilmente problemi difficili grazie all’accumulo di ulteriori campioni in prossimità del punto di trigger. Ulteriori funzionalità comprendono la regolazione della frequenza di campionamento MagniVu, il posizionamento del punto di trigger e un trigger MagniVu separato che può essere attivato indipendentemente dal trigger principale.

Lunghezza di registrazione

La lunghezza di registrazione è un’altra specifica

fondamentale degli analizzatori di stati logici. Un analizzatore di stati logici in grado di immagazzinare “tempi” più lunghi, sotto forma di dati campionati, è utile in quanto il sintomo che ha dato il via ad una acquisizione può manifestarsi parecchio tempo dopo la causa che l’ha provocato. Con una lunghezza di registrazione maggiore, è spesso possibile catturare e vedere entrambi (causa e sintomo), semplificando notevolmente il processo di ricerca guasti.

Gli analizzatori di stati logici Serie TLA possono essere

configurati con diverse lunghezze di registrazione. Inoltre,

è possibile concatenare le memorie di più canali, fino

a quattro, per arrivare a quadruplicare la profondità di

memoria disponibile. In questo modo è possibile ottenere

elevate lunghezze di registrazione quando necessario, oppure

avere i vantaggi di una lunga registrazione anche con l’uso di

una configurazione ridotta, di minor costo, dello strumento.

(15)

Numero di canali e modularità Il numero di canali dell’analizzatore di stati logici

è fondamentale per poter operare su ampi bus e/o su punti di test multipli di un sistema. Il numero di canali è anche importante quando si riconfigura la lunghezza di registrazione dello strumento: due o quattro canali sono necessari per raddoppiare o quadruplicare, rispettivamente, la lunghezza di resistrazione.

Data l’attuale tendenza verso i bus seriali ad alta velocità, il problema del numero di canali è più critico che mai. Ad esempio, un pacchetto di dati seriali a 32-bit deve poter utilizzare non uno, ma 32 canali dell’analizzatore. In altre parole, il passaggio dalle architetture parallele a quelle seriali, non ha ridotto la necessità di elevati numeri di canali.

Le versioni integrate degli analizzatori Serie TLA possono essere configurate con una vasta gamma di numeri di canali, mentre le versioni modulari possono contenere una varietà di moduli di acquisizione e possono essere collegate tra loro per arrivare a numeri di canali ancor più elevati. Alla fine, il sistema può arrivare a migliaia di canali di

acquisizione. L’architettura modulare della Serie TLA ha la capacità unica di mantenere la sincronizzazione e una bassa latenza tra modulo e modulo, anche se i moduli sono in mainframe differenti.

Sistema di trigger

La flessibilità del trigger è fondamentale per un facile, efficiente rilevamento dei problemi nascosti. In un analizzatore di stati logici, l’impostazione del trigger consiste nel fissare le condizioni che, quando si verificano, bloccano l’acquisizione e ne visualizzano i risultati. Il fatto che l’acquisizione si sia arrestata è la prova che la condizione di trigger si è verificata (a meno che non sia stata specificata una condizione di timeout).

Attualmente, il setup del trigger è semplificato da operazioni di “drag-and-drop” che consentono di impostare facilmente i tipi più comuni di trigger. In questo modo, si evita

all’operatore di escogitare elaborate configurazioni di trigger per la soluzione dei problemi di timing più consueti. Come sarà dimostrato con gli esempi applicativi riportati più avanti, gli analizzatori di stati logici permettono di realizzare potenti configurazioni di trigger in grado di risolvere i problemi più complessi.

Gli analizzatori di stati logici offrono inoltre stati multipli di trigger, riconoscitori di parole, riconoscitori di fronti/transizioni, riconoscitori di intervalli, timer/counter e un riconoscitore di istantanee oltre ai trigger sui glitch e sui tempi di setup/hold.

Sistema di sonde

Con il drastico aumento della densità dei circuiti e della velocità dei segnali, che accompagna ogni nuova generazione di circuiti elettronici, i sistemi di sonde diventano un elemento sempre più importante delle soluzioni di test basate sugli analizzatori di stati logici. Le sonde devono offrire una densità di canali adeguata ai sistemi da provare, garantire contatti sicuri e preservare la qualità dei segnali.

La tecnologia D-Max™, che è alla base delle sonde senza connettori Tektronix per analizzatori di stati logici, è un sistema innovativo per rispondere a queste esigenze.

Queste sonde offrono stabili e affidabili connessioni meccaniche ed elettriche tra la sonda e la scheda a circuiti stampati. La loro bassissima capacità di ingresso riduce al minimo gli effetti di carico della sonda sul segnale. Queste sonde ad alta densità a pressione sono realizzate per collegarsi a semplici piazzole di contatti previste sulla scheda, risparmiando così spazio prezioso sulla scheda stessa e riducendo al minimo la complessità

e il costo del layout.

Esempi di applicazioni degli analizzatori di stati logici

La seguente serie di esempi applicativi illustrerà numerosi

problemi comuni di misura e le loro soluzioni. Le spiegazioni

sono semplificate per focalizzarsi maggiormente su alcune

tecniche di acquisizione di base degli analizzatori di stati

logici e sulla visualizzazione dei dati risultanti. Alcune fasi dei

setup e alcuni dettagli di configurazione sono stati omessi

per motivi di brevità. Per ulteriori informazioni, potete fare

riferimento alla documentazione del vostro strumento, alle

note applicative e ad altre pubblicazioni tecniche.

(16)

Misure generiche di timing

Garantire l’esatta relazione temporale tra segnali critici in un sistema digitale è una fase essenziale del processo di validazione. Si deve valutare una vasta gamma di parametri di timing e di segnali: ritardo di propagazione, larghezza degli impulsi, caratteristiche di setup/hold, ritardi tra i segnali e altri ancora. Efficienti misure di timing richiedono uno strumento in grado di effettuare acquisizioni ad alta

risoluzione su numerosi canali con il minimo effetto di carico sul circuito in esame. Lo strumento deve avere flessibili capacità di trigger per aiutare il progettista a localizzare rapidamente i problemi tramite la definizione di precise condizioni di trigger. Inoltre, lo strumento deve avere capacità di visualizzazione ed analisi che semplifichino l’interpretazione di lunghe registrazioni. Per validare un nuovo progetto digitale, sono generalmente richieste misure di timing. L’esempio seguente illustra una misura di timing eseguita su un flip-flop “D” con le relazioni mostrate in Figura 22. Questo esempio si basa sulle caratteristiche degli analizzatori di stati logici Tektronix Serie TLA. Nella realtà, una tale misura potrebbe acquisire

contemporaneamente centinaia o migliaia di segnali, ma il risultato è il medesimo in entrambi i casi e, come dimostra l’esempio, le misure di timing sono veloci, semplici e accurate.

Impostate il trigger e il clock. Questo esempio usa l’impostazione di trigger “IF Anything, THEN Trigger” e il clock interno (asincrono). Esiste anche una fase del setup, che esula dallo scopo di questa spiegazione, per nominare e assegnare i segnali a specifici canali dell’analizzatore.

Dopo l’esecuzione di un’operazione di “Run” per acquisire i dati dei segnali, usate il controllo Horizontal Position o la barra di scorrimento della memoria per posizionare i dati sullo schermo in modo che

l’indicatore di trigger (marcato con una “T”) sia visibile.

Posizionate il puntatore del mouse sul fronte anteriore del segnale Q e premete il pulsante destro del mouse.

Selezionando “Move cursor 1 here” dal menu a discesa, il primo cursore di misura si sposterà in questa posizione.

Potete quindi “agganciare” il cursore al fronte anteriore utilizzando la funzione di “drag-and-drop”. Questo diventa il punto iniziale dell’intervallo di tempo che sarà misurato.

Posizionate il puntatore del mouse sul fronte posteriore del segnale Q. Premete il pulsante destro del mouse e selezionate “Move cursor 2 here” per posizionare il cursore. Anche in questo caso, potete usare la funzione di “aggancio” del cursore per allinearlo più facilmente con il fronte. Questo diventa il punto finale dell’intervallo di tempo misurato.

Poiché l’asse Y del display è quello dei tempi, la differenza tra il cursore 2 e il cursore 1 è la misura dell’intervallo di tempo. Il risultato di 52 ns appare nel readout “Delta Time” sul display. La risoluzione della misura dipende dalla frequenza di campionamento; in Figura 23 è di 2 ns come indicato dalle tacche sulla traccia “Sample”. Notate che la misura “Delta Time”

non può avere una risoluzione maggiore della frequenza di campionamento.

Q

T D

Campionamento dell’analizzatore

Figura 22.Esempio della frequenza di campionamento di un Flip- Flop “D” in relazione alla risoluzione.

Figura 23.La frequenza di campionamento in funzione della risoluzione.

(17)

Rilevazione e visualizzazione di glitch intermittenti

I glitch sono una continua fonte di problemi per i progettisti di sistemi digitali. Questi impulsi vaganti sono intermittenti e possono avere ampiezza e durata irregolari. Questo li rende inevitabilmente difficili da rilevare e catturare e gli effetti di un glitch imprevedibile possono mettere fuori uso un sistema. Ad esempio, un elemento logico digitale può facilmente scambiare un glitch per un impulso di clock e quindi inviare dati al bus prematuramente, creando errori che si propagano all’intero sistema.

Numerose sono le condizioni che possono creare i glitch:

diafonia, accoppiamenti induttivi, condizioni di accesso multiplo (race conditions), violazioni di timing e altre ancora.

I glitch possono sfuggire alle misure di timing eseguite con gli analizzatori di stati logici convenzionali, a causa della loro brevissima durata. Un glitch può facilmente comparire e quindi scomparire nel tempo che intercorre tra due acquisizioni dell’analizzatore.

Solo un analizzatore con una risoluzione temporale molto elevata (cioé un’elevata frequenza di clock quando funziona in modalità asincrona) può sperare di catturare questi rapidi eventi. Nel caso ci riesca, l’analizzatore di stati logici evidenzierà automaticamente il glitch e il canale su cui si è manifestato.

L’esempio seguente illustra il processo di cattura di uno stretto glitch tramite l’analizzatore di stati logici Serie TLA. Il dispositivo in esame, o DUT (Device Under Test), è ancora un flip-flop “D” con il timing del segnale mostrato in Figura 24. La risoluzione di timing MagniVu è utilizzata per

rilevare e visualizzare il glitch con grande precisione. Anche questo esempio non vuole essere una trattazione

dettagliata; alcuni passi sono stati omessi per stare in linea con l’impostazione semplificata di questa guida.

Con le precedenti impostazioni di trigger, abbiamo acquisito forme d’onda che sono visualizzate sullo schermo. Utilizzando il trigger “drag-and-drop” è facile catturare un glitch.

Selezionate la scritta “Trigger” alla base dello schermo.

Selezione l’opzione di trigger “Glitch” e utilizzate il “drag- and-drop” per posizionarla sulla forma d’onda del bus.

Ora premete il pulsante Run. I glitch sui bus saranno ora catturati e visualizzati sulla finestra delle forme d’onda.

L’acquisizione è mostrata in Figura 25. Questa schermata comprende numerosi canali che sono stati aggiunti (tramite un’impostazione separata che non richiede una seconda acquisizione) per mostrare il contenuto dell’acquisizione MagniVu ad alta risoluzione.

Sulla traccia della forma d’onda di uscita del pin Q notate la bandierina rossa alla sinistra (prima del) dell’indicatore di trigger. Questa segnala che un glitch è stato rilevato in qualche punto nella zona rossa, tra il punto di

campionamento del trigger e il punto di campionamento del dato immediatamente precedente. Il canale MagniVu di uscita del pin Q (traccia inferiore) rivela esattamente dove il glitch si è verificato. A questo punto, viene mostrata la posizione temporale del glitch Q e si possono usare lo zoom e i cursori dello strumento per misurare la larghezza dell’impulso.

Figura 25.Il trigger sui glitch con l’acquisizione MagniVu consente risoluzioni più elevate.

Q

Glitch D

CK

Campionamento MagniVu

Figura 24.Esempio di acquisizione MagniVu su un Flip-Flop “D” per avere una risoluzione maggiore.

(18)

Cattura delle violazioni di Setup & Hold Il tempo di Setup è definito come il minimo tempo che un dato di ingresso deve essere valido e stabile prima dell’arrivo del fronte del clock (vedere Figura 26) che lo invia al

dispositivo. Il tempo di Hold è il minimo tempo che il dato deve essere valido e stabile dopo l’arrivo del fronte del clock.

I produttori di dispositivi digitali specificano i parametri di setup/hold e i tecnici devono stare molto attenti a garantire che i loro progetti non violino le specifiche. Ma, attualmente, le tolleranze più ristrette e l’ampio uso di componenti più veloci per avere maggiori prestazioni, hanno reso sempre più frequenti le violazioni dei tempi di setup/hold.

Queste violazioni possono rendere instabile l’uscita di un dispositivo (una condizione conosciuta come metastabilità) e diventare la causa potenziale di glitch e di altri errori imprevisti. I progettisti devono esaminare accuratamente i loro circuiti per stabilire se violazioni delle regole di progettazione stanno causando problemi di setup/hold.

In questi anni, le tolleranze delle specifiche sia di setup sia di hold si sono così ristrette che è difficile, per la maggior parte degli analizzatori di stati logici convenzionali, rilevare e catturare gli eventi. La sola vera risposta è un analizzatore di stati logici con una risoluzione di campionamento inferiore al nanosecondo. Gli analizzatori di stati logici Tektronix Serie TLA, grazie alla loro funzione di acquisizione MagniVu, rappresentano una valida soluzione per le misure di setup/hold.

L’esempio seguente illustra la modalità di acquisizione sincrona che utilizza un segnale di clock esterno per pilotare il campionamento. Indipendentemente dalla modalità, la funzione MagniVu è sempre disponibile e crea un buffer di dati campionati ad alta risoluzione in prossimità del punto di trigger. Ancora una volta, il DUT è un flip-flop

“D” con una singola uscita, ma l’esempio è ugualmente valido per un dispositivo con centinaia di uscite.

Usando un’acquisizione MagniVu per vedere i dati disponiamo della risoluzione di timing massima possibile.

Bisogna notare che per questo esercizio abbiamo costruito una finestra di dati che comprende soltanto acquisizioni MagniVu. Poiché imposterete il trigger su una violazione di setup/hold, la funzione MagniVu può offrirvi la risoluzione di timing migliore possibile attorno alla violazione.

In questo caso, il DUT stesso fornisce il segnale di Clock Esterno che controlla l’acquisizione sincrona. La capacità di trigger “drag-and-drop” dell’analizzatore di stati logici può essere usata per creare un trigger di setup/hold.

Caratteristica unica di questa modalità è la capacità di definire facilmente gli esatti parametri della violazione di timing di setup/hold, come mostrato in Figura 27. Sulla finestra di setup sono disponibili ulteriori sottomenu per rifinire altri aspetti della definizione del segnale, comprese le condizioni logiche e i parametri in salita o in discesa.

Q D

Setup

Hold

Campionamento MagniVu

Figure 26.Relazioni di timing di Setup & Hold.

Figura 27.Display di un evento di Setup & Hold.

Figura 28.Display risultante di una misura di timing di Setup & Hold.

(19)

In realtà, quando si esegue il test l’analizzatore valuta tutti i fronti di salita del clock per rilevare eventuali violazioni di setup/hold. Lo strumento monitorizza milioni di eventi e cattura solo quelli che violano i requisiti di setup/hold. Il display risultante è mostrato in Figura 28. In questo caso il tempo di setup è di 2.375 ns, molto meno del limite definito di 10 ns.

Uso della memorizzazione transizionale per massimizzare la lunghezza di registrazione utilizzabile

Alcune volte, il dispositivo in esame invia un segnale costituito da gruppi di eventi occasionali separati da lunghi intervalli di inattività. Ad esempio, alcuni tipi di sistemi di radar pilotano i loro convertitori D/A interni con sequenze di burst di dati ampiamente distanziati tra loro.

Questo rappresenta un problema quando si usano le tecniche convenzionali di acquisizione e memorizzazione degli analizzatori di stati logici. Lo strumento utilizza una locazione di memoria per ogni intervallo di campionamento, un metodo che ha il nome appropriato di “Memorizza Tutto”. Questa modalità di funzionamento può riempire rapidamente la memoria di acquisizione con dati costanti, consumando la preziosa capacità necessaria a catturare i reali dati di interesse: —i burst del segnale attivo.

Un metodo di acquisizione conosciuto come “Memorizzazione Transizionale” risolve il problema immagazzinando i dati solo in presenza di transizioni. La Figura 29 illustra il concetto.

L’analizzatore di stati logici campiona soltanto quando il dato cambia. Burst che distano tra loro secondi, minuti, ore o anche giorni possono essere catturati con la piena risoluzione della memoria di campionamento principale dell’analizzatore. Lo strumento rimane in attesa durante i lunghi periodi di inattività del segnale. Notate che questi periodi di inattività non sono ignorati ma sono costantemente monitorati, anche se non registrati.

L’esempio seguente illustra la soluzione implementata con un analizzatore di stati logici Serie TLA. Il versatile

algoritmodi trigger IF/THEN è ancora il miglior strumento per distinguere le particolari circostanze che richiedono la memorizzazione transizionale.

L’interfaccia della Serie TLA offre un menu di memorizzazione che permette di scegliere tra i soli eventi “Transitional”

piuttosto che “All”. Scegliendo “Transitional” si attiva un menu da cui si può selezionare la modalità “IF Channel Burst=High THEN Trigger”.

Eseguendo il test con queste condizioni impostate, avremo sul display una schermata simile a quella riportata in Figura 30. In questo caso, il burst contiene nove gruppi di otto impulsi, di larghezza pari a 22 ns, con i gruppi separati da stati di riposo di 428 ns. La memorizzazione transizionale ha consentito allo strumento di catturare sedici di questi gruppi di burst, di cui sette sono fuori schermo, usando solo 256 bit di lunghezza di registrazione. La finestra temporale rappresenta quasi 3,8 millisecondi di tempo di acquisizione, con i gruppi che si ripetono ogni 2 millisecondi.

In confronto, la modalità di acquisizone “Store All” avrebbe catturato solo uno dei gruppi di burst usando uno spazio di memoria duemila volte maggiore, pari a 512K. La memoria assegnata si sarebbe riempita in circa 1 microsecondo, con la maggior parte dello spazio occupata da cicli inattivi vuoti.

La memorizzazione transizionale permette di raccogliere molte più informazioni utili tutte le volte che si effettua un’acquisizione.

Burst di dati

Campioni acquisiti sulle transizioni

Figura 29.La tecnica di memorizzazione transizionale memorizza i dati solo quando si hanno delle transizioni.

Figura 30.Display che mostra la tecnica di memorizzazione transizionale.

(20)

per la ricerca guasti digitale a tutti i livelli. Le soluzioni basate sugli analizzatori di stati logici devono rispondere al continuo aumento della velocità e della complessità dei dispositivi digitali, devono avere la velocità necessaria a catturare le più rapide e sfuggenti anomalie, la capacità di visualizzare tutti i canali con elevata risoluzione e la profondità di memoria adeguata per determinare le relazioni tra decine, centinaia o perfino migliaia di segnali su numerosi cicli.

Su questa guida si è fatto riferimento agli analizzatori di stati logici Tektronix Serie TLA, strumenti che soddisfano questi requisiti. Abbiamo visto come funzioni quali il trigger (e il modo in cui viene usato), il campionamento ad alta risoluzione e innovazioni come l’acquisizione contemporanea Timing e State con una sola sonda possano contribuire all’efficacia dell’analizzatore di stati logici.

L’uso appropriato del trigger può confermare l’esistenza di un problema oppure scoprire un errore completamente inaspettato. Ancora più importante, il trigger offre numerosi strumenti per verificare le ipotesi di guasto o individuare eventi intermittenti. Il numero di opzioni di trigger di un analizzatore di stati logici è un indice della sua versatilità.

Sistemi di campionamento ad alta risoluzione, come l’acquisizione MagniVu, possono rivelare dettagli nascosti del comportamento del segnale. Un campionamento più frequente, come quello effettuato con l’acquisizione MagniVu, offre la possibilità di rilevare variazioni,—sia intenzionali sia indesiderate,—dei dati binari.

L’acquisizione contemporanea con una singola sonda dei dati di stato e di timing, è un concetto ormai acquisito.

Sempre più spesso, questa capacità consente ai tecnici di raccogliere grandi volumi di dati per poter analizzare le relazioni tra il diagramma temporale e le attività di stato a livello superiore. Ulteriori visualizzazioni correlate sono utilizzate per la ricerca guasti: forme d’onda correlate analogiche e digitali, schermate di listati e protocolli, diagrammi a occhio su più canali, tracciati del software in tempo reale, istogrammi e altro ancora.

l’analizzatore di stati logici lo strumento prescelto per

scoprire rapidamente i problemi digitali e rispettare tempi

di progettazione sempre più ridotti. Gli analizzatori di stati

logici Serie TLA si sono evoluti per soddisfare le attuali

esigenze e continueranno ad evolversi per soddisfare

quelle future man mano che si presenteranno.

(21)

Glossario

Ampiezza: la grandezza di una quantità o la forza di un segnale. In elettronica, l’ampiezza si riferisce normalmente alla tensione o alla potenza.

Analizzatore di stati logici: uno strumento usato per vedere l’andamento nel tempo degli stati logici di numerosi segnali digitali. Analizza i dati digitali e li può rappresentare come tracciamento del software in tempo reale, velocità dei flussi di dati, sequenze di stati, ecc.

Asincrono: non sincronizzato. L’analizzatore di stati logici utilizza il proprio clock di campionamento. Il clock è indipendente e ignora il timing del dispositivo in esame.

Questa è la base della modalità di acquisizione Timing.

Attenuazione: una riduzione dell’ampiezza di un segnale durante la sua trasmissione da un punto ad un altro.

Ball Grid Array (BGA): circuito integrato a matrice di sfere di contatto.

Banda passante: una gamma di frequenze, normalmente limitata a –3 dB.

Bit: carattere binario il cui stato può essere 0 o 1.

Byte: unità di informazione digitale, normalmente costituita da otto bit.

Campionamento: la conversione di una parte di un segnale di ingresso in un numero di valori distinti utilizzati da uno strumento per operazioni di memorizzazione, elaborazione e/o visualizzazione.

Carico: l’effetto di carico è un’interazione indesiderata della sonda e dell’oscilloscopio con il circuito in esame che altera un segnale.

Convertitore analogico-digitale (ADC): un componente elettronico digitale che converte un segnale elettrico in valori binari distinti.

Cursor: un riferimento mobile sullo schermo che si può allineare con una forma d’onda per effettuare misure più accurate.

Decibel (dB): unità usata per esprimere la differenza di potenza relativa tra due segnali elettrici, uguale a dieci volte il logaritmo del rapporto dei due livelli.

Device Under Test (DUT): il dispositivo che lo strumento di misura sta provando.

Digitalizzazione: il procedimento con cui un convertitore analogico-digitale (ADC) inserito nel sistema di deflessione orizzontale campiona un segnale in istanti distinti e convertei livelli di tensione rilevati in valori digitali chiamati campioni.

Dual Inline Memory Module (DIMM): il più diffuso tipo di modulo di memoria utilizzato sui PC per le memorie RAM Durata dell’impulso: il tempo che l’impulso impiega per passare dal livello più basso a quello più alto e viceversa, misurato convenzionalmente ad un livello pari al 50% della

Dynamic Random Access Memory (DRAM): un tipo di memoria che trattiene ciascun bit dei dati in una cella separata.

Fine-pitch Ball Grid Array (FBGA): circuito integrato a matrice di sfere di contatto con passo ridotto tra i pin.

Forma d’onda: il termine generico per l’andamento di una grandezza elettrica che si ripete nel tempo. I tipi più comuni di forme d’onda comprendono: sinusoide, onda quadra, rettangolare, dente di sega, triangolo, gradino, impulso, periodica, non-periodica, sincrona e asincrona.

Frequenza: il numero di volte che un segnale si ripete in un secondo, misurato in Hertz (cicli al secondo). La frequenza è pari a 1/periodo.

Frequenza di campionamento: indica la frequenza con cui uno strumento di misura digitale acquisisce i campioni del segnale, si misura in campioni al secondo (S/s).

Fully Buffered Dual Inline Memory Module (FB-DIMM): una delle architetture di memoria della prossima generazione.

Gigabit (Gb): 1 miliardo di bit di informazioni.

Gigabyte (GB): 1 miliardo di byte di informazioni.

Gigahertz (GHz): 1 miliardo di Hertz.

Giga-trasferimenti al secondo (GT/s): un miliardo di trasferimenti di dati al secondo.

Glitch: un rapidissimo impulso casuale e indesiderato che si presenta in un circuito.

Hertz (Hz): un ciclo al secondo. L’unità di frequenza.

iCapture™ Multiplexing: permette l’acquisizione

contemporanea analogica e digitale tramite una singola sonda dell’analizzatore di stati logici.

iLink™ Toolset: gruppo di diversi elementi, realizzati per accelerare la rilevazione dei problemi e la ricerca guasti, che comprende: iCapture™ Multiplexing, iView™ Display, and iVerify™ Analysis.

Impulso: un comune tipo di forma d’onda con un rapido fronte di salita, una data larghezza e un rapido fronte di discesa.

Input/Output (I/O): ingresso/uscita, si riferisce a un segnale che entra o esce da un dispositivo.

Integrated Circuit (IC): circuito integrato, un gruppo di componenti e delle relative connessioni incise o stampate su un chip.

Integrità del segnale: La precisa ricostruzione di un segnale determinata dai dispositivi che il segnale attraversa e dalle caratteristiche dello strumento di misura, comprese quelle della sonda utilizzata per acquisire il segnale.

iVerify™ Analysis: consente di eseguire analisi sui bus multi-

canale e test di validazione usando diagrammi a occhio

prodotti dall’oscilloscopio.

Riferimenti

Documenti correlati

rappresenta una classe di fatti, nel modello Entity-Relationship; tradotto anche con. associazione

◦ The response time of the task with the highest priority is minimum and equal to its WCET.. ◦ The response time of the other tasks depends on the interference of the higher

Browser Shell Videogame Printer.

• Controllo di alto livello: serve a controllare la direzione di marcia del robot in modo da raggiungere un certo obiettivo.. Servono frequenze

Ingegneria dell ’Automazione - Sistemi in Tempo Reale – p.2/28.?. Zeros

– If number of processors = 1 -> threads execute in time- sharing. – If number of processors < number of

– The handler saves the registers that will be modified on the stack. – Executes the interrupt

– Terminating (the thread is about to terminate).. Date: 8/03/2004 Ingegneria dell'Automazione: Sistemi in Tempo Reale Giuseppe Lipari.