exponenta event banner

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

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

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

Сведения о том, как переменные постоянного массива сопоставляются с оперативной памятью, см. в разделе Сопоставление постоянных массивов и dsp. Задержка в ОЗУ.

См. также

|

Связанные темы