L’elaborazione DSP implementata in FPGA – DSP into FPGA will go

Dalla rivista:
Elettronica Oggi

 
Pubblicato il 16 giugno 2009

A volte è arduo ricordare che la lettera P dell’acronimo DSP (Digital Signal Processing) significa elaborazione (Processing) piuttosto che processore.

La soluzione per i compiti di elaborazione digitale del segnale in un numero sempre crescente di progetti consiste nel cercare di arrivare a una implementazione tramite FPGA piuttosto che mediante un processore. Si cercheranno ora di spiegare brevemente i fattori che influenzano questa scelta.

In un mondo “perfetto” la scelta dovrebbe essere guidata da considerazioni di basilare importanza quali costo, prestazioni e dissipazione. In realtà, nella maggior parte dei casi non ci si allontana da ciò si conosce. I progetti e i relativi tool di sviluppo di tipo legacy utilizzati spesso diventano un retaggio del passato, ma rappresentano un ostacolo alle future scelte progettuali.

Per esempio i team software utilizzano il linguaggio C++ quindi, a meno che non sia possibile programmare efficacemente un FPGA (o un ASIC) in C++ , questo resta escluso. Al contrario, il metodo di inserimento del progetto (design entry) tradizionalmente utilizzato è il linguaggio VHDL (o Verilog) che peraltro viene raramente impiegato per il processore (anche se in questo settore si sta assistendo a interessanti sviluppi).

La risposta al quesito di come unire questi due mondi e ampliare le opzioni a disposizione del progettista potrebbe essere del tipo “nulla di quanto appena menzionato”. Dal punto di vista dell’hardware, da parecchio tempo si sente la necessità di effettuare l’operazione di “design entry” a un livello più elevato, ovvero sfruttando un approccio di tipo ESL (Electronic System Level). Uno dei metodi candidati per il “design entry” a livello ESL è l’inossidabile linguaggio C, forse nella speranza che il software per i design di tipo legacy possa essere in qualche modo riutilizzato per la parte hardware. Un altro approccio potrebbe essere quello di tralasciare completamente il linguaggio per passare a una progettazione di tipo model-based (ovvero basata su modelli), con la conseguente diminuzione degli errori di codifica.

In ogni caso è necessaria la disponibilità di appositi tool per acquisire questi progetti che utilizzano metodi ad alto livello, qualunque sia il formato di “design entry” utilizzato, e per creare un codice oggetto compilato o un hardware sintetizzato in maniera semplice e automatica.

Synplicity è focalizzata sullo sviluppo di soluzioni di sintesi ad alto livello di progetti model-based in dispositivi hardware FPGA o ASIC, anche se questa tecnologia di sintesi può essere utilizzata anche in presenza di altri metodi di “design entry”.

Sometimes it is hard to recall that the P in DSP stands for Processing rather than Processor.

The solution for Digital Signal Processing tasks in a growing number of designs is to reach for an FPGA rather than a Processor. What are the factors that influence that choice?

In an ideal world this choice would be driven only by primary considerations such as cost, performance and power. In reality, we mostly stick to what we know. Legacy designs and the design tools used to make them often become a dead hand of the past, still casting a veto on design choices of the future.

For example, the software team uses C++ therefore unless the FPGA or ASIC can also be “programmed” efficiently in C++ then the FPGA remains out of bounds. Conversely, the traditional hardware entry method is Verilog or VHDL which is rarely used for processors (although there are some interesting developments around in that area).

The answer of how to merge these two worlds and broaden the designer’s options may be “none of the above”. From a hardware point of view, there has long been an urge to enter design at a higher-level, called Electronic System Level, or ESL. One of the candidates for the entry methods at ESL is in fact good old C, perhaps in the hope that software legacy designs can somehow be reused for hardware. Another approach might be to skip over the language altogether and move to Model-Based design, with its resulting reduction in coding errors.

In any case, tools are needed to take the high-level designs in which ever format(s) they may be entered and to create compiled object code or synthesised hardware, in an efficient and automated way. Synplicity is focussed on high-level synthesis of model-based designs into FPGA or ASIC hardware but our high-level synthesis technology is equally applicable to other design entry methods.

We look forward to participating in the debate on model-based design and DSP at electronica 2006.

Doug Amos Director European Business Development Synplicity