ETRI accelera le emulazioni radar eseguendo algoritmi su FPGA NI

Il nuovo workflow riduce del 50% il tempo e lo sforzo necessari per implementare il codice HDL

“Un grande vantaggio è che la maggior parte del codice dell’algoritmo principale può essere riutilizzata direttamente nei blocchi MATLAB Function, senza modifiche aggiuntive. Anche senza alcuna competenza in HDL, è stato facile convertire l'algoritmo in codice HDL utilizzando HDL Coder.”

Risultati chiave

  • Rispetto ai workflow tradizionali con codice scritto a mano o altri metodi di progettazione, il tempo e l’impegno richiesti per l’implementazione del codice HDL sono stati ridotti del 50%.
  • Grazie alla cosimulazione, che ha permesso di confrontare il comportamento dell’algoritmo con quello del codice HDL generato, lo sforzo di verifica è stato ridotto del 50%
  • L’elaborazione del segnale in tempo reale sull’FPGA target ha consentito la verifica comportamentale e i test delle prestazioni a livello di sistema.
Un workflow per lo sviluppo e la validazione di modelli di elaborazione del segnale, a partire dalla simulazione offline e dalla modellazione comportamentale, seguite dall'emulazione online e dalla modellazione HDL. Entrambi i modelli vengono testati e validati prima di essere integrati in un ambiente di co-simulazione.

La generazione di codice HDL ha permesso a ETRI di ottenere un design allineato tra l’algoritmo (in alto) e il modello HDL (in basso).

L'Electronics and Telecommunications Research Institute (ETRI) è un'azienda leader nel campo delle tecnologie dell'informazione e della comunicazione in Corea. La Radio Research Division dell'azienda ha utilizzato MATLAB®  per realizzare un modulo di elaborazione del segnale in tempo reale per trasmissione e ricezione su un banco di prova radar a bassa potenza. Tuttavia, l’esecuzione su CPU utilizzando un ambiente di programmazione grafica di terze parti non soddisfaceva i requisiti del progetto. In particolare, algoritmi di elaborazione parallela, come le banche di filtri adattati per ridurre le interferenze del segnale, necessitavano di esecuzione in tempo reale, mentre i ricevitori di segnali ortogonali dovevano essere realizzati secondo una struttura a pipeline.

Il team ETRI ha quindi ritenuto necessario passare a un FPGA NI™ per raggiungere i propri obiettivi. La conversione diretta dell'algoritmo MATLAB in HDL era fuori questione, poiché il codice avrebbe dovuto essere modificato manualmente dopo ogni modifica all'algoritmo. Inoltre, il debug risultava complesso perché la struttura dell’algoritmo non veniva riflessa in modo identico nel codice HDL.

Per continuare a utilizzare la loro proprietà intellettuale, gli esempi e il supporto forniti da MathWorks, il team ha prima convertito l’algoritmo in Simulink®, quindi generato HDL utilizzando HDL Coder™. Grazie a questo approccio, è stato semplice confrontare i compromessi tra le varie opzioni di design riguardanti implementazione, architettura hardware e tipi di dati a punto fisso. Grazie alla cosimulazione, i progettisti dell’algoritmo e dell’hardware hanno potuto collaborare più efficacemente, riducendo le iterazioni tra ingegneri e limitando ripetizioni ed errori umani.

Inoltre, questo workflow ha permesso agli ingegneri di ETRI di ottenere un design e un processo di verifica allineati, con il modello Simulink e il codice HDL che condividevano esattamente la stessa struttura. L'utilizzo di HDL Verifier™ ha consentito la verifica comportamentale in tempo reale e il test delle prestazioni a livello di sistema. L’automazione ha permesso a questo workflow di ridurre di circa il 50% il tempo e l’impegno necessari sia per l’implementazione del codice HDL sia per la verifica comportamentale in tempo reale. Si prevede che anche i progetti futuri, come quelli che coinvolgono algoritmi basati sul Machine Learning, utilizzeranno la generazione di codice con HDL Coder.