Постоянные переменные позволяют вам моделировать регистры. Если вам нужно сохранить состояние между вызовами вашего MATLAB® алгоритм, используйте стойкие переменные.
Прежде чем использовать постоянную переменную, необходимо инициализировать ее с помощью оператора, задающего ее размер и тип. Можно инициализировать постоянную переменную с постоянным значением или с переменной, как в следующих примерах:
% Initialize with a constant persistent p; if isempty(p) p = fi(0,0,8,0); end
% Initialize with a variable initval = fi(0,0,8,0); persistent p; if isempty(p) p = initval; end
Используйте логическое выражение, которое вычисляет константу, чтобы проверить, была ли инициализирована постоянная переменная, как в предыдущих примерах. Использование логического выражения, которое оценивается как константа, гарантирует, что сгенерированный HDL-код для теста выполняется только один раз, как часть процесса сброса.
Можно инициализировать несколько переменных в одном логическом выражении, как в следующем примере:
% Initialize with variables initval1 = fi(0,0,8,0); initval2 = fi(0,0,7,0); persistent p; if isempty(p) x = initval1; y = initval2; end
Примечание
Если постоянные переменные не инициализированы, как описано выше, в сгенерированном коде могут появиться дополнительные дозорные переменные. Эти дозорные переменные могут преобразовываться в неэффективное оборудование.
Переменные стойкого массива позволяют вам смоделировать ОЗУ.
По умолчанию программное обеспечение HDL- Coder™ оптимизирует область вашего проекта, сопоставляя переменные стойкого массива с ОЗУ. Если переменные стойкого массива не сопоставлены с ОЗУ, они сопоставляются с регистрами. Поэтому отображение ОЗУ может уменьшить область вашего проекта в целевом компьютере.
Чтобы узнать, как переменные стойких массивов сопоставляются с ОЗУ, смотрите Map Persistent Arrays и dsp. Задержка в ОЗУ.