Персистентные переменные и персистентные переменные типа массив

Персистентные переменные

Персистентные переменные включают вам к образцовым регистрам. Если необходимо сохранить состояние между вызовами алгоритма 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

Примечание

Если персистентные переменные не инициализируются, как описано выше, дополнительные переменные сигнальной метки могут появиться в сгенерированном коде. Эти переменные сигнальной метки могут перевести в неэффективное оборудование.

Персистентные переменные типа массив

Персистентные переменные типа массив включают вам к модели RAM.

По умолчанию программное обеспечение HDL Coder™ оптимизирует область вашего проекта путем отображения персистентных переменных типа массив с RAM. Если персистентные переменные типа массив не сопоставлены с RAM, они сопоставляют с регистрами. Отображение RAM может поэтому уменьшать область вашего проекта в целевом компьютере.

Чтобы изучить, как персистентные переменные типа массив сопоставляют с RAM, см. Карту Персистентные Массивы и dsp. Задержитесь к RAM.