Elettronica Plus

Tool di sviluppo: sintesi Hls su tutto il chipERT

Autore: Giorgio Fusari

Lo strumento Catapult C di Mentor Graphics si arricchisce di funzionalità che estendono la High level synthesis anche ai blocchi della control logic

Ancora nuovi miglioramenti nelle funzionalità degli strumenti software per la progettazione dei chip vengono integrati per accrescere il grado di automazione dei processi di design dei semiconduttori, caratterizzati da diverse e complicate fasi, dalla generazione del codice Rtl (Register transfer level), alla verifica del sistema. Questa volta si tratta dello strumento di sintesi Catapult C di Mentor Graphics, da luglio disponibile con più ricche funzionalità, come ha reso noto a fine giugno la stessa società. In particolare ora la tecnologia Hls (High level synthesis) è in grado di estendere la sintesi del codice a più componenti del chip (sintesi ‘full-chip’), utilizzando linguaggio industry-standard Ansi C++ sia per la codifica dei blocchi algoritmici, sia per quella dei blocchi con la logica di controllo. Poter affrontare la progettazione con un livello di astrazione che unifica questi due domini diventa in effetti sempre più strategico in uno scenario in cui le dimensioni e la complessità dei progetti continuano a crescere: basti pensare alle ultime generazioni di dispositivi SoC, Fpga o Asic.

Fig. 1 – Le nuove funzionalità di Catapult C

Del resto, spiega la società, oggi procedere ancora con i tradizionali metodi di progettazione dell’hardware che comportano la sintesi manuale di codice Rtl richiederebbe troppo consumo di tempo per realizzare le più recenti applicazioni. Catapult C si propone invece di velocizzare il design di Fpga e Asic ad alte prestazioni, consentendo la rapida creazione di sottosistemi hardware completi, ad esempio in ambiti come le comunicazioni wireless, via satellite, le applicazioni video e l’elaborazione delle immagini. E tutto ciò applicando un grado di automazione che consente di evitare gli errori tipici del codice progettato manualmente.

Progettazione unificata
Il nuovo meccanismo integrato in Catapult C riuscirebbe in sostanza a fornire una soluzione in grado di conciliare i diversi requisiti e proprietà dei blocchi algoritmici e di controllo, che finora avevano reso difficile modellizzare e verificare il funzionamento di questi blocchi in combinazione. «Per un lungo periodo di tempo – spiega il product marketing manager Thomas Bollaert – si è pensato che la sintesi Hls fosse applicabile solo ai blocchi algoritmici. Quella che abbiamo aggiunto è invece una nuova capacità, che permette di gestire completamente oltre a questi ultimi anche la parte di controllo attraverso la Hls. Il risultato è che non si è più limitati ai soli algoritmi, ma si è in grado di gestire l’intero sistema. In questo modo è realmente possibile estendere la gamma delle applicazioni di Catapult; si diventa molto più produttivi e si evitano ancor di più gli interventi manuali nel processo di progettazione».

Fig. 2 – Thomas Bollaert, product marketing manager di Mentor Graphics

Quando si domanda se questa innovazione abbia un impatto chiave anche sulla velocizzazione dei processi di validazione e verifica del sistema, Bollaert risponde di sì, ribadendo che nello scenario classico degli ambienti di progettazione, la sintesi Hls si utilizza solo per i blocchi algoritmici, e che poi occorre aggiungere ulteriore codice Rtl per i blocchi della control logic. Bisogna successivamente verificare che tutti i blocchi integrati operino assieme in maniera corretta. «Se prima i vantaggi della sintesi Hls si potevano ottenere soltanto su una frazione del progetto, oggi sono raggiungibili sull’intero design. Non solo si ottiene il codice Rtl con maggior velocità ma, utilizzando l’ambiente integrato di Catapult, soprattutto si può ottenere con maggior rapidità codice Rtl verificato».
Infatti, il tool di sintesi Catapult C è abbinato a un sistema di verifica, al momento in cui scriviamo ancora in attesa di brevetto, che consente di validare a livello di codice C le interazioni fra i blocchi in Rtl. Riuscire a integrare in maniera stretta la fase di sintesi con quella di verifica, sottolinea Mentor, è del resto il presupposto fondamentale per esprimere tutto il potenziale della Hls ed evitare che i progettisti, usando tool diversi, si trovino poi di fronte a complesse attività di verifica.

Fig. 3 – Uno schema della tecnologia di verifica integrata nel tool, al momento ancora in attesa di brevetto

Va anche detto che oltre a gestire la sintesi per i blocchi di controllo, il tool consente di automatizzare alcune fra le più efficienti tecniche per le ottimizzazioni ‘low power’ con una riduzione dell’energia consumata che, secondo Mentor, arriva in media al 40%. Ad esempio, è in grado di eseguire in automatico il clock gating multilivello. «Questa tecnica – spiega Bollaert – è fra le più usate ma è molto complessa da applicare. Di norma richiede ingegneri esperti e con speciali competenze e, quando occorre adottarla, non tutti possiedono gli skill o il tempo necessario per metterla in pratica in maniera efficiente. Il clock gating richiede attenzione ed è facile sbagliare». Risulta quindi utile disporre di uno strumento in grado d’identificare in automatico le ‘gateable regions’ e di evitare ai tecnici noiosi e dispendiosi interventi manuali. Fra l’altro, sottolinea Mentor, queste ottimizzazioni e analisi a livello dei registri permettono di eseguire il clock gating con una precisione vicina al 100%. A tutto ciò si aggiungono poi le tecniche per la gestione dinamica dell’alimentazione, con le quali si può raggiungere un’ulteriore riduzione dei consumi.

Design ottimizzati e ‘cost-efficient’
Vi sono già alcuni utenti del settore che parlano dei benefici ottenuti con l’adozione del nuovo tool di Mentor Graphics. È il caso ad esempio di Thales Alenia Space: Emmanuel Liegeon, deputy manager del Digital Asic & Fpga Design Group della società, spiega che le estensioni di Catapult C per la sintesi della logica di controllo permettono di sviluppare una parte maggiore dei sistemi con l’ausilio dell’High level synthesis (Hls) e di ottimizzare i consumi di energia. Gli stessi vantaggi sono stati evidenziati anche da Michael Schlicht, capo del dipartimento Circuiti Integrati del Fraunhofer Institute. Qui i chip di digital broadcasting sono tipicamente costituiti da un mix complesso di unità algoritmiche e blocchi di controllo e, anche in questo caso, l’utilizzo della Hls ha fornito la possibilità di allargare lo sviluppo in C++ su una più estesa area del progetto.
In effetti, pur essendo il tool di sintesi Catapult C utilizzabile per qualsiasi tipo di semiconduttore, i vantaggi più sostanziali, sottolinea Thomas Bollaert, product marketing manager di Mentor Graphics, si ottengono soprattutto con i chip molto complessi sui quali i team di design faticano per riuscire a rispettare le scadenze di consegna dei progetti.
Altre volte invece, come nel settore delle applicazioni militari, il problema non è tanto migliorare il time-to-market, quanto preparare offerte attraenti anche in termini di prezzo. In altri casi ancora, l’importante è entrare nel mercato con soluzioni molto ‘cost-efficient’, ma anche particolarmente ottimizzate in termini di consumi e livello di miniaturizzazione.
Alcune sono le aree chiave di utenza da indirizzare. Il mercato più grande per Mentor, precisa Bollaert, è per il momento rappresentato dai sistemi wireless, per applicazioni di fascia business e consumer, ma rivestono in prospettiva un ruolo crescente anche le applicazioni
multimediali e militari.