VectorAccumulator
Creates double vectors from a single double input value. There is a port which contains the current index where the double input value will be put. The vector will be accumulated until the AccumulateNewVector port becomes true. At this point a new vector will be created where the input values will be put. If the Vector Delay property is larger than 1 the older vectors will be shifted.
The AccumulateNewVector signal must be true before the accumulating starts. |
When the WriteVector signal goes high the oldest accumulated vector will written to the output port. The vector will be removed from internal list of accumulated vectors. If a new WriteVector signal is sent before the AccumulateNewVector is true, the oldest vector value will be written, but now this vector will not be deleted and subsequent WriteVector signals will write that vector until an AccumulateNewVector signal has been issued.
The proper and most intuitive way of accumulating vectors will thus be to signal AccumlateNewVector as many times as there are supposed to be buffered vectors (as given by the Vector delay property) and then signal AccumlateNewVector and WriteVector every other time.