17.01.2013 Views

channel - Advances in Electronics and Telecommunications

channel - Advances in Electronics and Telecommunications

channel - Advances in Electronics and Telecommunications

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MOY AND RAULET: HIGH-LEVEL DESIGN METHODOLOGY FOR ULTRA-FAST SOFTWARE DEFINED RADIO PROTOTYPING 79<br />

Time<br />

FPGA1 Com/Transfer DSP Com/Transfer FPGA2<br />

Send_DSP_FPGA1<br />

IP_4 IP_3<br />

Send_FPGA1_DSP<br />

IP_1<br />

IP_2<br />

IP_5<br />

IP_6<br />

Send_DSP_FPGA2<br />

Send_FPGA2_DSP<br />

Fig. 12. Schedul<strong>in</strong>g graph with one DSP <strong>and</strong> one FPGA for each IP.<br />

PC_1 (pentium)<br />

PCI_1<br />

DSP (C64x)<br />

FIFOa<br />

FIFOb<br />

PCIa<br />

FIFO (FIFO)<br />

PCI (PCI)<br />

FPGA (Virtex4)<br />

FIFOa<br />

FIFOb<br />

FIFOc<br />

FIFO_1 (FIFO)<br />

FIFO_2 FIFO_5 FIFO_4 (FIFO (FIFO) )<br />

DDC (DDC)<br />

FIFOa<br />

FIFOb<br />

DUC (DUC)<br />

FIFOa<br />

FIFOb<br />

FIFO_3 (FIFO)<br />

FIFO_6 (FIFO)<br />

ADC (ADC)<br />

FIFOa<br />

DAC (DAC)<br />

FIFOa<br />

Fig. 13. SynDEx hardware graph with ASIC (DDC, DUC, ADC, DAC).<br />

C. A non functional time-based approach<br />

The set of non functional characteristics to be taken <strong>in</strong>to<br />

account would ideally be as many as possible, but <strong>in</strong> order<br />

to keep it feasible, it is restricted here to time. This means<br />

that each IP has only to be characterized <strong>in</strong> time <strong>in</strong> order<br />

to be <strong>in</strong>tegrated <strong>in</strong> the design flow. Time <strong>in</strong>cludes both<br />

process<strong>in</strong>g <strong>and</strong> communication time. Either it is extracted from<br />

measurement, or it can be estimated. Then SynDEx processes<br />

the global application tim<strong>in</strong>g optimization by mapp<strong>in</strong>g the<br />

IPs on the hardware architecture. The precision of the global<br />

design prediction depends on the accuracy on each IP. The<br />

partition<strong>in</strong>g algorithm used <strong>in</strong> SynDEx is a greedy algorithm,<br />

which provides a good compromise between partition<strong>in</strong>g execution<br />

time <strong>and</strong> quality result. Another approach has also<br />

been developed on the basis of a genetic algorithm, <strong>in</strong> order<br />

to ref<strong>in</strong>e the SynDEx greedy algorithm solution [47]. This<br />

approach provides the same functional results. If the genetic<br />

algorithm is used, the cost function decreases the latency <strong>in</strong><br />

some cases by 50%. The price is an extended computation<br />

time of many thous<strong>and</strong>s compared to a solution obta<strong>in</strong>ed by a<br />

SynDEx greedy solution.<br />

Moreover, on top of time considerations, some memory<br />

considerations may be taken <strong>in</strong>to account <strong>and</strong> considerably<br />

dim<strong>in</strong>ish the default memory allocation done by SynDEx [50].<br />

D. Platform abstraction<br />

This methodology implicitly provides, on one h<strong>and</strong> an<br />

hardware platform abstraction related to the software process<strong>in</strong>g<br />

elements, by us<strong>in</strong>g already exist<strong>in</strong>g IPs. With regards<br />

to communications, on the other h<strong>and</strong>, SynDEx generates<br />

a generic code which allows the designer to translate it <strong>in</strong><br />

whatever language he/she wants, as expla<strong>in</strong>ed <strong>in</strong> V-A.<br />

The automatic partition<strong>in</strong>g is maximum <strong>in</strong> the case of multiprocess<strong>in</strong>g<br />

on the SW side (processors) us<strong>in</strong>g SynDEx, <strong>and</strong> on<br />

the HW side (FPGAs) us<strong>in</strong>g dedicated hardware tools such as<br />

GAUT for <strong>in</strong>stance. Only the border between HW <strong>and</strong> SW<br />

has to be manually decided: this is the current limitation of<br />

the HS/SW co-design issue.<br />

This abstraction permits ease <strong>in</strong> terms of portability for<br />

new process<strong>in</strong>g units or new platforms. It relies on the use<br />

of libraries us<strong>in</strong>g the appropriate drivers for each platform<br />

An IP can be moved from SW to HW if its code is available<br />

for both targets, <strong>in</strong> C <strong>and</strong> VHDL for example. This allows<br />

design adaptation by mean of a simple click:<br />

- migrate a process<strong>in</strong>g element from a processor to a FPGA<br />

<strong>and</strong> vice-versa,<br />

- add a process<strong>in</strong>g element <strong>in</strong> a data-flow graph whatever<br />

is on the processor: a FPGA or an ASIC<br />

- change of platform,<br />

- migrate a process<strong>in</strong>g element from a gate-oriented implementation<br />

to a processor-oriented implementation on<br />

a processor core <strong>in</strong>side a FPGA,<br />

- etc.<br />

E. Methodology pr<strong>in</strong>ciples summary<br />

The proposed methodology is based on the SynDEx tool<br />

<strong>in</strong> association with several concepts, such as the componentbased<br />

approach. This paragraph aims at recall<strong>in</strong>g its advantages<br />

<strong>and</strong> show how it meets the requirements described <strong>in</strong><br />

part II as for SDR design, <strong>and</strong> as for the realistic design flow,<br />

described <strong>in</strong> part IV-B.<br />

SynDEx provides an overall application execution time<br />

prediction <strong>in</strong> the context of a multi-process<strong>in</strong>g platform,<br />

featur<strong>in</strong>g several possibilities towards heterogeneous design.<br />

At least some FPGA design contexts are fully <strong>in</strong>tegrated<br />

<strong>in</strong> the methodology, <strong>and</strong> ASICs are also <strong>in</strong>cluded <strong>in</strong> the<br />

design. SynDEx has the advantage to propose an optimized<br />

<strong>and</strong> static schedul<strong>in</strong>g, which is a guarantee for hard realtime<br />

SDR constra<strong>in</strong>ts. Moreover, the methodology allows<br />

the automatic code generation for each process<strong>in</strong>g unit of<br />

the platform, <strong>in</strong>clud<strong>in</strong>g IPs encapsulation <strong>and</strong> communication<br />

glue. S<strong>in</strong>ce this code is generic (M4 macro-code), it may be<br />

translated <strong>in</strong> whatever language, thus enabl<strong>in</strong>g the support of<br />

a heterogeneity of process<strong>in</strong>g devices. The re-usability of IPs<br />

is <strong>in</strong>tr<strong>in</strong>sic to the methodology. All this permits to speed up<br />

designs at an amaz<strong>in</strong>g rate.<br />

The reduced set of non-functional parameters is considered<br />

as a positive feature, with regards ultra-fast prototyp<strong>in</strong>g.<br />

SynDEx is a tool which can generate prototypes based on<br />

exist<strong>in</strong>g previous work <strong>in</strong> a couple of days. Students can use<br />

it for small projects. Only a few weeks are needed to become<br />

an expert. It is affordable to student tra<strong>in</strong>ees for a period of<br />

several months as soon as a support<strong>in</strong>g designer is <strong>in</strong> the lab.<br />

Section VI proves the approach efficiency for many design<br />

scenarios examples. If a frequent user of this methodology<br />

has a hardware platform at his disposal, then he/she gets used<br />

to perform the simulation, test <strong>and</strong> validation of the application<br />

on the platform itself.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!