Subject: response to Budi
laurent.doldi#wanadoo.fr
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).
Regards.
Mr Laurent DOLDI
TRANSMETH
18, rue des SAULES
31400 TOULOUSE
FRANCE Tel. +33 (0)5 61 25 59 54
Internet: laurent.doldi#wanadoo.fr
This archive was generated by hypermail 2a23 : Sun Jun 16 2013 - 10:41:39 GMT