EO_481

ANALOG/MIXED SIGNAL POWER SEQUENCING 42 - ELETTRONICA OGGI 481 - OTTOBRE 2019 a un livello molto più elevato rispetto a quello consen- tito dalle GUI tradizionali. Ad esempio, una procedura guidata contenuta nel programma gli permette di pre- disporre e configurare 80 linee di tensione in pochi minuti; un compito che, fatto manualmente, richiede- rebbe ore. Le figure 2 e 3 mostrano alcuni esempi di utilizzo dell’interfaccia. Il progettista inizia creando una macchina a stati vir- tuale, che soddisfi i requisiti di sistema. In un progetto a sequencer singolo ( 17 linee), la macchina a stati virtuale della GUI corrisponde semplicemente a quella del sequencer. Aggiungendo altri sequencer, la mac- china a stati virtuale si discosta da quella dei singoli sequencer, richiedendo dei passi aggiuntivi, in quan- to i dispositivi comunicano reciproca- mente i vari eventi. Per esempio, un progettista monitora due linee di tensione su Sequencer 1 e altre due su Sequencer 2. In caso di fault di una qualsiasi delle linee, il progetto richiede l’arresto dell’intero sistema. In pratica, dal momento che esistono due dispositivi, questi ultimi dovranno condividere un segnale di fault. La macchina a stati virtuale del sistema e le macchine a stati dei singo- li dispositivi sono illustrate in figura 4. Dal momento in cui il numero di linee e i requisiti di sequencing diventano più complessi, la macchina a stati vir- tuali del sistema e le macchine a stati reali di ciascun dispositivo si disco- stano progressivamente. Il progettista sa cosa vuole che accada ma, perché avvenga, i sequencer devono lavorare insieme: un procedimento che richiede molto tempo e di solito molte insidie per il debug. ADI Power Studio automatizza la maggior parte del processo di creazio- ne di una macchina a stati, che viene progettata dall’u- tente mediante l’interfaccia grafica, mentre il compi- latore dell’ADI Power Studio gestisce la complessità della comunicazione tra i vari sequencer: ciò permette al progettista di creare macchine a stati complesse, utilizzando un processo flessibile e intuitivo. Strumenti efficaci per il debug Durante lo sviluppo di qualsiasi sistema complesso è naturale incorrere nei bug. Idealmente, la maggior parte dei bug si presenta e viene eliminata durante lo sviluppo, alcuni però raggiungono la fase produttiva. In entrambi i casi è essenziale che i progettisti di siste- ma abbiano a disposizione gli strumenti per rilevare velocemente i problemi e apportare le correzioni ne- cessarie, perché il tempo speso per il debug è signifi- cativamente più lungo rispetto a quello destinato alla progettazione. I difetti più comuni si riscontrano in fault su linee di tensione e segnali con livelli logici errati. Continuiamo con l’esempio di realizzazione di una scheda con 80 linee di tensione, in cui accade spesso che in fase di progetto una vada in fault. Il fault può essere dovuto a un difetto di progettazione a livello di componente o di configurazione. Ad ogni modo, l’i- dentificazione del problema parte dall’individuazione della linea problematica. In una sequenza tipica, il pro- blema sorge se una qualsiasi linea di tensione viene a mancare, perché il sequencer le spegne tutte. L’arresto delle linee, sebbene si possa considerare una carat- teristica di robustezza nel prodotto finale nella fase di produzione, risulta di intralcio al debug nella fase pro- Fig. 4 – Macchina a stati virtuale a confronto con macchina a stati reale del dispositivo Fig. 5 – Per un debug avanzato, i breakpoint permettono al progettista di mettere in pausa la sequenza in uno stato qualsiasi

RkJQdWJsaXNoZXIy MTg0NzE=