Suite di sintesi C++ per lo sviluppo di algoritmi PolarFire FPGA

Aggiornamento: 6 agosto 2023
Suite di sintesi C++ per lo sviluppo di algoritmi PolarFire FPGA

“La grande maggioranza degli algoritmi di edge computing, computer vision e di controllo industriale sono sviluppati nativamente in C++ da sviluppatori con poca o nessuna conoscenza dei sottostanti FPGA hardware", secondo la società.

Chiamato SmartHLS, lo strumento consente di tradurre direttamente gli algoritmi C++ in codice RTL (livello di trasferimento registro) ottimizzato per FPGA.

Si basa sull'ambiente di sviluppo integrato open source Eclipse e utilizza il codice software C++ per generare un componente HDL IP (proprietà intellettuale del linguaggio di progettazione hardware) per l'integrazione nei progetti Libero SmartDesign di Microchip.

In dettaglio, l'utente implementa la propria progettazione in software C++ e verifica la funzionalità con test software. Successivamente, LegUp compila il programma C++ in moduli hardware Verilog con funzionalità equivalenti.

SmartHLS può eseguire la co-simulazione con Modelsim per verificare il comportamento dell'hardware del comportamento accurato del ciclo e confermare che la funzionalità dell'hardware corrisponda al software e può generare i core IP hardware per l'integrazione in sistemi più grandi di SmartDesign. LegUp può anche eseguire la sintesi di Libero sul Verilog generato per determinare l'area FPGA e Fmax. Oltre a PolarFire, lo strumento supporta gli FPGA SmartFusion2.

"Scrivere codice software C++ è più facile per gli ingegneri che progettare in RTL perché il codice software è più conciso, con 5-10 volte meno righe di C++ richieste rispetto a RTL", ha affermato Microchip. “Il software è anche più facile da capire e modificare per futuri miglioramenti o manutenzioni rispetto a RTL. Concisione e leggibilità del software significano meno bug nella progettazione dell'FPGA.

La pagina del prodotto SmartHLS è qui