Управляемая подсистема For Iterator Subsystem представляет собой подсистему, которая выполняется неоднократно в течение одного такта моделирования. Количество повторений должно быть известно заранее и может задаваться внешним источником сигнала или с помощью параметра блока. Основные свойства подсистемы задает итерационный блок For Iterator. Блок является аналогом оператора цикла For языка программирования C.
БлокаFor может находиться в любом месте подсистемы. Его параметры перечислены ниже.
Параметры:
1. States when starting –Состояние подсистемы при следующем запуске. Значение параметра выбирается из списка:
o held –Использовать предыдущее состояние (последнее состояние когда система была активна).
o reset –Использовать начальное (исходное) состояние.
2. Source of number of iterations(флажок)–Источник задающий количество итераций.
o internal –Внутренний.
o external –Внешний.
3. Number of iterations –Количество итераций. Параметр доступен, если выбран внутренний источник числа итераций.
4. Show iteration number port –Отобразить на пиктограмме блока выходной порт, с которого снимается сигнал номера итерации.
5. Output data type –Тип данных выходного сигнала порта. Значение параметра выбирается из списка: int32, int16, int8и double.
На рис. 9.9.9 показан пример использования For Iterator Subsystem. В примере выполняется накопление суммы значений с шагом равным 10. Количество итераций задается внешним источником и равно 20.
С-код, соответствующий алгоритму работыFor Iterator Subsystem в приведенном примере выглядит следующим образом:
sum = 0; iterations = 20; sum_increment = 10; for (i = 0; i < iterations; i + +) { sum = sum + sum_increment; }