I principali produttori di Fpga offrono oggi anche dispositivi System-on-Chip che integrano, oltre alla logica programmabile, un microprocessore. Lo sviluppo di software embedded per questi SoC pone difficoltà particolari nella fase di debugging; normalmente, infatti, i progettisti sono costretti a svolgere due attività di debugging separate, una per l'Fpga e l'altra per la Cpu, utilizzando due diverse connessioni Jtag. Oltre a rappresentare una complicazione pratica, il debugging disgiunto rende anche impossibile il “cross triggering”, cioè la correlazione degli eventi hardware e software riguardanti l'Fpga e la Cpu, il che può rendere molto difficile comprendere le cause di determinati errori. Gli sviluppatori che lavorano con questi SoC, insomma, si trovano a dover affrontare problemi simili a quelli dei progettisti di chip, ma senza disporre di sofisticati strumenti Eda che consentano di aumentare la loro produttività. Altera ha pertanto ritenuto di poter acquisire un vantaggio competitivo offrendo agli utilizzatori dei propri SoC una speciale versione del toolkit DS-5 di Arm, appositamente ottimizzata per consentire il debugging unificato di Fpga e Cpu. Al momento attuale lo strumento si rivolge ai SoC Fpga della serie Cyclone V, che integrano - oltre alla logica Fpga - un processore Cortex-A9 dual core di Arm. Il toolkit messo a punto congiuntamente da Altera e Arm è stato presentato alla stampa lo scorso 12 dicembre tramite una conferenza tenutasi a Monaco di Baviera. Rispondendo a una domanda di “Selezione di Elettronica”, i portavoce di Altera e di Arm (rispettivamente Chris Balough e Javier Orensanz) hanno spiegato che la realizzazione del nuovo toolkit è il frutto di un accordo esclusivo tra le due società; a breve, quindi, non è prevista (da parte di Arm) la realizzazione di toolkit ottimizzati per i SoC di altri produttori.
Maggiore controllo, maggiore visibilità
Il toolkit “Arm Development Studio 5 (DS-5) Altera Edition” è in grado di adattarsi dinamicamente alle configurazioni specificate dall'utente per l'Fpga presente all'interno del dispositivo SoC: in questo modo è possibile estendere le funzionalità di debug all'insieme Cpu-Fpga, e uniformare tutte le informazioni relative al debug (provenienti sia dal dominio della Cpu sia da quello dell'Fpga) mediante l'interfaccia utente standard di DS-5. Grazie alle avanzate funzionalità di debug multi-core del debugger di DS-5 e alla possibilità di collegarsi con l'analizzatore logico Signal Tap di Quartus II per effettuare il triggering incrociato (cross triggering), questo nuovo toolkit offre agli sviluppatori maggiore controllo e maggiore visibilità in fase di debug, vantaggi che si traducono in un sensibile aumento della produttività. Come hanno ricordato i portavoce di Altera e Arm nel corso della conferenza, il debugging è oggi particolarmente importante perché viene utilizzato anche per analisi che consentono di ottimizzare le prestazioni e ridurre i consumi, ad esempio diminuendo il più possibile la frequenza di clock. La suite di tool DS-5 di Arm comprende un avanzato debugger multi-core per l'architettura Arm che supporta il debug di sistemi in architettura Amp (Asymmetric multiprocessing) e Smp (Symmetric multiprocessing). Il toolkit DS-5 è ampiamente utilizzato per il bring-up (validazione elettrica e funzionale) della scheda, lo sviluppo di driver, il porting del sistema operativo, lo sviluppo di applicazioni in ambiente Linux e bare-metal (in cui la macchina virtuale è installata direttamente sull'hardware piuttosto che all'interno dell'OS dell'host), attraverso interfacce di debugging Jtag ed Ethernet. La suite garantisce inoltre la awareness (riconoscimento delle strutture dati rilevanti di un sistema operativo e dei suoi meccanismi di gestione delle risorse) nei confronti di Linux e dei sistemi operativi in tempo reale.
Cross triggering e non solo
Il toolkit Arm DS-5 Altera Edition consente l'aumento della produttività degli sviluppatori grazie a una serie di funzionalità innovative. La visualizzazione del debug del software si adatta in modo da includere i dispositivi periferici programmati dallo sviluppatore all'interno della struttura Fpga, così da garantire una vista della mappa di memoria dei registri delle periferiche hardware e software dell'intero SoC. Il debugger di DS-5, inoltre, visualizza contemporaneamente i dati di trace/debug relativi ai core del processore Cortex-A9 e ai core della logica custom conforme a CoreSight implementata nella struttura Fpga. Il cavo Jtag “Usb Blaster” di Altera supporta sia il debugger di DS-5 sia altri tool basati su Jtag sviluppati da Altera per i propri dispositivi SoC. Il nuovo toolkit consente l'acquisizione di tipo non intrusivo e la visualizzazione di eventi associati a un segnale che si verificano nella struttura Fpga, i quali possono venire correlati dal punto di vista temporale con eventi software e con il trace (tracciato) delle istruzioni del processore. Tra le funzionalità più importanti è compreso il già citato “triggering incrociato” hardware a livello di segnale tra Cpu e Fpga, che consente il debug congiunto hardware/software tra i due domini. Va ricordata infine l'integrazione dell'analizzatore di prestazioni DS-5 Streamline che correla i thread software e le informazioni relative agli eventi con i contatori hardware del SoC e dell'Fpga, consentendo quindi l'individuazione e la correzione di eventuali “colli di bottiglia” a livello di sistema. Il toolkit Arm DS-5 Altera Edition sarà incluso nella “Altera SoC Embedded Design Suite Subscription Edition”, in vendita a 995 dollari.