Стойкие переменные и переменные стойкого массива

Постоянные переменные

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

См. также

|

Похожие темы