Смоделируйте счетчик для генерации HDL-кода

Записать MATLAB® код, что оборудование моделей и подходит для генерации HDL-кода, использует этот шаблон разработки.

Этот шаблон разработки демонстрирует лучшие практики для записи кода MATLAB для генерации HDL-кода:

  • Инициализируйте персистентные переменные к определенному значению. В этом примере, if оператор и isempty функция инициализирует персистентную переменную. Если вы не инициализируете персистентную переменную, то вы не можете сгенерировать HDL-код.

  • В функции считайте персистентные переменные, прежде чем они будут изменены так, чтобы персистентные переменные были выведены как регистры.

Этот Simulink® модель иллюстрирует счетчик MATLAB, смоделированный в этом примере.

Чтобы изучить, как смоделировать счетчик в Simulink, смотрите, Создают Совместимую с HDL Модель Simulink.

Код MATLAB для счетчика

Функция mlhdlc_counter поведенческая модель 4-битного синхронного суммирующего счетчика. Входной сигнал, enable_ctr, инициировал значение регистра количества, count_val, увеличиться одним. Счетчик продолжает увеличиваться к одному каждому разу, когда вход является ненулевым, пока количество не достигает предела 15. После того, как счетчик достигает этого предела, встречных возвратов к нулю. Персистентная переменная, которая инициализируется, чтобы обнулить, представляет текущее значение количества. Два if операторы определяют значение количества на основе входа.

Задавать mldhlc_counter функция, используйте этот код:

%#codegen
function count = mlhdlc_counter(enable_ctr)
%four bit synchronous up counter

%persistent variable for the state 
persistent count_val;
if isempty(count_val)
    count_val = 0;
end

%counting up
if enable_ctr
    count_val=count_val+1;

    %limit to four bits
    if count_val>15
        count_val=0;
    end
end

count=count_val;

end

Смотрите также

|

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте