response to Budi

Subject: response to Budi
Date: Wed Feb 26 1997 - 08:30:16 GMT

Budi Rahardjo:

>And SAVE is bad for hardware implementations.

>(You'll end up with an infinite FIFO...

>Is there a way to limit the number of signals to be saved in the queue?)

In ObjectGEODE there are two possibilities to limit the number of signals

in a queue during SIMULATION:

1. Use an ObjectGEODE extension to SDL: in the SDL Editor, a dialog box

   enables to ADD a queue to a route, and then to specify the maximum

   number of signals present in this new queue. This is of course NOT

   conform to Z.100.

2. Or use the 'filter' command of ObjectGEODE SDL Simulator: if you

   want to limit to 10 the number of signals present in the queue of

   the first instance of the process 'aloha', simply add to the file

   <model_name>.startup :

      filter length(aloha(1)!queue) > 10

  Then if this queue contains 10 signals, the simulator will not

  execute the process instance which was ready to output another

  signal to this queue.

I prefer solution 2 because it lets your SDL model conform to Z.100,

and you can change the filters without modifying the model. This is

for example useful to simulate in exhaustive mode, where you do not

need to waste memory simulating situations where queues contain

millions of signals. The following command allows you to detect if

you reach the limit, useful to inform you of which process need

to be filtered:

    stop if length(aloha(1)!queue) > 10

because if your model is large you may not want to add a filter

for every process instance. Then in any simulation mode (interactive,

ramdom, exhaustive or supertrace), you will be informed if this

queue 'overflows'. Note that in exhaustive or supertrace modes,

the simulator will not stop every time the condition is satisfied,

it will store a scenario leading to this 'overflow', which is much

more handy.

Then when you have detected an 'overflow' thanks to 'stop', you need to

decide either to correct the model (for example wait for an ack before

sending again a signal) or to put a 'filter' on the queue.

You can put several 'filters' and 'stops' at the same time (for example

I have frequently used around 15 filters during a simulation, for queues

and other purposes).


Mr Laurent DOLDI


18, rue des SAULES


FRANCE Tel. +33 (0)5 61 25 59 54


This archive was generated by hypermail 2a23 : Sun Jun 16 2013 - 10:41:39 GMT