Управляемая подсистема For Iterator Subsystem представляет собой подсистему, которая выполняется неоднократно в течение одного такта моделирования. Количество повторений должно быть известно заранее и может задаваться внешним источником сигнала или с помощью параметра блока. Основные свойства подсистемы задает итерационный блок For Iterator. Блок является аналогом оператора цикла For языка программирования C. Блока For может находиться в любом месте подсистемы. Его параметры перечислены ниже.
Параметры:
States when starting – Состояние подсистемы при следующем запуске. Значение параметра выбирается из списка:
held – Использовать предыдущее состояние (последнее состояние когда система была активна).
reset – Использоватьначальное (исходное) состояние.
Source of number of iterations (флажок) – Источник задающий количество итераций.
internal – Внутренний.
external – Внешний.
Number of iterations – Количество итераций. Параметр доступен, если выбран внутренний источник числа итераций.
Show iteration number port – Отобразить на пиктограмме блока выходной порт, с которого снимается сигнал номера итерации.
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; }