21.04.2013 Views

ETTC'2003 - SEE

ETTC'2003 - SEE

ETTC'2003 - SEE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Figure 3 : Graphic User Interface of JUZZLE for a<br />

study case<br />

PHYSICAL LAYER SIMULATION<br />

WITH JUZZLE<br />

MODULE APPROACH<br />

In order to ensure independence between<br />

modules, a strategy has been established for<br />

data communications: Each module intends to<br />

operate a specific function of the transmission<br />

chain. The modules are then called<br />

successively and iteratively.<br />

To implement a module, the user has to<br />

declare in a specific window:<br />

- Includes, defines, external libraries needed<br />

for algorithm codes<br />

- Global variables that are kept during all the<br />

simulation<br />

- Data intended to be exchanged via input and<br />

output ports<br />

- Parameters and results associated to the<br />

module<br />

Graphic User Interface of JUZZLE for<br />

module declaration is as follows<br />

Figure 4 : User interface for module declaration<br />

Afterward, the algorithms are written using<br />

three different functions:<br />

- Preparation : This function is called at<br />

simulation start in order to initialise each<br />

module. For instance, for a filter, some<br />

coefficients are computed before any<br />

processing and kept between successive<br />

calls.<br />

- Process : This function is called as many<br />

times as necessary. The skeleton for this<br />

function is always the same : first, analysis<br />

of data amount available at input (if any)<br />

and free space at output, second, decision<br />

if computation can be performed and<br />

third, production of new data to output<br />

ports.<br />

- Termination : This last function is called<br />

when simulation is finished to allow each<br />

module to build synthesis results or to<br />

clean resource (memory de-allocation for<br />

instance).<br />

BUFFER MANAGEMENT<br />

For being able to perform computation,<br />

module needs data from input buffer(s) and<br />

4

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

Saved successfully!

Ooh no, something went wrong!