DIGITAL
SoC CO-DESIGN
44
- ELETTRONICA OGGI 456 - SETTEMBRE 2016
L’
introduzione della famiglia di SoC Interamente Program-
mabili Zynq-7000 di Xilinx nel 2011 ha segnato un punto
di svolta nel settore degli FPGA. Con la loro combinazio-
ne di processori dual-core Cortex-A9 MPCore di ARM e di ampie
risorse di logica programmabile, questi dispositivi hanno portato
innumerevoli vantaggi in una pluralità di applicazioni. L’utilizzo di
MATLAB e Simulink di MathWorks i progettisti possono oggi av-
valersi di un flusso di lavoro hardware-software ad alto grado di
integrazione con il quale creare sistemi ottimizzati. Il caso di stu-
dio presentato illustra questo flusso di lavoro basato su modelli.
Quando Xilinx rilasciò il primo SoC Zynq, i progettisti sfruttarono
l’idea di poter trasferire le proprie soluzioni proprietarie multi-
chip realizzate a partire da processori discreti e da FPGA su una
piattaforma su chip singolo. Potevano creare acceleratori basati
su FPGA sulla nuova piattaforma per eliminare i colli di bottiglia
nell’esecuzione del software ed inserire una serie di blocchi di
proprietà intellettuale standard, pronti per la produzione, offerti
da Xilinx e dai propri partner, che sarebbero stati in grado di sod-
disfare i requisiti di applicazioni nel campo dell’elaborazione digi-
tale dei segnali, delle reti, delle comunicazioni e altro. La questio-
ne aperta era come avrebbero programmato i nuovi dispositivi.
I progettisti, immaginando il potenziale della progettazione con-
giunta hardware-software, hanno cercato di individuare flussi di
lavoro integrati in grado di suddividere in modo intelligente i pro-
getti fra processori ARM e logica programmabile. Ciò che hanno
trovato, tuttavia, sono stati flussi di lavoro hardware e software
distinti: flussi di sviluppo convenzionali per il software dedicato
ottimizzati per i core ARM e una combinazione di proprietà intel-
lettuale, linguaggio RTL tradizionale e tool di sintesi ad alto livello
per la logica programmabile.
Flusso di lavoro integrato
Nel 2013, MathWorks introdusse un flusso di lavoro hardware-
software per i SoC Zynq-7000 usando la progettazione basata su
modelli. All’interno di questo flusso di lavoro (Fig. 1), i progettisti
hanno potuto crearemodelli in Simulink in grado di rappresenta-
re un sistema dinamico completo – incluso un modello Simulink
per algoritmi ideati per il SoC Zynq – e dar vita in tempi brevi a
implementazioni hardware-software per i SoC Zynq direttamente
a partire dall’algoritmo. I progettisti di sistema e gli sviluppatori
di algoritmi hanno usato la simulazione in ambiente Simulink per
creare modelli per un sistema completo (comunicazioni, compo-
nenti elettromeccanici e così via) allo scopo di valutare i concetti,
effettuare compromessi e partizionare gli algoritmi negli elementi
software e hardware.
La generazione di codice HDL in ambiente Simulink ha permesso
la creazione di core IP e di unità di elaborazione di I/O ad alta ve-
locità sulla struttura del SoC Zynq. La generazione di codice in C/
C++ in ambiente Simulink ha consentito la programmazione dei
core Cortex-A9 del SoC Zynq, supportando la rapida iterazione
del software dedicato. Questo approccio ha reso possibile la ge-
nerazione automatica delle interfacce AMBA AXI4, che connetto-
no il sistema di elaborazione ARM e la logica programmabile con
il supporto per il SoC Zynq. L’integrazione con le funzioni a valle
Semplificare
il co-design
hw/sw dei
SoC Zynq
Eric Cigan, Noam Levine
FPGA/SoC Technical marketing
MathWorks
La verifica continua fra gli ambienti hardware e di simulazione permette
ai progettisti di identificare e di risolvere le criticità fin dalle prime fasi del
processo di sviluppo